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