Wstęp do sieci neuronowych, wykład 8 Samoorganizacja topologiczna, analiza składowych głównych. M. Czoków, J. Piersa Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toruń, Poland 2010-11-30
Idea Samoorganizacja Topologiczna 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, 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.
Zastosowania Samoorganizacja Topologiczna 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 grupuje się (są podobne) wg wybranego kryterium
Zastosowania Samoorganizacja Topologiczna 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
Idea Samoorganizacja Topologiczna 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.
Cechy charakterystyczne 1 zwykle sieci składające się z jednej warstwy wejściowa i jednej warstwy wyjściowej 2 każdy neuron jest połączony ze wszystkim składowymi K wymiarowego wektora wejściowego x 3 neurony liniowe
Winner Takes All Samoorganizacja Topologiczna 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). Neuron który wygrał jeszcze bardziej jest upodobniany do przykładu, którym uczymy.
Uczenie konkurencjne Każda komórka w warstwie wyjściowej jest połączona ze wszystkimi elementami x k wzorca wejściowego x za pomocą połączeń wagowych, neuron m-ty jest połączony za pomocą wektora wag w m = [w m1, w m2,..., w mk ].
Uczenie konkurencjne W wyniku zastosowania takiej struktury połaczeń m-ty neuron warstwy wyjściowej sieci otrzymuje sygnał pobudzenia: y m = K k=1 w mk x k = w T j x, m = 1, 2,..., M, gdzie K długość wzorca M ilość neuronów 1 M 1 K
Komórka zwycięska Komórka zwycieska warstwy wyjściowej sieci, oznaczona indeksem m, jest to neuron otrzymujący najsilniejszy sygnał pobudzenia y m. Zatem dla komórki zwycięskiej spełniona jest nierówność: w T m x > w T m x, m 1, 2,..., M w 1 w m* T x>w i T x w m* x A co zyskuje zwycięzca? W procesie samoorganizacji jego wagi są modyfikowane. w 2 w 3
Algorytm uczenia Samoorganizacja Topologiczna Zakładamy, że przykłady uczące są znormalizowane. Do uczenia sieci używamy następującego algorytmu: 1 generujemy losowo znormalizowane wektory wag w m dla m = 1, 2,..., M 2 losujemy wektor x oraz liczymy dla niego aktywację y m = w T m x dla wszystkich neuronów m = 1, 2,..., M, szukamy neuronu zwycięzcy w m 3 modyfiujemy wektor wag zwycięzcy w m = w m + ηx (w m = w m + η(x w m )) a następnie go normalizujemy 4 zatrzymujemy algorytm po odpowiednio dużej ilości iteracji
Modyfikacja wektora wag (w m = w m + η(x w m )) w m = w m + ηx x wold w new w old x (1- )w old w new x x
Normalizacja wektorów Używając normalizacji wektorów uniemożliwiamy jednemu wektorowi stanie się tak dużym, że mógłby wygrywać współzawodnictwo zbyt często. Konsekwencją byłoby to, że inne neurony nigdy by nie zwyciężyły współzawodnictwa i ich wagi nie byłyby modyfikowane. Takie jednostki są nazywane martwymi.
Normalizacja wektorów w 1 w 2
Normalizacja wektorów Normalizacja gwarantuje, że jednostka, która jest zwycięzcą dla wektora wejściowego, jest ta jednostaka, która leży najbliżej wektora wejściowego (cosinus kąta między wektorem wejściowym a zwycięzcą jest największy). Modyfikacja wag powoduje, że wektor wag zostaje przyciągnięty w kierunku wektora wejściowego. To znaczy, że neuron zwycięzki w przyszłości jeszcze silniej będzie reagował na ten wektor wejścowy (reguła Hebba).
Normalizacja wektorów w 1 w 2
Samoorganizacja i SPL W podanym wyżej algorytmie zbiór wejściowy nie może być z góry klasyfikowny jako pozytywny albo negatywny wektor, tak jak dzieje się to w algorytmach uczenia dla perceptronu. W powyższym algorytmie w wyniku nauki wektor wag m-tej jednostki zostaje przyciągnięty w kierunku klastru jednostek wejściowych, dla któych jego aktywacja jest największa wsród wszystkich neuronów.
Samoorganizacja i SPL w 3 w 1 1 w -1 w 2
Miara odległości Iloczyn skalarny jest to miara mówiąca nam o podobieństwie wektora wejściowego do wektorów wag poszczególnych neuronów. W procesie wyboru zwycięzcy możemy używać innych metod do mierzenia podobieństwa, w szczególności możemy używać miar odległości, wtedy zwycięża ten neuron, którego wektor wag położony jest najbliżej według tej miary od wektora wejściowego. Najczęściej używane miary to: miara eukidesowa : d(x, w m ) = K (x k w mk ) 2 k=1
Miara odległości miara według normy L 0, Manhattan d(x, w m ) = miara według normy L K x k w mk k=1 d(x, w m ) = max k x k w mk
Mira podobieństwa iloczyn skalarny: d(x, w m ) = K x k w mk k=1 Uwaga - iloczyn skalarny nie jest metryką, nie spełnia nierówności trójkąta.
Odległość Minkowskiego Odległości Minkowskiego jest to uogólniona miara odległości między punktami przestrzeni euklidesowej. Nazywana jest również odległością L m. Wzór na tą miarę w zależności od m ma postać: K d(x, y) = ( (x k y k ) m ) 1 m k=1
Odległość Minkowskiego 1 m=0.5 m=1 m=1.5 m=2 m=4 m=10 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5
Strefy wpływów Samoorganizacja Topologiczna Przy użyciu miary euklidesowej przestrzeń danych wejściowych jest dzielona na strefy dominacji danego neuronu. Zastosowanie innej miara odległości przy samoorganizacji kształtuje podział stref wpływów inaczej. Szczególną uwagę należy poświęcić iloczynowi skalarnemu. Zastosowanie tej miary bez normalizacji wektorów może prowadzić do niespójnego podziału przestrzeni - tak, że w jednym obszarze występuje kilka neuronów, a w innym nie ma żadnego.
Strefy wpływów Samoorganizacja Topologiczna 8 6 4 2 0-2 -4-12 -10-8 -6-4 -2 0 2
Strefy wpływów Samoorganizacja Topologiczna 8 6 4 2 0-2 -4-12 -10-8 -6-2 0 2
Kwantowanie wektorowe danych Celem uczenia sieci samoorganizujących się przez konkurencję neuronów jest takie uporządkowanie neuronów (dobór wartości ich wag), które zminimalizuje wartość oczekiwaną błądu popełnionego przy aproksymacji wektora wejściowego x wartościami wag neuronu zwyciężającego w konkurencji. Przy N wektorach wejściowych i zastosowaniu normy euklidesowej błąd ten może byż wyrażony wzorem E = 1 N x n W N w(n), n=1 w którym W w(n) jest wagą neuronu zwyciężającego przy prezentacji wektra x n.
Kwantowanie wektorowe danych Zadanie to jest również zwane kwantowaniem wektorowym. Numery neuronów zwyciężających przy kolejnych prezentacjach wektorów tworzą tak zwaną książkę kodową. Przestrzeń danych podzielona jest, w efekcie stosowania takiej reguły, tzw. mozaikę Voronoi wyznaczając obszary klas.
Mozajka Veronoi Samoorganizacja Topologiczna 8 6 4 2 0-2 -4-12 -10-8 -6-4 -2 0 2
Idea Samoorganizacja Topologiczna 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 sąsiedztwa. Sąsiedztwem tym są inne neurony leżące blisko danej jednostki w przestrzeni wyznaczonej przez strukturę grafową neuronów.
Winner Takes Most Dlaczego WTA nie wystarcza? Taka reguła adaptacji powoduje że algorytm słabo zbiega. Reguła w której meodyfikuje się nie tylko wagi zwycięzcy ale również jego sąsiadów jest zwana regułą WTM (Winer Takes Most). W praktyce reguła WTA została zastąpiona regułą WTM.
Reprezentacja sieci Dana jest sieć neuronowa modelowana przy pomocy grafu nieskierowanego H = (W, K) gdzie W jest zbiorem wierzchołków (neuronów), zaś K zbiorem krawędzi. Dla każdego wierzchołka v W określamy tak zwane sąsiedztwo s(v) = v {u W (v, u) K}. Załóżmy ponadto, że mamy pewną ilość obiektów (przykładów) opisywanych punktami pewnej przestrzeni R d.
Topologie sieci Samoorganizacja Topologiczna
Cele Samoorganizacja Topologiczna Stawiamy sobie następujące cele: każdemu neuronowi chcemy przypisać d wag (reprezentujących współrzędne pewnego punktu w R d ), powyższe przypisanie ma odpowiadać rozkładowi przestrzennemu przykładów (tzn. jeżeli w danej okolicy jest dużo przykładów, powinno do niej zostać przypisanych wiele neuronów), przypisanie ma odpowiadać strukturze topologicznej grafu, tzn. sasiadujące ze sobą neurony powinny trafiać w niedaleko od siebie położone obszary R d.
Cele Samoorganizacja Topologiczna 20-4 20-4 15-3 15-3 10-2 10-2 5-1 5-1 0 0 0 0-5 -10-10 -5 0 5 1 2 3 10 4-5 -10-10 -5 0 5 1 2 3 10 4
Algorytm - założenia wstępne W dalszym ciągu zakładamy, że dany jest zbiór przykładów P = P 1,...P N R d. Każdemu neuronowi v W przypisujemy wektor wag π(v) R d.
Algorytm Samoorganizacja Topologiczna 1 Wybieramy pewną liczbę T oznaczajacą ilość powtórzeń algorytmu 2 Losujemy wagi przy wszystkich neuronach, 3 Wchodzimy do pętli z licznikiem powtórzen t = 0, 4 Losujemy przykład P, 5 Znajdujemy jednostkę v W której zestaw wag π(v) leży najbliżej P, 6 Dla wszystkich neuronów z sąsiedztwa s(v) wykonujemy π(w) = π(w) + α(t)(p π(w)), 7 Zwiększamy licznik i wracamy do (4).
Uwagi Samoorganizacja Topologiczna α(t) jest funkcją o wartościach dodatnich, malejąca w kolejnych iteracjach algorytmu, na przykład α(t) = 1 t 1 T
Uwagi Samoorganizacja Topologiczna Do algorytmu można wprowadzać modyfikacje, które w znacznym stopniu mogą poprawić jego działanie. Bardzo często inaczej definiuje się sąsiedztwo s(v) i wprowdza drobne zmiany w sposobie uaktualniania wag.
Uwagi Samoorganizacja Topologiczna W rozszerzonej wersji algorytmu Kohonena sąsiedztwem dla neuronu zwycięzcy u jest zbiór: s(v) = v {u W ρ(u, v) λ}, gdzie λ jest to tak zwany promień sąsiedztwa, dodatni parametr algorytmu, początkowo jego wartość powinna być, taka że sąsiedztwo może obejmować więcej niż połowę 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. ρ(u, v) jest to długość najkrótszej ścieżki pomiędzy wierzchołkami u i v.
Rozszerzony algorytm Kohonena 1 Wybieramy pewną liczbę T oznaczajacą ilość powtórzeń algorytmu 2 Losujemy wagi przy wszystkich neuronach, 3 Wchodzimy do pętli z licznikiem powtórzen t = 0, 4 Losujemy przykład P, 5 Znajdujemy jednostkę v W której zestaw wag π(v) leży najbliżej P, 6 Dla wszystkich neuronów z sąsiedztwa s(v) wykonujemy π(w) = π(w) + α(t)g(w, v)(p π(w)), 7 Zwiększamy licznik i wracamy do (4).
Uwagi Samoorganizacja Topologiczna G(w, v) jest to tak zwana funkcja sąsiedztwa, ma ona wartości dodatnie, może ona mieć różne postacie na przykład: kwadratowa funkcja sąsiedztwa gdzie: { 1 ρ(w, v) λ G(w, v) = 0 w p. p. gaussowska funkcja sąsiedztwa gdzie: G(w, v) = exp( ρ2 (w, v) 2λ 2 )
Funkcja sąsiedztwa 1 0.8 0.6 0.4 0.2 06 4 2 0-2 -4-6 -6-4 -2 0 2 4 6
Funkcja sąsiedztwa 1 0.8 0.6 0.4 0.2 1 0.8 0.6 0.4 0.2 06 4 2 0-2 -4-6 -6-4 -2 0 2 4 6 06 4 2 0-2 -4-6 -6-4 -2 0 2 4 6
Funkcja sąsiedztwa - mexican hat 1 0.5 0-0.5-16 4 2 0-2 -4-6 -6-4 -2 0 2 4 6
Uwagi Samoorganizacja Topologiczna Zastosowanie w mapach Kohonena sąsiedztwa gaussowskiego i zmiennego współczynnika adaptacji powinno poprawić rezultaty uczenia i organizację sieci.
Uwagi Samoorganizacja Topologiczna Zły dobór parametrów może mieć wpływ na to, że sieć nie osiągnie pożądanej zbieżności. Na przykład jeśli stopień adaptacji α(t) będzie miał za małe wartości może powstać węzeł, który się nie rozwiąże.
Zastosowania Samoorganizacja Topologiczna Wizualizacja danych o danej strukturze przestrzennej (zadajacej graf) w innym wymiarze (przykłady są wtedy rozłożone jednostajnie na obszarze reprezentacji) przejście do wyższego wymiaru (np. krzywa wypełniająca przestrzeń) przejście do niższego wymiaru (wizualizacja skomplikowanych struktur z zachowaniem topologii ale nie odległości)
Przejście do wyższego wymiaru
Przejście do niższego wymiaru
Dane Samoorganizacja Topologiczna pozwala na graficzne przedstawienie danych wielowymiarowych w przestrzeni o mniejszej liczbie wymiarów. Założenia: danych jest N wektorów K-wymiarowych x n (n = 1, 2,..., N) i odpowiednio do nich definiuje się N wektorów w przestrzeni L-wymiarowej (L = 2, 3), oznaczonych przez y n odległości pomiędzy poszczególnymi wektorami w przestrzeni K-wymiarowej oznaczono przez d nm = d(n, m) odległości pomiędzy poszczególnymi wektorami w przestrzeni L-wymiarowej oznaczono przez d nm = d(n, m) do określenia odległości między wektorami można zastosować dowolną metrykę, w szczególności euklidesową
Idea Samoorganizacja Topologiczna Zadanie odwzorowania nieliniowego Sammona polega na takim doborze wektorów y, aby zminimalizować funkcję błędu E zdefiniowaną w postaci: E = N m<n [d nm d nm ] d nm Do optymalizacji tej funkcji używa się algorytmów gradientowych.
Założenia Samoorganizacja Topologiczna Dane: Sieć H = (W, K), zbiór danych symbolicznych x wraz z miarą odległości. Powinno zachodzić: d(x, x) = 0 d(x, y) = d(y, x) 0
1 Przypisz węzłom losowe prototypy 2 Powtarzaj wiele razy Każdemu wierzchołkowi w przypisz listę takich przykładów, że prototyp p(w) jest do nich najbliższy Każdemu wierzchołkowi w przypisz nowy prototyp medianę uogólnioną z listy klasyfikacyjnej w i list sąsiadów w Wyczyść listy klasyfikacyjne 3 Zwróć sieć
Mediana uogólniona Mediana uogólniona zioru {a 1,..., a n } element a i, który minimalizuje j d 2 (a i, a j )
Reguła Hebba Reguła Oja Reguła Hebba 1949 Jeśli neuron A jest cyklicznie pobudzany przez neuron B, to staje się on jeszcze bardziej czuły na pobudzenie tego neuronu. Konsekwencją stwierdzenia Hebba jest następująca, dwuczęściowa regła: 1 Jeżeli neurony A i B połączone synapsą są pobudzone jednocześnie to połączenie synaptyczne je łączące jest wzmacniane. 2 Jeżeli neurony A i B połączone synapsą są pobudzone niejednocześnie, to połączenie synaptczne je łączące podlega osłabieniu.
Reguła Hebba Reguła Oja Reguła Hebb 1949 Zmiana wag połączenia pomiędzy neuronem A i B według reguły Hebba przebiega w następujący sposób: gdzie: w (k+1) AB = w (k) AB (k) + ηy A y (k) B, w AB waga połączenia synaptycznego pomiędzy neuronem A i B y A stan aktywacji neuronu A y B stan aktywacji neuronu B η współczynnik uczenia
Reguła Hebba Reguła Oja Prosta reguła Hebba Dla danego zestawu przykładów (x (n) ) N n=1, gdzie x (n) = (x (n) (n) 1,..., x k ), będziemy uczyli perceptron liniowy, by zwracał najistotniejszą cechę badanych elementów (cechę dyskryminującą). Da to tak zwany składnik główny zestawu przykładów: wektor w taki, że (w) = n x (n), w 2 jest maksymalizowany wsród wszystkich wektorów o długosci w (w zasadzie więc składnik główny jest kierunkiem, a nie wektorem, jednoznaczność uzyskuję się przez normalizację).
Reguła Hebba Reguła Oja Prosta reguła Hebba Celem uczenia jest wyznaczenie miary podobieństwa pomiędzy dowolnym pojedynczym wzorcem x (n) a rozkładem prawdopodobieństwa P(x (n) ). Reguła Hebba - wzmacnia wyjście Y po każdym kolejnym wejściu, a więc częste wzorce wejściowe będą miały decydujący wpływ na wyjście i będą wywoływać największe aktywacje, natomiast rzadkie wejścia będą miały mały wpływ na wyjścia i będą wywoływać najmniejsze aktywacje.
Reguła Hebba Reguła Oja Prosta reguła Hebba - algorytm 1 Wybieramy przykład x 2 w := w + ηyx, gdzie y jest aktywacją w odpowiedzi na x, 3 Wracamy do 1. wold x yx w new
Reguła Hebba Reguła Oja Reguła Hebba - wady Reguła Hebba prowadzi do niekotrolowanego wzrostu długości wektora wag. w (5) w (3) w (4) w (2) w (1) x 6 w (7) w (6) x 1 x 2 x 3 x 4 x 5 w (8)
Reguła Hebba Reguła Oja Reguła Oja Reguła Oja jest modyfikacją reguły Hebba. Dzięki niej wektor wag ma stałą długość równą 1. Polega ona na dodaniu do reguły Hebba wyrazu zanikania wagi proporcjonalnego do kwadratu aktywacji neuronu. w := w + ηy(x yw)
Reguła Hebba Reguła Oja Reguła Oja x 1 w (2)w (3) x 2 w (4) w (6) x 3 x 4 w (1) w (5) x 5 x 6
Reguła Hebba Reguła Oja Własności reguły Oja Stabilny proces uczenia wymaga, aby po dostatecznie długim czasie uczenia N N E[ w] = w = ηy (n) (x (n) y (n) w) = 0 n=1 n=1 N E[ w] = η y (n) x (n) y 2 w = 0 n=1 N N E[ w] = η w T x (n) x (n) (y (n) ) 2 w = η x (n) (x (n) ) T w (y (n) ) 2 w = 0 n=1 n=1 N x (n) (x (n) ) T = C n=1
Reguła Hebba Reguła Oja Własności reguły Oja Macierz C jest to macierz iloczynu sklarnego. Zauważmy, że η C ij = N n=1 x (n) i x (n) j N x (n) (x (n) ) T w (y (n) ) 2 w = 0 n=1
Reguła Hebba Reguła Oja Własności reguły Oja Z powyższych równań ηcw N (y (n) ) 2 w = 0 n=1 ηcw λw = 0 Cw = λw Wektor wag neuronu uczonego przy użyciu reguły Oja jest wektorem własnym macierzy C.
Reguła Hebba Reguła Oja Macierz C Niech x i będzie wartoścą średnią zbiorów przykładów wejściowych dla i-tej zmiennej, czyli x i = 1 N x (n) i N natomiast σi 2 czyli n=1 wektorem wariancji dla zbior przykładów wejściowych, σ 2 i = 1 N 1 N n=1 (x (n) i x i ) 2.
Reguła Hebba Reguła Oja Macierz C Jeżeli w wyniku preprocesingu (wstępnej obróbki danych) wartość średnia liczona po zbiorze przykładów wynosi 0, czyli wszyskie wektory wejścowe zostały przekształcone za pomocą wzoru: x (n) i = x (n) i x i to C jest macierzą kowariancji. Natomiast, w wyniku preproceingu dane zostały poddane standaryzacji, tzn jeśli wartość średnia liczona po zbiorze przykładów wynosi 0 oraz wariancja wynosi 1, czyli wszyskie wektory wejścowe zostały przekształcone za pomocą wzoru: to C jest macierzą korelacji. x (n) i = x (n) i σ 2 i x i
Reguła Hebba Reguła Oja Własności reguły Oja N N N λ = (y (n) ) 2 = (w T xw T x) = w T ( xx T )w = w T Cw n=1 n=1 n=1 a skoro to Zatem w T w = w = 1. Cw = λw, λ = w T λw.
Reguła Hebba Reguła Oja Własności reguły Oja - podsumowanie 1 długość wektora wag w = 1 2 kierunek wektora wag leży wzdłuż kierunku maksymalnego wektora własnego macierzy korelacji zbioru wzorców weściowych 3 wektor wag maksymalizuje N n=1 (y (n) ) 2