Hµm kÝch ho¹t cña c¸c n¬ron trong líp ng-êi ta th-êng dïng chung mét hµm, tuy nhiªn ta cã thÓ x©y dùng líp mµ c¸c n¬ron cã hµm kÝch ho¹t kh¸c nhau... Líp ®Çu tiªn ta gäi lµ líp vµo - I[r]
Trang 1Một số quy trỡnh huấn luyện mạng nơron và ứng dụng xấp xỉ hàm số
Dương Thăng Long Người hướng dẫn: PGS.TSKH Bựi Cụng Cường
ch-ơng 1 Giới thiệu mạng nơron nhân tạo 1.1 Giới thiệu mạng nơron nhân tạo
Mạng nơron nhân tạo đ-ợc xây dựng trên cơ sở thừa kế mạng nơron sinh học bao gồm cấu trúc và sự hoạt động, sau đây chúng ta sẽ xem xét tổng quan về cấu trúc và sự hoạt động của mạng nơron sinh học
1.1.1 Giới thiệu nơron sinh học
Chúng ta đã biết bộ não ng-ời chứa đựng khoảng 1011 các nơron liên kết với nhau ở mức cao, khoảng 104 liên kết tới một nơron Mỗi nơron có ba thành phần chính gồm: dendrites (vòi thu nhận tín hiệu), cell body (nhân nơron), axon (trục chuyển tín hiệu) Vòi nhận tín hiệu có hình cây để nhận các tín hiệu đ-a vào trong nhân của nơron Nhân có nhiệm vụ tổng hợp các tín hiệu đ-ợc thu nhận từ các vòi
và kích hoạt nó, nếu v-ợt một ng-ỡng nào đó thì tín hiệu sẽ đ-ợc chuyển tới axon
và truyền đến các nơron khác Khớp nối giữa axon của một nơron với vòi của nơron khác gọi là synapse
Axon Dendrites
Cell body
Synapse
Trang 2Hình 1.1- Sơ đồ mạng nơron sinh học
Khi mới sinh ra bộ não ng-ời có cấu trúc đơn giản, và ngày càng đ-ợc hoàn thiện bởi việc học của con ng-ời Đó là việc thiết lập các liên giữa các nơron lại với nhau để biểu diễn tri thức của con ng-ời có đ-ợc, từ đó xử lý các thông tin khác Mạng nơron nhân tạo không tiếp cận theo cách liên kết phức tạp của não ng-ời Tuy nhiên có 2 điểm chính t-ơng tự nhau đó là: xây dựng các khối đều là những phần tính toán đơn giản đ-ợc kết nối với nhau ở mức cao; liên kết giữa các nơron xác định chức năng của mạng
1.1.2 Mô hình nơron một đầu vào
Nơron có một đầu vào đ-ợc biểu diễn nh- hình 1.2, đầu vào p sẽ nhân với trọng số liên kết w đ-a vào bộ tổng, thêm một đầu vào bằng 1 nhân với độ lệch b
đ-a vào bộ tổng Kết quả đầu ra là z sẽ qua hàm kích hoạt f để cho đầu ra của nơron đó là a
Hình 1.2- Nơron một đầu vào
b
1 Input Neuron
) (wp b f
Trang 3Trong đó:
p - tín hiệu đầu vào của nơron
w - trọng số liên kết giữa đầu vào p tới nơron
b - độ hiệu chỉnh (độ lệch) đóng vai trò ng-ỡng trong nơron sinh học
z - tổng tín hiệu đầu vào cùng với độ lệch b
f - hàm kích hoạt của nơron
a - tín hiệu ra của nơron
Kết quả đầu ra của nơron đ-ợc tính nh- sau:
z fwp b
f
Ví dụ: trọng số liên kết là w=3, đầu vào p=2 và độ lệch b=-1.5 thì
3 ( 2 ) 1 5 f 4 5
f
Kết quả đầu ra sẽ phụ thuộc vào việc lựa chọn hàm kích hoạt f Độ lệch b xem nh- một trọng số liên kết với đầu vào luôn là 1, tuy nhiên nếu không cần thiết thì chúng ta có thể bỏ đi
Trọng số w và độ lệch b là những tham số có thể điều chỉnh trong quá trình học của nơron, việc thay đổi này sẽ đ-ợc giới thiệu qua một số ph-ơng pháp học của mạng nơron ở ch-ơng sau
Hàm kích hoạt có thể là tuyến tính hoặc phi tuyến, hàm đ-ợc chọn sao cho thoả mãn một số tiêu chuẩn của vấn đề mà nơron cần giải quyết Một số hàm kích hoạt th-ờng dùng thể hiện trong bảng sau
Hard Limit
0 1
0 0
) (
z
z z
f
Trang 4Symmetrical Hard Limit
0 1
0 1 )
(
z
z z
f
Saturating Linear
1 1
1 0
0 0
) (
z
z z
z z
f
Symmetric Sarturating Linear
1 1
1 1
1 0
) (
z
z z
z z
f
e z
f
1
1 )
Hyperbolic Tangent Sigmoid
z z
z z
e e
e e z f
Positive Linear
0
0 0
) (
z z
z z
f
Competitive
neurons other
all
z with neuron z
f a
0
max 1
)
1.1.3 M« h×nh n¬ron nhiÒu ®Çu vµo
Mét n¬ron thùc chÊt sÏ cã nhiÒu ®Çu vµo qua c¸c liªn kÕt, víi mét n¬ron cã R
®Çu vµo p1, p2, , pR, mçi ®Çu vµo sÏ qua mét liªn kÕt cã träng sè lµ w1,1, w1,2, ,
w1,R cña ma trËn träng sè W
p 1 w 1,1
b
1 Inputs Neuron
)
f
p 2
p 3
p R
w 1,R
Trang 5Hình 1.5- Nơron nhiều đầu vào
Nơron có độ lệch b do đó tổng đầu vào (net) của nó sẽ là z:
b p w p
w p w
z 1,1 1 1,2 2 1,R R (1.6)
Hay viết d-ới dạng ma trận ta có:
b Wp
Trong đó ma trận trọng số W cho một nơron nên nó chỉ có một dòng Kết quả
đầu ra của mạng đ-ợc tính là:
)
f
Chúng ta đánh chỉ số liên kết của ma trận trọng số theo cách thông th-ờng, chỉ
số đầu là liên kết đích, chỉ số sau là liên kết nguồn Ví dụ ta viết w1,3 có nghĩa là trọng số liên kết tới nơron thứ 1 từ nơron thứ 3
Chúng ta có thể minh hoạ nơron nhiều đầu vào bằng hình vẽ sau:
Trang 6Hình 1.9- Nơron nhiều đầu vào
1.2- Kiến trúc mạng nơron nhân tạo
Mạng nơron sinh học có kiến trúc rất phức tạp, các liến kết giữa các nơron rất nhiều (mỗi nơron có khoảng 104 liến kết tới các nơron khác) Đối với mạng nơron nhân tạo ta chỉ xét loại mạng truyền thẳng là chủ yếu, tức là các nơron đ-ợc chia thành lớp và xếp theo thứ tự mỗi lớp, các nơron ở lớp tr-ớc kết nối trực tiếp tới các nơron ở lớp kề sau
1.2.1 Mô hình một lớp nơron (Layer)
Một lớp có S nơron đ-ợc biểu diễn nh- hình 1.10, mỗi nơron sẽ liên kết đầy
đủ với các đầu vào pi vì thế ma trận trọng số liên kết sẽ có kích th-ớc S x R
W
R
p
1 1x1
1xR
z 1x1
1
a Rx1
Inputs Neuron
a=f(Wp+b)
p 1 w 1,1
z1 f a 1
b 1
1
Đầu vào Lớp S nơron
p 2
p 3
p R
z2 f a 2
b 2
1
zS f a S
b S
1
w S,R
Trang 7Hình 1.10- Một lớp S nơron
Một lớp nơron sẽ gồm có một ma trận trọng số W, các bộ tổng, véctơ độ lệch
b, hàm kích hoạt và véctơ đầu ra a Các đầu vào của lớp nơron này cũng có thể là các đầu ra của một lớp nơron khác (lớp kề tr-ớc)
Số nơron trong lớp sẽ khác (độc lập với) số đầu vào (RS) Hàm kích hoạt của các nơron trong lớp ng-ời ta th-ờng dùng chung một hàm, tuy nhiên ta có thể xây dựng lớp mà các nơron có hàm kích hoạt khác nhau
Ma trận trọng số liên kết của một lớp nơron đ-ợc biểu diễn nh- sau:
R S S
S
R R
w w
w
w w
w
w w
w
W
, 2
, 1 ,
, 2 2
, 2 1 , 2
, 1 2
, 1 1 , 1
(1.11)
Một lớp có S nơron và R đầu vào có thể đ-ợc minh hoạ bởi hình sau:
Trang 8Hình 1.12- Một lớp S nơron
1.2.2 Mô hình nhiều lớp nơron (Multiple Layer)
Bằng cách liên kết nhiều lớp nơron lại với nhau để tạo thành một mạng nơron nhân tạo Lớp đầu tiên ta gọi là lớp vào - Input layer, lớp cuối cùng gọi là lớp ra - Output layer, các lớp trong gọi là lớp ẩn - Hidden layer Các nơron ở lớp sau sẽ liên liên kết với các nơron ở lớp kề tr-ớc, trừ lớp vào
W
R
p
1 Sx1
SxR
z 1x1
1
a Rx1
Inputs Lớp S nơron
a=f(Wp+b)
Sx1
Trang 9Hình 1.13- Mạng nơron truyền thẳng nhiều lớp
Kết quả đầu ra chi tiết nh- sau :
3 3
.
W f
Ta gọi mạng trên là mạng nơron truyền thẳng nhiều lớp (Feedforward Neuron Network), các nơron ở lớp tr-ớc kết nối tới các nơron ở lớp sau, không có nơron ở lớp sau nối ng-ợc sang lớp tr-ớc
Mỗi lớp i (i=1, 2, .) có số nơron trong lớp là si và ma trận liên kết với lớp tr-ớc là Wi có kích th-ớc Si x Si-1
Mạng nơron nhiều lớp mạnh hơn mạng một lớp Ví dụ mạng nơron hai lớp có lớp đầu là sigmoid và lớp sau là linear có thể huấn luyện để xấp xỉ các hàm tuỳ ý rất tốt Mạng một lớp không làm đ-ợc điều này
)
1 1
b p W f
Lớp vào Lớp 1
1
p 1
1
1 ,
1
w
f 1
1
p 2
p 3
p R
1
1 , 1
R S
w
1 1
b
1 2
b
1 1
S
b
1 1
z
1 2
z
1 1
S
z
1 1
a
1 2
a
1 1
S
a
)
2 2
b a W f
Lớp 2
1
2 1 , 1
w
1
1
2 , 1 2
S S
w
2 1
b
2 2
b
2 2
S
b
2 1
z
2 2
z
2 2
S
z
2 1
a
2 2
a
2 2
S
a
)
3 3
b a W f
Lớp 3
1
3 1 , 1
w
1
1
3 , 2 3
S S
w
3 1
b
3 2
b
3 3
S
b
3 1
z
3 2
z
3 3
S
z
3 1
a
3 2
a
3 3
S
a
Trang 10Quá sớm để nói đến việc lựa chọn cấu trúc cho mạng nơron Số nút vào, số nút
ra đ-ợc lựa chọn dựa vào cấn đề cần thực hiện Ví thế nếu số biến vào là 3 thì số nút vào của mạng là 3, nếu số biến ra là 7 thì số nút ra của mạng phải là 7 Cuối cùng các đặc tr-ng mong muốn ở đầu ra giúp chúng ta lựa chọn hàm kích hoạt cho kết quả ra Nếu đầu ra là -1 hoặc 1 thì sử dụng hàm symmetrical hard limit Vì vậy kiến trúc của mạng một lớp xác định hoàn toàn đặc tả vấn đề, bao gồm số nút vào,
số nút ra và các đặc tr-ng đầu ra
Đối với mạng nhiều hơn 2 lớp chúng ta sẽ không xác định đ-ợc trực tiếp số nơron cần trong lớp ẩn từ vấn đề Thực tế có 3 vấn đề có thể dự đoán số nơron ẩn thích hợp cần trong lớp ẩn Đây là một mảng đ-ợc nghiên cứu rất sôi động hiện nay
Cũng nh- vấn đề số lớp, hầu hết các mạng đ-ợc sử dụng chỉ có 3 lớp Từ 4 lớp trở lên ít khi đ-ợc sử dụng
Chúng ta có thể chọn mạng có độ lệch (bias) hoặc không Độ lệch đ-a lại cho mạng nhiều biến đổi và chúng ta sẽ thấy mạng có độ lệch sẽ hoạt động mạnh và hiệu quả hơn Ví dụ một nơron không có độ lệch khi một đầu vào p là 0 thì tổng tín hiệu của nơron sẽ là 0 Điều này không mong muốn và có thể tránh đ-ợc bằng việc
sử dụng độ lệch
1.2.3 Mô hình mạng nơron có phản hồi (reccurent networks)
Tr-ớc hết chúng ta xét một số khối đơn giản Khối thứ nhất là bộ trễ đ-ợc giới thiệu trong hình sau
D
u(t) a(t)
a(0) Delay
a(t)=u(t-1)
Trang 11H×nh 1.15- Bé trÔ
§Çu ra cña bé trÔ a(t) ®-îc tÝnh tõ ®Çu vµo u(t) theo c«ng thøc a(t)=u(t-1) V× vËy ®Çu ra sÏ bÞ trÔ mét b-íc, ë thêi ®iÓm t=0 cã ®Çu ra ban ®Çu lµ a(0)
Thø 2 xÐt bé tÝch hîp ®-îc sö dông trong m¹ng håi quy thêi gian liªn tôc nh- h×nh vÏ sau
u(t) a(t)
a(0) Integrator
1
0
) 0 ( )
(t u d a
Trang 12Hình 1.16- Bộ tích hợp
Một mạng hồi quy là mạng có tín hiệu phản hồi, một số nút ra đ-ợc nối tới nút vào Đây là sự khác biệt đáng kể mà chúng ta phải xem xét so với mạng hoàn toàn truyền tới, không có liên kết ng-ợc Một mạng hồi quy với thời gian rời rạc sẽ đ-ợc biểu diễn nh- hình sau
W
b
D
z(t+1)
S x 1 S x 1
a(t+1)
S x 1
p
S x S
S x 1
S x 1 a(t)
1
S Lớp phản hồi
a(0) = p a(t+1) = satlins(W.a(t)+b)
Điều kiện
khởi đầu
Trang 13Hình 1.17- Mạng nơron hồi quy
Trong mạng này véctơ p cung cấp điều kiện khởi tạo (a(0) = p) Sau đó đầu ra của mạng đ-ợc tính từ đầu ra tr-ớc đó
a(1) = satlins(W.a(0)+b) , a(2) = satlins(W.a(1)+b) ,
Mạng nơron hồi quy có tiềm năng mạnh hơn mạng truyền tới và có thể đ-a ra các ứng xử thời gian
tài liệu tham khảo Tài liệu tiếng Việt
1 Bùi Công C-ờng, Nguyễn Doãn Ph-ớc (2001), Hệ mờ, mạng nơron và ứng dụng, Nhà xuất bản Khoa học kỹ thuật
2 Bùi Công C-ờng, D-ơng Thăng Long, Lê Quang Phúc (2003), Mấy quy trình phân lớp và rút tỉa các luật bằng công cụ mạng nơron, Báo cáo hội thảo
"Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin" tháng 10/2003
Tài liệu tiếng Anh
3 Martin T.Hagan, Howard B Demuth, Mark Beale (1996), Neural Network Design, PWS Publishing Company
4 Chin-Teng Lin, C.S George Lee, Neural Fuzzy Systems, Prentice-Hall
International, Inc
5 James C.Bezdek, Didier Dubois, Henri Prade (1999), Fuzzy sets in approximate reasoning and information systems, Kluwer Academic Publishers
6 Nguyen Hoang Phuong, Koichi Yamada (2001), Proceedings of the Second Vietnam-Japan Sysposium on Fuzzy Systems and Applications, Institute
of Information Technology (IOIT)
Trang 147 Robert J Schalkoff (1997), Artifical Neural Networks, McGraw-hill
International Editions
8 Rudy Setiono, Wee Kheng Leow, Jacek M Zurada,
9 Proceedings of the Ninteenth Annual SAS Users Group International
Conference (1994), Neural Networks and Statistical Models, Warren S Sarle, SAS
Institute Inc
10 Pero J Radonja (2001), Neural network based model of a highly nonlinear process, Telekomunikacioni Forum Telfor'2001
11 Kar-Ann Toh, Juwei Lu, Wei-Yun Yau, Global Feedforward Neural Network Learning for Classification and Regression, Centre for Signal Processing
School of Electrical & Electronic Engineering Nanvang Technological Univertsity
12 Tin-Yau Kwok, Dit-Yan Yeung (1997), Consructive Algortihms for Structure Learning in Feedforward Neural Networks for Regression Problems,
IEEE Transaction on Neural Network
13 Clin Campell, Constructive Learing Techniques for Designing Neural Network Systems, Advanced Computing Research Centre -University of Bristol,
England