logo

Giáo trình mạng _Chương 1

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