Wykład 6 Neuropsychologia komputerowa Uczenie II Samoorganizacja i korekcja błędów Włodzisław Duch UMK Toruń Google: W Duch Uczenie: rodzaje 1. Jak powinien wyglądać idealny system, który się uczy? 2. Jak uczy się człowiek? Detektory (neurony) mogą zmieniać lokalne parametry ale chcemy osiągnąć zmianę działania całej sieci przetwarzającej informację. Rozważymy dwa rodzaje uczenia, wymagające innych mechanizmów: • Uczenie się wewnętrznego modelu środowiska (spontaniczne). • Uczenie się zadania, postawionego przed siecią (nadzorowane). • Połączenie jednego i drugiego. Uczenie działań Jeden neuron wyjściowy niewiele może się nauczyć. Działanie = transformacja sensomotryczna, percepcja-działanie. Stymulacja i wybór odpowiedniego działania, interpretacji, oczekiwań, planu ... Jakiego rodzaju formy uczenia pozwala to wyjaśnić? Jakie formy uczenia wymagają dodatkowych mechanizmów? Symulacja Wybieramy Self_org.proj z Ch4. Na siatce 5x5 mamy albo jedną linię poziomą lub pionową (10 wzorców), albo kombinację dwóch linii (45 wzorców). Korelacja pomiędzy wszystkimi pikselami dla całej bazy wzorców da jednakową wartość. Uczenie jest możliwe tylko dla poszczególnych linii. Cud: reguła Hebba + kWTA wystarcza by sieć nauczyła się tworzyć prawidłowe reprezentacje wewnętrzne! Symulacja 4x5 = 20 neuronów ukrytych, kWTA. Po nauczeniu (ok. 30 epok prezentacji wszystkich par linii), pojawiają się jednostki selektywnie działające dla pojedynczych linii, a więc tylko 2 dla dwóch, kombinatoryczna reprezentacja! Początkowe reakcje jednostek na wzorce są przypadkowe, ale zwycięzca się szybko wzmacnia. Zostaje trochę (5) nieaktywnych jednostek, potrzebnych do nauczenia się nowych wzorców. Jest samoorganizacja, nie ma jednak reprezentacji topograficznej, bo sąsiednie jednostki reagują na całkiem inne cechy. Dodatkowe okienko: ile unikalnych wzorców wewnętrznych dla pojedynczych linii: 10 to znaczy, że wszystkie prawidłowe. Mapy senso-motoryczne Samoorganizację modeluje się na wiele sposobów; proste modele pomocne są w wyjaśnieniu jakościowych cech map topograficznych. Rys za: P.S. Churchland, T.J. Sejnowski, The computational brain. MIT Press, 1992 Mapy motoryczne i somatosensoryczne To bardzo uproszczony obraz, w rzeczywistości większość neuronów jest wielomodalna, neurony w korze ruchowej reagują na bodźce czuciowe, słuchowe i wzrokowe (neurony lustrzane), wiele wyspecjalizowanych obwodów percepcji-działania-nazywania. Reprezentacja palców: plastyczność Ręka Przed stymulacją Twarz Po stymulacji Najprostsze modele SOM lub SOFM (Self-Organized Feature Mapping) – self-organizing feature map, jeden z najbardziej popularnych modeli. Jak mapy topograficzne mogą się utworzyć w mózgu? Lokalne połączenia neuronów tworzą grupy silnie ze sobą oddziaływujących, słabiej na większe odległości i hamujących pobliskie grupy. Historia: von der Malsburg i Willshaw (1976), uczenie konkurencyjne, Hebbowskie z potencjałem „Mexican hat”, głównie układ wzrokowy. Amari (1980) – modele warstwowe tkanki neuronowej. Kohonen (1981) – uproszczenie bez hamowania; tylko dwa niezbędne czynniki: konkurencja i kooperacja. SOM: idea Dane: wektory XT = (X1, ... Xd) z d-wymiarowej przestrzeni. Siatka węzłów z lokalnymi procesorami (neuronami) w każdym węźle. Lokalny procesor # j ma d parameterów adaptacyjnych W(j). Cel: dostosuj parametry W(j) tak by modelować klastry w p-ni X. Trenowanie SOM o x=dane o=pozycje wag neuronów x o o o o x o o x o xo N-wymiarowa przestrzeń danych o o o wagi wskazują na punkty w N-D siatka neuronów w 2-D Demonstracje uczenia konkurencyjnego w Java: http://www.neuroinformatik.ruhr-uni-bochum.de/ ini/VDM/research/gsn/DemoGNG/GNG.html SOM algorithm: competition Nodes should calculate similarity of input data to their parameters. Input vector X is compared to node parameters W. Similar = minimal distance or maximal scalar product. Competition: find node j=c with W most similar to X. XW ( j) X i Wi ( j) 2 i c arg min X W ( j ) j Node number c is most similar to the input vector X It is a winner, and it will learn to be more similar to X, hence this is a “competitive learning” procedure. Brain: those neurons that react to some signals pick it up and learn. SOM algorithm: cooperation Cooperation: nodes on a grid close to the winner c should behave similarly. Define the “neighborhood function” O(c): h( r, rc , t ) h0 (t )exp r rc / c 2 (t ) 2 t – iteration number (or time); rc – position of the winning node c (in physical space, usually 2D). ||r-rc|| – distance from the winning node, scaled by c(t). h0(t) – slowly decreasing multiplicative factor The neighborhood function determines how strongly the parameters of the winning node and nodes in its neighborhood will be changed, making them more similar to data X SOM algorithm: dynamics Adaptation rule: take the winner node c, and those in its neighborhood O(rc), change their parameters making them more similar to the data X For i O c W( i ) t 1 W( i ) t h ri , rc ,t X t W( i ) t Select randomly new sample vector X, and repeat. Decrease h0(t) slowly until there will be no changes. Result: • W(i) ≈ the center of local clusters in the X feature space • Nodes in the neighborhood point to adjacent areas in X space Mapy i zniekształcenia Initial distortions may slowly disappear or may get frozen ... giving the user a completely distorted view of reality. Demonstracje za pomocą GNG Growing Self-Organizing Networks demo Parametery programu SOM: t – iteracje e(t) = ei (ef / ei )t/tmax (t) = i (f / i )t/tmax określa krok uczenia określa rozmiar sąsiedztwa h(r, rc , t, e , ) e (t )exp r rc / 2 (t ) 2 Mapy 1x30 pokazują formację krzywych Peano. Można spróbować odtworzyć mapy Penfielda. Mapowanie kWTA CPCA Niestety uczenie Hebbowskie nie wystarczy by nauczyć się dowolnej relacji pomiędzy wejściem i wyjściem. Przykład z Rozdziału 5, opisany w 5.2. Ch5, pat_assoc.proj Symulacje dla 3 zadań, od łatwego do niemożliwego, bo wszystkie korelacje <xiyj> są identyczne. Takie zadanie jest nieseparowalne. Uczenie zadań Z takim zadaniem nie mamy trudności, a uczenie Hebbowskie nie wystarczy by się go nauczyć; nie można się nauczyć dowolnej relacji pomiędzy wejściem i wyjściem. Może to zrobić uczenie oparte na korekcji błędów. Skąd bierze się cele? Od „nauczyciela”, lub konfrontując z przewidywaniami modelu wewnętrznego. a) jawny sygnał wyjściowy i jego korekta (typowe); b) wewnętrzne oczekiwanie i korekta; c) oczekiwania rezultatów ruchu d) rekonstrukcja wewnętrzna Niezgodność modalności Reguła Delta Idea: wagi wik należy tak korygować by zmieniały się mocno dla dużych błędów i nie ulegały zmianie jeśli błędu nie ma, więc Dwik ~ ||tk – ok|| si Zmiana wagi jest proporcjonalna do wielkości pobudzenia przez wejścia si Faza + jest prezentacją celu, faza – wynikiem sieci. To jest reguła Delta. Oczekiwania mają się zrównać z generowanymi sygnałami. Przypisywanie zasług Credit/blame assignment Dwik =e ||tk – ok|| si Błąd jest lokalny, dla wzorca k. Jeśli powstał duży błąd i wyjście ok jest znacznie mniejsze niż oczekiwane to neurony wejściowe o dużej aktywności jeszcze ją zwiększą. Jeśli wyjście ok jest znacznie większe niż oczekiwane to neurony wejściowe o dużej aktywności znacznie ją zmniejszą. Np. wejścia si to ilość kalorii w różnym pożywieniu, wyjście to umiarkowana waga; za dużo to trzeba zmniejszyć wysokokaloryczne wagi (spożycie), za mało to trzeba zwiększyć. Reprezentacje tworzone przez proces minimalizacji błędu są wynikiem najlepszego przypisania zasług do wielu jednostek, a nie największej korelacji (jak w modelach Hebbowskich). Uczenie zadań Chcemy: uczenie Hebbowskie i uczenie wykorzystujące korekcję błędów, jednostki ukryte i biologicznie uzasadnione modele. Kombinacja korekcji błędów i korelacji da się uzgodnić z tym co wiadomo o LTP/LTD Dwij = e [ xi yj + xi yj ] Hebbowskie sieci modelują stany świata ale nie percepcje-działanie. Korekcja błędu może się nauczyć mapowania stanów na działania. Niestety reguła delta dobra jest tylko dla jednostki wyjściowej, a nie ukrytej, bo trzeba jej podać cel. Metoda wstecznej propagacji błędu potrafi uczyć jednostki ukryte. Ale nie ma dla niej dobrego uzasadnienia biologicznego ... . Symulacje Wybieramy z Ch5 pat_assoc.proj, Opis: Rozdz. 5. 5 Reguła Delta potrafi się nauczyć trudnych odwzorowań, przynajmniej teoretycznie ... Na początku jest CPCA; można sprawdzić, że żadne parametry nie pomagają; ale po przełączeniu na Delta też się nie udaje ... Co robić? Trzeba się nauczyć propagacji błędów.