Mạng neuron nhân tạo

Chương này cũng đã trình bày việc phân loại các mạng neuron và các giải thuật huấn luyện chúng. Do mục tiêu ứng dụng của đề tài là dùng mạng neuron để nhận dạng mô hình đối tượng chưa biết thông số, nên người thực hiện đã nghiêng về phía các giải thuậthọc có giám sát (tức học có thầy cho ‘đáp số’ (desired output), đó chính làngõ ra của thiết bị, nói cách khác ứng dụng mạng neuron trong đề tài này là dựa vào các input/output quá khứ của đối tượng để nhận dạng mô hình của nó). Còn các giải thuật học không giám sát chỉ được trình bày dưới dạng giới thiệu cơ bản. Bởi vì đối với các giải thuật này, mặc dù không đòi hỏi ngõ ra đúng, nhưng nó lại đòi hỏi ngõ vào phải mang nhiều thông tin chính xác về hệ thống, trong khi đối tượng sẽ nhận dạng trong đề tài không cho phép biết được một thông số nào để xây dựng tập dữ liệu huấn luyện. Vì vậy khó có thể dùng phương pháp học không giám sát để áp dụng cho đề tài. Tuy nhiên, học không giám sát là một kỹ thuật đã hấp dẫn người thực hiện đến mức không thể không nghiên cứu trong thời gian sắp tới, nhất là giải thuật di truyền học (genetic algorithm).

pdf39 trang | Chia sẻ: lylyngoc | Lượt xem: 3214 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Mạng neuron nhân tạo, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
H ie äu qu aû hô n nh ie àu gi aûi th ua ät k ha ùc tro ng v ie äc tín h kh í ñ oän g ho ïc Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.6 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]. 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.7 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). 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. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.8 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]. 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 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.9 ♦ 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 ♦ Haøm truyeàn Log Sigmoid – ‘logsig’ ne1 1)n(f −+= (2.2) Hình 2.8 Haøm truyeàn Log Sigmoid ♦ Hyperbolic tangent sigmoid – ‘tansig’ n2 n2 e1 e1)n(f − − + −= (2.3) Hình 2.9 Haøm truyeàn Hyperbolic tangent sigmoid 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.10 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. 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.11 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 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. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.12 ♦ 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 R,S2,S1,S R,22,21,2 R,12,11,1 www www www W L L L = (2.4) Neuron thöù i (trong lôùp tính toaùn) coù: i R 1j j,iii bwpn += ∑ = (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) 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.13 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.14 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. 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 Create a competitive layer. newcf Create a cascade-forward backpropagation network. newelm Create an Elman backpropagation network. newff Create a feed-forward backpropagation network. newfftd Create a feed-forward input-delay backprop network. newgrnn Design a generalized regression neural network. newhop Create a Hopfield recurrent network. newlin Create a linear layer. newlind Design a linear layer. newlvq Create a learning vector quantization network newp Create a perceptron. newpnn Design a probabilistic neural network. newrb Design a radial basis network. newrbe Design an exact radial basis network. newsom Create a self-organizing map. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.15 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á 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ò 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.16 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. 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.17 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 (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. 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]. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.18 N13(1) ={8 12 13 14 18} N13(2) = {3 7 8 9 11 12 13 14 15 18 18 19 23} 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.19 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. Hình 2.17 Giaûi thuaät GA 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. Baét ñaàu Khôûi taïo theá heä hieän taïi Choïn nhöõng neuron toát Lai taïo, ñoät bieán Theá heä môùi Ñaùnh giaù Khoâng ñaït Ñaït Keát thuùc Cha: 1 0 0 0 1 0 0 1 1 1 1 0 Meï: 0 0 1 0 1 1 0 0 0 1 1 0 Con1: 1 0 0 0 1 1 0 0 0 1 1 0 Con2: 0 0 1 0 1 0 0 1 1 1 1 0 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.20 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 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ù Böôùc 1 Con1: 1 0 0 0 1 1 0 0 0 1 1 0 Con1’: 1 0 0 0 0 1 0 0 0 1 1 0 Böôùc 2 Con1’: 1 0 0 0 0 1 0 0 0 1 1 0 Con1new: 1 0 1 0 0 0 0 0 0 1 1 0 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.21 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. Hình 2.20 Moâ hình ñieàu khieån chaûo anten Phöông trình moâ taû heä phi tuyeán naøy nhö (2.10)    +−=    • • ux2xsin81.9 x x x 21 2 2 1 (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 nuùt ra, hình 2.21. Hình 2.21 Maïng neuron cho baøi toaùn 1 1 1 2 linear output neurons 8 tansig neurons 3 input neurons hidden biases output biases anglek velocityk forcek anglek+1 velocityk+1 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.22 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. 200 250 300 350 400 450 500 -10 -5 0 5 10 Input data for training 200 250 300 350 400 450 500 -1 -0.5 0 0.5 1 Desired data for training angle force next velocity velocity next angle Hình 2.22 Döõ lieäu huaán luyeän maïng neuron cho baøi toaùn 1 [9] 2.6.1 Giaûûi thuaäät gradient descent Ñ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. 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.23 Nguyeân taéc ñieàu chænh troïng soá nhö (2.11) ijiji gww α+= (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ì ( )jj j j atnet f −    ∂ ∂=δ (2.12) vaø neáu j laø neuron aån (hidden neuron), thì ∑ δ    ∂ ∂=δ k kkj j j wnet f (2.13) Vôùi: jnet f ∂ ∂ laø ñaïo haøm cuûa haøm kích hoaït f. tj laø ngoõ ra mong muoán cuûa neuron j (desired or target output) 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 δk tính gioáng nhö δj, nhöng ñoái vôùi lôùp phía sau20. # Haøm muïc tieâu - loãi bình phöông trung bình (Mean Square Error - MSE) 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: ei = ti – ai (2.14) Vôùi N maãu huaán luyeän ñöôïc ñöa vaøo maïng, MSE ñöôïc tính theo (2.15) 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 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.24 ∑ = = N 1i 2 ieN 1MSE (2.15) Ngöôøi ta coøn goïi (2.15) laø haøm muïc tieâu (performance function) # AÙp duïng Gradient Descent cho baøi toaùn 1 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. Sau 200 epochs, ta coù MSE = 0.1065, hình 2.23. 0 50 100 150 200 10-1 100 101 Performance is 0.106499, Goal is 0 M S E elapsed time: 35.43 s 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. 2.6.2 Giaûûi thuaäät gradient descent with momentum Nhaèm caûi tieán toác ñoä hoäi tuï cuûa giaûi thuaät Gradient Descent, ngöôøi ta ñöa ra luaät ñieàu chænh troïng soá keát noái khaùc nhö (1.16); jijiji www ∆+= (2.16) )1k(wp)k(w jiijji −∆µ+αδ=∆ (2.17) 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). # AÙp duïng Gradient Descent with momentum cho baøi toaùn 1 Sau 200 epochs, ta ñöôïc MSE=0.0886, hình 2.24. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.25 0 20 40 60 80 100 120 140 160 180 200 10-2 10-1 100 101 Performance is 0.0885581, Goal is 0 M S E elapsed time: 36.80 s Hình 2. 24 Loãi cuûa giaûi thuaät Gradient Descent with Momentum Roõ raøng toác ñoä hoäi tuï coù nhanh hôn, nhöng chöa ñaùng keå. 2.6.3 Giaûûi thuaäät gradient descent with adaptive learning rate 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. Toùm taét giaûi thuaät if (new_error - old_error) > max_perf_inc (thöôøng, max_perf_inc=1.04) Loaïi troïng soá vaø ngöôõng môùiù Toác ñoä hoïc = toác ñoä hoïc * lr_dec (giaûm lr, thöôøng thì lr_dec=0.7) elseif new_error < old_error Giöõ laïi troïng soá vaø ngöôõng môùi Toác ñoä hoïc = toác ñoä hoïc * lr_inc (taêng lr, thöôøng thì lr_inc=1.05) end 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. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.26 # AÙp duïng Gradient Descent with adaptive lr cho baøi toaùn 1 Sau 200 epochs, ta thu ñöôïc MSE=0.0396, hình 2.25. 0 20 40 60 80 100 120 140 160 180 200 10-2 10-1 100 101 Performance is 0.039565, Goal is 0 M S E elapsed time: 36.15 s 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. 2.6.4 Giaûûi thuaäät gradient descent with momentum & adaptive learning rate 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). # AÙp duïng Gradient Descent with m & adaptive lr cho baøi toaùn 1 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. 0 20 40 60 80 100 120 140 160 180 200 10-2 10-1 100 101 P f i 0 0338866 G l i 0er ormance s . , oa s M S E elapsed time: 35.65 s Hình 2.26 Loãi cuûa giaûi thuaät Gradient descent with mc & adaptive lr 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.27 2.6.5 Giaûûi thuaäät truyeààn ngöôïïc Resilient (Resilient Backpropagation) Ñ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 haøm loãi theo troïng soá ( jiw E ∂ ∂ ), 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: 1. Khôûi taïo giaù trò nhoû cuûa step size ∆wji(0) wji = wji(n-1) + ∆wji (n laø thôøi kyø huaán luyeän hieän taïi) 2. Thay ñoåi step size vaø caäp nhaät troïng soá if jiw E ∂ ∂ (n)* jiw E ∂ ∂ (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 (thöôøng thì ∆inc=1.2) wji(n) = wji(n-1) + ∆wji(n) (taêng troïng soá) elseif jiw E ∂ ∂ (n)* jiw E ∂ ∂ (n-1) < 0 (2 thôøi kyø lieân tieáp, ñaïo haøm khaùc daáu) ∆wji(n) = ∆wji(n-1)* ∆dec (thöôøng thì ∆dec=0.5) wji(n) = wji(n-1) + ∆wji(n) (giaûm troïng soá) else (ñaïo haøm baèng khoâng) wji(n) = wji(n-1) (giöõ nguyeân troïng soá cuõ) end 21 caäp nhaät theo höôùng taêng hay giaûm troïng soá, phuï luïc B 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.28 # AÙp duïng giaûi thuaät truyeàn ngöôïc Resilient cho baøi toaùn 1 Sau 200 epochs, MSE = 0.0017, hình 2.27. 0 20 40 60 80 100 120 140 160 180 200 10-3 10-2 10-1 100 101 P f i 0 00170691 G l i 0er ormance s . , oa s M S E elapsed time: 36.64 s 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å 2.6.6 Giaûûi thuaäät BFGS Quasi-Newton (BFGS quasi-Newton algorithm) 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) wji(n+1)=wji(n)-A-1(n)g(n) (2.18) 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. 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. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.29 # AÙp duïng BFGS quasi-Newton cho baøi toaùn 1 Sau 200 epochs, MSE = 5,7.10-5, hình 2.28. 0 20 40 60 80 100 120 140 160 180 200 10-5 100 P f i 5 73909 005 G l i 0er ormance s . e- , oa s M S E elapsed time: 76.18 s 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. 2.6.7 Giaûûi thuaäät Levenberg-Marquardt (Levenberg-Marquardt algorithm) 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) H = JTJ (2.19) 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): wji(n+1)=wji(n) – [JTJ + mI]-1 JTe (2.21) 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ò 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.30 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. # AÙp duïng giaûi thuaät Levenberg-Marquardt cho baøi toaùn 1 Sau 75 epochs, MSE = 4,4.10-6, hình 2.29. 0 10 20 30 40 50 60 70 10-6 10-4 10-2 100 102 P f i 4 43154 006 G l i 0er ormance s . e- , oa s M S E elapsed time: 111.06 s 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. 2.6.8 So saùùnh caùùc giaûûi thuaäät 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, … 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. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.31 0 20 40 60 80 100 120 140 160 180 200 10-6 10-5 10-4 10-3 10-2 10-1 100 101 Performance is 0.106499, Goal is 0 200 Epochs M ea n S qu ar e E rro r Levenberg-Marquardt Resilient Backpropagation BFGS-quasi Newton Standard GD GD with m GD with adaptive lr GD with m/lr 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 Thöù töï Kyù hieäu Giaûi thuaät 1 LM trainlm – Levenberg-Marquardt 2 BFG trainbfg – BFGS Quasi-Newton 3 RP trainrp – Resilient backPropagation 4 SCG trainscg – Scaled Conjugate Gradient 5 CGB traincgb – C.G. with Powell/Beale Restarts 6 CGF traincgf – Fletcher-Powell Conjugate Gradient 7 CGP traincgp – Polak-Ribieùre Conjugate Gradient 8 OSS trainoss – One-Step Secant 9 GDX Traingdx – Gradient Descent with m & adaptive lr 10 GDA Traingda – Gradient Descent with adaptive lr 11 GDM Traingdm – Gradient Descent with momentum 12 GD Traingd – Standard Gradient Descent 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.32 2.7 Qui trình thieát keá maïng Neuron öùng duïng Qui trình thieát keá moät maïng neuron öùng duïng nhö hình 2.31 [2]. Hình 2.31 Qui trình thieát keá maïng neuron öùng duïng Xaùc ñònh baøi toaùn Xaùc ñònh caùc bieán vaøo/ra 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 Ñaït ? Tinh chænh maïng Ñaït ? ÖÙng duïng Keát thuùc Baét ñaàu Ñaït Khoâng Ñaït Khoâng 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.33 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. 2.8.1 Tieààn xöûû lyùù döõõ lieääu 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: # Phöông phaùp chuaån hoùa döõ lieäu huaán luyeän 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. 0 200 400 600 800 1000 -5 0 5 Training data before preprocessing 0 200 400 600 800 1000 -1 -0.5 0 0.5 1 Training data after preprocessing input data desired data input data desired data Hình 2.32 Chuaån hoùa döõ lieäu maãu tröôùc khi huaán luyeän 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.34 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) 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 trong (2.22). # Phöông phaùp trò trung bình vaø ñoä leäch chuaån 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. 0 200 400 600 800 1000 -5 0 5 Training data before preprocessing 0 200 400 600 800 1000 -2 -1 0 1 2 Training data after preprocessing input data desired data input data desired data Hình 2.33 Tieàn xöû lyù döïa vaøo trung bình vaø ñoä leäch chuaån 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.35 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) 2.8.2 Khaûû naêêng toåång quaùùt hoùùa cuûûa maïïng 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 nghóa laïi haøm muïc tieâu vaø phöông phaùp ngöøng sôùm. # Phöông phaùp ñònh nghóa laïi haøm muïc tieâu Thoâng thöôøng haøm muïc tieâu ñöôïc ñònh nghóa nhö (2.15), bieåu dieãn döôùi daïng moät toång bình phöông trung bình cuûa loãi, töùc laø ∑∑ == −=== N 1i 2 ii N 1i 2 i )at(N 1e N 1MSEF (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]. MSEreg = γMSE + (1-γ)MSW (2.27) Trong ñoù γ laø haèng soá tæ leä, vaø ∑ = = n 1j 2 jwn 1MSW (2.28) vôùi n laø soá troïng soá vaø ngöôõng cuûa maïng. 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. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.36 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. # Phöông phaùp ngöøng sôùm 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ù. 2.8.3 Kích thöôùùc toáái öu cuûûa maïïng 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. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.37 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 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.38 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. 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 neuron ñeå nhaän daïng moâ hình cuûa ñoái töôïng. 2 Luaän aùn Cao hoïc Chöông 2 - Maïng neuron nhaân taïo 2.39 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. [4]. [5]. [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., Second edition, 1991. 2

Các file đính kèm theo tài liệu này:

  • pdfnnets_chapterfromngon_smengthesis_1174.pdf
Luận văn liên quan