Sztuczne sieci neuronowe Plan wykładu Gaz neuronowy NG
Transkrypt
Sztuczne sieci neuronowe Plan wykładu Gaz neuronowy NG
Plan wykładu • Gaz neuronowy Sztuczne sieci neuronowe • Rosn cy gaz neuronowy Wykład 11: Sieci samoorganizuj ce si • Sie z kontrpropagacj • Sieci rezonansowe: ART1 Małgorzata Kr towska Katedra Oprogramowania e-mail: [email protected] 2 Sztuczne sieci neuronowe Gaz neuronowy NG - zasada działania (ang. Neural Gas - NG) • Algorytm gazu neuronowego został zaproponowany przez Martineza i in. (1991). Nazwa oddaje podobie stwo dynamiki działania algorytmu do ruchu cz steczek gazu. • Algorytm uwa any za najskuteczniejsze narz dzie organizacji neuronów. • Cechy charakterystyczne: – w metodzie NG nie ma sieci, jest kolekcja swobodnych neuronów – ka dy neuron mo e porusza si swobodnie w przestrzeni, w której został okre lony – swoboda jest ograniczona jedynie współzawodnictwem – ka dy neuron ma przypisane pewne wektory wagowe wi. Składowe wektora wi s jednocze nie interpretowane jako współrz dne punktu wi w przestrzeni cech RN. Sztuczne sieci neuronowe 3 • Dobór liczby neuronów (M) i losowa inicjalizacja warto ci wag wi, i=1,2, ..., M • Ustaw numer iteracji k=0 • Podaj na wej cie wektor cech x • Posortuj wszystkie neurony w zale no ci od ich odległo ci od wektora x w porz dku rosn cym: d0 < d1 < ... < dM-1 przy czym dm=||x-wm(i)|| oznacza odległo i-tego neuronu zajmuj cego w wyniku sortowania m-t pozycj w szeregu za neuronem zwyci zc Sztuczne sieci neuronowe 4 NG - zasada działania NG dobór parametrów Adaptacja wag: • Modyfikuj warto ci wag neuronu i zgodnie ze wzorem: wi (k + 1) = wi (k ) + ηi (k )G( i , x ) (k )[ x(k ) − wi (k )] wi (k + 1) = wi (k ) + ηi (k )G( i , x ) (k )[ x(k ) − wi (k )] • Zwi ksz warto Funkcja s siedztwa: − m(i ) G( i , x ) (k ) = exp λ (k ) parametru k: k=k+1 gdzie m(i) oznacza numer neuronu i w rankingu 1, 2,..., M-1 (numer 0 dla zwyci zcy) Parametr λ mo e by interpretowany jako promie s siedztwa • Je eli k<kmax wówczas powrót do kroku 2; w przeciwnym przypadku zako czenie algorytmu. przyjmuje on pocz tkowo warto startow λ0, która maleje stopniowo tak, eby osi gn pewn warto ko cow λmax (tzn. gdy k=kmax): 5 Sztuczne sieci neuronowe λ λ (k ) = λ0 min λ0 k / k max Sztuczne sieci neuronowe NG - dobór parametrów 6 NG - przykład Parametr λ: • gdy λ d y do 0 => mamy do czynienia z zerowym s siedztwem i reguł WTA • gdy λ > 0 => s aktualizowane wagi wszystkich neuronów w stopniu zale nym od warto ci funkcji G. Współczynnik uczenia η(k) - na ogół przyjmuje si , e współczynnik uczenia maleje wraz ze wzrostem numeru iteracji: od warto ci pocz tkowej η0 a do warto ci ηmin osi ganej po ostatniej iteracji. Bardzo cz sto przyjmuje si , e współczynnik uczenia maleje w funkcji pot gowej: η η (k ) = η0 min η0 Sztuczne sieci neuronowe k / k max 7 Sztuczne sieci neuronowe 8 Rosn cy gaz neuronowy GNG - algorytm działania (ang. Growing Neural Gas - GNG) • Algorytm zaproponowany w 1995 roku przez Fritzke i in. • W trakcie procesu uczenia nast puje zmiana liczby neuronów. • Ogólna zasada działania: – startuj c z pocz tkow bardzo mał liczb neuronów trakcie kolejnych kroków uczenia nowe neurony s dodawane. Decyzja o tym, gdzie nale y „wstawi ” nowy neuron, bazuje na analizie pewnej lokalnej miary bł du. Ka dy nowy neuron jest dodawany w pobli e tych elementów, które charakteryzuj si najwi kszym bł dem. 9 Sztuczne sieci neuronowe 1. Utwórz pocz tkowy zbiór elementów zawieraj cy dwa neurony z losowo dobranymi wagami (dobór wag w zakresie zmienno ci analizowanego zbioru danych). Inicjacja pocz tkowego pustego zbioru poł cze mi dzy neuronami C. 2. Podaj sygnał wej ciowy x. 3 . Znajd dwa neurony, których odległo od wektora x jest najbli sza s1 (zwyci zca) oraz s2 przy czym ds1 ≤ ds2 4. Je eli poł czenie pomi dzy neuronami s1 oraz s2, nie istnieje w zbiorze C nale y je doda : C =C ∪ {(s1,s2)} Ustaw wiek poł czenia pomi dzy s1 i s2 na 0 („od wie anie” poł czenia): wiek(s1,s2) = 0 GNG - zasada działania GNG - zasada działania 5. Dodaj kwadrat odległo ci pomi dzy sygnałem wej ciowym i zwyci zc do lokalnego bł du: ∆Es1 = x − ws1 10 Sztuczne sieci neuronowe 9. Je eli liczba wygenerowanych sygnałów wej ciowych jest wielokrotno ci parametru λ dodaj nowy neuron: – znajd neuron q z maksymalnym bł dem Eq – spo ród s siadów neuronu q znajd neuron f z maksymalnym bł dem Ef – dodaj nowy neuron r do sieci i wyznacz warto ci jego wag jako: wr = (wq + wf )/2 – utwórz poł czenia pomi dzy neuronem r i neuronami q i f i usu bezpo rednie poł czenie pomi dzy neuronem q i f. – zmniejsz warto bł du neuronów q i f: 2 6. Modyfikuj wektory wag zwyci zcy i jego bezpo rednich s siadów: ∆ws1 = eb ( x − ws1 ) ∆wi = en ( x − wi ) 7. Zwi ksz o 1 wiek poł cze wychodz cych z neuronu s1: wiek (s1, i) = wiek (s1,i)+1, dla wszystkich i ∆Eq = −αEq , ∆E f = −αE f – wyznacz warto 8. Usu te poł czenia, których wiek przekroczył zadan warto Usu neurony, które nie maj poł cze . Sztuczne sieci neuronowe wiek max. 11 Sztuczne sieci neuronowe bł du nowego neuronu r: Er = (Eq+ Ef)/2 12 GNG - zasada działania 10. Zmodyfikuj warto GNG - przykład bł du wszystkich neuronów: ∆Ec = − βEc , c = 1,2,... 11. Je eli kryterium stopu (np. wielko jest spełnione powrót do punktu 2. sieci lub inna miara jako ci) nie 13 Sztuczne sieci neuronowe 14 Sztuczne sieci neuronowe Sieci rezonansowe ART Sie ART1 (ang. Adaptive Resonance Theory) • jedn z wła ciwo ci mózgu jest umiej tno zapami tywania nowych obrazów bez zaniku zdolno ci rozpoznawania obrazów dawniej zakodowanych • wi kszo przedstawionych metod uczenia sieci neuronowych miała t wad , e wprowadzenie do nauczonej ju sieci nowych obrazów wymaga powtórzenia procesu uczenia przy pomocy wzorców poprzednich i nowych • ograniczenie si jedynie do nowych wzorców powoduje zapominanie wzorców poprzednich ( tzw. dylemat stabilno ci i plastyczno ci) • rozwi zanie powy szego dylematu: sieci ART: y F2 1 2 M vij wij F1 1 2 – ART-1 - operuje na obrazach binarnych – ART-2 - na obrazach ci głych – ART-3 - zapewnia wi ksz stabilno w porównaniu z sieci ART-2. Sztuczne sieci neuronowe 3 3 n x 15 Sztuczne sieci neuronowe Sie ART1 uczy si grupowa obrazy wej ciowe w trybie nienadzorowanym ( nie potrzebuje informacji a priori o liczbie grup) Cechy charakterystyczne: • dwie warstwy elementów przetwarzaj cych: n-elementowa warstwa wej ciowo-porównuj ca F1 i M-elementowa warstwa wyj ciowokonkurencyjna F2 • warstwy s poł czone dwoma układami poł cze jednokierunkowych: od F1 do F2 (wij - pami długotrwała), od F2 do F1 (vij - krótkotrwała) (i - neuron warstwy wej ciowej, j - wyj ciowej) 16 Algorytm uczenia sieci ART1 Sie ART1 - ogólny opis działania • Podczas uczenia pierwsza grupa powstaje z chwil zaobserwowania pierwszego obrazu. Ka dy nast pny obraz jest zaliczany do istniej cej grupy, je eli wykazuje podobie stwo do obu jej wzorców. W przeciwnym przypadku nowy spo ród „wolnych” neuronów warstwy wyj ciowej przyjmuje rol reprezentanta nowej grupy. • Fragment sieci zwi zany z przetwarzaniem F1 - F2 oblicza dopasowanie obrazu wej ciowego x do wektorów wagowych wj (j=1,..,M). • Dla zwyci skiego neuronu przeprowadza si , w ramach przetwarzania F2 - F1 test podobie stwa jego wektora vm do unormowanego wektora wej ciowego. Wymagany stopie podobie stwa okre lany jest tzw. progiem czujno ci, wybieranym z przedziału (0,1). Zainicjowanie W, V, a 2 Prezentacja obrazu x 3 Wybór kategorii m najlepiej dopasowanej do x 17 1 wij = n , vij = 1 y j = 1 +wnij xi , j = 1,2,..., M i =1 ym = max ( y j ) j =1, 2 ,.., M n def Test podobie stwa obrazu x do kategorii m Wynik testu pomy lny? pm = x >a Wył czenie neuronu m przez wymuszenie ym=0 nie vim (t + 1) = vim (t ) xi tak 5 v x i =1 im i n i =1 i 4 tak • Je eli wynik testu jest pomy lny, to mówi si , e sie jest w rezonansie z obrazem wej ciowym. Sztuczne sieci neuronowe 1 tak Jest jeszcze inny aktywny neuron w górnej warstwie? nie vimDodanie (t + 1nowej ) kategorii , i = 1,2,..., n wim (t + 1) = n 0.5 + i =1 vim (t ) xi Korekcja wag w, v wybranego neuronu Konieczna dalsza adaptacja? nie 18 Sztuczne sieci neuronowe Sie z kontrpropagacj Sie ART1 - podsumowanie (ang. Counter -Propagation Network - CP) • wagi vj, zwi zane z j-tym neuronem wyj ciowym, s równe 1 a do momentu wyznaczenia tego neuronu do reprezentacji nowej kategorii • od tej chwili ka da modyfikacja wektora vj polega na wyzerowaniu (zamaskowaniu) niektórych jego składowych (wektor pocz tkowo „czarny” w trakcie uczenia „bieleje”) • nieodwracalno tego procesu jest gwarancj stabilno ci powołanych do ycia kategorii i powoduje zatrzymanie adaptacji wag po sko czonej liczbie prezentacji danego zbioru ucz cego Sie z kontrpropagacj (Hecht-Nielsen, 1987) jest sieci heteroasocjacyjn : x -> y • podczas testu podobie stwa sprawdzamy, czy stosunek liczby składowych zgodnie równych 1 w obrazie wej ciowym i we wzorcu potencjalnej kategorii do ł cznej liczby jedynek w tym obrazie jest wi kszy od progu czujno ci. Dla małego a sie ART. dokonuje zgrubnej klasyfikacji na niewielk liczb kategorii grupuj cych obrazy stosunkowo mało podobne. Dla a bliskiego 1 otrzymujemy wiele subtelnie ró ni cych si kategorii. Sztuczne sieci neuronowe 19 Sztuczne sieci neuronowe 20 Sie CP - zasada działania Sie CP - uczenie • Warstwa Kohonena - klasyfikuje obrazy wej ciowe x do jednej z wyznaczonych klas • Warstwa konkurencyjna jest uczona bez nadzoru, zgodnie z klasycznymi regułami dla sieci konkurencyjnych • Po nauczeniu warstwy konkurencyjnej wektor wag wi i-tego neuronu reprezentuj cego dan klas jest równy u rednionemu po wszystkich wzorcach tej klasy wektorowi • Warstwa Grossberga - uczenie nadzorowane i zgodne z reguł • Prezentacja wektora w uaktywnia jeden neuron, którego pobudzenie jest najwi ksze • Po rozpoznaniu klasy, do której nale y wektor wej ciowy, zadaniem warstwy Grossberga jest wygenerowanie odpowiedniej odpowiedzi dla tej klasy • Poniewa po prezentacji wektora wej ciowego uaktywnia si tylko jeden neuron warstwy konkurencyjnej np. i-ty, to odpowied sieci yi jest równa wektorowi wag vi poł cze wychodz cych z tego elementu, czyli yi = vi. Sztuczne sieci neuronowe 21 ∆vm = β (d − vm ) gdzie – vm - wektor wag wychodz cy z m-tego neuronu warstwy konkurencyjnej – d - po dana odpowied sieci na dany sygnał wej ciowy x – β - współczynnik uczenia ( warto pocz tkowa 0.1 i maleje z biegiem uczenia) Sztuczne sieci neuronowe 22