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