P - ZMiTAC - Politechnika Śląska
P - ZMiTAC - Politechnika Śląska
P - ZMiTAC - Politechnika Śląska
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Sztuczne sieci neuronoweKrzysztof A. CyranPOLITECHNIKA ŚLĄSKAInstytut Informatyki, p. 335
PLAN:Sieć Hopfielda- architektura sieci- rodzaje sieci HopfieldaWykład 9- funkcja energetyczna Lapunowa- proces odtwarzania sieci (minimalizacja funkcjienergii)- proces uczenia sieci
Sieć Hopfielda• Sieć rekurencyjna minimalizująca funkcjęenergetyczną (funkcję Lapunowa)• Odmiany:– sieć dyskretna,– sieć ciągła• Zastosowania:– pamięć autoasocjacyjna (model dyskretny)– Problem komiwojażera (model ciągły)
Sieć Hopfieldaw 12w 1Nw 21w 2N...O 1O 2w N1w N2O N
Sieć Hopfielda (oznaczenia)• n k(p)- pobudzenie sieciowe k-tego neuronuw kroku p-tym• O j(p)- wyjście j-tego neuronu w kroku p-tym• w kj – wartość wagi od j-tego doneuronu• t k – próg przełączenia k-tego neuronuk-tego
Sieć Hopfielda: model dyskretny• Działanie sieci opisują wzory:dla wersji binarnej:nO( p)k( p+1)kN∑j=1(2)( p)⎧ + 1⇔nk> 0dla wersji bipolarnej:( p+1) ⎪ ( p)( p)Ok= ⎨Ok⇔ nk= 0 (2')⎪( p)⎩ -1 ⇔ nk< 0==⎧⎪⎨⎪⎩wOkj( p)k0O( p)j1⇔n⇔⇔n− tk,>( p)k( p)nk( p)k
Sieć Hopfielda (cechy)• Brak wpływu neuronu na samego siebie:• Symetria:∀i, = 0w ii∀ ij , w = w ij ji
Sieć Hopfielda (funkcja energii)• Z siecią Hopfielda kojarzy się tzw. funkcjęenergii (funkcję Lapunowa)• Jest to funkcja ograniczona od dołu inierosnąca w trakcie ewolucji rozważanegoprocesu (u nas procesu zmian stanówrekurencyjnej sieci Hopfielda, nazywanegoprocesem ODTWARZANIA SIECI)
Sieć Hopfielda (odtwarzanie)• Proces odtwarzania rozpoczynamy dla p=0od doprowadzenia do elementówprzetwarzających sygnałów wejściowych:x = [x 1 , x 2 ,...,x N ] x i ∈{0,1}tzn. O i(0)=x i dla i=1,...,N.• Następnie odłącza się sygnały wejściowe irozpoczyna się proces odtwarzania według(1) i (2)
Sieć Hopfielda (odtwarzanie)• Sieć działa asynchronicznie, tj. w danej chwiliwybierany jest z równym prawdopodobieństwemdowolny neuron i tylko on jest aktualizowany• Po pewnej skończonej liczbie iteracji sieć osiągastan stabilny, tzn.:( p+1)∀i , O = Oi( p)iJest to stan odpowiadający lokalnemu minimumfunkcji energii. Ten stan jest przekazywany nawyjście sieci.
Sieć Hopfielda (funkcja energii)• Funkcję energii wybiera się jako:( )TTO − O wO t O1E = + 2co w zapisie skalarnym daje:E12NN( O)= − ∑∑w + ∑ijOiOjNi= 1 j=1i=1tiOi(3)
Sieć Hopfielda (spadek energii)• Dowód, że funkcja (3) jest funkcją nierosnącąw procesie odtwarzania:Niech w chwili p zmienia się stan k-tego neuronuO=O+ ∆O( p+1) ( p)( p)kkkZaś stan pozostałych nie zmienia się:O( p+1)j=O(jp)dlaj≠k
Sieć Hopfielda (spadek energii)Zatem:( ) ( )verte)(1 ,1)()()(1,)()(1)(1 ,11)(1)(1)(1,1)(1)(1 1)(1)()(1 11)(11)(1)()(1)()(21212121=−−⎟⎟⎠⎞⎜⎜⎝⎛+++++⎟⎟⎠⎞⎜⎜⎝⎛+= −=−+++−=−=∆∑∑∑∑∑∑∑∑∑∑∑∑= ≠=≠=+= ≠=+++≠=++= === =+=+++pkkNiNkiipiipkpiikNkjjpjpiijpkkNiNkiipiipkpiikNkjjpjpiijNiNipiiNjpjpiijNiNipiiNjpjpiijpppOtOtOOwOw OOtOtOOwOw OOtOw OOtOw OEEEOO
Sieć Hopfielda (spadek energii)verte)()()(1,)()(1,)()(1,)()(1)(1)(1)(1,1)(1)(1,1)(1)(1,1)(1)(21212121=−⎟⎟⎠⎞⎜⎜⎝⎛+++⎟⎟⎠⎞⎜⎜⎝⎛++++⎟⎟⎠⎞⎜⎜⎝⎛+−+⎟⎟⎠⎞⎜⎜⎝⎛+= −∑∑∑∑∑∑≠=≠= ≠=+++≠=++≠=++≠=++pkkpkpkkkNkjjpjpkkjNkiipkpiikNkjjpjpiijpkkpkpkkkNkjjpjpkkjNkiipkpiikNkjjpjpiijOtOOwOOwOOwOw OOtOOwOOwOOwOw O= 0= 0
Sieć Hopfielda (spadek energii)verte)(1,)()(1,)()()()(1,)()(1,)()(1,)()(1,)()()(1,)()(1,)()(1)(1,1)(1)(1,1)(1)(21212121212121212121=−+++∆++∆−−∆−= −=−++++−= −∑∑∑∑∑∑∑∑∑∑≠=≠=≠=≠=≠=≠=≠=≠=+≠=++≠=++pkkNkjjpjpkkjNkiipkpiikpkkpkkNkjjpjpkkjNkjjpjpkkjNkiipkpiikNkiipkpiikpkkNkjjpjpkkjNkiipkpiikpkkNkjjpjpkkjNkiipkpiikOtOOwOOwOtOtOOwOOwOOwOOwOtOOwOOwOtOOwOOw
Sieć Hopfielda (spadek energii))()(1)()()(1)()(pkpkkNjpjkjpkpkkNjpjpkkjnOtOwOOtOOw= −∆=⎟⎟⎠⎞⎜⎜⎝⎛−= −∆=∆+∆= −∑∑==
Sieć Hopfielda (spadek energii)• Czyli:Jeżeli n k(p)=0 to: ∆E (p) =0Jeżeli n k(p)≠0 to:( p)= −( p)n( p)k k∆E ∆OO k(p+1)O k(p)∆O k(p)n k(p)∆E (p)0 0 0 - 00 1 -1 - -1 0 1 + -1 1 0 + 0
Sieć Hopfielda (spadek energii)Zatem ∆E (p) jest zawsze równe zero lub ujemne: ∆E (p)≤ 0CzyliE(O (p+1) ) ≤ E(O (p) ) co należało wykazać.Ponadto: jeżeli n k(p)=0 to z (2): O k(p+1)= O k(p)(brak zmiany wyjść)Jest to jeden z warunków kiedy ∆E (p) = 0.Inne sytuacje kiedy ∆E (p) = 0 są (z tabeli) gdyO k(p+1)= O k(p)= 0 lub O k(p+1)= O k(p)= 1 (też brak zmiany wyjść)NATOMIAST JEŚLI ZAJDZIE DOWOLNA ZMIANA to ∆E (p) < 0.!!! ENERGIA SPADA PRZY KAŻDEJ ZMIANIE !!!
Sieć Hopfielda (spadek energii)• Z drugiej strony ponieważ moduł energiispełnia następującą nierówność:E12( O)≤ ∑∑ + ∑i= 1 j=1Więc wykluczona jest sytuacja, że E→ -∞.Ponieważ każdy ciąg ograniczony imonotoniczny jest zbieżny, więc E będziedążyć do pewnej wartości E minNNNw ijti=1i
Sieć Hopfielda (spadek energii)• Ponieważ dziedzina funkcji jest skończona(O i ∈{0,1}), więc zbiór możliwych zmian ∆Eprzed osiągnięciem E min jest równieżskończony (tzn. zmiany nie mogą byćnieskończenie małe).∃c,min∆E≠0∆EZatem czas potrzebny na osiągnięcie E min jestskończony w sensie ilości kroków p.=c>0
Sieć Hopfielda (stan stabilny)• Stan O (P) dla którego E(O (P) )=E min jest stanem stabilnym,tzn. takim, że:∀p≥P,( p+1)O =• E min odpowiada więc minimium lokalnemu i dalszezmiany są niemożliwe• Stany stabline (minima lokalne) nazywają się atraktorami,z których każdy posiada swoją nieckę przyciągania, tj.zbiór stanów O (0) , które inicjują ewolucję kończącą się wtym stanie.• Na rodzaj i ilość atraktorów wpływa dobór wag, czyliproces uczenia sieci Hopfielda.O( p)
Sieć Hopfielda (uczenie)• Przykład: uczenie sieci Hopfielda jako pamięci autoasocjacyjnej• Autoasocjacja polega na odtwarzaniu na zasadzie skojarzeńcałości informacji na podstawie dostępnego jej fragmentu• w przykładzie z Einsteinem i jego filozofią, kojarząc znazwiskiem całą sylwetkę naukową wykluczyliśmy go spośródpodmiotów kiepskiego filozofowania, mimo na pozór poprawnegowniosku, że on sam uważał się za kiepskiego filozofa:rozwiązaniem paradoksu było znalezienie ukrytego kontekstuwypowiedzi)• Inne przykłady to dopasowanie haseł na podstawie kilku liter wkrzyżówce, czy utworu muzycznego na podstawie kilku dźwięków
Sieć Hopfielda (autoasocjacja)• Formalnie autoasocjację przedstawiamynastępująco:Dany jest ciąg M wzorców: {x 1 , x 2 ,...,x M }⊂R NPamięcią autoasocjacyjną nazywamy układrealizujący odwzorowanie: F:R N →R N , taki że:F(x m )=x m dla m=1..M, orazF(x)=x l , gdzie x l jest jest najbardziej podobnymwzorcem, tzn. jego odległość od x jestnajmniejsza.
Sieć Hopfielda (uczenie)• Ponieważ kształt funkcji energii zależy od wag w ijnależy je tak dobrać aby każdy wzorzec stał sięatraktorem a odpowiednia niecka przyciąganiabyła na tyle głęboka i szeroka, aby zapewnićpoprawność skojarzeń pomiędzy warunkamipoczątkowymi a stanem końcowym.• W przypadku M wzorców Hopfield podałnastępujący sposób ustalania wag:wijM⎧⎪∑= ⎨m=1⎪⎩(( m)x − )(( m)2 1 2x−1)i0jgdy i=jgdy i≠j
Sieć Hopfielda (uczenie)• Reguła Hopfielda oznacza, że waga w ij wzrasta o 1gdy i-ta i j-ta składowa danego wzorca sąidentyczne, i maleje o 1 gdy te składowe są różne• Liczba losowych wzorców poprawniepamiętanych wynosi M max ≈αN, gdzie α≈0.138• Nie jest to dużo, jednakże sieć Hopfielda jeststosowana jako pamięć autoasocjacyjna zewzględu na jej prostotę.
Sieć Hopfielda (uczenie)• Lepszą metodą uczenia jest iteracyjnametoda rzutowania ∆, będąca odmianągradientowego algorytmu minimalizacjiodpowiednio zdefiniowanej funkcji celu:w=wη( t + 1) ( t)Nη z przedziału +[ ][ ]( p)( t)( p)( p)x − w x xT