210 likes | 364 Views
Wykład 4 Neuropsychologia komputerowa. Sieci Neuronów: Rekurencja Włodzisław Duch UMK Toruń Google: W Duch. Sieci mają prawie zawsze sprzężenia zwrotne pomiędzy neuronami.
E N D
Wykład 4Neuropsychologia komputerowa Sieci Neuronów: Rekurencja Włodzisław Duch UMK Toruń Google: W Duch
Sieci mają prawie zawsze sprzężenia zwrotne pomiędzy neuronami. Rekurencja: powtórne, powtarzające się pobudzenie, stąd sieci z rekurencją, dwukierunkowe (bidirectional), lub „re-entrant networks”. Od podstaw do góry i odwrotnie, albo rozpoznanie i wyobraźnia. Sprzężenie zwrotne Rekurencja umożliwia dopełnianie wzorców, powstawanie rezonansów pomiędzy skojarzonymi reprezentacjami, wzmacnianie słabych pobudzeń oraz inicjację (bootstraping) rozpoznawania. Przykład: rozpoznaj drugą literę w prostych słowach: NEST REST DEST SEST E w NEST jest rozpoznawane szybciej niż w DEST; rozpoznawanie napisanych słów nie przebiega tylko od liter do słów (jeśli ktoś sprawnie czyta ... ); inne przykłady: rozpoznawanie zniekształconych tekstów.
Projekt Ch3 bidir_Xform.proj, wersja rozpoznawania ze sprzężeniem. Sieć z ukrytą warstwą 2x5, połączoną zwrotnie z wejściami. Symetryczne połączenia: te same wagi Wij=Wji. Rekurencja dla rozpoznawania cyfr Środkowy piksel aktywuje 7 neuronów ukrytych, każdy neuron ukryty aktywuje wszystkie piksele z danej cyfry, ale wejścia są tu brane zawsze z wzorców cyfr, a progi obcinają słabe aktywacje. GridLog Rekurencja: symetryczne połączenia Warto obejrzeć s.wt i r.wt. Kombinacje pobudzeń ukrytych neuronów: COMBOS env_type
W modelu raz zamrożone są wejścia raz wyjścia. Przepływ w obie strony
Projekt Ch3 pat_complete.proj. Sieć z jedną warstwą 5x7, połączoną zwrotnie z sobą. Symetryczne połączenia: te same wagi Wij=Wji. Jednostki należące do wzorca 8 są ze sobą połączonez waga 1, pozostałe mają wagi 0. Aktywacje jednostek wejściowych nie są tu ustalone przez wzorce (hard clamping), a jedynie inicjowane przez te wzorce (soft clamping), więc mogą się zmieniać; weź act, zrób init/step, dla początkowego wzorca częściowo pobudzającego. Dopełnianie wzorców Sprawdź zależność minimalnej liczby jednostek wystarczających do odtworzenia wzorca od przewodności kanałów upływu – czemu tak? Dla dużego ĝl start z częściowego wzorca wymaga coraz większej liczby prawidłowo zainicjowanych pikseli, dla ĝl = 3 potrzeba >6 pikseli, dla ĝl = 4 potrzeba >8 pikseli, dla ĝl = 5 potrzeba >11 pikseli.
Projekt Ch3 amp_top_down.proj. Od bardzo słabej aktywacji jakiegoś wzorca procesy amplifikacji mogą doprowadzić do pełnego pobudzenia wzorca lub niekontrolowanego pobudzenia całej sieci. Sieć ma teraz dwie ukryte warstwy. Wzmacnianie rekurencyjne Słabe pobudzenie prowadzi do wzrostu aktywacji, pobudzenia neuronu 2, i zwrotnego pobudzenia neuronu 1. Dla dużego ĝl>3.5efekt zanika. To samo można zrobić za pomocą sprzężenia wewnątrz warstwy. Słaba aktywacja liter wystarcza do rozpoznawania słowa, ale rozpoznanie słowa może wzmocnić aktywację liter i przyspieszyć odpowiedź: jest to efekt oczekiwania i spełnionych przepowiedni. Jeśli słowo jest dobrze znane to aktywacja szybciej wzrośnie, więc czasy reakcji są krótsze, jeśli to tylko zbitka sylab to niewiele się zmieni.
Projekt Ch3 amp_top_down.dist.proj. Rozproszona aktywacja może prowadzić do niekontrolowanego pobudzenia całej sieci. 2 obiekty: TV i Syntezer; 3 cechy: ekran CRT, Głośnik i Klawiatura. TV ma CRT i Głośnik, Syntezer ma Głośnik i Klawiaturę – jedna cecha jest wspólna. Wzmacnianie RR Sprzężenie prowadzi do aktywacji warstwy 1, potem 2, znowu 1, rekurencyjnie. Startując z dowolnego pobudzenia na wejściu, Głośnik aktywizuje obydwa neurony, TV i syntezer, a te wszystkie 3 cechy w warstwie 1, w efekcie wszystkie elementy są w pełni aktywne. Manipulacje wartością ĝl~ 1.737 pokazują, jak niestabilna jest taka sieć => potrzebujemy hamowania! Dla aktywacji niejednoznacznej Speakers albo nie mamy wcale aktywacji albo wszystko się pobudza – mocno niestabilna sytuacja.
Kanał upływu pozwala na pewną regulację nadmiernej aktywacji ale potrzebny jest mechanizm reagujący dynamicznie, a nie stały prąd upływu – ujemne sprzężenie zwrotne, realizowana w mózgu przez hamujące neurony wstawkowe. Neurony hamujące same siebie hamują. Oddziaływania hamujące Dwa typy hamowania: dzięki wykorzystaniu tych samych projekcji wejściowych możliwa jest antycypacja pobudzenia i hamowanie bezpośrednie; takie selektywne hamowanie pozwala na selekcję neuronów najlepiej dostosowanych do specyficznych sygnałów. Hamowanie może być też reakcją na zbytnie pobudzenie neuronu.
Model z neuronami hamującymi jest kosztowny: są dodatkowe neurony i trzeba robić symulacje z małym krokiem czasowym by uniknąć oscylacji. Można zastosować prostsze modele konkurencji miedzy neuronami, prowadzące do selekcji zwykle niewielkiej liczby aktywnych neuronów (sparse distributed representation). Parametry hamowania • Parametry hamowania: • g_bar_i_inhib, hamowanie własne neuronu • g_bar_i_hidden, hamowanie neuronów ukrytych • scale_ff, wagi połaczeń ff, wejście-hamujące • scale_fb, wagi połaczeń zwrotnych
k zwycięzców bierze wszystko (k Winners Take All), najczęstsza aproksymacja zostawiająca tylko k aktywnych neuronów. Idea: neurony hamujące zmniejszają pobudzenie, trzeba dodać funkcję hamującą tak, by system znalazł się koło punktu, w którym nie więcej niż k neuronów może być jednocześnie aktywnych. 1. Znajdź k najbardziej pobudzonych neuronów w warstwie. 2. Oblicz jaki poziom hamowania jest potrzebny by tylko te zostały powyżej progu. Aproksymacja kWTA Rozkład poziomów pobudzeń w większej sieci powinien mieć charakter gaussowski. Musimy znaleźć taki poziom pobudzenia progowego giQ by dla wartości pomiędzy k i k+1 mogło go zbalansować hamowanie. Dwa sposoby: proste i uśredniane.
Równowaga dla potencjału Q dla którego nie płyną prądy ustala się dla danego neuronu przy wartości przewodnictwa hamowania: kWTA proste ge* to czysta aktywacja pobudzająca (bez bias) Dla zapewnienia, że tylko k neuronów jest powyżej progu bierzemy: Zwykle stała q=0.25; zależnie od rozkładu pobudzeń w warstwie możemy mieć wyraźną separację (c), hamować tylko mocno aktywne neurony (b), lub mieć sytuację pośrednią (a).
W tej wersji przewodność hamowania ustalona jest pomiędzy średnią z k najbardziej aktywnych neuronów i n-k pozostałych neuronów. kWTA uśredniane Wartość pośrednia wyliczana jest z: Zależnie od rozkładu mamy w (b) niższą wartość niż poprzednio, a w (c) wartość wyższą, co daje nieco lepsze rezultaty.
Projekt Ch3 inhib.proj. Wejście 10x10, ukryta warstwa 10x10 2x10 neuronów hamujących, realistyczne proporcje to ok. 15%. Sieć dwukierunkowa ma hamowanie wewnątrz warstwy ukrytej; kWTA stabilizuje jej aktywność. Projekty z kWTA Większość wag ma wartości przypadkowe, tylko dla hamowania wszystkie są 0.5. Pomimo bardzo małych prądów upływu gl ~0.01 sieć się stabilizuje i tylko nieliczne jednostki (rzędu 10%) przyjmują duże wartości. Średni poziom aktywności warstwy ukrytej inhib to 10%, a neuronów pobudzających rzędu 16%. Nauczone wagi mają znacznie większą wariancję, ale nadal jest stabilnie.
Projekt Ch3 inhib.proj. Włączamy Bdirexcite by dodać drugą warstwę ukrytą, zawierającą również neurony hamujące. Początkowa średnia aktywacja jest podobna do poprzedniej, ale po uaktywnieniu drugiej warstwy znacznie wzrasta. Padaczka: bd_hidden_g_bar.i=1.1 Zwiększa pobudliwość drugiej warstwy, wystarczy by wszystko się wzbudziło. Sprzężenie z drugą warstwą ukrytą W tym modelu można badać różne efekty uwzględniania hamowania; uśrednione kWTA i 6 innych wersji.
Projekt Ch3 inhib_digits.proj. Sieć z lokalnymi transformacjami do jednego aktywnego neuronu wyjściowego, dla k=1 daje jednoznaczne pobudzenia. kWTA i cyfry Dla rozproszonego wyjścia hamowanie może dać tylko pojedyncze aktywne jednostki na wyjściu (co bez dodatkowej warstwy nie pozwala rozwiązać danego zadania), a dla większego k kombinacje 2 lub 3 aktywnych jednostek.
Pobudzenia ze środowiska, hamowanie i aktywacje wewnętrzne zgodne z ustalonymi parametrami sieci muszą tworzą zbiór ograniczeń na możliwe do przyjęcia stany; ewolucja pobudzeń w sieci powinna prowadzić do spełnienia tych ograniczeń. Spełnianie ograniczeń • Dynamika atraktorowa • Energia systemu • Rola szumu • Zmiany w czasie, startując z „basenu atrakcji”, czyli zbioru różnych stanów początkowych, zmierzają do ustalonego stanu. Stan atraktorowy maksymalizuje „harmonię” pomiędzy wiedzą wewnętrzną zawartą w parametrach sieci i informacją ze środowiska.
Najbardziej ogólna zasada przyrody: minimalizacja energii! Jak wygląda wyrażenie na energię? Energia gdzie sumowanie biegnie po wszystkich parach neuronów, mamy tu ważoną aktywację dla wszystkich neuronów. Harmonia = -E jest największa gdy energia jest najmniejsza. Jeśli wagi są symetrycznie to minimum takiego wyrażenia na energię jest w jednym punkcie (atraktor punktowy); jeśli nie to atraktory mogą być cykliczne, kwaziperiodyczne lub chaotyczne. Dla sieci z liniową aktywacją wyjście jest => Pochodna harmonii = yj pokazuje kierunek wzrostu harmonii, a więc taka zmiana aktywacji zwiększa harmonię (zmniejsza energię).
Fluktuacje na poziomie kwantowym jak i wkład od wielu przypadkowych procesów zachodzących w większej sieci neuronów tworzy szum. Szum zmienia momenty wysyłania impulsów, pomaga unikać lokalnych rozwiązań o małej harmonii, dostarcza energii wpływa na procesy rezonansowe, przełamuje impasy. Rola szumu Szum nie pozwala popadać w rutynę, umożliwia eksplorację nowych rozwiązań, jest też prawdopodobnie konieczny do kreatywności. Szum w korze ruchowej nie pozwala być zbyt doskonałym koszykarzem. Demonstracja roli szumu w układzie wzrokowym.
Spełnianie ograniczeń dokonuje się w sieci przez równoległe szukanie w przestrzeni aktywacji neuronów. Hamowanie pozwala ograniczyć przestrzeń poszukiwań, przyspieszając procesy szukania jeśli tylko rozwiązanie nadal znajduje się w dostępnej przestrzeni stanów. Hamowanie i spełnianie ograniczeń Bez kWTA wszystkie stany w układzie dwóch neuronów są dostępne; efektem ograniczenia kWTA jest koordynacja aktywności obu neuronów.
Projekt Ch3 cats_and_dogs.proj. Spełnianie ograniczeń: koty i psy Wiedza zakodowana w sieci jest taka sama jak w Tabeli. Jest to jednak sieć semantyczna, więc generalizuje na temat własności różnych obiektów, tutaj kotów i psów. Startując od imienia odtwarza się tabela, a startując od kota odtwarzają się informacje o kotach. Stan sieci <= ograniczeń ustalonych aktywacji (wejść) + wag.
Projekt Ch3 necker_cube.proj, bistabilność percepcji. Sześcian można widzieć albo bliższa ścianą w lewo albo w prawo. Tancerka kręci się w lewo lub w prawo … trudniejsze? Spełnianie ograniczeń: sześcian Procesy bistabilne można symulować uwzględniając szum i akomodację neuronów, wtedy uwaga przerzuca się z jednej interpretacji na drugą.