Luaän aùn Cao hoïc
2
Maïng neuron Nhaân taïo
Noäi Dung
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.
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.
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.
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.
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.
Chöông 2 - Maïng neuron nhaân taïo
2.2
2
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.
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:
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, …
Chöông 2 - Maïng neuron nhaân taïo
2.3
2
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:
Ñò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, …
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].
Chöông 2 - Maïng neuron nhaân taïo
2.4
2
1977
1969-82
Stephen Grossberg
Paul Werbos, David
Parker, D. Rummelhart
Bart Kosko
Jeffrey Hinton, Terry
Sejnowsky, Harold Szu
James Anderson
David Marr, James Albus,
Andres Pellionez
Robert Hecht-Nielsen
John Hopfield
Bernard Widrow
Kunihiko Fukushima
Frank Rosenblatt
Teuvo Kohonen
Avalanche
Backpropagation
BAM
Boltzmann &
Cauchy
Brain State in a
Box
Cerebellatron
Counterpropagation
Hopfield
MADALINE
Neocognitron
Perceptron
SOM
Chöông 2 - Maïng neuron nhaân taïo
1978-86
Gail Carpenter
Stephen Grossberg
ART
1980
1957
1978-84
1960-62
1982
1986
1985-86
1985
1974-85
1967
Naêm
Taùc giaû
Maïng
Baûn ñoà ñòa lyù, khoâng quaân
Nhaän daïng chöõ ñaùnh maùy
Hieäu quaû hôn nhieàu giaûi thuaät khaùc
trong vieäc tính khí ñoäng hoïc
Maïng coå ñieån nhaát, vaãn coøn ñöôïc söû
duïng
Khoâng nhaän caùc kyù töï phöùc taïp, nhaïy
caûm vôùi kích thöôùc vaø nhieãu
Huaán luyeän laâu
Phöùc taïp, nhaïy caûm vôùi kích thöôùc vaø
vò trí cuûa caùc kí töï
Ñoøi hoûi nhieàu nuùt aån vaø keát noái
2.5
Caàn quan heä vaøo ra tuyeán tính
Trieät nhieãu cho radar, modems, loïc
ñöôøng daây ñieän thoaïi
Nhaän daïng chöõ vieát tay
Hoaït ñoäng ñöôïc treân moät thang döõ lieäu
roäng
Khoâng huaán luyeän, caùc troïng soá phaûi
ñöôïc ñaët tröôùc
Phuïc hoài döõ lieäu
Thöông maïi treân 20 naêm, luaät hoïc
maïnh
Töông töï Back-propagation
Gioáng Avalanche, coù theå keát hôïp
nhieàu leänh
Töông töï BAM
Quyeát ñònh moät laàn, khoâng cho pheùp
laëp laïi
Tín hieäu ñieàu khieån phöùc taïp
Ñôn giaûn, deã vöôït qua caùc cöïc tieåu cuïc
boä
Deã huaán luyeän nhaát
Huaán luyeän laâu, nhieãu
Dung löôïng thaáp, döõ lieäu phaûi maõ hoùa
Phoå bieán, hoaït ñoäng toát, deã huaán luyeän
Duøng toå hôïp caùc maïng, khoâng duøng
maïng ñôn
Chöa ñöôïc aùp duïng nhieàu
Ghi chuù
Caàn nhieàu nuùt aån vaø keát noái môùi ñaït
ñoä chính xaùc cao
Neùn aûnh, coâng nôï
Ñieàu khieån motor cuûa robotic ams
Trích döõ lieäu töø caùc cô sôû döõ lieäu
Nhaän daïng hình aûnh, radar, taøu
ngaàm
Boä nhôù keát hôïp ñònh ñòa chæ ñöôïc
Chæ hoïc coù giaùm saùt, caàn raát nhieàu
maãu döõ lieäu huaán luyeän
Khoâng nhaän ñöôïc toác ñoä aâm thanh
khaùc nhau
Nhaän daïng aâm thanh töông töï, tay
maùy
Toång hôïp aâm thanh töø vaên baûn, tay
maùy, coâng nôï
Nhaïy caûm vôùi: thang ño tín hieäu,
nhieãu, quaù ñoä
Haïn cheá
Nhaän daïng (radar, taøu ngaàm, aâm
thanh)
ÖÙng duïng
Baûng 2.1 Moät soá maïng neuron tieâu bieåu
Luaän aùn Cao hoï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
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.
Chöông 2 - Maïng neuron nhaân taïo
2.7
Luaän aùn Cao hoïc
2.3 Moâ hình Neuron nhaân taïo
2.3.1 Moâ hình neuron 1 ngoõ vaøo
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.
11
12
keå töø ñaây veà sau, ñeå ñôn giaûn ta chæ goïi laø neuron
töông ñöông vôùi ñieän theá ngöôõng cuûa neuron sinh hoïc
Chöông 2 - Maïng neuron nhaân taïo
2.8
Luaän aùn Cao hoïc
♦ Haøm truyeàn tuyeán tính – ‘purelin’:
f(n) = n
(2.1)
2
Hình 2.7 Haøm truyeàn tuyeán tính
♦ Haøm truyeàn Log Sigmoid – ‘logsig’
f (n ) =
1
1 + e −n
(2.2)
Hình 2.8 Haøm truyeàn Log Sigmoid
♦ Hyperbolic tangent sigmoid – ‘tansig’
1 − e −2 n
f (n ) =
1 + e −2 n
(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
TRANSFER FUNCTIONS
compet
Competitive transfer function.
hardlim
Hard limit transfer function.
hardlims
Symmetric hard limit transfer function
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.
2
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
2.3.2 Moâ hình neuron nhieàu ngoõ vaøo
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].
2.4.1 Phaân loaïi maïng neuron
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ø
döïa vaøo soá lôùp neuron trong maïng.
Chöông 2 - Maïng neuron nhaân taïo
2.11
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:
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.
2.4.2 Maïng neuron 1 lôùp
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 1,1
w 1, 2
L w 1,R
L w 2,R
w 2,1
w 2, 2
w S,1
w S, 2 L w S, R
(2.4)
Neuron thöù i (trong lôùp tính toaùn) coù:
R
n i = ∑ p i w i, j + b i
(2.5)
j=1
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)
13
14
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
neuron vaøo coøn goïi laø nuùt vaøo, neuron ra coøn goïi laø nuùt ra
Chöông 2 - Maïng neuron nhaân taïo
2.12
2
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
2.4.3 Maïng neuron nhieàu lôùp
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
Chöông 2 - Maïng neuron nhaân taïo
2.13
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
New Neural Networks
newc
newcf
newelm
newff
newfftd
newgrnn
newhop
newlin
newlind
newlvq
newp
newpnn
newrb
newrbe
newsom
Create a competitive layer.
Create a cascade-forward backpropagation network.
Create an Elman backpropagation network.
Create a feed-forward backpropagation network.
Create a feed-forward input-delay backprop network.
Design a generalized regression neural network.
Create a Hopfield recurrent network.
Create a linear layer.
Design a linear layer.
Create a learning vector quantization network
Create a perceptron.
Design a probabilistic neural network.
Design a radial basis network.
Design an exact radial basis network.
Create a self-organizing map.
Chöông 2 - Maïng neuron nhaân taïo
2.14
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).
2.5.1 Hoïc coù giaùm saùt
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.
2.5.2 Hoïc khoâng giaùm saùt
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).
# Giaûi thuaät hoïc caïnh tranh
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á
IW , ñ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ò
1,1
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
Chöông 2 - Maïng neuron nhaân taïo
2.15
2
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
16
epoch, coù nhieàu taùc giaû goïi laø thôøi kyø huaán luyeän
Chöông 2 - Maïng neuron nhaân taïo
2.16
Luaän aùn Cao hoï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.
# Caáu hình töï toå chöùc
Maïng neuron aùp duïng giaûi thuaät naøy goïi laø maïng töï toå chöùc SOFM (Selforganizing 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)
(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].
Chöông 2 - Maïng neuron nhaân taïo
2.17
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.
2.5.3 Hoïc taêng cöôøng
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].
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
Chöông 2 - Maïng neuron nhaân taïo
2.18
Luaän aùn Cao hoï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.
Baét ñaàu
Khôûi taïo theá heä hieän taïi
Ñaùnh giaù
Ñaït
2
Keát thuùc
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ï:
100 010011110
001 011000110
Con1:
Con2:
100 011000110
001 010011110
Hình 2.18 Pheùp lai cuûa GA
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.
Chöông 2 - Maïng neuron nhaân taïo
2.19
Luaän aùn Cao hoïc
Böôùc 1
Con1:
Con1’:
Böôùc 2
Con1’:
Con1new:
1000 1 1000110
1000 0 1000110
10 0001 000110
10 1000 000110
Hình 2.19 Pheùp ñoät bieán cuûa GA
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:
xk+1 = xk - αkgk
(2.9)
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.
17
18
hoïc coù giaùm saùt
söï so saùnh chæ coù yù nghóa töông ñoái treân moät öùng duïng naøo ñoù
Chöông 2 - Maïng neuron nhaân taïo
2.20
2
- Xem thêm -