Giáo trình mạng _Chương 1
Năm 1936, Alan Turing là người đầu tiên xem bộ não như một mô hình xử lý thông tin. Năm 1943, Warren McCulloch và Walter Pitts đã đề xuât cách hoạt động của các Neural, họ đã tạo ra một mạng neural đơn giản bằng các mạch điện
Chöông 1: Toång quan veà maïng Neural
Chöông I
TOÅNG QUAN VEÀ MAÏNG NEURAL
I. LÒCH SÖÛ PHAÙT TRIEÅN CUÛA MAÏNG NEURAL
Naêm 1936, Alan Turing laø ngöôøi ñaàu tieân xem boä naõo nhö moät moâ hình xöû lyù
thoâng tin. Naêm 1943, Warren McCulloch vaø Walter Pitts ñaõ ñeà xuaát caùch hoaït ñoäng
cuûa caùc Neural, hoï ñaõ taïo ra moät maïng Neural ñôn giaûn baèng caùc maïch ñieän. Töø ñoù
caùc nhaø khoa hoïc lao vaøo nghieân cöùu caùc boä maùy thoâng minh.
Naêm 1949, Donall Hebb ñeà xuaát moät giaûi thuaät huaán luyeän maïng Neural raát noåi
tieáng, maø ngaøy nay noù vaãn coøn ñöôïc söû duïng .
Thaäp nieân 50 laø thôøi kyø maø maïng Neural phaùt trieån caû phaàn cöùng laãn phaàn
meàm. Nathaniel Rochester vaø moät soá ngöôøi khaùc töø caùc phoøng thí nghieäm cuûa IBM
ñaõ xaây döïng phaàn meàm moâ phoûng maïng Neural döïa treân giaûi thuaät cuûa Hebb.
Naêm 1957, Frank Roseblantt baét ñaàu nghieân cöùu veà maïng Perceptron vaø ñaõ
thaønh coâng trong vieäc thieát keá Mack I Perceptron nuerocomputer, ñoù laø maïng
Neural coå ñieån nhaát vaãn coøn söû duïng ñeán ngaøy nay .
Naêm 1959, Bernard Widrow vaø Marcian Hoff ñaõ xaây döïng maïng Adaline, noù laø
aùp duïng ñaàu tieân cuûa maïng Neural vaøo thöïc teá ñeå daäp tieáng voïng treân ñöôøng daây
ñieän thoaïi.
Naêm 1967, Avanlanche aùp duïng caùc maïng Neural vaøo vieäc nhaän daïng gioïng
noùi, ñieàu khieån motor vaø moät soá öùng duïng khaùc.
Töø naêm 1969 ñeán naêm 1981 maïng Neural rôi vaøo traïng thaùi im laëng caû veà
nghieân cöùu vaø öùng duïng. Tuy nhieân, coù theå keå ñeán baøi baùo caùo cuûa Marvin Minsky
vaø Seymour Papert bình luaän veà maïng perceptron, caùc nghieân cöùu veà quaù trình hoïc
cuûa maïng nhieàu lôùp, maïng töï toå chöùc ( Self Organization ) cuûa Teuvo Kohonen,
maïng kieåu boä nhôù keát hôïp ( BAM – Bidirectional Associative Memory ) cuûa
Anderson vaø maïng ART ( Adaptive Resonance Theory Neural Networks ) cuûa
Capenter.
Naêm 1982, John Hopfield coâng boá moät coâng trình veà maïng Neural moät lôùp treân
National Academy of Sciences, noù ñöôïc coi laø moät ñoäng löïc loâi keùo caùc nhaø khoa
hoïc quay trôû laïi nghieân cöùu veà maïng Neural. Ñaây laø thôøi kyø phuïc höng cuûa caùc
nghieân cöùu vaø öùng duïng maïnh meõ cuûa maïng Neural vôùi caùc nghieân cöùu veà giaûi
thuaät lan truyeàn ngöôïc sai soá ( Backpropagation of error ), maïng Boltzmann, maïng
Neocognitron cuûa Fukushima.
Töø cuoái thaäp nieân 80, ñaàu thaäp nieân 90 ñeán nay, maïng Neural ñaõ khaúng ñònh
ñöôïc vò trí cuûa mình trong nhieàu öùng duïng khaùc nhau .
-1-
Chöông 1: Toång quan veà maïng Neural
II. MAÏNG NEURAL VAØ CAÙC KHAÙI NIEÄM CÔ BAÛN
II.1. Giôùi thieäu veà maïng Neural
Maïng Neural laø maïng maø ñöôïc xaây döïng baèng caùch sao cheùp laïi caùc nguyeân lyù
toå chöùc cuûa heä Neural con ngöôøi. Boä oùc con ngöôøi laø moät heä Neural goàm coù 1010
ñeán 1012 Neural ñöôïc toå chöùc coù caáu truùc vaøo khoaûng 200 moâ hình khaùc nhau döôùi
daïng nhieàu lôùp. Caáu truùc cô baûn cuûa moät Neural trong heä Neural con ngöôøi goàm coù
ñoù laø caùc ñaàu vaøo (input) thaân Neural vaø ñaàu ra (output). Thaân Neural laø phaàn töû xöû
lyù coù chöùc naêng thu thaäp taát caû caùc thoâng tin töø caùc ñaàu vaøo tính toaùn vaø ñöa ra caùc
quyeát ñònh ôû ngoõ ra ñeå göûi tín hieäu ñeán caùc Neural khaùc nhö moâ taû ôû hình 1.1.
Input Thaân Neural
Output Hình 1.1
Moãi Neural coù nhieàu input nhöng chæ coù moät output, töø output naøy môùi reõ nhaùnh
ñöa thoâng tin ñeán caùc Neural khaùc. Trong maïng Neural nhaân taïo, tín hieäu truyeàn töø
Neural naøy ñeán Neural khaùc laø tín hieäu ñieän aùp. Coù hai loaïi tín hieäu ñieän aùp ñoù laø
ñieän aùp döông vaø ñieän aùp aâm. Ñieän aùp döông ñöôïc xem nhö laø tín hieäu kích ñoäng
(excitory) ñeå kích ñoäng Neural göûi tín hieäu ñeán caùc Neural khaùc vaø ñieän aùp aâm
ñöôïc xem nhö laø tín hieäu öùc cheá (inhibitory) ñeå öùc cheá Neural göûi tín hieäu ñeán caùc
Neural khaùc. Khi ñieän aùp laø zero thì khoâng coù söï lieân laïc giöõa hai Neural.
Cuõng gioáng nhö heä Neural con ngöôøi, maïng Neural nhaân taïo bao goàm lôùp ñaàu
vaøo, caùc lôùp aån vaø lôùp Neural ñaàu ra. Trong maïng, ñaàu ra cuûa Neural naøy keát noái
vôùi ñaàu vaøo cuûa nhieàu Neural khaùc hoaëc keát noái vôùi ñaàu vaøo cuûa Neural chính noù.
Cöôøng ñoä caùc keát noái xaùc ñònh löôïng tín hieäu truyeàn ñeán ñaàu vaøo. Giaù trò cuûa cöôøng
ñoä keát noái ñöôïc goïi laø troïng soá. Trong thôøi gian heä tieáp xuùc vôùi moät vaøi ñoái töôïng,
moät soá phaàn töû caûm bieán bò taùc ñoäng, cöôøng ñoä keát noái cuûa moät soá Neural thích hôïp
trong heä seõ ñöôïc gia taêng nhaèm cung caáp thoâng tin veà ñoái töôïng maø heä tieáp xuùc vaø
ñöa ra caùc quyeát ñònh ôû lôùp ñaàu ra. Quaù trình naøy ñöôïc goïi laø quaù trình hoïc, söï thay
ñoåi cuûa caùc troïng soá trong quaù trình naøy goïi laø luaät hoïc.
Ñeå xaây döïng moät maïng Neural gioáng nhö heä Neural con ngöôøi, yù töôûng ñaàu
tieân cuûa Mc.culloch vaø Pitts vaøo naêm 1943 ñeà ra caáu truùc cô baûn cuûa moät Neural thöù
i trong moâ hình cuûa maïng Neural nhaân taïo nhö hình 1.2.
-2-
Chöông 1: Toång quan veà maïng Neural
x1
Wi,1
x2
Wi,2
x3
x4 Σ net f ai Hình 1.2
xr Wi,r b
Trong ñoù:
- xj laø ñaàu ra cuûa Neural thöù j hoaëc ñaàu vaøo töù moâi tröôøng beân ngoaøi.
- wi,j laø troïng soá keát noái giöõa Neural thöù i vaø Neural thöù j.
- b laø moät haèng soá (Bias).
- ai laø ñaàu ra cuûa Neural thöù i.
- f laø haøm truyeàn.
- net laø ñoái soá cuûa haøm f.
net=wi,1.x1+wi,2.x2+…+wi,r.xr+b (1.1)
ai=f(n) (1.2)
Caùc thoâng soá:
+Ñaàu vaøo (input): Thoâng soá hay döõ lieäu ñaàu vaøo
+Ñaàu ra (output) : Thoâng soá hay döõ lieäu ñaàu ra
+ Troïng soá(Weight) : Keát noái giöõa hai Neural trong maïng Neural goïi laø troïng
soá, chuùng coù theå ñieàu chænh ñöôïc. Khi caùc tín hieäu ñöôïc ñöa vaøo Neural ñeå xöû lyù thì
noù ñöôïc nhaân vôùi heä soá aûnh höôûng cuûa maïng giöõa hai lôùp, goïi laø heä soá troïng soá w
vaø sau ñoù ñöôïc bieán ñoåi bôûi haøm phi tuyeán (haøm truyeàn).
+ Bias: Laø haèng soá ñöôïc ñöa tröïc tieáp vaøo maïng Neural thoâng qua boä toång,
cuõng coù theå ñöa vaøo maïng thoâng qua input vôùi troïng soá nhaân vôùi noù laø w=1. Bias
cho pheùp thay ñoåi ñöôøng phaân chia veà phía döôùi, hoaëc treân goác toaï ñoä.
+Toác ñoä daïy: Ñaây laø thoâng soá raát quan troïng, noù quyeát ñònh ñeán keát quaû cuûa
quaù trình huaán luyeän. Neáu n quaù lôùn thì quaù trình tính toaùn nhanh nhöng keát quaû
toaøn cuïc seõ khoâng tìm ñöôïc, ngöôïc laïi, neáu n quaù nhoû thì keát quaû toaøn cuïc tìm ñöôïc
nhöng soá böôùc tính toaùn laïi raát nhieàu. Ñeå quaù trình tính toaùn ñaït hieäu quaû ngöôøi ta
thöôøng choïn 0.1 < n < 1.
+ Haøm truyeàn (haøm kích hoaït, haøm hoaït ñoäng): Haøm truyeàn cuûa Neural ñöôïc
bieåu dieãn bôûi haøm f(x). Noù ñònh nghóa tín hieäu output cuûa Neural neáu tín hieäu input
ñaõ ñöôïc bieát tröôùc. Taùc duïng cuûa haøm truyeàn laø laøm cho caùc tín hieäu nhaäp gaàn vôùi
tính hieäu xuaát chuaån.
Coù caùc loaïi haøm hoaït ñoäng sau:
-3-
Chöông 1: Toång quan veà maïng Neural
Hình 1.3 Hình 1.4
Hình 1.5 Hình 1.6
Hình 1.7 Hình 1.8
Hình 1.9 Hình 1.10
-4-
Chöông 1: Toång quan veà maïng Neural
Hình 1.11
Trong noäi dung luaän vaên naøy chæ ñeà caäp ñeán 4 haøm thöôøng ñöôïc söû duïng sau:
Baûng 1.1
Loaïi haøm Phöông trình Hình veõ
Haøm tuyeán tính F(x)=x Hình 1.5
1 neáu x > 0
Haøm ngöôõng F(x)= Hình 1.3
- 1 neáu x < 0
1
Haøm Logsig F (x ) = Hình 1.4
1 + ex
2
Haøm tansig F (x ) = −1 Hình 1.6
1 + e −ax
Vieäc löïa choïn haøm truyeàn aûnh höôûng ñeán thôøi gian daïy maïng vaø ñöôïc xaùc
ñònh bôûi:
- Ñaëc tính cuûa baøi toaùn (tuyeán tính, phi tuyeán, lieân tuïc, giaùn ñoaïn..)
- Thuaän lôïi cho vieäc öùng duïng maùy tính.
- Thuaät toaùn daïy maïng.
+ Lôùp (layer): Maïng Neural coù theå coù moät hay nhieàu lôùp. Lôùp ñaàu vaøo goïi laø
input layer, lôùp cuoái cuøng coù giaù trò ñaàu ra laø output thì goïi laø output layer (lôùp
output). Caùc lôùp coøn laïi goïi laø hidden layer (lôùp aån).
+Khaùi nieäm daïy maïng: laø quaù trình laøm thay ñoåi caùc thoâng soá trong maïng
(troïng soá, Bias) cho phuø hôïp vôùi kích thích beân ngoaøi, sau ñoù chuùng löu giöõ caùc giaù
trò naøy. Caùch daïy ñöôïc xaùc ñònh thoâng qua caùch thöùc thay ñoåi thoâng soá.
-5-
Chöông 1: Toång quan veà maïng Neural
Ñoù laø:
-Maïng Neural ñöôïc kích thích bôûi ñaàu vaøo .
- Maïng Neural thay doåi caùc thoâng soá theo keát quaû kích thích.
- Maïng Neural phaûn öùng laïi moät kích thích môùi baèng nhöõng thay ñoåi
tìm thaáy trong caáu truùc maïng.
II.2. Phaân loaïi maïng Neural
II.2.1 Phaân loaïi theo caáu truùc:
Moâ hình keát noái cuûa caùc maïng Neural nhaân taïo döïa vaøo caáu truùc coù theå ñöôïc
chia ra laøm hai loaïi: Maïng nuoâi tieán vaø maïng nuoâi luøi.
a. Maïng feedforward :
Hình 1.12
Caùc Neural taïo thaønh nhoùm trong caùc lôùp , tín hieäu truyeàn töø lôùp input ñeán lôùp
ouput . Caùc Neural khoâng cuøng lôùp thì noái vôùi nhau nhöng caùc Neural cuøng lôùp thì
khoâng noái vôùi nhau . Ví duï nhö maïng perceptron nhieàu lôùp , maïng chuaån hoaù vecto
hoïc hoûi , maïng ñieàu khieån phaùt aâm vaø maïng löu tröõ döõ lieäu .
b. Maïng recurrent :
hình 1.13
Caùc ñaàu ra cuûa moät soá Neural hoài tieáp laïi chính noù hay caùc Neural ôû caùc lôùp keá
caän. Maïng recurrent coù boä nhôù ñoäng , ngoõ ra cuûa noù phaûn aùnh input hieän haønh nhö
caùc input vaø output tröôùc ñoù . Ví duï nhö maïng Hopfied, maïng Elman, maïng Jordan.
-6-
Chöông 1: Toång quan veà maïng Neural
II.2.2 Phaân loaïi theo phöông phaùp daïy:
1.Maïng hoïc hoûi coù giaùm saùt
Ñaàu vaøo x
Maïng Ñaàu ra thöïc teá y
Neural
w
ñaàu ra mong muoán d
Sai soá
Hình 1.14 Moâ hình maïng huaán luyeän coù giaùm saùt
Thuaät toaùn naøy duøng ñeå ñieàu chænh söï khaùc nhau giöõa caùc output thöïc teá vaø
output yeâu caàu töông öùng töøng maãu ñöa vaøo. Ví duï nhö qui taéc delta do Windrow vaø
Hoff ñöa ra vaøo naêm 1960, thuaät toaùn giaûi thuaät lan truyeàn ngöôïc (backpropagation)
do Rumelhart vaø Mc Clellan ñöa ra naêm 1986, thuaät toaùn vecto hoïc hoûi do Kohonen
ñöa ra naêm 1989.
2.Maïng hoïc hoûi khoâng giaùm saùt
Thuaät toaùn naøy khoâng ñoøi hoûi caàn bieát tröôùc ngoõ ra yeâu caàu. Trong quaù trình
huaán luyeän caùc maãu nhaäp ñöa vaøo maïng vaø thuaät toaùn töï ñieàu chænh caùc troïng soá
keát noái, caùc maãu nhaäp coù ñaëc ñieåm töông töï seõ ôû trong cuøng moät lôùp. Ví duï nhö
thuaät toaùn hoïc hoûi caïnh tranh ATR cuûa Carpenter vaø Grossberg ñöa ra vaøo naêm
1988.
Maïng
ñaàu vaøo x ñaàu ra thöïc teá y
Neural
w
Hình 1.15 Moâ hình huaán luyeän khoâng giaùm saùt
3.Maïng hoïc hoûi coù ñieàu chænh
Thuaät toaùn hoïc hoûi coù ñieàu chænh söû duïng tieâu chuaån ñaùnh giaù caùc ñaëc ñieåm toát
cuûa output maïng töông öùng vaø input ñöa vaøo. Ví duï nhö thuaät toaùn Gen do Holland
ñöa ra naêm 1975.
Ñaàu vaøo x Maïng Ñaàu ra thöïc teá y
Neural
-7-
Chöông 1: Toång quan veà maïng Neural
Tín tín hieäu taêng cöôøng
hieäu
Hoài
II.3 Caáu truùc maïng Neural
II.3.1. Maïng Neural coù moät lôùp : Bao goàm caùc phaàn töû xöû lyù treân cuøng möùc.
w1,1
Σ f a1
p1
b1
p2 Σ f
a2
p3
b2
wS,R Σ f aS
pR
bS
Hình 1.17 Maïng Neural nuoâi tieán moät lôùp
Trong ñoù:
- pi: Döõ lieäu ñaàu vaøo.
- a = f(wp + b) (1.3)
- R :soá löôïng vecto ñaàu vaøo
- S : soá löôïng Neural trong moät lôùp
Trong maïng naøy, moãi ñaàu vaøo p ñöôïc noái vôùi moãi Neural thoâng qua ma traän
troïng soá W. Moãi Neural coù moät boä toång ñeå coäng caùc troïng soá vaø bias. Keát quaû cuûa
chuùng laø ñaàu vaøo cuûa haøm f.
Thöôøng thì soá vecto ñaàu vaøo khaùc vôùi soá Neural (R≠S). Trong maïng khoâng baét
buoäc soá ñaàu vaøo baèng soá Neural (R=S).
Ma traän troïng soá w
-8-
Chöông 1: Toång quan veà maïng Neural
w1,1 w1,2 . . . w1,R
W= w 2,1 w 2,2 . . . w 2,R
....
w S,1 w S,2 . . . w S,R
Chæ soá haøng trong ma traän cho bieát nôi ñeán Neural vaø chæ soá coät cho bieát nôi baét
ñaàu xuaát phaùt töø input cuûa troïng soá .
Ví du: W1,2 cho bieát troïng soá xuaát phaùt töø input thöù 2 vaø keát thuùc ôû Neural thöù 1.
Tín hieäu hoài tieáp
a1
p1 Σ f
b1
p2
Σ f
b2 a2
pR Σ f aS
b3
Hình 1.18 Maïng Neural nuoâi luøi moät lôùp
II.3.2. Maïng Neural nhieàu lôùp
Trong maïng Neural coù theå coù nhieàu lôùp. Moãi lôùp coù moät ma traän troïng soá w vaø
moät bias b, vaø moät output a. Lôùp Neural ñaàu tieân goïi laø lôùp ñaàu vaøo, lôùp Neural cuoái
laø lôùp ñaàu ra, caùc lôp Neural giöõa hai lôùp ñaàu vaøo vaø ñaàu ra goïi laø lôùp aån. Trong
maïng Neural moät lôùp, chæ coù moät lôùp ñaàu vaøo, moät lôùp ñaàu ra vaø moät lôùp aån. Ñeå
phaân bieät caùc giaù trò naøy trong caùc lôùp ta duøng caùc chæ soá nhö hình veõ beân döôùi.
P1 Σ f
a1,1 Σ f
a1,2 Σ f
a1,n
b1,1 b1,1 b1,n
-9-
P2 Σ f
a2,1 Σ f
a2,2 Σ f
a2,n
b2,1 b2,1 b2,n
Chöông 1: Toång quan veà maïng Neural
P1 a1,1 a1,2 a1,n
Σ f Σ f Σ f
b1,1 b1,2 b1,n
P2 a2,1 a2,2 a2,n
Σ f Σ f Σ f
b2,1 b2,2 b2,n
Pr ar,1 ar,2 ar,n
Σ f Σ f Σ f
br,1 br,2 br,n
Hình 1.20 Maïng Neural nuoâi luøi nhieàu lôùp
Lôùp cuoái cuøng coù giaù trò ñaàu ra laø output thì goïi laø output layer, lôùp ñaàu
vaøo (input) goïi laø input layer. Caùc lôùp coøn laïi goïi laø hidden layer (lôùp aån). Moät
vaøi taùc giaû thì cho raèng input laø lôùp thöù 4.
III. LUAÄT HOÏC VAØ CAÙC PHÖÔNG PHAÙP DAÏY MAÏNG
Hoïc laø quaù trình laøm thay ñoåi caùc thoâng soá trong maïng (troïng soá) cho phuø hôïp
vôùi kích thích beân ngoaøi, sau ñoù chuùng löu giöõ caùc giaù trò naøy. Caùch hoïc hoûi ñöôïc
xaùc ñònh thoâng qua caùch thöùc thay ñoåi thoâng soá.
- 10 -
Chöông 1: Toång quan veà maïng Neural
Ñònh nghóa cuûa vieäc hoïc bao haøm caùc yù sau:
- Maïng Neural ñöôïc kích thích bôûi ñaàu vaøo.
- Maïng Neural thay ñoåi caùc troïng soá theo keát quaû kích thích.
- Maïng Neural phaûn öùng laïi moät kích thích môùi baèng nhöõng thay ñoåi tìm thaáy
trong caáu truùc maïng.
Coù nhieàu caùch hoïc trong maïng nhöng ôû ñaây chæ ñeà caäp moät soá luaät hoïc chuû
yeáu:
III.1. Luaät hoïc söûa loãi (Error-Correction Learning)
- Goïi dk laø giaù trò ñaàu ra mong muoán cuûa Neural thöù k.
- yk laø giaù trò ñaàu ra thöïc.
- ek laø sai soá cuûa Neural thöù k.
Ta coù coâng thöùc tính sai soá ôû laàn thöù n:
ek(n) = dk(n) – yk(n) (1.4)
Toång sai soá trong maïng:
1
E=
2
∑ e 2 (n)
k (1.5)
Giaù trò troïng soá thay ñoåi nhö sau :
w new (n) = w old ( n) + ∆w kj
kj kj (1.6)
Vôùi ∆wkj(n) = ηek(n)xj(n) (1.7)
Trong ñoù: η laø toác ñoä daïy (laø moät haèng soá)
x laø giaù trò ñaàu vaøo (input)
III.2. Luaät Hebbian (Hebbian Learning)
Ñònh luaät Hebb: Gia taêng troïng soá cuûa kích thích neáu muoán ñaàu ra cuûa Neural
taùc ñoäng ñoái vôùi kích thích. Ngöôïc laïi, giaûm troïng soá cuûa kích thích neáu khoâng muoán
ñaàu ra cuûa Neural taùc ñoäng ñoái vôùi kích thích ñoù.
Donald Hebb đã đ xu t sơ đ h c t p đ c p nh t các liên k t nút mà ngày nay
chúng ta g i là qui t c hu n luy n Hebb. M i khi m t Neural đư c kích ho t l p đi l p
l i b i m t Neural khác, ngư ng kích ho t c a Neural th hai gi m đi, do đó s truy n
đ t gi a 2 Neural này đư c d dàng b i s kích ho t l p l i.
M t đ c tính quan tr ng c a qui t c này là vi c hu n luy n đư c th c hi n m t
cách c c b , t c là s thay đ i tr ng s k t n i gi a hai Neural ch ph thu c vào ho t
đ ng c a 2 Neural đó.
- 11 -
Chöông 1: Toång quan veà maïng Neural
Ý tư ng này có th m r ng cho các h th ng nhân t o. Có nhi u công th c toán
h c khác nhau đ di n t qui t c Hebb. Công th c sau đây đư c s d ng ph bi n nh t.
Theo qui t c Hebb, khi có s ho t đ ng ch y t Neural th j đ n Neural th i, tr ng s
t s tăng. Ông cho r ng thông tin có th đư c lưu tr trong k t n i và k thu t hu n
luy n c a ông đã có nh ng đóng góp n n t ng cho lý thuy t m ng Neural.
N u bi u th ho t đ ng c a Neural th j b ng xj và đ u ra c a Neural th i là yi,
thì tr ng s k t n i đư c cho b i:
∆wij = ŋ xj yi (1.8)
Xj Yi
Hình 1.21
đây ŋ là tham s đ hi u ch nh s thay đ i tr ng s . Chú ý r ng qui t c Hebb có
tính c c b đ i v i tr ng s và khác v i các qui t c hu n luy n (perceptron, truy n đ t
ngư c), không có đ u ra yêu c u trong qui t c Hebb và ch có đ u vào c n ch y qua
m ng Neural.
Vieát laïi phöông trình treân ta coù:
w(t+1) = w(t) + ŋ x(t) y(t) (1.9)
đây t bi u th s bư c l p và ŋ là đ l n c a bư c l p. N u ta có m t Neural
tuy n tính, thì thay y = wx ta có:
w(t+1) = w(t) . ( 1+ŋ x2(t)) (1.10)
Như v y, trong s có kh năng tăng không gi i h n, làm cho các hu n luy n viên
Hebb không n đ nh v b n ch t, có th sinh ra các tr ng s dương ho c âm r t l n.
Đ kh ng ch s tăng không gi i h n c a tr ng s , Oja và Sanger ñöa ra söï tieâu
chuaån hoaù vaøo qui taéc Hebb.
Qui t c Oja:
Oja đ xu t tiêu chu n hoá qui t c Hebb. Chúng ta phân tr ng s đư c c p nh t
b ng chu n c a t t c các tr ng s k t n i:
Oja cho s x p x vào qui t c c p nh t này như sau:
wi (t+1) = wi (t) + η y(t) [x(t) – y(t) wi (t)]
= wi (t) [ 1 - η y2(t) ] + η xi (t) y(t). (1.11)
đây x(t) – y(t).wi (t) là s ho t đ ng tiêu chu n hoá, nó là m t “h s quên” t
l v i bình phương c a ngõ ra.
Qui t c Sanger:
Sanger đã s a đ i qui t c Oja đ th c hi n làm gi m. Mô t tóm t t qui t c Sanger
như sau:
- 12 -
Chöông 1: Toång quan veà maïng Neural
Gi s m ng có M đ u ra cho b i:
yi (t) = ∑ wij(t) xj(t), i = 1,M (1.12)
và đ u vào (N0 thì ta noùi raèng f taêng taïi x, neáu f’(x)Chöông 1: Toång quan veà maïng Neural
Hình 1.22
Phöông trình ñöôøng thaúng d ñi qua ñieåm (x0,f(x0)) ñöôïc cho bôûi:
y − f (x 0 )
= f ' (x 0 ) (1.17)
x−x 0
suy ra
y=f(x0) + (x-x0)f’(x0) (1.18)
1 1
Goïi x laø giao ñieåm cuûa d vaø truïc hoaønh, suy ra x laø nghieäm cuûa phöông trình :
f(x0) + (x-x0)f’(x0)=0 (1.19)
⇒ x1 = x0 –f(x0)/f’(x0) (1.20)
Toång quaùt ta coù :
f (x n )
xn+1 = xn + (1.21)
f ' (x n )
Quaù trình treân ñöôïc goïi laø phöông thöùc giaûm. AÙp duïng ñieàu naøy cho troïng soá w,
ta thaáy ôû voøng laëp keá wn+1 phaûi thoaû tính chaát :
f(wn+1)0 cho tröôùc sao cho:
f(wn-ηf’(wn))Chöông 1: Toång quan veà maïng Neural
f (w1 ,..., w i + t ,..., w n ) − f (w1 ,..., w i ,..., w n )
∂ i f (w) = lim+
(1.26)
t →0 t
Gradient cuûa f taïi w, kí hieäu f’(w), ñöôïc ñònh nghóa:
f’(w)=(∂1f(w),…,∂nf(w))T (1.27)
Moâ taû luaät hoïc delta
Xeùt moät Neural söû duïng haøm truyeàn laø haøm tuyeán tính, theá thì vecto troïng soá
tìm ñöôïc trong giaûi thuaät hoïc seõ laø moät ñöôøng thaúng (tröôøng hôïp khoâng gian hai
chieàu). Ñieàu naøy coù nghóa laø luaät hoïc cho haøm tuyeàn tuyeán tính chæ laø moät haøm
tuyeán tính maø thoâi.
Tuy nhieân, neáu haøm truyeàn laø phi tuyeán thì khoù coù moät xaáp xæ toát. Ñoù laø lyù do
taïi sao ngöôøi ta duøng haøm kích hoaït laø haøm baùn tuyeán tính .
Ñaàu ra cuûa Neural :
y()=f(wTx) (1.28)
Maãu thöù Giaù trò ñaàu vaøo Ñaàu ra mong muoán
1 x1 = (x 1 , x1 ,..., x 1 )
1 2 n d1
2 x = (x , x ,..., x )
2 2
1
2
2
2
n d2
... ………………. …
k x k = (x1 , x 2 ,..., x k )
k k
n dk
Heä laáy xk laøm ñaàu vaøo, taïo ra keát quaû yk cuûa rieâng noù roài so saùnh vôùi keát quaû
mong muoán dk ,sai leäch cuûa maãu thöù k ñöôïc tính nhö sau:
1 1
Ek= (dk - yk)2 = (yk – f(wTx))2 (1.29)
2 2
Sai leäch cuûa taát caû caùc maåu:
k
E = ∑ E k = E1 + E 2 + … + Ek (1.30)
k =1
Luaät hoïc seõ thay ñoåi w theo höôùng laøm cöïc tieåu hoaù sai leäch baèng caùch söû duïng
pheùp laëp:
w = w - ηE’k(w) (1.31)
vôùi
- 15 -
Chöông 1: Toång quan veà maïng Neural
d 1 k 2
E 'k (w) = T k T T
(y - f(w x)) = - (y –f(w x))f’(w x) (1.32)
dw 2
Toùm taét giaûi thuaät:
Cho tröôùc k maãu döõ lieäu:
(x1,d1),…, (xk,dk)
vôùi xk = ( x1 ,…, x n ) vaø dk ∈ R, k=1,….,k.
k k
Do tính chaát khoâng tuyeán tính cuûa haøm truyeàn maø giaûi thuaät khoù coù theå döøng
ñuùng nghóa (giaù trò taïo bôûi maïng Neural baèng ñuùng giaù trò ñaàu ra mong muoán hay sai
leäch = 0). Do ñoù ngöôøi ta thieát laäp tieâu chuaån döøng theo moät giaù trò sai leäch Emax cho
pheùp naøo ñoù: khi sai leäch E nhoû hôn hoaëc baèng Emax thì döøng laïi.
Trong thöïc teá ngöôøi ta coøn duøng tieâu chuaån döøng theo moät soá laàn laëp xaùc ñònh.
Böôùc 1: choïn tröôùc giaù trò η>0 vaø Emax>0.
Böôùc 2 : khôûi taïo ngaãu nhieân troïng soá w, baét ñaàu vôùi maãu thöù nhaát k=1vaø gaùn
sai leäch E=0.
Böôùc 3: baét ñaàu quaù trình hoïc, gaùn x=xk vaø d=dk. Ñaàu ra cuûa maïng Neural
tính theo:
y = y()=f(wTx) (1.33)
Böôùc 4: caäp nhaät troïng soá
'
w = w-ηE k (w) (1.34)
Böôùc 5: tính sai leäch baèng caùch coäng theâm sai leäch hieän taïi
E = E + ½(d-y)2 (1.35)
Böôùc 6: neáu kEmax thì gaùn E=0 vaø baét ñaàu moät chu kyø hoïc môùi baèng caùch quay trôû laïi
böôùc 3.
III.5. Giaûi thuaät hoïc Delta toång quaùt
Luaät hoïc delta ôû treân öùng duïng cho moät Neural. Baây giôø xeùt trong tröôøng hôïp
toång quaùt cho moät maïng Neural ña taàng vaø daãn ñeán giaûi thuaät Delta toång quaùt, hay
coøn goïi laø giaûi thuaät lan truyeàn ngöôïc sai leäch.
Luaät hoïc lan truyeàn ngöôïc sai leäch raát phöùc taïp, vieäc daãn xuaát caàn nhieàu
phöông thöùc toaùn hoïc. Nhaèm ñôn giaûn cho vieäc trình baøi, ôû ñaây chæ chæ minh hoïa cho
tröôøng hôïp maïng Neural hai taàng coù moät ñaàu ra.
Ñoä sai leäch giöõa giaù trò taïo ra cuûa maïng Neural vôùi giaù trò mong muoán cho moät
maãu döõ lieäu hoïc ñöôïc cho bôûi:
x1
- 16 -
Chöông 1: Toång quan veà maïng Neural
x2 y
xn
1 k k2
Ek(W,w) = (d -y ) (1.36)
2
Ñoä sai leäch toång theå ñöôïc tính baèng caùch laáy toång caùc ñoä sai leäch:
k
E(W,w) = ∑ E k (W, w) (1.37)
k =1
Ñaàu ra cuûa maïng Neural:
1
Yk = (1.38)
1 + exp( − w T o k )
Trong ñoù ok laø giaù trò ñaàu ra cuûa lôùp aån, ñöôïc tính bôûi:
1
ok = (1.39)
1 + exp( − w1 x k )
k
Vôùi w1 laø vecto troïng soá cuûa Neural thöù nhaát.
Luaät ñeå thay ñoåi troïng soá ñöôïc cho theo phöông thöùc giaûm gradient, töùc laø
chuùng ta seõ cöïc tieåu hoaù ñoä sai leäch quaân phöông baèng caùch duøng haøm laëp:
∂E k ( W, w)
W = w-η (1.40)
∂W
∂E k ( W, w)
Wl = wl-η (1.41)
∂Wl
Trong ñoù η laø heä soá hoïc.
Söû duïng luaät daây chuyeàn ñeå ruùt ra haøm toång hôïp:
2
∂E k ( W, w) 1 ∂ k 1
= d − T k
∂W 2 ∂w 1 + exp( − W o )
=-(dk-yk)yk(1- yk)ok (1.42)
Vaäy luaät thay ñoåi troïng soá cuûa ñaàu ra laø:
- 17 -
Chöông 1: Toång quan veà maïng Neural
W = W + η(dk-yk)yk(1- yk)ok = W + ηδkok (1.43)
Xeùt rieâng leû cho töøng troïng soá thì :
Wi =Wi + ηδkoki (1.44)
Vôùi i =1,..,N (soá Neural )
δk= (dk-yk)yk(1- yk) (1.45)
Ñoái vôùi lôùp aån , ta tính Ek nhö sau:
∂E k ( W, w)
= - yk(1- yk )wlokl(1-okl)xk (1.46)
∂Wl
luaät thay ñoåi cho troïng soá lôùp aån laø :
wl=wl + ηδk wlokl(1-okl)xk (1.47)
Xeùt rieâng töøng troïng soá thì :
Wij =wij + ηδk wlokl(1-okl)xkj (1.48)
j=1,..,n
Toùm taét giaûi thuaät
Böôùc 1: choïn tröôùc giaù trò η > 0 vaø Emax > 0
Böôùc 2: choïn ngaãu nhieân giaù trò troïng soá w,baét ñaàu vôùi maãu thöù nhaát k=1 vaø
gaùn sai leâch E=0
Böôùc 3: baét ñaáu quaù trình hoïc, gaùn x = xk, d= dk. Ñaàu ra cuûa maïng Neural ñöôïc
tính theo coâng thöùc:
1
yk = (1.49)
1 + exp( − W T o k )
trong ñoù ok laø giaù trò ñaàu ra cuûa lôùp aån, ñöôïc tính bôûi:
1
ok =
l (1.50)
1 + exp( − WlT x k )
Böôùc 4: caäp nhaät troïng soá Neural ñaàu ra:
W=W + ηδo (1.51)
Vôùi δ = y(d - y)(1 - y)
Böôùc 5: caäp nhaät troïng soá Neural lôùp aån:
wl=wl + ηδ wlol(1-ol)x (1.52)
Böôùc 6: tính sai leäch baèng caùch coäng theâm sai leäch hieän taïi
E = E + ½ (d - y)2 (1.53)
- 18 -
Chöông 1: Toång quan veà maïng Neural
Böôùc 7: neáu k Emax thì
gaùn E = 0 vaø baét ñaàu chu kyø hoïc môùi baèng caùch quay trôû laïi böôùc 3.
III.6. Caùc maïng nuoâi tieán vaø giaûi thuaät truyeàn ngöôïc.
Giaûi thuaät truyeàn luøi (back propagation algorithm) laø moät trong caùc giaûi thuaät
quan troïng nhaát trong lòch söû phaùt trieån cuûa caùc maïng Neural nhaân taïo. Giaûi thuaät
ñöôïc söû duïng ñeå huaán luyeän caùc maïng nuoâi tieán nhieàu lôùp vôùi caùc phaàn töû xöû lyù
trong maïng coù haøm taùc ñoäng laø haøm phi tuyeán. Maïng nuoâi tieán nhieàu lôùp keát hôïp
vôùi giaûi thuaät truyeàn luøi coøn ñöôïc goïi laø maïng truyeàn luøi (back propagation
network). Neáu cho taäp hôïp caùc caëp maãu huaán luyeän vaøo-ra (x(k),d(k)) vôùi
k=1,2,…,p, giaûi thuaät seõ cung caáp moät thuû tuïc cho vieäc caäp nhaät caùc troïng soá keát noái
trong maïng truyeàn luøi töø lôùp Neural ñaàu ra ñeán lôùp Neural ñaàu vaøo. Giaûi thuaät vaän
haønh theo hai luoàng döõ lieäu: Ñaàu tieân caùc maãu huaán luyeän ñöôïc truyeàn töø lôùp
Neural ñaàu vaøo ñeán lôùp Neural ñaàu ra vaø cho keát quaû thöïc söï y(k) cuûa lôùp Neural
ñaàu ra. Sau ñoù caùc tín hieäu sai leäch giöõa ñaàu ra mong muoán vaø ñaàu ra thöïc söï cuûa
maïng ñöôïc truyeàn luøi töø lôùp ñaàu ra ñeán caùc lôùp ñöùng tröôùc ñeå caäp nhaät caùc troïng soá
keát noái trong maïng.
Ñeå laøm roõ caùc nguyeân lyù laøm vieäc cuûa caùc maïng nuoâi tieán ñöôïc keát hôïp vôùi
giaûi thuaät truyeàn luøi, ôû ñaây ta chæ xem xeùt moät maïng nuoâi tieán ba lôùp ñoù laø lôùp
Neural ñaàu vaøo, lôùp Neural aån vaø lôùp Neural ñaàu ra vaø töø ñoù ta coù theå môû roäng caùc
nguyeân lyù laøm vieäc cho caùc maïng nuoâi tieán nhieàu lôùp hôn.
Giaû söû lôùp Neural ñaàu vaøo cuûa maïng coù m ñaàu vaøo: x1, x2,…, xm , lôùp Neural
aån cuûa maïng coù l phaàn töû xöû lyù vôùi caùc ñaàu ra laø: z1, z 2,…, zl vaø lôùp Neural ñaàu ra
cuûa maïng coù n phaàn töû xöû lyù vôùi n ñaàu ra laø: y1, y2, …, yn . Ta cuõng giaû söû raèng vqj laø
troïng soá keát noái giöõa ñaàu vaøo thöù j cuûa lôùp Neural ñaàu vaøo vôùi phaàn töû xöû lyù thöù q
cuûa lôùp Neural aån vaø wiq laø troïng soá keát noái giöõa phaàn töû xöû lyù thöù q cuûa lôùp Neural
aån vôùi phaàn töû xöû lyù thöù i cuûa lôùp Neural ñaàu ra. Hình 1.16 moâ taû maïng Neural ba
lôùp vôùi giaûi thuaät truyeàn luøi.
x1 y1
x1 y2
xm yn
xj (j=1,…,m) vq,j zq (q=1,…,l) wi,q yi (i=1,…,n)
- 19 -
Hình 1.24
Chöông 1: Toång quan veà maïng Neural
Cho caëp maãu huaán luyeän (x,d), haøm toång hôïp cho moãi phaàn töû xöû lyù thöù q cuûa lôùp
Neural aån laø:
m
netq= ∑ v qj .x j (1.54)
j =1
vaø ñaàu ra cuûa noù laø:
zq=a(netq) (1.55)
Haøm toång hôïp cho moãi phaàn töû xöû lyù thöù i cuûa lôùp Neural ñaàu ra laø:
l
neti= ∑ wiq .z q (1.56)
q =1
vaø ñaàu ra cuûa noù laø:
yi=a(neti) (1.57)
Neáu haøm ñaùnh giaù ñeå ño sai leäch giöõa ñaàu ra mong muoán vaø ñaàu ra thöïc söï cuûa
maïng ñöôïc ñònh nghóa vôùi daïng:
1 n
E(w)= ∑ (d i − yi ) 2
2 i =1
(1.58)
Vì theá caùc troïng soá giöõa lôùp Neural ñaàu ra vaø lôùp Neural aån coù theå ñöôïc caäp
nhaät baèng moät löôïng:
∆wiq = −η (∂E / ∂wiq ) (1.59)
Söû duïng luaät Chain cho ( ∂E / ∂wiq ):
Ta coù: ∆wiq = −η (∂E / ∂wiq )(∂yi / ∂neti )(∂neti / ∂wiq ) (1.60)
Trong ñoù: (∂E / ∂wiq ) = −(d i − y i ) , (∂y i / ∂neti ) = a' (net i )
vaø (∂net i / ∂wiq ) = z q
Do ñoù, ta coù: ∆wiq = η [ d i − y i ].[ a ' ( neti )].[ z q ] (1.61)
Neáu cho tín hieäu sai leäch δ qi = [d i − y i ].[ a ' (neti )] thì caùc troïng soá keát noái giöõa
lôùp Neural aån vaø lôùp Neural ñaàu ra coù theå ñöôïc caäp nhaät baèng:
∆wiq = η .δ qi .z q (1.62)
Vieäc caäp nhaät caùc troïng soá keát noái giöõa lôùp Neural aån vaø lôùp Neural ñaàu vaøo söû
duïng luaät:
- 20 -