(Microsoft PowerPoint - SN_W7.ppt [tryb zgodno\234ci])

Transkrypt

(Microsoft PowerPoint - SN_W7.ppt [tryb zgodno\234ci])
Plan wykładu
Sieci samoorganizujace się na zasadzie współzawodnictwa:
• uczenie nienadzorowane
• uczenie konkurencyjne
Sztuczne sieci neuronowe
– reguła WTA
– reguła WTM
Wykład 7: Sieci samoorganizujące się na
zasadzie współzawodnictwa
• kwantowanie wektorowe
• mapa cech Kohonena
Małgorzata Krętowska
Wydział Informatyki PB
Sztuczne sieci neuronowe
Uczenie nienadzorowane
(bez nauczyciela)
Uczenie nienadzorowane - przykłady
W tej klasie metod uczenia sztucznych sieci neuronowych (zwanej
uczeniem bez nadzoru lub bez nauczyciela) sieć bez informacji
zwrotnej korygującej jej działanie z zewnątrz (tj. oceny działania
sieci) sama wypracowuje funkcje przetwarzania danych, np.
uporządkowywania, wykrywania regularności w danych, ich
klasyfikacji, kodowania itd.
Metody uczenia nienadzorowanego są ważnym narzędziem
przetwarzania danych w sytuacjach gdy nie można zorganizować
nadzorowanego procesu uczenia.
Sztuczne sieci neuronowe
2
3
Przykładowe zadania, które mogą być realizowane przez sieci
samoorganizujące się:
• wykrywanie podobieństwa - ocena stopnia podobieństwa
pomiędzy wzorcami (wg wybranego kryterium),
• analiza składowych głównych - jest to metoda redukcji
wymiarowości danych, w której wektory wzorców
wejściowych są rzutowane na najistotniejsze kierunki ich
zmian w przestrzeni o zredukowanej liczbie wymiarów,
• klasyfikacja - detekcja danych, których cechy grupują się
(są podobne) wg wybranego kryterium,
Sztuczne sieci neuronowe
4
Uczenie nienadzorowane - przykłady
Uczenie nienadzorowane
Przykładowe zadania, które mogą być realizowane przez sieci
samoorganizujące się:
• określanie prototypu - wskazanie typowego reprezentanta
grupy, tzw. prototypu,
• kodowanie - wyznaczanie zbioru prototypów o liczności
znacznie mniejszej niż cały zbiór danych wejściowych
najlepiej je reprezentujących (uzyskuje się efekt kompresji
stratnej danych),
• tworzenie map cech - porządkowanie danych według
wybranego kryterium podobieństwa.
Reguła asocjacji
Hebba
Mapy cech
Kohonena
Reguła uczenia Oji
Analiza składowych głównych
5
Sztuczne sieci neuronowe
Reguła uczenia
konkurencyjnego
6
Sztuczne sieci neuronowe
Uczenie konkurencyjne
Uczenie konkurencyjne
Jednym z podstawowych sposobów uczenia nienadzorowanego
jest tzw. uczenie konkurencyjne (ang. competitive learning). W
tej metodzie uczenia sieci, poszczególne neurony “konkurują” ze
sobą o prawo do reprezentacji danych wejściowych.
W konkurencyjnej metodzie uczenia sieci, tylko jeden element
wyjściowy może znajdować się w stanie aktywnym. Nazywany
jest on zwycięzcą , a schemat takiej reguły aktywacji neuronów
określany jest mianem “zwycięzca bierze wszystko” (ang. Winner
Takes All - WTA).
Cechy charakterystyczne:
• zwykle sieci jednowarstwowe
• każdy neuron jest połączony
ze wszystkim składowymi
wektora wejściowego x
• neurony liniowe
Sztuczne sieci neuronowe
7
Sztuczne sieci neuronowe
8
Uczenie konkurencyjne
Uczenie konkurencyjne
• Każda komórka w takiej warstwie jest połączona ze wszystkimi elementami xk
wzorca wejściowego za pomocą połączeń wagowych wjk (j=1, 2, ..., M; k=1, 2,
..., N). W wyniku zastosowania takiej struktury połączeń j-ty neuron warstwy
wyjściowej sieci otrzymuje sygnał pobudzenia:
N
y j = ∑ w jk x k = wTj x,
j = 1, 2,
,M
Z równania:
wTj* x > wTj x,
j = 1,
M
wynika, że wektor wag wj* łączący zwycięski neuron z elementami wektora
wejściowego jest wektorem najbardziej "podobnym", w sensie iloczynu
skalarnego wektorów, do wzorca x aktualnie podanego na wejście sieci. Jeżeli
przyjąć, że wektory wj oraz x znormalizowano do jednostkowej długości to
szukaną komórką zwycięzcy jest neuron, dla którego różnica:
k =1
N
d ( x, w j ) = w j − x =
∑ (x
2
k
− wjk ) ,
j = 1,
,M
k =1
• Komórka zwycięska warstwy wyjściowej sieci, oznaczona indeksem j*, jest to
osiąga wartość minimalną
neuron otrzymujący najsilniejszy sygnał pobudzenia yj.. Zatem dla komórki
zwycięskiej spełniona jest nierówność:
wTj* x > wTj x,
j = 1,
M
d ( x, w j* ) = min d ( x, w j ),
9
Strefy wpływów
Inne miary odległości miedzy wektorami:
• Na koniec procesu uczenia cała przestrzeń cech jest podzielona na
rozdzielne strefy wpływów poszczególnych neuronów. Jednocześnie
można zaobserwować pogrupowanie danych. Cały zbiór danych został
podzielony na skupiska reprezentowane przez poszczególne neurony.
N
d ( x, w j ) = w j − x =
∑ (x
k
− w jk )
2
k =1
• iloczyn skalarny:
d ( x, w j ) = x w j cos( x, w j )
• miara według normy L1
(Manhattan):
d ( x, w j ) =
• miara według normy L∞:
d ( x, w j ) = max xk − w jk
• Zastosowanie różnych miar odległości pomiędzy wektorami kształtuje
podział stref wpływów inaczej.
N
Sztuczne sieci neuronowe
k
10
Sztuczne sieci neuronowe
Uczenie konkurencyjne
∑x
,M
Dla znormalizowanych wektorów wj i x o wartości ich iloczynu skalarnego
decyduje jedynie zgodność ich kierunków a nie dodatkowo ich długość.
Sztuczne sieci neuronowe
• miara Euklidesowa:
j = 1,
• W szczególności zastosowanie iloczynu skalarnego bez normalizacji
wektorów może prowadzić do niespójnego podziału przestrzeni cech, w
którym występuje kilka neuronów w jednym obszarze, a w innym nie
ma żadnego.
− w jk
k =1
k
11
Sztuczne sieci neuronowe
12
Strefy wpływów - ilustracja
Normalizacja wektorów
• Wykazano, że proces samoorganizacji prowadzi zawsze do spójnego podziału
przestrzeni cech, gdy choć jeden z wektorów x lub w podlega normalizacji.
• Jeżeli wektory x są znormalizowane to wektory wag stają się również
automatycznie znormalizowane.
• Badania eksperymentalne potwierdziły potrzebę normalizacji wektorów dla
małych wymiarów n=2,3 Dla n>200 normalizacja nie odgrywa większej roli.
• Metody normalizacji:
xi
xi =
– redefinicja składowych wektora x
N
∑x
2
j
j =1
– zwiększenie wymiaru przestrzeni o jeden (do N+1), przy takim wyborze (N+1)-szej
składowej, aby
N
Rozkład obszarów atrakcji przy różnych miarach odległości między wektorami
nieznormalizowanymi: a) miara euklidesowa; b) iloczyn skalarny; c) norma L1;
d) norma L∞.
Sztuczne sieci neuronowe
∑x
2
i
=1
i =1
13
(Zachodzi tu z reguły konieczność wcześniejszego przeskalowania składowych
wektora x w przestrzeni RN. umożliwiającego spełnienie tej równości)
Sztuczne sieci neuronowe
14
Uczenie konkurencyjne - adaptacja wag
Interpretacja geometryczna
W każdej iteracji uczenia, prezentowane są kolejne wzorce
wejściowe, a wyłoniony neuron zwycięski tak adaptuje swoje
wagi aby dodatkowo poprawić "dopasowanie” (korelację), w
sensie iloczynu skalarnego, do aktualnie podanego na wejście
sieci wzorca.
Dopasowanie to można osiągnąć stosując tzw. standardową
konkurencyjną regułę uczenia:
Reguła uczenia konkurencyjnego powoduje stopniową zmianę
kierunku wektora wag poszczególnych jednostek wyjściowych
sieci w stronę statystycznie najczęściej występujących wejść.
∆ w j *k = η ( x k − w j *k )
Uczenie dotyczy tylko neuronu zwycięskiego, stąd określenie
"zwycięzca bierze wszystko" (ang. winner-takes-all).
Sztuczne sieci neuronowe
15
Sztuczne sieci neuronowe
16
Uczenie konkurencyjne
Ilustracja graficzna uczenia konkurencyjnego
Regułę uczenia konkurencyjnego można zapisać w postaci
uwzględniającej kolejne iteracje uczenia k, k+1, k+2, ....
 w j ( k ) + η j ( k )[ x − w j ( k )]
w j ( k + 1) = 
w j (k )

j = j*
j ≠ j*
W standardowej regule uczenia konkurencyjnego nie
uwzględnia się efektu „hamowania obocznego” neuronów
sąsiadujących z neuronem zwycięskim.
17
Sztuczne sieci neuronowe
Zwycięzca bierze większość - WTM
Wektory wag poszczególnych jednostek przemieszczaj się do
obszarów występowania skupień wzorców wejściowych.
18
Sztuczne sieci neuronowe
Przykład adaptacji wag (WTM)
• Algorytmy WTA, w których tylko jeden neuron może podlegać adaptacji w
każdej iteracji, są algorytmami słabo zbieżnymi, szczególnie przy dużej liczbie
neuronów
• W praktyce zostały one zastąpione algorytmami WTM (ang. Winner Takes
Most), w których oprócz zwycięzcy uaktualniają swoje wagi również neurony
z jego sąsiedztwa:
wi = wi + ηi G (i, x)[ x − wi ]
dla wszystkich neuronów i należących do sąsiedztwa Sj* zwycięzcy.
Definiując G(i,x) w postaci:
1 i = j *
G(i , x) = 
0 i ≠ j *
otrzymujemy algorytm WTA.
Sztuczne sieci neuronowe
Ilustracja procesu adaptacji wag
19
Sztuczne sieci neuronowe
20
Problemy
Kwantowanie wektorowe danych
Występowanie tzw. jednostek martwych: neuronów o wagach dalekich od
wektorów wejściowych, które mogą nigdy nie wygrać i nigdy się nie uczą.
Sposoby zapobiegania:
• jako początkowy wektor wag można przyjąć jeden z wektorów uczących
• aktualizacja wag wszystkich neuronów przegranych, ale przy bardzo małym
współczynniku uczenia
• od wartości aktywacji każdego neuronu można odejmować tzw. wyraz
obciążenia ai . Wartość progu powinna być większa dla neuronów często
wygrywających i mała dla jednostek przegrywających. (Mechanizm taki jest
nazywany sumieniem: najczęściej wygrywający czują się winni i dlatego
zmniejszają swój współczynnik zwycięstwa)
• wprowadzanie potencjału pi dla każdego neuronu, który jest modyfikowany po
każdej prezentacji wzorca uczącego na wejście sieci:
1

 p (k ) +
pi (k + 1) =  i
n
 pi (k ) − pmin
dla i ≠ i *
dla i = i *
pmin - minimalny potencjał
upoważniający do udziału we
współzawodnictwie
Jednym z najważniejszych zastosowań uczenia konkurencyjnego jest
tzw. kwantowanie wektorowe danych. Idea takiej reprezentacji
danych pozwala uzyskać efekt ich kodowania z kompresją.
Zadanie kwantowania wektorowego realizuje się przez podział
danych na wybraną liczbę M klas. W każdej z klas definiuje się
tzw. wektor prototypowy klasy, który staje się reprezentantem
(kwantuje do swojej wartości) wszystkie dane z klasy.
Przynależność do danej klasy znajduje się przez znalezienie
najbliższego prototypu (np. według metryki euklidesowej).
Przestrzeń danych podzielona jest, w efekcie stosowania takiej
reguły, tzw. mozaiką Voronoia wyznaczając obszary klas.
22
Sztuczne sieci neuronowe
Obszary Voronoia
Kwantowanie wektorowe
Kwantowanie wektorowe danych można uzyskać za pomocą reguły
uczenia konkurencyjnego w następujący sposób:
• określ założoną liczbę M klas i utwórz sieć jednowarstwową o
takiej samej liczbie M jednostek wyjściowych,
• zastosuj regułę konkurencyjną „zwycięzca bierze wszystko” do
uczenia sieci (stosuj regułę uczenia dla każdej nowej danej
wejściowej).
Po nauczeniu sieci, wagi poszczególnych jednostek reprezentują
prototypy klas, a o przynależności danej wejściowej do klasy
informuje zwycięskie wyjście sieci.
Obszary Voronoia. Kropki reprezentują prototypy klas.
Sztuczne sieci neuronowe
23
Sztuczne sieci neuronowe
24
Kwantowanie wektorowe
Mapa cech Kohonena
Kohonen zaproponował regułę uczenia konkurencyjnego, w której
w odróżnieniu od reguły standardowej, modyfikacji wag
dokonuje się nie tylko dla neuronu zwycięskiego, lecz również
dla pewnej liczby neuronów z jego otoczenia.
Reguła ta wymaga wprowadzenia tzw. topologicznego
uporządkowania neuronów w warstwie wyjściowej (zwanej też
mapą cech), dla której można wprowadzić pojęcie otoczenia
neuronu zwycięskiego np. przez zaliczenie do tego otoczenia
neuronów, których indeksy porządkujące nie różnią się o większą
niż założona wartość , która wyznacza to otoczenie.
Ilustracja kwantowania wektorowego uzyskanego za pomocą sieci uczonej
regułą konkurencyjną
25
Sztuczne sieci neuronowe
Mapa cech Kohonena
Cel:
Idea:
26
Sztuczne sieci neuronowe
Mapa cech Kohonena
Neurony położone blisko siebie mają pełnić podobną funkcję
Modyfikacja reguły WTA tworząca obszary wrażliwe na podobne
wzorce
Sztuczne sieci neuronowe
27
Sztuczne sieci neuronowe
28
Konkurencyjne uczenie nienadzorowane
Mapa cech Kohonena
Algorytm uczenia konkurencyjnego Kohonena jest dany
zależnością:
Topologia dwuwymiarowa (siatka heksagonalna i prostokątna)
 w j ( k ) + η( k )[ x − w j ( k )]
w j ( k + 1) = 
w j (k )

j ∈ Ω(k)
j ∉ Ω(k)
w której wielkości η(k) oraz Ω(k), reprezentujące odpowiednio
współczynnik uczenia i otoczenie neuronu zwycięzcy, są
dodatnimi, malejącymi funkcjami czasu (tj. numeru iteracji
uczenia k).
Sztuczne sieci neuronowe
30
Dobór parametrów
Algorytm uczenia sieci Kohonena
• współczynnik uczenia - dobór eksperymentalny z przedziału (0.1; 1)
• otoczenie neuronu zwycięzcy - początkowo powinno obejmować większą niż
połowa z ogólnej liczby neuronów i należy je zmniejszać w czasie uczenia tak
by w końcowej fazie uczenia, zawierało ono tylko neuron zwycięski
1. Przypisz wagom sieci o M neuronach warstwy wyjściowej i N
Sztuczne sieci neuronowe
31
wejściach niewielkie liczby losowe. Ustal liczbę neuronów
należących do początkowego otoczenia neuronu (> M/2)
2. Dołącz nowy wektor uczący x=[x1 , ...., xk , ..., xN ] do wejścia.
3. Wyznacz odpowiedź każdego neuronu warstwy wyjściowej
4. Znajdź neuron zwycięski j* (największa wartość odpowiedzi).
5. Wyznacz nowe wartości wag dla neuronu zwycięzcy j* i jego
sąsiedztwa (tj. jego otoczenia) stosując regułę Kohonena.
6. Zmień odpowiednio wartości współczynnika uczenia i otoczenia
7. Powtórz 2-6 dla następnych wzorców wejściowych aż do chwili
ustalenia się odpowiedzi sieci.
Sztuczne sieci neuronowe
32
Przykłady zastosowań
Przykłady zastosowań
Problem komiwojażera
Odwzorowanie powierzchni dwuwymiarowej na liniową siatkę 50 jednostek
wyjściowych; Odwzorowanie powierzchni kwadratowej na siatkę zawierającą
10x10 jednostek wyjściowych
Sztuczne sieci neuronowe
33