Luaän aùn Cao hoïc
22
MMaaïïnngg nneeuurroonn NNhhaaâânn ttaaïïoo
NNooääii DDuunngg
2
2.1 Lòch söû phaùt trieån vaø caùc öùng duïng cuûa maïng Neuron...............................2.2 2.2 Boä naõo ngöôøi vaø Neuron sinh hoïc ................................................................2.5 2.3 Moâ hình Neuron nhaân taïo ............................................................................2.8 2.3.1 Moâ hình neuron 1 ngoõ vaøo............................................................................... 2.8 2.3.2 Moâ hình neuron nhieàu ngoõ vaøo ..................................................................... 2.11 2.4 Maïng Neuron ...............................................................................................2.11 2.4.1 Phaân loaïi maïng neuron ................................................................................. 2.11 2.4.2 Maïng neuron 1 lôùp ......................................................................................... 2.12 2.4.3 Maïng neuron nhieàu lôùp.................................................................................. 2.13 2.5 Huaán luyeän maïng ........................................................................................2.15 2.5.1 Hoïc coù giaùm saùt .............................................................................................. 2.15 2.5.2 Hoïc khoâng giaùm saùt ....................................................................................... 2.15 2.5.3 Hoïc taêng cöôøng............................................................................................... 2.18 2.6 Moät soá Giaûi thuaät huaán luyeän thoâng duïng.................................................2.20 2.6.1 Giaûi thuaät gradient descent ............................................................................ 2.22 2.6.2 Giaûi thuaät gradient descent with momentum ................................................ 2.24 2.6.3 Giaûi thuaät gradient descent with adaptive learning rate............................... 2.25 2.6.4 Giaûi thuaät gradient descent with momentum & adaptive lr.......................... 2.26 2.6.5 Giaûi thuaät truyeàn ngöôïc Resilient .................................................................. 2.27 2.6.6 Giaûi thuaät BFGS Quasi-Newton .................................................................... 2.28 2.6.7 Giaûi thuaät Levenberg-Marquardt................................................................... 2.29 2.6.8 So saùnh caùc giaûi thuaät.................................................................................... 2.30 2.7 Qui trình thieát keá maïng Neuron öùng duïng.................................................2.32 2.8 Vaøi kyõ thuaät phuï trôï.....................................................................................2.33 2.8.1 Tieàn xöû lyù döõ lieäu............................................................................................ 2.33 2.8.2 Khaû naêng toång quaùt hoùa cuûa maïng............................................................... 2.35 2.8.3 Kích thöôùc toái öu cuûa maïng ........................................................................... 2.36 2.9 Toùm taét .........................................................................................................2.38 Taøi lieäu tham khaûo chöông 2 ............................................................................2.39
Chöông 2 - Maïng neuron nhaân taïo
2.1
Luaän aùn Cao hoïc
2.1 Lòch söû phaùt trieån vaø Caùc öùng duïng cuûa maïng Neuron
Lòch söû phaùt trieån cuûa maïng neuron ñöôïc toùm taét nhö hình 2.1, [1].
Naêm 1890, nhaø taâm lyù hoïc William James ñaõ ñöa ra nhaän xeùt: Khi hai quaù trình cô baûn cuûa boä naõo taùc ñoäng laãn nhau hoaëc xaûy ra laàn löôït thì moät trong chuùng seõ truyeàn kích thích ñeán quaù trình coøn laïi.
2
Cuoái 1980s -nay: ÖÙng duïng trong nhieàu lónh vöïc
1982: Maïng Hopfield 1 lôùp, caùc nghieân cöùu ñöôïc tieáp tuïc
1970s: Caùc nghieân cöùu ñoät nhieân laéng dòu
1969: Caùc baøi baùo cuûa Minsky & Papert, Perceptrons
Cuoái 50s-60s: Nhieàu noå löïc, AI & Neural Computing Fields ñöôïc
thaønh laäp
1956: Dartmouth Summer Research Project
1950s: Phaàn meàm phaùt trieån maïnh
1949: Giaûi thuaät huaán luyeän cuûa Donald Hebb
1943: Mcculloch & Pitts coâng boá veà moâ hình neuron ñôn giaûn
1936: Turing duøng boä naõo nhö moâ hình xöû lyù thoâng tin
1890: Khaùi nieäm cuûa William James.
Naêm 1936, Alan Turing laø ngöôøi ñaàu tieân söû duïng 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 thöùc hoaït ñoäng cuûa caùc neuron, hoï ñaõ taïo ra moät maïng neuron ñô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 cheá taïo caùc boä maùy thoâng minh.
Hình 2.1 Lòch söû phaùt trieån cuûa maïng neuron
Naêm 1949, Donald Hebb ñeà xuaát moät giaûi thuaät huaán luyeän maïng neuron
raát noåi tieáng, maø ngaøy nay noù vaãn coøn ñöôïc söû duïng.
Chöông 2 - Maïng neuron nhaân taïo
2.2
Thaäp nieân 50 laø thôøi kyø maø maïng neuron 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 neuron döïa treân giaûi thuaät cuûa Hebb.
Luaän aùn Cao hoïc
Naêm 1957, Frank Rosenblatt baét ñaàu nghieân cöùu veà maïng Perceptron vaø ñaõ thaønh coâng trong vieäc thieát keá Mark I Perceptron neurocomputer, ñoù laø maïng neuron coå ñieån nhaát vaãn coøn söû duïng tôùi ngaøy nay [11].
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 neuron vaøo thöïc teá ñeå daäp tieáng voïng treân ñöôøng daây ñieän thoaïi. Naêm 1967, Avalanche aùp duïng caùc maïng neuron 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.
2
Töø naêm 1969 ñeán 1981 maïng neuron 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 caùc baøi baù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 [2].
Naêm 1982, John Hopfield coâng boá moät coâng trình veà maïng neuron moät lôùp treân National Academy of Sciences, noù ñöôïc coi laø moät ñoäng cô ñeå loâi keùo caùc nhaø khoa hoïc quay trôû laïi nghieân cöùu veà maïng neuron. Ñ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 neuron 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 ngaøy nay, maïng neuron ñaõ khaúng ñònh ñöôïc vò trí cuûa mình trong nhieàu öùng duïng khaùc nhau. Caùc lónh vöïc öùng duïng cuûa maïng neuron coù theå toùm taét nhö sau [3]:
♦ Khoâng gian vuõ truï:
Phi thuyeàn khoâng ngöôøi laùi, moâ phoûng ñöôøng bay, taêng cöôøng khaû naêng ñieàu khieån, moâ phoûng caùc chi tieát trong maùy bay, phi thuyeàn, döï baùo hoûng hoùc …
♦ Giao thoâng:
Höôùng daãn löu thoâng töï ñoäng, phaân tích caûnh baùo tình traïng giao thoâng, xaùc ñònh ñöôøng ñi toái öu.
♦ Ngaân haøng:
Chöông 2 - Maïng neuron nhaân taïo
2.3
Kieåm soaùt caùc hoùa ñôn chöùng töø vaø caùc taøi lieäu khaùc, döï baùo chöùng khoaùn, kieåm tra theû tín duïng, …
Luaän aùn Cao hoïc
♦ Quaân söï:
Vuõ khí töï ñoäng, truy tìm muïc tieâu, phaân bieät ñoái töôïng, nhaän daïng tín hieäu vaø hình aûnh, caùc öùng duïng trong taøu ngaàm, xöû lyù tín hieäu radar, …
♦ Ñieän töû:
Giaûi maõ, döï baùo loãi chip, toång hôïp aâm thanh, moâ hình hoùa heä thoáng.
♦ Giaûi trí:
Phim hoaït hình, kyõ xaûo ñieän aûnh.
♦ Taøi chính:
2
Ñònh giaù baát ñoäng saûn, tö vaán nôï, theá chaáp, phaân tích khaû naêng taøi chính cuûa coâng ty, …
♦ Coâng nghieäp:
Kieåm soaùt caùc loø nung, kieåm soaùt caùc qui trình coâng nghieäp, phaân tích vaø thieát keá saûn phaåm, döï baùo chaát löôïng saûn phaåm, …
♦ Y hoïc:
Phaân tích teá baøo ung thö, thieát keá caùc boä phaän giaû cho cô theå, …
♦ Daàu khí:
Thaêm doø quaëng.
♦ Robotics:
Ñieàu khieån tay maùy, camera robots, …
♦ Ngoân ngöõ:
Nhaän daïng gioïng noùi, toång hôïp aâm thanh vaø chöõ vieát, neùn aâm thanh, phaân loaïi nguyeân aâm.
♦ Thoâng tin:
Neùn aâm thanh vaø hình aûnh, dòch maùy, …
Chöông 2 - Maïng neuron nhaân taïo
2.4
Toùm laïi, maïng neuron ñaõ ñang vaø seõ ñöôïc nghieân cöùu, öùng duïng maïnh meõ vaøo haàu heát caùc lónh vöïc coâng nghieäp vaø dòch vuï. Moät soá maïng neuron noåi tieáng ñöôïc lieät keâ trong baûng 2.1, [1].
ï
5 . 2
ï
ä
ä
ø
û
u e i l
õ
ù
ø
å
ù
ï
ù
ï
ï
á
ä
ä
ï
ä
á
â
n e y u l n a u h
ã
ï
ø
c o h o a C n a n a u L
ù
p ô h t e k
å
c o h t a u l ,
à
ä
ù
û
ù
ê
á
ã
ä
e h t
ù
ï
c a h k t a u h t i a i g
â
á
à
á
ï
û
ä
o c ,
ï
ï
ù
â
u h c i h G
ï
ï
ä
ï
c u c u e i t c ö c c a c a u q t ô ö v
ã
å
ù
ù
ï
ï
ï
ö s c ô ö ñ n o c n a v , t a h n n e i ñ
û
ï
ï
ä
å
ä
g n u d g n o h k , g n a m c a c p ô h
å
ä
û
á
û
ï
á
à
ï
e d , t o t g n o ñ t a o h , n e i b
ù
å
ä
á
ï
t a h n n e y u l n a u h
ï
ï
ø
ã
ä
ï
ä
e d , n a i g n ô Ñ
M A B ö t g n ô ö T
o b
m a n 0 2 n e r t i a m g n ô ö h T
h n a m
u e i h n g n u d p a c ô ö ñ a ö h C
n ô ñ g n a m
o t g n u D
o h P
n o i t a g a p o r p - k c a B ö t g n ô ö T
a v c ô ö h t h c í k i ô v m a c y a h n , p a t c ö h P
ö t í k c a c a u c í r t ò v
g n o r
e D
ö d g n a h t t o m n e r t c ô ö ñ g n o ñ t a o H
o c g n a M
g n u d
e h c n a l a v A g n o i G
h n e l u e i h n
u e i h n n ô h a u q u e i H
c o h g n o ñ í h k h n í t c e i v g n o r t
ù
û
ï
ï
ù
õ
à
,
i a h p
á
ù
ä
á
a o h a m
ï
û
t a ñ i ô m
h n a h t
ï
á
á
ã
á
ï
â
ù
á
m a
ä
á
â
ù
ø
ä
á
à
ä
y a h n , p a t c ö h p
ù
ø
ï
ã
i a h p u e i l
õ
ø
á
å
ö t
ù
ù
å
à
ï
ù
ä
å
ù
ï
á
å
ø
u e i h n ,
á
ù
ä
e h c n a H
ù
â
â
ä
ù
ù
h n í t n e y u t a r o a v
ù
ä
à
à
ù
o ñ
á
ä
ä
ä
u e i h n t a r n a c , t a s m a i g
ù
ù
ä
ä
â
ï
à
û
ë
n e y u l n a u h u e i l
õ
ù
ä
û
ï
a u q ,
ï
á
ã
â
â
â
á
á
ï
ï
ù
ã
ø
à
à
o a c c a x h n í h c
ä
û
ë
i o n t e k a v n a t u n u e i h n i o h i o Ñ
u a l n e y u l n a u H
u e i h n
u a h n c a h k
u e i h n í t o ñ g n a h t : i ô v m a c y a h N
o ñ c o t c ô ö ñ n a h n g n o h K
o c c o h æ h C
ö d u a m
p e h p o h c g n o h k , n a l t o m h n ò ñ t e y u Q
i a l p a l
p a t c ö h p n e i h k u e i ñ u e i h n í T
u a l n e y u l n a u H
e h n a u q n a C
ö d , p a h t g n ô ö l g n u D
i o n t e k a v n a t u n u e i h n n a C
o ñ
o s g n o r t c a c , n e y u l n a u h g n o h K
c ô ö r t t a ñ c ô ö ñ
y k c a c n a h n g n o h K
u e i h n a v c ô ö h t h c í k i ô v m a c
ï
s
ï
ä
â
c o l , s
ø
y a t ,
ï
û
ï
u e i l
õ
m a ,
à
ö d
û
â
ê
ù
á
m e d o m
y a t , n a b n a v
ø
m a g n
ø
û
ï
ï
á
ä
â
ù
ù
ï
û
y a m h n a ñ
ô s ô c c a c
ø
, r a d a r
y a t t e i v
ä
õ
õ
ö t g n ô ö t h n a h t
ä
ï
Ù
n a u q g n o h k ,
ù
ï
ö t h n a h t
â
â
u e i l
õ
g n u d g n Ö
ä
â
á
å
ã
â
ï
ï
ï
ï
ï
ö t u e i l
õ
ï
à
â
y l a ò ñ
c ô ö ñ æ h c a ò ñ h n ò ñ p ô h t e k
ù
à
û
û
ô n g n o c ,
ä
ä
ä
ä
ä
ä
ï
ø
à
à
ù
ù
ù
ô h n
ä
û
å
u e i b u e i t n o r u e n g n a m o s t o M 1 . 2 g n a B
ö d i o h c u h P
ö d h c í r T
ö h c g n a d n a h N
o B
ô n g n o c , h n a n e N
u a t , r a d a r ( g n a d n a h N
m a g n a d n a h N
m a p ô h g n o T
y a m
) h n a h t
y a m
m a c i t o b o r a u c r o t o m n e i h k u e i Ñ
u a t , r a d a r , h n a h n ì h g n a d n a h N
m a g n
o h c u e i h n t e i r T
i a o h t n e i ñ y a d g n ô ö ñ
ö h c g n a d n a h N
o ñ n a B
ê
m a N
2 8 9 1
7 7 9 1
5 8 9 1
2 6 - 0 6 9 1
4 8 - 8 7 9 1
6 8 - 8 7 9 1
5 8 - 4 7 9 1
2 8 - 9 6 9 1
6 8 9 1
6 8 - 5 8 9 1
7 5 9 1
0 8 9 1
7 6 9 1
û
y r r e T
n e s l e i N
d i v a D
ù
u z S d l o r a H
,
t r a h l e m m u R
.
a i g c a T
D
- t h c e H
, s o b r e W
r e t n e p r a C
o k s o K
n e n o h o K o v u e T
w o r d i W d r a n r e B
t r a B
g r e b s s o r G n e h p e t S
l i a G
l u a P
, r e k r a P
n o s r e d n A s e m a J
, s u b l A s e m a J , r r a M d i v a D
z e n o i l l e P s e r d n A
t r e b o R
y k s w o n j e S
, n o t n i H y e r f f e J
g r e b s s o r G n e h p e t S
d l e i f p o H n h o J
a m i h s u k u F o k i h i n u K
t t a l b n e s o R k n a r F
ï
aïo t aân h n n o r u e n g aïn M
a n i e t a t
g n a M
e h c n a l a v A
n o i t a g a p o r p
T R A
- k c a B
M A B
S n i a r B
x o B
n o r t a l l e b e r e C
n o i t a g a p o r p
- r e t n u o C
y h c u a C
& n n a m z t l o B
d l e i f p o H
E N I L A D A M
n o r t i n g o c o e N
n o r t p e c r e P
M O S
- 2 g n ô ö h C
Luaän aùn Cao hoïc
2.2 Boä naõo ngöôøi vaø Neuron sinh hoïc
Heä thaàn kinh cuûa con ngöôøi goàm thaàn kinh trung öông (naõo), tuûy soáng vaø caùc daây thaàn kinh. Thaàn kinh trung öông ñöôïc caáu taïo töø 2 lôùp teá baøo, teá baøo thaàn kinh (goïi laø neuron) vaø teá baøo glia. Trong ñoù, glia chæ thöïc hieän chöùc naêng hoå trôï, neuron môùi tröïc tieáp tham gia vaøo quaù trình xöû lyù thoâng tin. Boä naõo ngöôøi chöùa khoaûng 1011 neuron, vôùi hôn 1014 lieân keát giöõa chuùng, taïo thaønh moät maïng teá baøo thaàn kinh khoång loà. Hình 2.2 cho thaáy toång theå cuûa moät boä naõo ngöôøi [4].
2
Hình 2.2 Boä naõo ngöôøi
Moãi neuron coù phaàn thaân vôùi nhaân beân trong (goïi laø soma), moät ñaàu thaàn kinh ra (goïi laø sôïi truïc axon) vaø moät heä thoáng daïng caây caùc daây thaàn kinh vaøo (goïi laø dendrite). Xem hình 2.3. Truïc daây thaàn kinh ra cuõng coù theå phaân nhaùnh theo daïng caây ñeå noái vôùi caùc daây thaàn kinh vaøo hoaëc tröïc tieáp vôùi nhaân teá baøo cuûa caùc neuron khaùc thoâng qua caùc khôùp noái (goïi laø synapse). Thoâng thöôøng moãi neuron coù theå coù töø vaøi chuïc ñeán vaøi traêm ngaøn khôùp noái.
Hình 2.3 Caáu truùc cuûa moät neuron sinh hoïc
Chöông 2 - Maïng neuron nhaân taïo
2.6
Luaän aùn Cao hoïc
Caùc tín hieäu truyeàn trong caùc daây thaàn kinh vaøo vaø ra cuûa caùc neuron laø tín hieäu ñieän, ñöôïc thöïc hieän thoâng qua quaù trình giaûi phoùng caùc chaát höõu cô. Caùc chaát naøy ñöôïc phaùt ra töø caùc khôùp noái, hình 2.4, daãn tôùi caùc daây thaàn kinh vaøo seõ laøm taêng hay giaûm ñieän theá cuûa nhaân teá baøo. Khi ñieän theá ñaït tôùi moät ngöôõng naøo ñoù (goïi laø ngöôõng kích hoaït), seõ taïo ra moät xung ñieän daãn tôùi truïc daây thaàn kinh ra. Xung naøy ñöôïc truyeàn theo truïc tôùi caùc nhaùnh reõ, khi chaïm vaøo caùc khôùp noái noái vôùi caùc neuron khaùc, seõ giaûi phoùng caùc chaát truyeàn ñieän, hình 2.5. Ngöôøi ta chia thaønh 2 loaïi khôùp noái, khôùp kích thích (excitatory) vaø khôùp öùc cheá (inhibitory).
2
Hình 2.4 Khôùp noái thaàn kinh
Hình 2.5 Xung ñieän treân truïc thaàn kinh
Chöông 2 - Maïng neuron nhaân taïo
2.7
Vieäc nghieân cöùu neuron sinh hoïc cho thaáy hoaït ñoäng cuûa noù khaù ñôn giaûn, khi ñieän theá ôû daây thaàn kinh vaøo vöôït quaù moät ngöôõng naøo ñoù, neuron baét ñaàu giaät (firing), taïo ra moät xung ñieän truyeàn treân daây thaàn kinh ra ñeán caùc neuron khaùc, cô cheá naøy cho pheùp deã daøng taïo ra moâ hình neuron nhaân taïo.
Luaän aùn Cao hoïc
2.3 Moâ hình Neuron nhaân taïo
22..33..11 MMooââ hhììnnhh nneeuurroonn 11 nnggooõõ vvaaøøoo
Hình 2.6 laø moâ hình 1 neuron nhaân taïo11 vôùi moät ngoõ vaøo [3].
2
Hình 2.6 Moâ hình neuron 1 ngoõ vaøo
Ngoõ vaøo p truyeàn qua moät keát noái coù ñoä lôïi w, goïi laø troïng soá keát noái (weight) taïo thaønh wp, sau ñoù wp ñöôïc ñöa vaøo haøm kích hoaït f cuûa neuron, goïi laø haøm truyeàn seõ taïo thaønh ngoõ ra a cuûa neuron.
a = f(wp)
Tröôøng hôïp neuron coù ngöôõng kích hoaït12 (bias), wp ñöôïc coäng vôùi b, ngoõ
ra cuûa neuron seõ laø
a = f(wp+b)
Quaù trình huaán luyeän seõ thay ñoåi troïng soá w vaø ngöôõng b laøm cho quan heä vaøo ra p/a thay ñoåi theo. Thoâng thöôøng coù 3 haøm truyeàn ñöôïc söû duïng nhieàu trong thöïc teá, ñoù laø haøm Linear, Log sigmoid vaø Hyperbolic tangent sigmoid.
Chöông 2 - Maïng neuron nhaân taïo
2.8
11 keå töø ñaây veà sau, ñeå ñôn giaûn ta chæ goïi laø neuron 12 töông ñöông vôùi ñieän theá ngöôõng cuûa neuron sinh hoïc
Luaän aùn Cao hoïc
♦ Haøm truyeàn tuyeán tính – ‘purelin’:
f(n) = n (2.1)
Hình 2.7 Haøm truyeàn tuyeán tính
2
)n(f
=
♦ Haøm truyeàn Log Sigmoid – ‘logsig’
1 ne1 −+
(2.2)
Hình 2.8 Haøm truyeàn Log Sigmoid
♦ Hyperbolic tangent sigmoid – ‘tansig’
n2
−
)n(f
=
n2
−
e1 − e1 +
(2.3)
Hình 2.9 Haøm truyeàn Hyperbolic tangent sigmoid
Chöông 2 - Maïng neuron nhaân taïo
2.9
Luaän aùn Cao hoïc
Baèng caùch söû duïng caùc haøm truyeàn khaùc nhau, ta ñöôïc caùc neuron coù tính chaát khaùc nhau töông öùng. Neural Network ToolBox 3.0 cuûa MATLAB 5.3 cung caáp caùc haøm truyeàn ñöôïc lieät keâ trong baûng 2.2.
Baûng 2.2 Caùc haøm truyeàn cuûa neuron
compet
Competitive transfer function.
hardlim Hard limit transfer function.
hardlims Symmetric hard limit transfer function
TRANSFER FUNCTIONS
2
logsig
Log sigmoid transfer function.
poslin
Positive linear transfer function
purelin
Linear transfer function.
radbas
Radial basis transfer function.
satlin
Saturating linear transfer function.
satlins
Symmetric saturating linear transfer function
softmax
Soft max transfer function.
tansig
Hyperbolic tangent sigmoid trans. function.
tribas
Triangular basis transfer function.
Söï töông quan giöõa neuron sinh hoïc vaø neuron nhaân taïo nhö baûng 2.3 [6].
Baûng 2.3 So saùnh Neuron sinh hoïc vaø nhaân taïo
Neuron sinh hoïc
Neuron nhaân taïo
Teá baøo
Ñôn vò (hay goïi laø nuùt trong maïng)
Khôùp thaàn kinh
Troïng soá keát noái w
Ñaàu vaøo kích thích
Troïng soá keát noái döông
Ñaàu vaøo öùc cheá
Troïng soá keát noái aâm
Kích hoaït baèng taàn soá
Trò ngöôõng b
Phaïm vi hoaït ñoäng giôùi haïn bôûi lyù tính cuûa teá baøo
Phaïm vi hoaït ñoäng giôùi haïn bôûi haøm truyeàn f
Chöông 2 - Maïng neuron nhaân taïo
2.10
Luaän aùn Cao hoïc
22..33..22 MMooââ hhììnnhh nneeuurroonn nnhhiieeààuu nnggooõõ vvaaøøoo
Töông töï nhö treân, moâ hình neuron nhieàu ngoõ vaøo cho bôûi hình 2.10,
nhöng ngoõ vaøo p laø moät veùctô R phaàn töû
p1, p2, …, pR
Caùc troïng soá keát noái töông öùng vôùi töøng ngoõ vaøo laø
w1,1, w1,2, …, w1,R
Vôùi ngöôõng kích hoaït b ta coù:
n = w1,1p1+ w1,2p2+ … + w1,RpR + b
2
Bieåu dieãn daïng veùctô, n = Wp+b, khi ñoù ngoõ ra cuûa neuron vaãn laø:
a = f(Wp+b)
Hình 2.10 Moâ hình neuron nhieàu ngoõ vaøo
2.4 Maïng Neuron
Maïng neuron laø moät heä thoáng goàm nhieàu neuron keát noái vôùi nhau vaø hoaït ñoäng song song. Tính naêng cuûa maïng tuøy thuoäc vaøo caáu truùc cuûa noù, caùc troïng soá keát noái vaø quaù trình tính toaùn taïi caùc neuron ñôn leû. Maïng neuron coù theå hoïc töø döõ lieäu maãu vaø toång quaùt hoùa döïa treân caùc maãu ñaõ hoïc [2].
22..44..11 PPhhaaâânn llooaaïïii mmaaïïnngg nneeuurroonn
Ngöôøi ta phaân loaïi maïng neuron döïa vaøo kieåu keát noái cuûa caùc neuron vaø
Chöông 2 - Maïng neuron nhaân taïo
2.11
döïa vaøo soá lôùp neuron trong maïng.
Luaän aùn Cao hoïc
♦ Phaân loaïi theo kieåu keát noái caùc neuron:
Döïa theo kieåu keát noái, ta coù maïng neuron truyeàn thaúng (feedforward Neural Network) vaø maïng hoài qui (recurrent NN). Trong maïng truyeàn thaúng, caùc keát noái ñi theo moät höôùng nhaát ñònh, khoâng taïo thaønh chu trình. Ngöôïc laïi, caùc maïng hoài qui cho pheùp caùc keát noái neuron taïo thaønh chu trình, vôùi ñænh laø caùc neuron vaø cung laø caùc keát noái giöõa chuùng. Caùc neuron nhaän tín hieäu vaøo goïi laø neuron vaøo, caùc neuron ñöa thoâng tin ra goïi laø neuron ra, caùc neuron coøn laïi goïi laø neuron aån.
♦ Phaân loaïi theo soá lôùp neuron:
2
Caùc neuron trong maïng coù theå ñöôïc toå chöùc thaønh caùc lôùp theo nguyeân taéc caùc neuron ôû lôùp naøy, chæ ñöôïc noái vôùi caùc neuron ôû lôùp khaùc, khoâng cho pheùp keát noái giöõa caùc neuron treân cuøng lôùp, hoaëc töø neuron lôùp döôùi leân neuron lôùp treân, cuõng khoâng cho pheùp keát noái nhaûy qua 1 lôùp [2]. Lôùp nhaän tín hieäu vaøo goïi laø lôùp vaøo, lôùp ñöa thoâng tin ra goïi laø lôùp ra, caùc lôùp ôû giöõa goïi laø lôùp aån. Xem hình 2.11.
Thoâng thöôøng lôùp vaøo khoâng tham gia quaù trình tính toaùn cuûa maïng neuron13, neân khi tính soá lôùp ngöôøi ta khoâng keå lôùp vaøo. Ví duï ôû hình 2.11a, ta coù maïng 2 lôùp, goàm lôùp aån vaø lôùp ra.
22..44..22 MMaaïïnngg nneeuurroonn 11 llôôùùpp
w
w
w
1,1
2,1
R,1
L
w
w
w
1,2
2,2
R,2
L
W
=
Moâ hình maïng neuron 1 lôùp vôùi R neuron vaøo vaø S neuron ra14 nhö hình 2.12. Moãi phaàn töû trong veùctô vaøo p, ñöôïc noái vôùi töøng nuùt vaøo töông öùng (caùc neuron naèm treân lôùp vaøo) thoâng qua ma traän troïng soá W
w
w
w
1,S
2,S
R,S
L
(2.4)
R
n
b
+
Neuron thöù i (trong lôùp tính toaùn) coù:
i
wp i
j,i
i
= ∑
1j =
(2.5)
Ngoõ ra töông öùng cuûa neuron thöù i laø: ai = f(ni), trong ñoù f laø haøm truyeàn
cuûa neuron. Chuùng ta coù theå bieåu dieãn ngoõ ra cuûa maïng:
a = f(Wp+b)
Chöông 2 - Maïng neuron nhaân taïo
2.12
13 lôùp vaøo chæ coù nhieäm vuï nhaän tín hieäu vaøo, ñaây laø thaønh phaàn tuyeán tính cuûa maïng 14 neuron vaøo coøn goïi laø nuùt vaøo, neuron ra coøn goïi laø nuùt ra
Luaän aùn Cao hoïc
2
Hình 2.11 Phaân loaïi maïng neuron
Hình 2.12 Maïng neuron 1 lôùp
22..44..33 MMaaïïnngg nneeuurroonn nnhhiieeààuu llôôùùpp
Chöông 2 - Maïng neuron nhaân taïo
2.13
Moät maïng neuron coù theå coù nhieàu lôùp, ngoõ ra cuûa lôùp tröôùc seõ laøm ngoõ vaøo cuûa lôùp sau. Quaù trình tính toaùn treân maïng laàn löôït tính toaùn treân töøng lôùp, treân moãi lôùp hoaøn toaøn gioáng nhö tính toaùn ñoái vôùi maïng moät lôùp. Treân hình
Luaän aùn Cao hoïc
2.13, veùctô vaøo laø p, ngoõ ra laø veùctô a. Tuy nhieân, ta theâm caùc chæ soá 1,2,3 ñeå deã phaân bieät caùc lôùp cuûa maïng.
2
Hình 2.13 Maïng neuron nhieàu lôùp
Neural Network ToolBox 3.0 cuûa MATLAB cung caáp caùc haøm taïo maïng
neuron ñöôïc lieät keâ trong baûng 2.4 [3].
Baûng 2.4 Caùc haøm taïo maïng neuron cuûa MATLAB 5.3
Create a competitive layer. Create a cascade-forward backpropagation network.
Create a feed-forward backpropagation network. Create a feed-forward input-delay backprop network.
Create a learning vector quantization network Create a perceptron.
Design a radial basis network. Design an exact radial basis network.
newc newcf newelm Create an Elman backpropagation network. newff newfftd newgrnn Design a generalized regression neural network. newhop Create a Hopfield recurrent network. newlin Create a linear layer. newlind Design a linear layer. newlvq newp newpnn Design a probabilistic neural network. newrb newrbe newsom Create a self-organizing map.
Chöông 2 - Maïng neuron nhaân taïo
2.14
New Neural Networks
Luaän aùn Cao hoïc
2.5 Huaán luyeän maïng
Huaán luyeän maïng laø quaù trình thay ñoåi caùc troïng soá keát noái cuõng nhö caáu truùc cuûa maïng sao cho phuø hôïp vôùi caùc maãu hoïc [2]. Ngöôøi ta phaân bieät 3 kyõ thuaät hoïc, ñoù laø hoïc coù giaùm saùt (supervised learning), hoïc khoâng giaùm saùt (unsupervised learning) vaø hoïc taêng cöôøng (reinforcement learning).
22..55..11 HHooïïcc ccooùù ggiiaaùùmm ssaaùùtt
2
Laø giaûi thuaät ñieàu chænh caùc troïng soá keát noái döïa vaøo söï khaùc bieät giöõa ngoõ ra thöïc teá cuûa maïng (actual network output) vaø ngoõ ra mong muoán (target or desired network output)15, öùng vôùi moät taäp tín hieäu vaøo. Hoïc coù giaùm saùt ñoøi hoûi phaûi coù moät teacher hay supervisor cung caáp ngoõ ra mong muoán, vì theá ngöôøi ta coøn goïi laø hoïc coù thaày.
Giaû söû ta coù taäp maãu hoïc laø {(p,t)}, vôùi p laø veùctô vaøo, t laø veùctô ra mong muoán, töùc laø öùng vôùi ngoõ vaøo p thì ngoõ ra ñuùng cuûa heä phaûi laø t. Goïi ngoõ ra thöïc teá cuûa maïng laø a, thì giaûi thuaät hoïc phaûi ñieàu chænh maïng sao cho error=|t-a| nhoû hôn moät tieâu chuaån naøo ñoù. Caùc giaûi thuaät hoïc coù giaùm saùt seõ ñöôïc ñeà caäp chi tieát hôn ôû caùc phaàn sau.
22..55..22 HHooïïcc kkhhooâânngg ggiiaaùùmm ssaaùùtt
(cid:35) Giaûi thuaät hoïc caïnh tranh
Trong phöông phaùp hoïc khoâng giaùm saùt, khoâng ñoøi hoûi taäp ngoõ ra mong muoán, vì theá ngöôøi ta goïi laø hoïc khoâng thaày. Trong quaù trình huaán luyeän, chæ coù taäp döõ lieäu vaøo ñöôïc ñöa vaøo maïng, maïng töï ñieàu chænh theo nguyeân taéc goäp caùc maãu döõ lieäu vaøo coù ñaëc ñieåm töông töï thaønh töøng nhoùm [7]. Phöông phaùp naøy ñöôïc duøng trong maïng Kohonen vaø maïng ART. Coù hai giaûi thuaät hoïc khoâng giaùm saùt laø: Hoïc caïnh tranh (Competitive Learning) vaø Caáu hình töï toå chöùc (Self-organizing feature maps – SOFM).
Maïng neuron aùp duïng giaûi thuaät hoïc naøy goïi laø maïng caïnh tranh
(competitive neural network), hình 2.14 [3].
Trong hình 2.14, khoái || ndist || nhaän veùctô vaøo p vaø ma traän troïng soá IW1,1, ñeå taïo ra moät veùctô coù S1 phaàn töû. Caùc phaàn töû cuûa veùctô naøy coù giaù trò
Chöông 2 - Maïng neuron nhaân taïo
2.15
15 actual network output laø ngoõ ra maø maïng tính toaùn ñöôïc khi aùp duïng moät ngoõ vaøo naøo ñoù, desired network output laø ‘ñaùp soá’ do supervisor cung caáp
Luaän aùn Cao hoïc
laø khoaûng caùch Euclidean aâm (Euclidean distance < 0) giöõa veùctô vaøo p vaø ma traän troïng soá IW1,1. Sau ñoù veùctô naøy ñöôïc coäng vôùi trò ngöôõng b1 taïo thaønh n1. Haøm truyeàn caïnh tranh C (competitive transfer function), nhaän n1 vaø laøm cho caùc ngoõ ra cuûa caùc neuron baèng 0 ngoaïi tröø winning neuron seõ coù ngoõ ra baèng 1. Winning neuron laø neuron maø khoaûng caùch Euclidean giöõa veùctô troïng soá cuûa noù vaø ngoõ vaøo ít aâm nhaát, nghiaõ laø veùctô troïng soá cuûa noù gaàn ñuùng vôùi veùctô ngoõ vaøo nhaát.
2
Hình 2.14 Giaûi thuaät hoïc caïnh tranh
Caùc troïng soá cuûa winning neuron seõ ñöôïc caäp nhaät theo luaät sau: Giaû söû neuron thöù i trong maïng laø winning neuron, thì caùc phaàn töû ôû haøng thöù i trong ma traän troïng soá ñöôïc ñieàu chænh nhö sau:
(2.6)
Trong ñoù α laø toác ñoä hoïc (learning rate), α ∈ [0, 1].
Luaät caäp nhaät troïng soá naøy goïi laø luaät Kohonen, noù cho pheùp caùc troïng soá cuûa moät neuron hoïc theo veùctô vaøo. Caùc neuron coù veùctô troïng soá gaàn gioáng nhaát so vôùi veùctô vaøo seõ ñöôïc ñieàu chænh cho gaàn gioáng hôn nöõa. Keát quaû laø, winning neuron ôû böôùc huaán luyeän16 thöù (i) seõ gaàn gioáng vôùi winning neuron ôû böôùc thöù (i+1), vaø seõ khaùc xa so vôùi winning neuron ôû moät böôùc huaán luyeän naøo ñoù, maø ôû ñoù veùctô ngoõ vaøo coù söï thay ñoåi. Khi ta ñöa nhieàu maãu huaán luyeän khaùc nhau vaøo maïng, seõ daãn tôùi söï hình thaønh töøng nhoùm neuron coù caùc ñaëc ñieåm gaàn gioáng vôùi caùc maãu döõ lieäu huaán luyeän.
Sau khi huaán luyeän, maïng seõ hình thaønh nhieàu nhoùm neuron, moãi nhoùm seõ phaûn aùnh moät ñaëc ñieåm naøo ñoù cuûa caùc maãu huaán luyeän. Ñieàu naøy cuõng
Chöông 2 - Maïng neuron nhaân taïo
2.16
16 epoch, coù nhieàu taùc giaû goïi laø thôøi kyø huaán luyeän
Luaän aùn Cao hoïc
(cid:35) Caáu hình töï toå chöùc
töông ñöông nhö vieäc phaân chia caùc vuøng chöùc naêng treân boä naõo ngöôøi, vì lyù do naøy maø giaûi thuaät hoïc caïnh tranh toû ra öu ñieåm trong caùc öùng duïng nhaän daïng, ví duï döïa treân nhöõng ñaëc ñieåm ‘thaân quen’ coøn laïi ñeå nhaän daïng khuoân maët ngöôøi 10 naêm sau.
Maïng neuron aùp duïng giaûi thuaät naøy goïi laø maïng töï toå chöùc SOFM (Self- organizing feature maps), hình 2.15 [3]. Maïng naøy cuõng gioáng nhö maïng caïnh tranh, chæ khaùc ôû choå noù khoâng duøng ngöôõng kích hoaït b.
2
Hình 2.15 Caáu hình töï toå chöùc
SOFM nhaän bieát winning neuron i* cuõng gioáng nhö trong giaûi thuaät hoïc caïnh tranh, nhöng thay vì chæ ñieàu chænh troïng soá cuûa neuron ñoù, noù coøn ñieàu chænh caû troïng soá cuûa taát caû caùc neuron trong taäp neuron laùng gieàng Ni*(d) cuûa winning neuron i*, bao goàm i* vaø taát caû caùc neuron laùng gieàng cuûa noù. Caùc neuron i∈ Ni*(d) ñöôïc ñieàu chænh troïng soá theo luaät sau:
hoaëc (2.7)
Chöông 2 - Maïng neuron nhaân taïo
2.17
(2.8) Ta kyù hieäu taäp neuron laùng gieàng Ni*(d) vôùi yù nghóa nhö sau: Chæ soá i* cho bieát winning neuron laø neuron thöù i trong toång soá neuron cuûa maïng, chæ soá d cho bieát soá neuron laùng gieàng cuûa i* naèm trong voøng troøn baùn kính laø d neuron, taâm laø winning neuron. Ví duï N5(2) nghóa laø taäp hôïp caùc neuron naèm trong voøng troøn baùn kính 2 neuron, taâm laø neuron thöù 5 (winning neuron) trong maïng, xem hình 2.16 [3].
Luaän aùn Cao hoïc
N13(1) ={8 12 13 14 18}
N13(2) = {3 7 8 9 11 12 13 14 15 18 18 19 23}
2
Hình 2.16 Minh hoïa taäp neuron laùng gieàng
Löu yù laø caùc neuron trong SOFM khoâng baét buoäc luùc naøo cuõng phaûi saép xeáp theo hai höôùng. Chuùng ta coù theå saép xeáp theo 1 höôùng hay 3 höôùng. Ñoái vôùi SOFM 1 höôùng, moãi neuron chæ coù 2 laùng gieàng trong phaïm vi baùn kính laø 1 (cuõng coù theå chæ coù 1 laùng gieàng neáu neuron ñoù naèm ôû cuoái haøng). Ngoaøi ra ngöôøi ta coøn xeùt taäp neuron laùng gieàng theo kieåu hình vuoâng, hình luïc giaùc, Hieäu quaû cuûa maïng khoâng phuï thuoäc vaøo hình daïng cuûa taäp neuron laùng gieàng.
Trong quaù trình huaán luyeän, kích thöôùc cuûa taäp neuron laùng gieàng seõ nhoû daàn, ñeán khi chæ coøn 1 lôùp (lôùp naøy phaûn aùnh ñaëc ñieåm cuûa maãu döõ lieäu huaán luyeän). Khi ta thay ñoåi nhieàu maãu huaán luyeän, keát quaû cuõng ñaït ñöôïc töông töï nhö giaûi thuaät hoïc caïnh tranh.
22..55..33 HHooïïcc ttaaêênngg ccööôôøønngg
Hoïc taêng cöôøng laø moät giaûi thuaät ñaëc bieät cuûa hoïc coù giaùm saùt. Thay vì phaûi do thaày cung caáp ngoõ ra mong muoán thì giaûi thuaät naøy seõ nhôø moät ‘chuyeân gia’ (critic) öôùc löôïng ngoõ ra toát nhaát öùng vôùi moät ngoõ vaøo cho tröôùc. Tieâu bieåu cho hoïc taêng cöôøng laø giaûi thuaät di truyeàn (Genetic Algorithm - GA). Giaûi thuaät GA ñôn giaûn nhaát ñöôïc cho bôûi löu ñoà hình 2.17 [6,7].
Chöông 2 - Maïng neuron nhaân taïo
2.18
Giaûi thuaät naøy baét ñaàu baèng caùch khôûi taïo theá heä neuron hieän taïi moät caùch ngaãu nhieân, sau ñoù aùp duïng caùc pheùp toaùn di truyeàn ñeå taïo theá heä môùi phuø hôïp hôn. Caùc pheùp toaùn di truyeàn goàm coù: Choïn loïc, lai taïo vaø ñoät bieán. Coù theå minh hoïa pheùp lai nhö hình 2.18 [7]. Giaû söû coù 2 chuoãi cha vaø meï, ta caét
Luaän aùn Cao hoïc
Baét ñaàu
Khôûi taïo theá heä hieän taïi
Ñaït
Ñaùnh giaù
Keát thuùc
2 chuoãi naøy thaønh nhöõng ñoaïn nhoû baèng nhau coù ñoä daøi ngaãu nhieân, hoaùn ñoåi caùc chuoãi nhoû naøy cho nhau ta seõ thu ñöôïc 2 con. Ñôn giaûn nhaát laø ta caét chuoãi cha vaø meï thaønh 2 phaàn.
2
Khoâng ñaït
Choïn nhöõng neuron toát
Lai taïo, ñoät bieán
Theá heä môùi
Hình 2.17 Giaûi thuaät GA
Cha: Meï: 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0
Con1: Con2: 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0
Hình 2.18 Pheùp lai cuûa GA
Chöông 2 - Maïng neuron nhaân taïo
2.19
Pheùp ñoät bieán ñöôïc thöïc hieän treân töøng con rieâng leû, goàm 2 böôùc: böôùc 1, thay ñoåi giaù trò, böôùc 2 caét chuoåi con thaønh 3 phaàn ngaãu nhieân roài nghòch ñaûo phaàn ôû giöõa. Caùch naøy cho pheùp taïo ra con môùi coù tính chaát hoaøn toaøn khaùc vôùi cha meï chuùng, xem hình 2.19.
Luaän aùn Cao hoïc
1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0
1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 0 Böôùc 1 Con1: Con1’: Böôùc 2 Con1’: Con1new:
Hình 2.19 Pheùp ñoät bieán cuûa GA
2
Coøn raát nhieàu vaán ñeà xung quanh giaûi thuaät di truyeàn, nhöng do söï hieåu bieát coøn nhieàu haïn cheá vaø ñeà taøi khoâng döï ñònh aùp duïng giaûi thuaät naøy, cho neân ngöôøi thöïc hieän chöa theå nghieân cöùu saâu veà noù.
2.6 Moät soá Giaûi thuaät huaán luyeän thoâng duïng
Trong phaàn naøy chuùng ta seõ khaûo saùt giaûi thuaät truyeàn ngöôïc (backpropagation)17 vaø caùc giaûi thuaät caûi tieán cuûa noù. Truyeàn ngöôïc ñöôïc taïo ra theo luaät hoïc Widrow-Hoff toång quaùt aùp duïng cho caùc maïng nhieàu lôùp vôùi caùc haøm truyeàn phi tuyeán. Giaûi thuaät truyeàn ngöôïc caäp nhaät troïng soá theo nguyeân taéc:
(2.9) xk+1 = xk - αkgk
Tron ñoù: xk laø veùctô troïng soá vaø ngöôõng hieän taïi
αk laø toác ñoä hoïc
gk laø gradient hieän taïi
Coù nhieàu phöông phaùp ñeå xaùc ñònh gradient gk, daãn tôùi nhieàu giaûi thuaät
truyeàn ngöôïc caûi tieán.
Tröôùc khi khaûo saùt moät soá giaûi thuaät naøy, ta ñònh nghóa baøi toaùn 1, duøng cuøng 1 maïng neuron truyeàn thaúng nhieàu lôùp (Multi-layer feedforward neural network), aùp duïng caùc giaûi thuaät huaán luyeän töông öùng ñeå ñeå giaûi baøi toaùn, vaø so saùnh söï khaùc bieät giöõa caùc giaûi thuaät18.
Chöông 2 - Maïng neuron nhaân taïo
2.20
17 hoïc coù giaùm saùt 18 söï so saùnh chæ coù yù nghóa töông ñoái treân moät öùng duïng naøo ñoù
Luaän aùn Cao hoïc
BAØI TOAÙN 1
Nhaän daïng moâ hình cuûa heä thoáng ñieàu khieån chaûo anten leäch moät goùc ø baèng moät doøng ñieän taùc ñoäng leân DC motor, hình 2. 20 [9]. Vaán ñeà nhaän daïng moâ hình ñoái töôïng seõ ñöôïc trình baøy ôû chöông sau.
2
Hình 2.20 Moâ hình ñieàu khieån chaûo anten
x
1
=
Phöông trình moâ taû heä phi tuyeán naøy nhö (2.10)
xsin
x2
u
2 −
+
1
2
81.9
2
• x • x
(2.10)
Trong ñoù x1 = ø; x2 = dø/dt; u laø löïc taùc ñoäng cuûa motor [9]. Ta söû duïng maïng neuron truyeàn thaúng 2 lôùp vôùi 3 nuùt vaøo 8 nuùt aån vaø 2
8 tansig neurons
3 input neurons
2 linear output neurons
anglek
anglek+1
velocityk
velocityk+1
forcek
1
1
hidden biases
output biases
nuùt ra, hình 2.21.
Hình 2.21 Maïng neuron cho baøi toaùn 1
Chöông 2 - Maïng neuron nhaân taïo
2.21
Luaän aùn Cao hoïc
Input data for training
10
angle
5
0
-5
velocity
force
-10
Treân hình 2.21, 3 ngoõ vaøo cuûa maïng, töông öùng nhaän 3 tín hieäu: goùc leäch, vaän toác vaø löïc taùc ñoäng ôû thôøi ñieåm (k), ngoõ ra cuûa maïng seõ cho goùc leäch vaø vaän toác ôû thôøi ñieåm (k+1). Döõ lieäu huaán luyeän maïng nhö hình 2.22 (chæ trình baøy 300 maãu, laáy maãu ôû Ts = 0.05)19.
2
200
250
300
400
450
500
350 Desired data for training
1
next angle
0.5
0
-0.5
next velocity
-1 200
250
300
350
400
450
500
Hình 2.22 Döõ lieäu huaán luyeän maïng neuron cho baøi toaùn 1 [9]
22..66..11 GGiiaaûûii tthhuuaaäätt ggrraaddiieenntt ddeesscceenntt
Ñaây laø giaûi thuaät ñôn giaûn vaø phoå bieán nhaát ñeå huaán luyeän moät maïng
nhieàu lôùp. Giaûi thuaät naøy coù theå toùm taét nhö sau:
1. Khôûi taïo taát caû caùc troïng soá keát noái cuûa caùc neuron trong maïng
(thöôøng thì khôûi taïo ngaãu nhieân, giaù trò nhoû)
2. AÙp duïng veùctô döõ lieäu vaøo cho maïng
3. Tính toaùn ñeå xaùc ñònh ngoõ ra thöïc teá cuûa maïng
4. So saùnh vôùi veùctô döõ lieäu mong muoán (do supervisor cung caáp),
xaùc ñònh loãi
5. Lan truyeàn loãi naøy töø ngoõ ra ngöôïc veà ngoõ vaøo cuûa maïng, ñaây laø
cô sôû ñeå ñieàu chænh troïng soá
6. Ñieàu chænh caùc troïng soá cuûa maïng.
Chöông 2 - Maïng neuron nhaân taïo
2.22
19 Döõ lieäu naøy ñöôïc trích töø taøi lieäu [9] – Neural Network Toolbox 3.0 - User Guide cuûa MatLab 5.3
Luaän aùn Cao hoïc
w
w
g
=
α+
Nguyeân taéc ñieàu chænh troïng soá nhö (2.11)
ji
i
ji
(2.11)
Vôùi gi = δj pi ñöôïc goïi laø gradient.
Trong ñoù: wji laø troïng soá keát noái töø neuron thöù i ñeán neuron thöù j
α laø toác ñoä hoïc, α ∈ [0,1]
δj laø moät heä soá phuï thuoäc tính chaát cuûa neuron j
pi laø ngoõ vaøo cuûa neuron i
Neáu j laø neuron ra (output neuron), thì
2
a
−
(2.12)
( t
=δ j
j
)j
f ∂ net ∂
j
vaø neáu j laø neuron aån (hidden neuron), thì
=δ j
kj
k
∑ δ w
f ∂ net ∂
k
j
(2.13)
laø ñaïo haøm cuûa haøm kích hoaït f.
f ∂ jnet ∂ tj laø ngoõ ra mong muoán cuûa neuron j (desired or target output)
Vôùi:
aj laø ngoõ ra thöïc teá cuûa neuron j
wkj laø troïng soá keát noái töø neuron k tôùi neuron j
k laø neuron ôû lôùp phía tröôùc lôùp cuûa j
(cid:35) Haøm muïc tieâu - loãi bình phöông trung bình (Mean Square Error - MSE)
δk tính gioáng nhö δj, nhöng ñoái vôùi lôùp phía sau20.
Giaû söû ta coù taäp maãu huaán luyeän laø
{p1,t1}, {p2,t2}, …, {pN,tN}
Trong ñoù pi laø ngoõ vaøo cuûa maïng, ti laø ngoõ ra mong muoán töông öùng. Ta kyù hieäu taäp ngoõ vaøo laø p, veùctô ngoõ ra mong muoán laø t. Khi moãi maãu döõ lieäu ñöa vaøo maïng, veùctô ngoõ ra thöïc teá a seõ ñöôïc so saùnh vôùi ngoõ ra mong muoán t ñeå xaùc ñònh loãi:
(2.14) ei = ti – ai
Vôùi N maãu huaán luyeän ñöôïc ñöa vaøo maïng, MSE ñöôïc tính theo (2.15)
Chöông 2 - Maïng neuron nhaân taïo
2.23
20 Lan truyeàn ngöôïc töø network output ñeán input thì δk ñaàu tieân chính laø δj cuûa caùc neuron ôû lôùp ra
Luaän aùn Cao hoïc
N
2
MSE
=
ie
∑
1 N
1i =
(2.15)
(cid:35) AÙp duïng Gradient Descent cho baøi toaùn 1
Ngöôøi ta coøn goïi (2.15) laø haøm muïc tieâu (performance function)
AÙp duïng giaûi thuaät naøy cho baøi toaùn 1, quaù trình huaán luyeän ñöôïc thöïc hieän treân maùy tính coù caáu hình nhö sau: Mainboard ATX Pro, CPU Cyrix MII 300 MHz, 64 MB DRAM.
Performance is 0.106499, Goal is 0
1 10
Sau 200 epochs, ta coù MSE = 0.1065, hình 2.23.
2
elapsed time: 35.43 s
0 10
E S M
-1
10
0
50
100
150
200
Hình 2.23 Loãi cuûa giaûi thuaät Gradient Descent
Keát quaû naøy seõ ñöôïc so saùnh vôùi caùc giaûi thuaät khaùc.
22..66..22 GGiiaaûûii tthhuuaaäätt ggrraaddiieenntt ddeesscceenntt wwiitthh mmoommeennttuumm
Nhaèm caûi tieán toác ñoä hoäi tuï cuûa giaûi thuaät Gradient Descent, ngöôøi ta ñöa
w
w
w
=
∆+
ra luaät ñieàu chænh troïng soá keát noái khaùc nhö (1.16);
ji
ji
ji
p
)1k(w
∆
αδ=
∆µ+
−
(2.16)
)k(w ji
j
i
ji
(2.17)
(cid:35) AÙp duïng Gradient Descent with momentum cho baøi toaùn 1
Vôùi ∆wji(k-1) laø thôøi ñieåm tröôùc ñoù cuûa ∆wji(k), Trong (2.16), µ ñöôïc goïi laø heä soá momentum. Theo nhieàu taùc giaû, ñeå ñaït hieäu quaû huaán luyeän cao thì toång cuûa momentum µ vaø toác ñoä hoïc α phaûi gaàn baèng 1, vaø thoâng thöôøng thì neân choïn α ∈ (0,0.2]; µ ∈ [0.8 1).
Chöông 2 - Maïng neuron nhaân taïo
2.24
Sau 200 epochs, ta ñöôïc MSE=0.0886, hình 2.24.
Luaän aùn Cao hoïc
Performance is 0.0885581, Goal is 0
1 10
elapsed time: 36.80 s
0 10
E S M
-1
10
-2
10
0
20
40
60
80
100
120
140
160
180
200
Hình 2. 24 Loãi cuûa giaûi thuaät Gradient Descent with Momentum
2
Roõ raøng toác ñoä hoäi tuï coù nhanh hôn, nhöng chöa ñaùng keå.
22..66..33 GGiiaaûûii tthhuuaaäätt ggrraaddiieenntt ddeesscceenntt wwiitthh aaddaappttiivvee lleeaarrnniinngg rraattee
Trong hai giaûi thuaät treân (2.6.1 & 2.6.2), toác ñoä hoïc ñöôïc giöõ laø moät haèng soá trong suoát quaù trình huaán luyeän. Hieäu suaát cuûa giaûi thuaät phuï thuoäc raát nhieàu vaøo vieäc choïn haèng soá toác ñoä hoïc. Neáu ta choïn quaù lôùn, quaù trình huaán luyeän seõ hoäi tuï nhanh, nhöng giaûi thuaät coù theå dao ñoäng vaø seõ khoâng oån ñònh. Neáu ta choïn toác ñoä hoïc quaù thaáp, thôøi gian hoäi tuï seõ raát laâu.
Ngöôøi ta ñöa ra moät giaûi thuaät khaùc, nhaèm thay ñoåi (thích nghi) toác ñoä
hoïc trong quaù trình huaán luyeän.
Nguyeân taéc thích nghi toác ñoä hoïc laø, ôû moãi thôøi kyø huaán luyeän (epoch), caùc troïng soá keát noái vaø caùc ngöôõng ñöôïc ñieàu chænh theo toác ñoä hoïc taäp môùi, sau ñoù caùc ngoõ ra môùi vaø loãi môùi ñöôïc tính toaùn.
(thöôøng, max_perf_inc=1.04)
if (new_error - old_error) > max_perf_inc
(giaûm lr, thöôøng thì lr_dec=0.7)
Loaïi troïng soá vaø ngöôõng môùiù Toác ñoä hoïc = toác ñoä hoïc * lr_dec
elseif new_error < old_error
(taêng lr, thöôøng thì lr_inc=1.05)
Giöõ laïi troïng soá vaø ngöôõng môùi Toác ñoä hoïc = toác ñoä hoïc * lr_inc
end
Toùm taét giaûi thuaät
Chöông 2 - Maïng neuron nhaân taïo
2.25
Thuû tuïc naøy cho pheùp taêng toác ñoä hoïc, nhöng phaûi taêng trong moät giôùi haïn naøo ñoù ñeå traùnh tröôøng hôïp maïng baát oån (loãi raát lôùn). Tröôøng hôïp quaù trình hoïc trôû neân baát oån thì phaûi giaûm toác ñoä hoïc.
Luaän aùn Cao hoïc
(cid:35) AÙp duïng Gradient Descent with adaptive lr cho baøi toaùn 1
Performance is 0.039565, Goal is 0
1 10
elapsed time: 36.15 s
0 10
E S M
-1
10
-2
Sau 200 epochs, ta thu ñöôïc MSE=0.0396, hình 2.25.
2
10
0
20
40
60
80
100
120
140
160
180
200
Hình 2.25 Loãi cuûa giaûi thuaät Gradient descent with adaptive lr
Giaûi thuaät naøy coù toác ñoä hoäi tuï nhanh hôn so vôùi 2 giaûi thuaät tröôùc.
22..66..44 GGiiaaûûii tthhuuaaäätt ggrraaddiieenntt ddeesscceenntt wwiitthh mmoommeennttuumm && aaddaappttiivvee lleeaarrnniinngg rraattee
(cid:35) AÙp duïng Gradient Descent with m & adaptive lr cho baøi toaùn 1
Giaûi thuaät naøy hoaøn toaøn gioáng nhö giaûi thuaät thích nghi toác ñoä hoïc (2.6.3), ngoaïi tröø vieäc theâm vaøo heä soá momentum µ. Vieäc boå sung momentum µ cuõng ñöôïc thöïc hieän gioáng nhö giaûi thuaät gradient descent with momentum (2.6.2), töùc aùp duïng nguyeân taéc ñieàu chænh troïng soá keát noái (2.16) & (2.17).
Performance is 0.0338866, Goal is 0 P f i 0 0338866 G l i 0
1 10
elapsed time: 35.65 s
0 10
E S M
-1
10
-2
10
0
20
40
60
80
100
120
140
160
180
200
Sau 200 epochs, MSE = 0.0338, keát quaû treân hình 2.26. Vieäc theâm vaøo momentum ñaõ laøm cho toác ñoä hoäi tuï nhanh hôn, khi taêng soá thôøi kyø huaán luyeän, ñieàu naøy môùi ñöôïc theå hieän roõ raøng hôn.
Hình 2.26 Loãi cuûa giaûi thuaät Gradient descent with mc & adaptive lr
Chöông 2 - Maïng neuron nhaân taïo
2.26
Luaän aùn Cao hoïc
22..66..55 GGiiaaûûii tthhuuaaäätt ttrruuyyeeàànn nnggööôôïïcc RReessiilliieenntt ((RReessiilliieenntt BBaacckkpprrooppaaggaattiioonn))
Ñoái vôùi caùc maïng neuron nhieàu lôùp, duøng haøm truyeàn sigmoid, do ñaëc tröng cuûa haøm naøy laø ‘neùn’ moät ngoõ vaøo voâ haïn thaønh moät ngoõ ra höõu haïn, ñaõ phaùt sinh moät vaán ñeà baát lôïi trong quaù trình huaán luyeän. Ñoù laø caùc gradient coù giaù trò raát nhoû, laøm caùc troïng soá vaø ngöôõng chæ ñöôïc ñieàu chænh 1 khoaûng nhoû, maëc duø caùc giaù trò cuûa troïng soá vaø ngöôõng hieän taïi coøn raát xa giaù trò toái öu.
Ngöôøi ta ñöa ra giaûi thuaät truyeàn ngöôïc Resilient nhaèm loaïi boû nhöõng caùc hieäu öùng baát lôïi veà giaù trò cuûa gradient baèng caùch söû duïng caùc ñaïo haøm rieâng. Vì chæ coù daáu cuûa ñaïo haøm môùi ñöôïc duøng ñeå xaùc ñònh höôùng caäp nhaät troïng soá vaø ngöôõng21, coøn giaù trò cuûa ñaïo haøm khoâng aûnh höôûng ñeán vaán ñeà naøy. Neáu giöõa 2 thôøi kyø huaán luyeän lieân tieáp (successive iteration) maø ñaïo haøm cuûa
2
E ∂ jiw ∂
haøm loãi theo troïng soá ( ), cuøng daáu, thì taêng troïng soá vaø ngöôõng baèng heä
soá ∆inc. Ngöôïc laïi, neáu ñaïo haøm ñoåi daáu giöõa 2 thôøi kyø huaán luyeän lieân tieáp, thì giaûm troïng soá vaø ngöôõng baèng heä soá ∆dec. Neáu ñaïo haøm baèng zero (0), thì giöõ nguyeân troïng soá vaø ngöôõng cuõ.
Giaûi thuaät naøy coù theå toùm taét nhö sau:
(n laø thôøi kyø huaán luyeän hieän taïi)
1. Khôûi taïo giaù trò nhoû cuûa step size ∆wji(0)
wji = wji(n-1) + ∆wji
2. Thay ñoåi step size vaø caäp nhaät troïng soá
E ∂ jiw ∂
E ∂ jiw ∂
(thöôøng thì ∆inc=1.2)
if (n)* (n-1) >0 (2 thôøi kyø lieân tieáp, ñaïo haøm cuøng daáu)
∆wji(n) = ∆wji(n-1)* ∆inc
(2 thôøi kyø lieân tieáp, ñaïo haøm khaùc daáu)
wji(n) = wji(n-1) + ∆wji(n) (taêng troïng soá)
E ∂ jiw ∂
E ∂ jiw ∂
(thöôøng thì ∆dec=0.5)
(n)* (n-1) < 0 elseif
∆wji(n) = ∆wji(n-1)* ∆dec
(ñaïo haøm baèng khoâng)
wji(n) = wji(n-1) + ∆wji(n) (giaûm troïng soá)
(giöõ nguyeân troïng soá cuõ)
else
wji(n) = wji(n-1)
end
Chöông 2 - Maïng neuron nhaân taïo
2.27
21 caäp nhaät theo höôùng taêng hay giaûm troïng soá, phuï luïc B
Luaän aùn Cao hoïc
(cid:35) AÙp duïng giaûi thuaät truyeàn ngöôïc Resilient cho baøi toaùn 1
Performance is 0.00170691, Goal is 0 P f i 0 00170691 G l i 0
1 10
0 10
-1
elapsed time: 36.64 s
10
E S M
-2
10
Sau 200 epochs, MSE = 0.0017, hình 2.27.
2
-3
10
0
20
40
60
80
100
120
140
160
180
200
Hình 2.27 Loãi cuûa giaûi thuaät Resilient Backpropagation
Roõ raøng khi aùp duïng giaûi thuaät naøy, toác ñoä hoäi tuï nhanh ñaùng keå
22..66..66 GGiiaaûûii tthhuuaaäätt BBFFGGSS QQuuaassii--NNeewwttoonn ((BBFFGGSS qquuaassii--NNeewwttoonn aallggoorriitthhmm))
Giaûi thuaät Newton laø moät trong nhöõng giaûi thuaät gradient keát hôïp (conjugate gradient), nhaèm taêng toác ñoä hoäi tuï cuûa quaù trình huaán luyeän. Nguyeân taéc caäp nhaät troïng soá cuûa giaûi thuaät naøy nhö (2.18)
(2.18) wji(n+1)=wji(n)-A-1(n)g(n)
Trong ñoù g(n) laø gradient ôû thôøi kyø huaán luyeän n. A(n) laø ma traän Hessian (ñaïo haøm caáp 2 cuûa haøm loãi theo troïng soá – [∂2E/∂wkj∂wki]) chöùa caùc giaù trò troïng soá vaø ngöôõng hieän taïi.
Giaûi thuaät naøy coù toác ñoä hoäi tuï nhanh, nhöng laïi raát phöùc taïp trong vieäc tính ma traän Hessian cho caùc maïng neuron truyeàn thaúng. Ngöôøi ta ñöa ra moät phöông phaùp xaáp xæ ma traän Hessian trong moãi thôøi kyø huaán luyeän, laø giaûi thuaät BFGS quasi-Newton, aùp duïng caùc thuaät toaùn Broyden, Fletcher, Goldfarb vaø Shanno (BFGS) ñeå caäp nhaät troïng soá keát noái.
Chöông 2 - Maïng neuron nhaân taïo
2.28
Giaûi thuaät naøy ñoøi hoûi quaù trình huaán luyeän phaûi löu tröõ ma traän Hessian xaáp xæ coù kích thöôùc nxn vôùi n laø soá troïng soá vaø ngöôõng cuûa maïng. Vì vaäy khi moät maïng coù kích thöôùc nhoû (n nhoû), noù toû ra raát hieäu quaû, coøn khi maïng coù kích thöôùc raát lôùn thì giaûi thuaät naøy coù theå maát raát nhieàu thôøi gian.
Luaän aùn Cao hoïc
(cid:35) AÙp duïng BFGS quasi-Newton cho baøi toaùn 1
Performance is 5.73909e-005, Goal is 0 P f i 5 73909 005 G l i 0
0 10
elapsed time: 76.18 s
E S M
Sau 200 epochs, MSE = 5,7.10-5, hình 2.28.
2
-5
10
0
20
40
60
80
100
120
140
160
180
200
Hình 2.28 Loãi cuûa giaûi thuaät BFGS quasi-Newton
Maïng aùp duïng cho baøi toaùn naøy coù kích thöôùc nhoû, neân giaûi thuaät BFGS
quasi-Newton cho toác ñoä hoäi tuï raát nhanh.
22..66..77 GGiiaaûûii tthhuuaaäätt LLeevveennbbeerrgg--MMaarrqquuaarrddtt ((LLeevveennbbeerrgg--MMaarrqquuaarrddtt aallggoorriitthhmm))
Giaûi thuaät Levenberg-Marquardt ñöôïc thieát keá ñeå ñaït toác ñoä huaán luyeän baäc 2 maø khoâng caàn tính ma traän Hessian. Ma traän Hessian ñöôïc xaáp xæ nhö bieåu thöùc (2.19)
(2.19) H = JTJ
Vaø gradient ñöôïc xaùc ñònh nhö (2.20)
g = JTe (2.20)
Trong ñoù J laø ma traän Jacobian chöùa caùc ñaïo haøm baäc nhaát cuûa haøm loãi
theo troïng soá vaø ngöôõng(∂e/∂wji), e laø veùctô loãi cuûa maïng.
Giaûi thuaät naøy caäp nhaät troïng soá theo nguyeân taéc sau, (2.21):
(2.21) wji(n+1)=wji(n) – [JTJ + mI]-1 JTe
Chöông 2 - Maïng neuron nhaân taïo
2.29
Khi heä soá m = 0, thì ñaây chính laø giaûi thuaät Newton, duøng ma traän Hessian xaáp xæ. Khi m lôùn, noù trôû thaønh giaûi thuaät gradient descent vôùi step size (∆ji) nhoû. Giaûi thuaät Newton cho toác ñoä hoäi tuï nhanh hôn vaø ñoä chính xaùc cao hôn giaûi thuaät gradient descent, do ñoù giaûi thuaät Levenberg-Marquardt coù khuynh höôùng dòch veà phía giaûi thuaät Newton, nghóa laø heä soá m luoân coù giaù trò
Luaän aùn Cao hoïc
(cid:35) AÙp duïng giaûi thuaät Levenberg-Marquardt cho baøi toaùn 1
nhoû. Trong quaù trình huaán luyeän, noù lieân tuïc giaûm giaù trò m sau moãi thôøi kyø huaán luyeän xong, chæ taêng m khi naøo vieäc giaûm giaù trò m gaây ra loãi lôùn hôn.
Performance is 4.43154e-006, Goal is 0 P f i 4 43154 006 G l i 0
2 10
0 10
elapsed time: 111.06 s
-2
10
E S M
Sau 75 epochs, MSE = 4,4.10-6, hình 2.29.
2
-4
10
-6
10
0
10
20
30
40
50
60
70
Hình 2.29 Loãi cuûa giaûi thuaät Levenberg-Marquardt
Giaûi thuaät naøy cho toác ñoä hoäi tuï nhanh nhaát trong taát caû caùc giaûi thuaät ñaõ khaûo saùt. Chæ caàn 75 thôøi kyø huaán luyeän, loãi bình phöông trung bình cuûa maïng ñaït ñeán giaù trò raát thaáp.
22..66..88 SSoo ssaaùùnnhh ccaaùùcc ggiiaaûûii tthhuuaaäätt
AÙp duïng cho baøi toaùn 1, vaøi giaûi thuaät huaán luyeän tieâu bieåu ñöôïc trình
baøy treân hình 2.30.
Caàn löu yù raèng moïi söï so saùnh ñeàu coù yù nghóa töông ñoái. Thoâng thöôøng ngöôøi ta quan taâm ñeán toác ñoä hoäi tuï, söï oån ñònh cuûa maïng sau khi huaán luyeän, khaû naêng toång quaùt hoùa cuûa maïng ñoái vôùi taát caû caùc maãu ñaõ huaán luyeän, …
Chöông 2 - Maïng neuron nhaân taïo
2.30
Nhìn chung hieäu quaû cuûa giaûi thuaät phuï thuoäc vaøo nhieàu yeáu toá nhö: Ñoä phöùc taïp cuûa baøi toaùn (nhaát laø khi quan heä giöõa caùc maãu döõ lieäu vaøo vaø caùc maãu döõ lieäu ra mong muoán duøng ñeå huaán luyeän coù möùc ñoä phi tuyeán cao), muïc ñích söû duïng maïng (xaáp xæ haøm, nhaän daïng, …), tieâu chuaån veà loãi (error goal), soá löôïng maãu döõ lieäu huaán luyeän, cuõng nhö kích thöôùc maïng. Trong nhieàu tröôøng hôïp moät giaûi thuaät coù theå raát hieäu quaû cho maïng naøy nhöng laïi raát toài teä cho maïng khaùc.
Luaän aùn Cao hoïc
Performance is 0.106499, Goal is 0
1 10
GD with m/lr
GD with m
Standard GD
0 10
-1
10
r o r r
-2
GD with adaptive lr
10
-3
Resilient Backpropagation
10
E e r a u q S n a e M
-4
Levenberg-Marquardt
10
2
-5
BFGS-quasi Newton
10
-6
10
0
20
40
60
120
140
160
180
200
80
100 200 Epochs
Hình 2.30 So saùnh caùc giaûi thuaät huaán luyeän tieâu bieåu
Theo nhieàu taùc giaû, qua nghieân cöùu thöïc teá, ngöôøi ta ñaõ so saùnh ñöôïc thöù töï caùc giaûi thuaät aùp duïng toát cho caùc maïng nhaän daïng ñoái töôïng nhö baûng 2.5 (thöù töï töø toát ñeán xaáu)
Baûng 2.5 So saùnh caùc giaûi thuaät huaán luyeän
1
LM
2
BFG
3
RP
4
SCG
5
CGB
6
CGF
7
CGP
8
OSS
9
GDX
10
GDA
11
GDM
12
GD
trainlm – Levenberg-Marquardt trainbfg – BFGS Quasi-Newton trainrp – Resilient backPropagation trainscg – Scaled Conjugate Gradient traincgb – C.G. with Powell/Beale Restarts traincgf – Fletcher-Powell Conjugate Gradient traincgp – Polak-Ribieùre Conjugate Gradient trainoss – One-Step Secant Traingdx – Gradient Descent with m & adaptive lr Traingda – Gradient Descent with adaptive lr Traingdm – Gradient Descent with momentum Traingd – Standard Gradient Descent
Chöông 2 - Maïng neuron nhaân taïo
2.31
Thöù töï Kyù hieäu Giaûi thuaät
Luaän aùn Cao hoïc
2.7 Qui trình thieát keá maïng Neuron öùng duïng
Baét ñaàu
Xaùc ñònh baøi toaùn
Xaùc ñònh caùc bieán vaøo/ra
Qui trình thieát keá moät maïng neuron öùng duïng nhö hình 2.31 [2].
2
Thu thaäp döõ lieäu
Tieàn xöû lyù döõ lieäu
Choïn moâ hình maïng neuron
Huaán luyeän maïng
Thöû nghieäm maïng
Khoâng
Ñaït ?
Ñaït
Tinh chænh maïng
Khoâng
Ñaït ?
Ñaït
ÖÙng duïng
Keát thuùc
Hình 2.31 Qui trình thieát keá maïng neuron öùng duïng
Chöông 2 - Maïng neuron nhaân taïo
2.32
Luaän aùn Cao hoïc
2.8 Vaøi kyõ thuaät phuï trôï
Ñeå thieát keá vaø öùng duïng maïng neuron moät caùch hieäu quaû, ñoøi hoûi ngöôøi thieát keá phaûi coù moät soá kinh nghieäm nhaát ñònh. Sau ñaây laø vaøi kyõ thuaät phuï trôï nhaèm giaûm bôùt nhöõng khoù khaên vöôùng maéc trong quaù trình thieát keá maïng.
22..88..11 TTiieeàànn xxööûû llyyùù ddööõõ lliieeääuu
2
(cid:35) Phöông phaùp chuaån hoùa döõ lieäu huaán luyeän
Noùi chung khi möùc ñoä phöùc taïp cuûa baøi toaùn taêng leân, caàn phaûi thu thaäp nhieàu maãu döõ lieäu huaán luyeän. Luùc ñoù vaán ñeà huaán luyeän trôû neân khoù khaên hôn, giaûi thuaät huaán luyeän khoù hoaëc raát laâu hoäi tuï, ñaëc bieät khi söï töông quan giöõa caùc maãu döõ lieäu coù ñoä phi tuyeán cao. Coù vaøi kyõ thuaät tieàn xöû lyù döõ lieäu (preprocessing) nhö sau:
Training data before preprocessing
5
input data
0
-5
desired data
0
200
400
600
800
1000
Training data after preprocessing
1
input data
0.5
0
-0.5
desired data
-1
0
200
400
600
800
1000
Tröôùc khi huaán luyeän ta coù theå chuaån hoùa döõ lieäu maãu theo moät tæ leä nhaát ñònh sao cho döõ lieäu vaøo/ra cuûa noù naèm trong moät khoaûng giôùi haïn naøo ñoù, thöôøng thì khoaûng naøy laø [-1 1], xem hình 2.32.
Hình 2.32 Chuaån hoùa döõ lieäu maãu tröôùc khi huaán luyeän
Chöông 2 - Maïng neuron nhaân taïo
2.33
Luaän aùn Cao hoïc
Giaûi thuaät chuaån hoùa raát ñôn giaûn nhö (2.22), goïi p laø veùctô döõ lieäu caàn xöû lyù, maxp vaø minp laø giaù trò cöïc ñaïi vaø cöïc tieåu töông öùng cuûa p, ps laø veùctô döõ lieäu sau khi tieàn xöû lyù, thì:
ps = 2*(p-minp)/(maxp-minp) – 1 (2.22)
Khi ta huaán luyeän maïng vôùi taäp döõ lieäu ñaõ chuaån hoùa, thì caùc troïng soá vaø ngöôõng seõ ñöôïc ñieàu chænh theo taäp döõ lieäu naøy. Vì vaäy khi söû duïng maïng, keát quaû thu ñöôïc phaûi coù thao taùc haäu xöû lyù. Goïi pn laø veùctô ngoõ ra thöïc teá cuûa maïng (ñaõ huaán luyeän xong baèng taäp döõ lieäu chuaån hoùa) khi ta aùp duïng moät veùctô vaøo naøo ñoù, p laø veùctô döõ lieäu thu ñöôïc sau khi haäu xöû lyù, thì:
p = 0.5(pn+1)*(maxp-minp) + minp (2.23)
2
Vôùi minp vaø maxp laø giaù trò cöïc tieåu vaø cöïc ñaïi töông öùng cuûa döõ lieäu
(cid:35) Phöông phaùp trò trung bình vaø ñoä leäch chuaån
trong (2.22).
Training data before preprocessing
5
input data
0
-5
desired data
0
200
400
600
800
1000
Training data after preprocessing
2
input data
1
0
-1
desired data
-2
0
200
400
600
800
1000
Phöông phaùp tieàn xöû lyù thöù hai laø laøm cho taäp döõ lieäu maãu coù trung bình baèng zero (mean = 0) vaø ñoä leäch chuaån baèng 1 (standard deviation =1), nhö hình 2.33.
Hình 2.33 Tieàn xöû lyù döïa vaøo trung bình vaø ñoä leäch chuaån
Chöông 2 - Maïng neuron nhaân taïo
2.34
Luaän aùn Cao hoïc
Giaûi thuaät nhö (2.24), goïi p laø veùctô döõ lieäu vaøo caàn xöû lyù, meanp vaø stdp laø trung bình vaø ñoä leäch chuaån cuûa p (MATLAB 5.3 coù hoå trôï haøm MEAN & STD), ps laø veùctô thu ñöôïc sau xöû lyù, thì:
ps = (p-meanp)/stdp (2.24)
Töông töï nhö phöông phaùp thöù nhaát, caàn phaûi xöû lyù keát quaû ra thöïc teá cuûa
maïng ta môùi thu ñöôïc giaù trò bình thöôøng cuûa döõ lieäu.
p = stdp*pn + meanp (2.25)
22..88..22 KKhhaaûû nnaaêênngg ttooåånngg qquuaaùùtt hhooùùaa ccuuûûaa mmaaïïnngg
2
Moät trong caùc vaán ñeà xuaát hieän trong quaù trình huaán luyeän maïng ñoù laø söï quaù khôùp (overfitting). Khi kieåm tra maïng baèng taäp döõ lieäu huaán luyeän thì keát quaû cho loãi raát thaáp, nhöng khi ta aùp duïng moät taäp döõ lieäu môùi thì loãi laïi raát lôùn. Maïng ñaõ nhôù maãu döõ lieäu huaán luyeän moät caùch chính xaùc, nhöng noù laïi khoâng ñöôïc hoïc ñeå toång quaùt hoùa caùc tình huoáng môùi [3,9,10].
Ñeå caûi thieän vaán ñeà quaù khôùp, ngöôøi ta ñöa ra 2 phöông phaùp ñoù laø, ñònh
(cid:35) Phöông phaùp ñònh nghóa laïi haøm muïc tieâu
nghóa laïi haøm muïc tieâu vaø phöông phaùp ngöøng sôùm.
Thoâng thöôøng haøm muïc tieâu ñöôïc ñònh nghóa nhö (2.15), bieåu dieãn döôùi
N
N
2
2
F
MSE
e
t(
=
=
=
−
daïng moät toång bình phöông trung bình cuûa loãi, töùc laø
i
i
)a i
∑
∑
1 N
1 N
= 1i
= 1i
(2.26)
Ñeå khaéc phuïc vaán ñeà quaù khôùp, ngöôøi ta ñònh nghóa laïi haøm muïc tieâu baèng caùch theâm vaøo moät thaønh phaàn coù toång bình phöông trung bình cuûa troïng soá vaø ngöôõng MSW, nhö (2.27) [3,9].
(2.27) MSEreg = γMSE + (1-γ)MSW
n
2
MSW
=
Trong ñoù γ laø haèng soá tæ leä, vaø
jw
∑
1 n
1j =
(2.28)
vôùi n laø soá troïng soá vaø ngöôõng cuûa maïng.
Chöông 2 - Maïng neuron nhaân taïo
2.35
Vieäc aùp duïng haøm muïc tieâu naøy (2.27), laøm cho caùc troïng soá vaø ngöôõng cuûa maïng coù giaù trò nhoû hôn, vaø do ñoù ñaùp öùng cuûa maïng cuõng nhaün hôn (smoother), giaûm ñöôïc söï quaù khôùp.
Luaän aùn Cao hoïc
(cid:35) Phöông phaùp ngöøng sôùm
Nhöôïc ñieåm lôùn nhaát cuûa phöông phaùp naøy laø raát khoù xaùc ñònh haèng soá tæ leä γ. Neáu γ quaù lôùn thì khoâng caûi thieän ñöôïc vaán ñeà quaù khôùp, coøn neáu γ quaù nhoû, thì maïng laïi khoâng khôùp vôùi maãu huaán luyeän.
2
Phöông phaùp naøy ñoøi hoûi chia döõ lieäu huaán luyeän thaønh 3 taäp: taäp huaán luyeän, taäp giaùm saùt (validation) vaø taäp kieåm tra. Taäp huaán luyeän duøng ñeå ñieàu chænh troïng soá vaø ngöôõng cuûa maïng (huaán luyeän maïng), taäp kieåm tra duøng ñeå thöû nghieäm maïng sau khi ñaõ huaán luyeän xong. Taäp giaùm saùt cuõng coù vai troø nhö taäp kieåm tra, nhöng noù ñöôïc aùp duïng vaøo maïng ngay trong quaù trình huaán luyeän. Phöông phaùp ngöøng sôùm (Early stopping) yeâu caàu phaûi hieån thò loãi cuûa maïng ñoái vôùi taäp giaùm saùt ngay sau moãi thôøi kyø huaán luyeän. Quan saùt loãi naøy, trong quaù trình huaán luyeän noù lieân tuïc giaûm, nhöng ngay thôøi ñieåm loãi naøy baét ñaàu taêng leân thì vaán ñeà quaù khôùp cuõng baét ñaàu xaûy ra, phaûi ngöøng huaán luyeän ngay thôøi ñieåm ñoù.
Cuoái moãi thôøi kyø huaán luyeän cuõng neân hieån thò loãi cuûa maïng ñoái vôùi taäp kieåm tra. Neáu giaù trò nhoû nhaát cuûa loãi cuûa maïng ñoái vôùi taäp kieåm tra khoâng khôùp vôùi thôøi ñieåm ngöøng huaán luyeän maïng, ñöôïc quyeát ñònh do quan saùt loãi ñoái taäp giaùm saùt, ñieàu ñoù coù nghóa laø ta ñaõ phaân chia (thaønh 3 taäp) döõ lieäu maãu khoâng ñuùng. Caàn phaûi chia laïi taäp döõ lieäu maãu, vaø baét ñaàu laïi quaù trình huaán luyeän.
Öu ñieåm cuûa phöông phaùp ngöøng sôùm laø vöøa giaûi quyeát ñöôïc vaán ñeà quaù khôùp vöøa coù cô sôû ñeå keát thuùc quaù trình huaán luyeän giuùp tieát kieäm thôøi gian. Nhöng nhöôïc ñieåm lôùn nhaát cuûa noù laø khoâng bieát phaûi chia taäp maãu nhö theá naøo cho toái öu, phaûi chaêng vaãn duøng phöông phaùp coá höõu laø ‘thöû vaø sai’. Coù vaøi taùc giaû cho raèng cöù huaán luyeän maïng ñaït tôùi hoäi tuï roài sau ñoù quay laïi xaùc ñònh xem thôøi kyø huaán luyeän naøo ñaõ cho loãi thích hôïp lyù nhaát, söû duïng troïng soá vaø ngöôõng cuûa thôøi kyø ñoù.
22..88..33 KKíícchh tthhööôôùùcc ttooááii ööuu ccuuûûaa mmaaïïnngg
Chöông 2 - Maïng neuron nhaân taïo
2.36
Choïn caáu truùc maïng ñuùng goùp phaàn naâng cao hieäu quaû cuûa maïng vaø giaûm thôøi gian huaán luyeän. Neáu ta choïn maïng coù quaù nhieàu nuùt, maïng seõ raát deã bò quaù khôùp, cuõng gioáng nhö caùc moâ hình thoáng keâ, caùc maïng neuron quaù lôùn deã daãn ñeán tình traïng quaù thöøa tham soá, loãi thoáng keâ seõ lôùn. Neáu ta choïn maïng coù kích thöôùc quaù nhoû chuùng seõ khoâng theå nhôù ñöôïc caùc maãu huaán luyeän, khoâng coù khaû naêng bieåu dieãn ñöôïc söï phuï thuoäc cuûa keát quaû mong muoán.
Luaän aùn Cao hoïc
Moät yù töôûng ñôn giaûn ñeå choïn kích thöôùc maïng, nhöng deã thöïc hieän ñoù laø
tìm kieám leo ñoài (hill-climbing) baèng 1 trong 2 caùch [2,14]:
♦ Baét ñaàu töø maïng coù kích thöôùc lôùn, sau ñoù giaûm daàn xuoáng.
♦ Baét ñaàu töø maïng coù kích thöôùc nhoû, roài taêng daàn leân.
Moät kyõ thuaät khaùc coù theå aùp duïng ñeå xaùc ñònh kích thöôùc maïng laø phöông phaùp ‘Toån thöông toái öu’, ñoù laø loaïi boû taát caû caùc keát noái coù troïng soá baèng khoâng (0), thöïc nghieäm cho thaáy raèng baèng phöông phaùp naøy coù theå loaïi boû ñöôïc ¾ caùc keát noái, do ñoù naâng cao ñaùng keå hieäu quaû cuûa maïng [2].
2
Chöông 2 - Maïng neuron nhaân taïo
2.37
Luaän aùn Cao hoïc
2.9 Toùm taét
Maïng neuron nhaân taïo laø moät lónh vöïc khoa hoïc roäng lôùn. Töø thaäp nieân 40 ñeán nay, noù khoâng ngöøng phaùt trieån vaø ñöôïc öùng duïng trong haàu heát caùc lónh vöïc, töø nhöõng lónh vöïc phuïc vuï cuoäc soáng ñôøi thöôøng nhö giaûi trí, y teá, … cho ñeán caùc öùng duïng quan troïng trong cuoäc caùch maïng khoa hoïc kyõ thuaät nhaèm chinh phuïc khoaûng khoâng vuõ truï. Noùi nhö theá cho thaáy khoù coù theå trình baøy heát caùc vaán ñeà veà maïng neuron, thaäm chí coøn nhieàu vaán ñeà ñang vaø caàn tieáp tuïc nghieân cöùu.
2
Maëc duø söï hieåu bieát coøn keùm coûi vaø thôøi gian tieáp caän maïng neuron chöa ñuû laâu, nhöng trong chöông naøy ngöôøi thöïc hieän ñaõ coá gaéng toång keát nhöõng gì goïi laø cô baûn nhaát, töø nhöõng yù töôûng ban ñaàu ñeå xaây döïng moät neuron nhaân taïo cho ñeán nhöõng kyõ thuaät nhaèm taêng cöôøng hieäu quaû cuûa moät maïng neuron nhieàu lôùp.
- Vieäc trình baøy moâ hình neuron sinh hoïc, cho thaáy yù töôûng vaø nguyeân taéc ñeå xaây döïng moät neuron nhaân taïo, cuõng nhö söï so saùnh giöõa chuùng giuùp hieåu roõ hôn veà hoaït ñoäng cuûa neuron nhaân taïo, laáy ñoù laøm cô sôû ñeå phaùt trieån thaønh maïng neuron nhaân taïo (goïi taét laø maïng neuron).
- Chöông naøy cuõng ñaõ trình baøy vieäc phaân loaïi caùc maïng neuron vaø caùc giaûi thuaät huaán luyeän chuùng. Do muïc tieâu öùng duïng cuûa ñeà taøi laø duøng maïng neuron ñeå nhaän daïng moâ hình ñoái töôïng chöa bieát thoâng soá, neân ngöôøi thöïc hieän ñaõ nghieâng veà phía caùc giaûi thuaät hoïc coù giaùm saùt (töùc hoïc coù thaày cho ‘ñaùp soá’ (desired output), ñoù chính laø ngoõ ra cuûa thieát bò, noùi caùch khaùc öùng duïng maïng neuron trong ñeà taøi naøy laø döïa vaøo caùc input/output quaù khöù cuûa ñoái töôïng ñeå nhaän daïng moâ hình cuûa noù). Coøn caùc giaûi thuaät hoïc khoâng giaùm saùt chæ ñöôïc trình baøy döôùi daïng giôùi thieäu cô baûn. Bôûi vì ñoái vôùi caùc giaûi thuaät naøy, maëc duø khoâng ñoøi hoûi ngoõ ra ñuùng, nhöng noù laïi ñoøi hoûi ngoõ vaøo phaûi mang nhieàu thoâng tin chính xaùc veà heä thoáng, trong khi ñoái töôïng seõ nhaän daïng trong ñeà taøi khoâng cho pheùp bieát ñöôïc moät thoâng soá naøo ñeå xaây döïng taäp döõ lieäu huaán luyeän. Vì vaäy khoù coù theå duøng phöông phaùp hoïc khoâng giaùm saùt ñeå aùp duïng cho ñeà taøi. Tuy nhieân, hoïc khoâng giaùm saùt laø moät kyõ thuaät ñaõ haáp daãn ngöôøi thöïc hieän ñeán möùc khoâng theå khoâng nghieân cöùu trong thôøi gian saép tôùi, nhaát laø giaûi thuaät di truyeàn hoïc (genetic algorithm).
- Baèng caùc thöïc nghieäm so saùnh ñaõ giuùp ngöôøi thöïc hieän coù söï choïn löïa giaûi thuaät toát ñeå aùp duïng xuyeân suoát ñeà taøi. Ñoù laø giaûi thuaät Levenberg- Marquardt aùp duïng cho maïng truyeàn thaúng nhieàu lôùp (Multi-layer feedforward neural network). Töø chöông naøy veà sau, ngöôøi thöïc hieän luoân söû duïng maïng naøy vaø giaûi thuaät huaán luyeän Levenberg-Marquardt.
Vôùi nhöõng hieåu bieát cô baûn naøy, chöông sau ta baét ñaàu öùng duïng maïng
Chöông 2 - Maïng neuron nhaân taïo
2.38
neuron ñeå nhaän daïng moâ hình cuûa ñoái töôïng.
Luaän aùn Cao hoïc
Taøi lieäu tham khaûo chöông 2
[1]. Marilyn McCord Nelson & W.T. Illingworth, A Practical Guide to Neural
Nets, Addison-Wesley Publishing Company, 1991.
[2]. Nguyeãn Hoaøng Phöông, Buøi Coâng Cöôøng, Nguyeãn Doaõn Phöôùc, Phan Xuaân Minh & Chu Vaên Hyû, Heä môø vaø ÖÙng duïng, phaàn 4: Maïng Nôron, Heä thoáng Nôron môø vaø öùng duïng (pp. 311-414), Nxb Khoa hoïc Kyõ thuaät, 1998.
[3]. Howard Demuth & Mark Beale, Neural Network ToolBox User’s Guide
Version 4.0, The MathWorks, Inc., 2000.
2
[4]. http://ifcsun1.ifisiol.unam.mx/Brain/neuron.htm
[5]. http://euclid.ii.metu.edu.tr/~ion526/demo/chapter1/index.html
[6]. Leâ Minh Trung, Giaùo trình Maïng Nôron nhaân taïo, Nxb Thoáng keâ, 1999.
[7].Duc Truong Pham & Liu Xing, Neural networks for Identification, Prediction and Control, Springer-Verlag London Limited, 3rd printing 1997.
[8]. Bernd Fritzke, Some Competitive Learning Methods, Systems Biophysics
Institute for Neural Computation, Ruhr-University Bochum, 1997.
[9]. Howard Demuth & Mark Beale, Neural Network ToolBox User’s Guide
Version 3.0, The MathWorks, Inc., 1998.
[10]. Nguyeãn Ñình Thuùc, Trí Tueä Nhaân Taïo – Maïng Nôron Phöông phaùp vaø
ÖÙng duïng, Nxb Giaùo duïc, 2000
[11]. Robert Hecht-Nielsen, NeuroComputing, Addison-Wesley Publishing
Company, 1990.
[12]. James A. Freeman, Simulating Neural Networks with Mathematica,
Addison-Wesley Publishing Company, 1994.
[13]. Helge Ritter, Thomas Martinetz & Klaus Schulten, Neural Computation and Self-Organizing Maps, Addison-Wesley Publishing Company, 1992.
[14]. Elaine Rich & Kevin Knight, Artificial Intelligence, McGraw-Hill, Inc.,
Chöông 2 - Maïng neuron nhaân taïo
2.39
Second edition, 1991.