11.07.2015 Views

141 Metody uczenia sieci

141 Metody uczenia sieci

141 Metody uczenia sieci

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

KNWS’09 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ <strong>141</strong>Radosław MATUSIKUNIWERSYTET ŁÓDZKI, KATEDRA ANALIZY MATEMATYCZNEJ I TEORII STEROWANIA<strong>Metody</strong> <strong>uczenia</strong> <strong>sieci</strong> neuronowej Hopfieldamgr Radosław MATUSIKAbsolwent Uniwersytetu Łódzkiego. Od 2006 rokubierze udział w projekcie programistycznym namacierzystej uczelni. W pracy naukowej zajmuje siębadaniem stabilności <strong>sieci</strong> neuronowych oraz konstrukcjąfunkcji typu Lapunowa.e-mail: radmat@math.uni.lodz.plStreszczenieW artykule przedstawione zostały od strony teoretycznej i porównane odstrony praktycznej róŜne metody <strong>uczenia</strong> <strong>sieci</strong> neuronowej Hopfielda.Oprócz znanej i powszechnie stosowanej reguły Hebba, przedstawionezostały modyfikacje tej metody. W celu porównania reguł <strong>uczenia</strong> <strong>sieci</strong>Hopfielda napisana została specjalna aplikacja, w której zaimplementowanezostały przedstawione w artykule metody. Regułą najlepiej rozpoznającązapamiętane wzorce okazała się metoda pseudoinwersji.Słowa kluczowe: <strong>sieci</strong> neuronowe, Hopfield, reguły <strong>uczenia</strong>Learning methods of Hopfield neural networkAbstractHopfield neural network may have many applications, such as approximation,compression, association, steering or patterns recognition. Whenneural network is used to association, its role is association memory. Thistask consists on original patterns recognition even when on Hopfield neuralnetwork entrance distorted patterns were provided. In this paper variouslearning methods of Hopfield neural network were presented from theoreticalpoint of view as well as compared from practical point of view.Besides well known and generally used Hebb rule there were presented itsmodifications. To compare the learning methods of Hopfield neural networkthe application implementing the described in the paper methods waswritten. In the second chapter Hopfield neural network model, Hopfieldneural network definition and general schema of neural network werepresented. Also activation function was described, which was used to testHopfield neural network. In the third chapter various Hopfield networklearning rules were presented, such as an original Hebb method, its modifications,the Oja rule and pseudoinversion rule. In the fourth chapter thetesting process and its results are presented. The main task of this neuralnetwork is patterns recognition. Hopfield neural network stored 10 patterns.Every of stored patterns has 35 neurons. Then on the neural networkentrance distorted patterns were provided. The tests proved that the pseudoinversionrule recognizes the patterns in the best way.W niniejszym artykule zaprezentowane zostały od strony teoretyczneji porównane od strony praktycznej róŜne metody <strong>uczenia</strong><strong>sieci</strong> neuronowej Hopfielda. Uczenie <strong>sieci</strong> moŜe przebiegać znauczycielem (gdzie oprócz sygnałów wejściowych znane są równieŜpoŜądane sygnały wyjściowe) lub bez nauczyciela (gdzie naetapie adaptacji neuronu nie jesteśmy w stanie przewidzieć sygnałuwyjściowego). W artykule przedstawione zostały wybrane strategietrenowania <strong>sieci</strong> neuronowej Hopfielda bez nauczyciela.Wszystkie zaprezentowane w artykule metody <strong>uczenia</strong> <strong>sieci</strong>neuronowej są bezgradientowe. Związane jest to z zastosowaniemnieciągłej funkcji aktywacji, gdyŜ w tym przypadku nie moŜemywykorzystać informacji o wartości pochodnej. Znamy jedynieaktualną wartość sygnału wyjściowego neuronu.2. Sieć neuronowa HopfieldaSieć Hopfielda jest przykładem <strong>sieci</strong> rekurencyjnej. Taka architektura<strong>sieci</strong> charakteryzuje się sprzęŜeniem zwrotnym międzywarstwami <strong>sieci</strong>. ZaleŜności dynamiczne występują na kaŜdymetapie działania, a zmiana stanu jednego neuronu przenosi się nacałą sieć.Sieć neuronowa Hopfielda składa się z n neuronów, przy czymw danej chwili czasu t aktywny jest tylko jeden. KaŜdy neuronwybierany jest z jednakowym prawdopodobieństwem, a zmianystanu neuronu następują w dyskretnych chwilach czasu. Zatemstan i-tego neuronu moŜe być opisany następująco:ny ( t + 1) = f ( ∑(w y ( t)+ b )),(1)ii=0przy warunku początkowym y j (0)=x j ,przy czym: x j oznacza wektorwejściowy, y i (t+1) oznacza stan i-tego neuronu w chwili t+1,w ij oznacza macierz wag, b i oznacza bias, f oznacza funkcję aktywacji.ijjiKeywords: neural networks, Hopfield, learning methods1. WstępW ciągu ostatnich dekad obserwuje się gwałtowny rozwój badańnad sztucznymi <strong>sieci</strong>ami neuronowymi, których zadaniem jestjak najwierniejsze odwzorowanie zachowań zachodzących w mózguczłowieka. Sieci neuronowe mogą spełniać określone funkcje,które moŜna podzielić na kilka grup: rozpoznawania i klasyfikacjiwzorców, aproksymacji, kompresji, asocjacji, predykacji, czy teŜidentyfikacji i sterowania. W niniejszym artykule sieć neuronowaHopfielda wykorzystana została do zadań asocjacji. W tym przypadkusieć neuronowa pełni rolę pamięci skojarzeniowej. Zadanietakiej <strong>sieci</strong> polega na odtworzeniu oryginalnego wzorca mimo, Ŝena wejściu podany został wzorzec zaszumiony (zniekształcony).Takie zachowanie <strong>sieci</strong> związane jest z jedną z ich najwaŜniejszychcech, czyli zdolnością do <strong>uczenia</strong> się i generalizowanianabytej wiedzy. Celowym jest przyjrzenie się róŜnym metodom<strong>uczenia</strong> <strong>sieci</strong> neuronowej, gdyŜ strategie te mają wpływ na jakośćrozpoznawanych wzorców.Rys. 1. Schemat ogólny <strong>sieci</strong> neuronowej HopfieldaFig. 1. General schema of Hopfield neural networkJako funkcję aktywacji przyjmiemy funkcję signum zdefiniowanąnastępująco:


KNWS’09 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ 143Zadanie, jakie zostało postawione przed <strong>sieci</strong>ą Hopfielda, polegałona zapamiętaniu 10 cyfr (0, 1, 2, 3, 4, 5, 6, 7, 8 oraz 9), anastępnie, po dostarczeniu do <strong>sieci</strong> zaburzonych wzorców, próbaodtworzenia wzorców zapamiętanych. Cyfry zapamiętane zostaływ układzie pikselowym, o wymiarze 5×7. Liczba neuronów wynosizatem 35. Czarnemu pikselowi odpowiada 1 (czyli gdy neuronjest w stanie wzbudzonym), natomiast białemu 0 (gdy neuronjest nieaktywny).`Rys. 2. Zapamiętane wzorceFig. 2. Stored patternsW celu przetestowania opisanych metod <strong>uczenia</strong> <strong>sieci</strong> neuronowejHopfielda dobrane zostały wzorce testujące o róŜnym stopniuzaszumienia.Rys. 3. Zaszumione wzorce uŜyte w testowaniu <strong>sieci</strong> HopfieldaFig. 3. Distorted patterns used to test Hopfield neural networkTab. 1. Porównanie działania metod <strong>uczenia</strong> <strong>sieci</strong> Hopfielda.Wzorce ponumerowane kolejno zgodnie z rys. 3Tab. 1. Comparison learning methods of Hopfield neural network.Patterns are numberd according to fig. 3Zaburzonywzorzec podanyna wejście<strong>sieci</strong>HebbaNumer rozpoznanego wzorca metodą:modyfikacjamiHebbaOjipseudoinwersji1 × × × 12 × × × 23 × × × 34 4 4 4 45 × × × ×6 6 6 6 67 6 6 6 68 × × × ×9 × × × 910 10 10 10 1011 × × × 312 10 10 10 913 4 4 4 ×14 10 10 10 1015 10 10 10 1016 × × × ×17 6 6 6 618 × × × ×19 × × × ×20 × × × ×Znak × w tabeli oznacza, Ŝe Ŝaden z zapamiętanych wzorcównie został poprawnie rozpoznany, co oznacza, Ŝe dana metodautknęła w jednym z minimów lokalnych.5. WnioskiNa podstawie przeprowadzonych testów widać, Ŝe oryginalnametoda Hebba oraz jej modyfikacje (opisane w rozdziale 3 wpunkcie b) dają te same wyniki, tj. umoŜliwiają rozpoznanie tychsamych wzorców po zaprezentowaniu takich samych danych zaburzonych.Spowodowane jest to niewielkimi modyfikacjamidanych reguł, które tylko nieznacznie róŜnią się odpowiedniowzmacnianiem, bądź teŜ osłabianiem sygnałów pochodzących zdanej synapsy. Podobnie zachowuje się metoda Oji, która bazujena oryginalnej metodzie Hebba. <strong>Metody</strong> te pozwoliły na rozpoznaniejedynie 9 na 20 dostarczonych do <strong>sieci</strong> zaburzonych danychwejściowych. Skuteczniejszą okazała się metoda pseudoinwersji,która umoŜliwiła rozpoznanie 13 z 20 zaprezentowanychzaburzonych wzorców. Warto zwrócić uwagę na fakt, Ŝe metodapseudoinwersji nie odnajdywała Ŝadnego ze wzorców, podczasgdy skuteczne okazały się reguły Hebba i jej modyfikacje, np. dlawzorca o numerze 13. Zastosowanie do <strong>uczenia</strong> <strong>sieci</strong> neuronowejHopfielda reguły pseudoinwersji spowodowało rozpoznanie innegowzorca, niŜ w przypadku <strong>uczenia</strong> <strong>sieci</strong> metodą Hebba. Sytuacjata ma miejsce dla wzorca numer 12. Zastosowanie w uczeniu regułyHebba spowodowało rozpoznanie przez sieć cyfry 9, natomiastw przypadku <strong>uczenia</strong> <strong>sieci</strong> metodą pseudoinwersji, spowodowałorozpoznanie cyfry 8. Reguła Hebba i jej modyfikacje pozwoliłana rozpoznanie tylko 3 wzorców (cyfry 9 – cztery razy,cyfry 5 – trzy razy i cyfry 3 – dwa razy), natomiast reguła pseudoinwersjipozwoliła na rozpoznanie (cyfry 5 – trzy razy, cyfry 9 –trzy razy, cyfry 2 – dwa razy, cyfry 8 – dwa razy, cyfry 0 – jedenraz, cyfry 1 – jeden raz oraz cyfry 3 – jeden raz). W sumie najczęściejrozpoznawanym wzorcem była cyfra 9 (siedmiokrotnie)oraz 5 (sześciokrotnie). Przy tak wybranych zaburzonych wzorcachŜadna z reguł <strong>uczenia</strong> nie pozwoliła na rozpoznanie cyfr 4, 6oraz 7.Wszystkie z zaprezentowanych w artykule metod <strong>uczenia</strong> <strong>sieci</strong>neuronowej Hopfielda poprawnie rozpoznają zapamiętane wzorcew przypadku mniej zaburzonych danych wejściowych. Dane zniekształconew duŜym stopniu (18-20) powodują, Ŝe takŜe skuteczniejszametoda pseudoinwersji kończy działanie w jednym z minimówlokalnych nie rozpoznając Ŝadnego z zapamiętanych wzorców.6. Literatura[1] R. Tadeusiewicz: Sieci neuronowe. Akademicka Oficyna WydawniczaRM, Warszawa 1993.[2] S. Osowski: Sieci neuronowe do przetwarzania informacji. OficynaWydawnicza Politechniki Warszawskiej, Warszawa 2000.[3] S. Osowski: Sieci neuronowe w ujęciu algorytmicznym. WydawnictwaNaukowo-Techniczne, Warszawa 1996.[4] J. Mańdziuk: Sieci neuronowe typu Hopfielda. Teoria i przykładyzastosowań. Akademicka Oficyna Wydawnicza EXIT, Warszawa2000.[5] J. Hertz, A. Krogh, R. G. Palmer: Wstęp do teorii obliczeń neuronowych.Wydanie drugie. Wydawnictwa Naukowo-Techniczne, Warszawa1993, 1995[6] J. śurada, M. Barski, W. Jędruch: Sztuczne <strong>sieci</strong> neuronowe. WydawnictwoNaukowe PWN, Warszawa 1996.[7] J. Korbicz, A. Obuchowicz, D. Uciński: Sztuczne <strong>sieci</strong> neuronowe.Podstawy i zastosowania, Akademicka Oficyna Wydawnicza PLJ,Warszawa 1994.[8] W. Kwiatkowski: <strong>Metody</strong> automatycznego rozpoznawania wzorców.IAiR WAT, Warszawa 2001.[9] R. A. Kosiński: Sztuczne <strong>sieci</strong> neuronowe. Dynamika nieliniowa ichaos. Wydanie trzecie uaktualnione. Wydawnictwa Naukowo-Techniczne, Warszawa 2002, 2007[10] M. M. Gupta, L. Jin, N. Homma: Static and Dynamic Neural Networks.From Fundamentals to Advanced Theory. Wiley-Interscience,New Jersey 2003_____________________________________________________Artykuł recenzowany

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!