Sieci Kohonena
Transkrypt
Sieci Kohonena
PWSZ Głogów Sztuczna Inteligencja w identyfikacji i sterowaniu Laboratorium Sieci Kohonena Wiadomości wstępne Sieć Kohonena jest przykładem sieci samoorganizującej się, w której realizowany jest nienadzorowany proces uczenia. Taka strategia uczenia polega na samodzielnym odkrywaniu wzorców, właściwości, regularności i wzajemnych powiązań we wzorcach uczących. W odróżnieniu od standardowych nadzorowanych strategii uczenia, w przypadku uczenia nienadzorowanego wzorce wejściowe służą do samodzielnego wyekstrachowania pewnej wiedzy w nich zawartej. Formalnie, podczas procesu uczenia, nie ma sprzężenia zwrotnego z badanym procesem. Parametry sieci neuronowej są dostrajane według odpowiedniej procedury uczenia wykorzystując tylko wzorce wejściowe. Modele neuronów oraz połączenia sieciowe powinny zatem wykazywać pewien poziom samoorganizacji. Uczenie bez nadzoru może okazać się pożyteczne tylko wówczas, gdy istnieje nadmiarowość danych uczących. Struktura sieci Przykładowa struktura dwu-wymiarowej mapy cech Kohonena pokazana jest na rys. 1. Wejścia sieci połączone są z neuronami warstwy konkurencyjnej w sposób zupełny (każdy z każdym). Warstwa konkurencyjna jest zarazem warstwą wyjściową, która generuje wyniki działania sieci. stan normalny uszkodzenie f1 uszkodzenie f2 {wij } u1 u2 Rys. 1. Dwu-wymiarowa samoorganizująca się mapa cech Kohonena Algorytm uczenia Parametry wagowe wij są adaptowane z wykorzystaniem reguły zwycięzca bierze wszystko (ang. winner takes all ) ||u(k) − wc (k)|| = min{||u(k) − wi (k)||}, i (1) gdzie u(k) jest wektorem wejściowym, wc (k) – wektorem wag neuronu zwycięzcy oraz wi (k) jest wektorem wagowym i-tego neuronu. W odróżnieniu od sieci konkurencyjnych, w sieci Kohonena oprócz adaptacji parametrów tylko neuronu zwycięzcy, są dostrajane współczynniki wagowe wszystkich neuronów wewnątrz pewnego sąsiedztwa, według reguły: ( (1 − α)wi (k) + αui (k), dla i ∈ Ω, wi (k + 1) = (2) wi (k), w przeciwnym przypadku, gdzie Ω oznacza sąsiedztwo neuronu zwycięzcy, a α jest krokiem uczenia. Krok uczenia Krok uczenia w sieci Kohonena jest wyznaczany na podstawie monotonicznie malejącej funkcji. Często stosowanymi funkcjami są: α(t) = 1/t, czy α(t) = at−a dla 0 < a 6 1. Zależność iteracyjna współczynnika uczenia prowadzi do stopniowego ustalania się mapy obszarów wejściowych. W początkowej fazie następuje przyporządkowanie każdej klasie obrazów wejściowych pewnego zbioru elementów warstwy przetwarzającej. Wraz ze zmniejszaniem się wartości współczynnika uczenia zachodzi proces precyzyjnego dopasowania wag w poszczególnych obszarach warstwy konkurencyjnej. Sąsiedztwo Kolejnym istotnym elementem jest idea sąsiedztwa, która jest niezwykle ważna podczas a) b) neuron zwyciêzca s¹siedztwo o promieniu 1 s¹siedztwo o promieniu 2 Rys. 2. Sąsiedztwo neuronu zwycięzcy: a) na siatce heksagonalnej, b) na siatce prostokątnej przetwarzania neuronowego. Rysunek 2 pokazuje sąsiedztwa o promieniu 1 i 2. Sąsiedztwo może być zdefiniowane przy użyciu różnych metryk, np. Euklidesowej, Manhatan i innych. Zdefiniowanie sąsiedztwa ma wpływ na liczbę neuronów, których wagi poddawane są modyfikacji (rys. 2). Do sąsiedztwa o promieniu 1 zdefiniowanego na siatce prostokątnej należy 9 neuronów, natomiast to samo sąsiedztwo zdefiniowane na siatce heksagonalnej zawiera 7 neuronów. Dynamiczna zmiana sąsiedztwa podczas procesu uczenia korzystnie wpływa na szybkość ustalania się mapy cech. Proces ustalania połączeń wagowych zaczyna się od sąsiedztwa o dużym promieniu, a następnie zmniejsza się je stopniowo w miarę postępów uczenia. Zapewnia to sieci szybkie ukształtowanie mapy cech, a nastepnie powolne dostrajanie szczegółów względem danych uczących. Typowa funkcja sąsiedztwa ma postać tzw. kapelusza meksykańskiego. Po zakończeniu procesu uczenia sieci, bardzo 2 istotnym zagadnieniem jest umiejętność zdefiniowania/powiązania wyników klasteryzacji z wynikami rozwiązywanego problemu. Należy określić które neurony mapy cech Kohonena stają się aktywne w przypadku podania na wejście wzorca należącego do określonej klasy. Zadania 1. Zapoznać się z m-plikami przybornika NNET dotyczącymi sieci Kohonena: newsom – tworzenie nowej mapy cech compet – konkurencyjna funkcja aktywacji mandist – miara odległości Manhattan dist – miara odległości euklidesowej hextop – topologia siatki heksagonalnej gridtop – topologia siatki kwadratwej 2. Zastosować jedno-wymiarową mapę cech Kohonena do odwzorowania dwu-wymiarowych wzorców wejściowych. Warstwa konkurencyjna powinna składać się z 65 neuronów. Wzorce wejściowe wygenerować jako punkty losowe o rozkładzie równomiernym z obszaru określonego przez wierzchołki trójkąta A = (−1, 0), B = (1, 0), C = (0, 1). Porównać mapę cech wygenerowaną po 0, 20, 100, 1000, 10000 i 25000 iteracjach. 3. Rozwiązać zadanie klasyfikacji wzorców należących do 4 różnych klas przy pomocy dwu-wymiarowej mapy cech Kohonena o rozmiarze 10 × 10 neuronów. Wzorce wejściowe przyjąć jako 8-mio wymiarowe wektory, wygenerowane przy pomocy rozkładu normalnego z odchyleniem standardowym równym 1. Każda klasa ma natomiast inną wartość oczekiwaną rozkładu normalnego: Kl1 – m1 = (0, 0, 0, . . . , 0). Kl2 – m2 = (4, 0, 0, . . . , 0), Kl3 – m3 = (4, 4, 0, . . . , 0) i Kl4 – m4 (0, 4, 0, . . . , 0). Wygenerować mapę cech po nauczeniu. Nadać neuronom numer klasy na którą stają się aktywne. 4. Wygenerować wzorce uczące w postaci okręgu, kwadrata, litery L i podkowy. Odwzorować te wzorce za pomocą mapy cech. Zaobserwować wpływ rozmiaru mapy cech na wyniki samoorganizacji. Porównać wyniki samoorganizacji otrzymane za pomocą algorytmu Kohonena i algorytmu gazu neuronowego. 5. Zastosować mapę cech Kohonena do kompresji obrazu graficznego. 3