(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