1 / 30

Wykład 7 Neuropsychologia komputerowa

Wykład 7 Neuropsychologia komputerowa. Uczenie III Uniwersalne modele uczenia Włodzisław Duch UMK Toruń Google: W Duch. Chcemy połączyć uczenie Hebbowskie i uczenie wykorzystujące korekcję błędów, jednostki ukryte i biologicznie uzasadnione modele.

osias
Download Presentation

Wykład 7 Neuropsychologia komputerowa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wykład 7 Neuropsychologia komputerowa Uczenie III Uniwersalne modele uczenia Włodzisław Duch UMK Toruń Google: W Duch

  2. Chcemy połączyć uczenie Hebbowskie i uczenie wykorzystujące korekcję błędów, jednostki ukryte i biologicznie uzasadnione modele. Hebbowskie sieci modelują stany świata ale nie percepcje-działanie. Korekcja błędu może się nauczyć mapowania. 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 ... Idea wstecznej propagacji jest prosta ale jej dokładniejsze rozpisanie wymaga sporo obliczeń. Główna idea: szukamy minimum funkcji błędu, mierzącej różnice między pożądanym zachowaniem i tym realizowanym przez sieć. Uczenie zadań

  3. E(w) – f. błędu, zależna od wszystkich parametrów sieci w, jest to suma błędów E(X;w) dla wszystkich wzorców X. ok(X;w) – wartości osiągane na wyjściu nr. k sieci dla wzorca X. tk(X;w)– wartości pożądane na wyjściu nr. k sieci dla wzorca X. Jeden wzorzec X, jeden parametr w to: Funkcja błędu Wartość f. błędu =0 nie zawsze jest osiągalna, sieć może nie mieć wystarczająco dużo parametrów by się nauczyć pożądanego zachowania, można jedynie dążyć do najmniejszego błędu. W minimum błąd E(X;w) jest dla parametru w dla pochodnej dE(X;w)/dw = 0. Dla wielu parametrów mamy pochodne po wszystkich, dE/dwi, czyli gradient.

  4. Reguła delta minimalizuje błąd dla jednego neuronu, np. wyjściowego, do którego docierają sygnały si Dwik =e ||tk – ok|| si Propagacja błędu Jakie sygnały należy brać dla neuronów ukrytych? Najpierw przepuszczamy sygnały przez sieć obliczając aktywacje h, wyjściowe sygnały z neuronów h, przez wszystkie warstwy, aż do wyjść ok (forward step). Obliczamy błędy dk = (tk-ok), i poprawki dla neuronów wyjściowych Dwik = edkhi. Błąd dla ukrytych neuronów: dj = e Sk wjk dk hj(1-hj), backward step (backpropagation of error).

  5. Chociaż większość modeli używanych w psychologii uczy struktury wielowarstwowych perceptronów za pomocą odmian wstecznej propagacji (można się w ten sposób nauczyć dowolnej funkcji) idea przekazu informacji o błędach nie ma biologicznego uzasadnienia. GeneRec GeneRec (General Recirculation, O’Reilly 1996), Propagacja sygnału w obie strony, niesymetryczne wagi wkl  wjk. Najpierw faza –, opowiedź sieci na aktywację x– = si daje wyjście y–=ok, potem obserwacja pożądanego wyniku y+ = tk i propagacja do wejścia x+. Zmiana wagi wymaga informacji o sygnałach z obu faz.

  6. Reguła uczenia jest zgodna z regułą delta: GeneRec - uczenie W porównaniu z wsteczną propagacją różnica sygnałów [y+ - y-] zastępuje sumaryczny błąd, różnica sygnałów ~ różnic aktywności * pochodna funkcji aktywacji, stąd jest to reguła gradientowa. Dla nastawień b jest xi=1, więc: Dwukierunkowe przesyłanie informacji jest niemal równoczesne (P300 pokazuje oczekiwania wewnętrzne), odpowiada za powstawanie stanów atraktorowych, spełnianie ograniczeń, dopełnianie wzorców. Błędy są wynikiem aktywności w całej sieci, nieco lepsze wyniki dostaniemy biorąc średnią [x++x-]/2 i zachowując symetrię wag: Reguła CHL (Contrastive Hebbian Rule)

  7. Skąd bierze się błąd do korygowania połączeń synaptycznych? Dwie fazy Warstwa po prawej stronie = środkowa po czasie t+1; np. wymowa słów: a) i c) korekta zewnętrzna działania; b) oczekiwania wewnętrzne i własna wymowa; d) rekonstrukcja działania (np. kora ciemieniowa).

  8. Uczenie Hebbowskie tworzy model świata, zapamiętując korelacje, ale nie potrafi się nauczyć wykonywania zadań. Ukryte warstwy pozwalają na transformację problemu a korekcja błędu uczenia się wykonywania trudnych zadań, relacji wejść i wyjść. Kombinacja uczenia Hebbowskiego – korelacji (xi yj)– i uczenia opartego na błędach może się nauczyć wszystkiego w poprawny biologicznie sposób: CHL prowadzi do symetrii, wystarczy przybliżona symetria, połączenia są zwykle dwukierunkowe. Err = CHL w tabelce. Własności GeneRec Brak Ca2+ = nie ma uczenia; mało Ca2+ = LTD, dużo Ca2+ = LTP LTD – niespełnione oczekiwania, tylko faza -, brak wzmocnienia z +.

  9. Widać, że dobrze połączyć uczenie Hebbowskie i korekcję błędów CHL Kombinacja Hebb + błędy Korelacje i błędy: Kombinacja Dodatkowo potrzebne jest hamowanie wewnątrz warstw: tworzy oszczędne reprezentacje wewnętrzne, jednostki konkurują ze sobą, zostają tylko najlepsze, wyspecjalizowane, umożliwia samoorganizujące się uczenie.

  10. Ch5, Genrec.proj, rozdz. 5.9 3 ukryte jednostki. Uczenie jest przerywane po 5 epokach bez błędu. Symulacje trudnego problemu Błędy w czasie uczenia wykazują znaczne fluktuacje – sieci z rekurencją są wrażliwe na małe zmiany wag, eksplorują różne rozwiązania. Porównaj z uczeniem przypadków łatwych i trudnych z samym Hebbem.

  11. 6 zasad budowy inteligentnego systemu. Hamowanie wewnątrz warstw, uczenie Hebbowskie + korekcja błędów dla wag pomiędzy warstwami. Pełny model Leabra

  12. Sama reguła GeneRec nie prowadzi do dobrej generalizacji. Symulacje: Ch6, model_and_task.proj. Generalizacja w sieciach atraktorowych learn_rule = PURE_ERR, PURE_HEBB lub HEBB_AND_ERR Trenowanie na 35, testowanie co 5 epok na pozostałych 10 wzorcach, wykresy. Uczenie za pomocą samej korekcji błędów nie daje dobrych rezultatów.Parametr hebb kontroluje ile CHL, a ile korelacji Hebba. Pure_err realizuje tylko CHL, sprawdzić fazy - i + uczenia. Warto porównać rep. wewnętrzne dla różnych rodzajów uczenia. Sam Hebb się czasami dobrze nauczy dla tych danych. Generalizacja wymaga dobrych rep. wewnętrznych linii = silnych korelacji, a sama korekcja błędu nie ogranicza dostatecznie silnie wewnętrznych reprezentacji, dopiero Hebb + kWTA to zrobi.

  13. Czarna linia = cnt_err, błędy na danych treningowych. Generalizacja: wykresy Czerwona = unq_pats, ile linii reprezentowanych jest w unikalny sposób przez warstwę ukrytą (max=10). Niebieska = gen_Cnt, ocenia generalizację dla 10 nowych linii, widać na końcu 8 błędów. Wagi wydają się dość przypadkowe. Generalizacja jest zła dla reguły opartej wyłącznie na korekcji błędu, bo nie ma żadnych warunków wymuszających sensowne reprezentacje wewnętrzne. Batch Run powtarza to 5 razy (powolne).

  14. Szybka zbieżność, powstają dobre reprezentacje wewnętrzne. Generalizacja: korekcja błędów + Hebb

  15. Jak nauczyć się jak najwięcej ucząc się jak najmniej? Potrzebne są dobre reprezentacje wewnętrzne. Dobre reprezentacje Jeśli reprezentacje są całkiem niezależne to nie mają wspólnych cech, co utrudnia skojarzenia, ale mogą być wykorzystane kombinatory-cznie, w nowych sytuacjach, np. do wypowiadania nowych słów; jeśli integracja jest zbyt silna to są skojarzenia ale nie niezależne kombinacje Uczenie Hebbowskie + konkurencja oparta na hamowaniu ograniczają korekcję błędów tak, by utworzyć dobre reprezentacje, lub atraktory częściowo zlokalizowane (componential attractors).

  16. Do nauczenia się trudnych zagadnień potrzebnych jest wiele transformacji, mocno zmieniających reprezentację problemu. Głębokie sieci (deep networks) Sygnały błędu stają się słabe i uczenie jest trudne. Trzeba dodać ograniczenia i samoorganizujące się uczenie. Analogia: Balansowanie kilkoma połączonym kijkami jest trudne, ale dodanie samoorganizującego się uczenia pomiędzy fragmentami znacznie to uprości – jak dodanie żyroskopu do każdego elementu.

  17. Przykład symulacji: family_trees.proj.gz, rozdz. 6.4.1 Drzewo rodzinne Mamy 24 osoby = agent, Patient – wyjście, czyli druga osoba; relation–wejście. Mamy 12 relacji: mąż, żona, syn, córka, ojciec, matka, brat, siostra, ciotka, wujek, kuzyn, kuzynka. Generalizacja wymaga obserwacji relacji pomiędzy osobami.

  18. Jak nauczyć sieć relacji rodzinnych? Podajemy wszystkie relacje rodzinne, zgodnie z drzewem poniżej; potrzeba ponad 30 epok, ale BP potrzebuje prawie 80. Tym razem samo Hebbowskie uczenie nie wystarcza. Drzewo rodzinne Init_cluster + Cluster run.

  19. Przed nauczeniem i po nauczeniu: w lewym panelu rozwinąć "networks", kliknąć na family_trees, wybrać Object, Load Weights i załadować family_trees_hebb_and_err.wts; potem w Control Panel uruchomić Cluster Run – co oznacza? Klastry

  20. Oprócz rozpoznawania obiektów i relacji oraz wykonywania zadań istotne jest uczenie się sekwencyjne, np. sekwencji słów w zdaniach: Ten kraj znasz dobrze. Znasz dobrze ten kraj? Dziecko podniosło zabawkę do góry. Przejechałem skrzyżowanie bo samochód z prawej strony dopiero się zbliżał. Znaczenie słów, gestów, zachowania, zależy od sekwencji, kontekstu. Czas pełni istotną rolę: konsekwencje pojawienia się obrazu X mogą być widoczne dopiero z opóźnieniem, np. konsekwencje pozycji figur w czasie gry są widoczne dopiero po kilku krokach. Modele sieciowe reagują na wzorce od razu – a jak robią to mózgi? Uczenie sekwencyjne

  21. Kontekst reprezentowany jest w płatach czołowych – powinien wpływać na warstwę ukryta. Potrzebne są sieci z rekurencją, które potrafią utrzymać przez pewien czas informacje o kontekście. Uczenie sekwencyjne Prosta Sieć Rekurencyjna (Simple Recurrent Network, SRN), Aktywacja jednostki kontekstowej c(t) uwzględnia jej poprzednią aktywność oraz wpływ jednostek ukrytych; parametry ważące wpływ mogą być kontrolowane mechanizmem bramkującym (gating).

  22. Czy można odkryć reguły tworzenia się sekwencji? Przykłady: BTXSE BPVPSE BTSXXTVVE BPTVPSE Przykłady uczenia sekwencji Gramatyka Rebera, z eksp. psych. Czy to dobre przykłady? BTXXTTVVE TSXSE VVSXE BSSXSE Automat probabilistyczny o następujących przejściach produkuje takie ciągi. Na każdym kroku ma 2 możliwości, wybiera je z p=0.5.

  23. Projekt z Ch6, fsa.proj, sieć wybiera przypadkowo jeden z dwóch stanów. Ukryte/kontekstowe neurony podłączone są 1-1 do ukrytych, pamiętają poprzednie stany, uczą się rozpoznawać stany automatu, a nie tylko etykiety. Realizacja sieciowa Modelowanie zachowania: te same obserwacje, ale różne stany wewnętrzne => różne decyzje i różne następne stany. Uczenie może wymagać ~620 epok by dostać 4 kolejne bezbłędne odpowiedzi, lepiej załadować wytrenowane wagi. BP potrzebowała tu 4800 epok, lub ~60K sekwencji! Po pokazaniu jednej litery zgadywana jest jedna z 2 możliwych liter.

  24. To samo można osiągnąć za pomocą modelu Markova 2 rzędu, który uczy się korelacji sekwencji symboli i pamięta przejścia p(xt|xt-1xt-2), więc obserwuje i zapamiętuje fragmenty: BTS, BTX, BPT, BPV, TSS, TSX, SSX, SSS, PTT, PTV, TTV, TTT … W efekcie od razu rozpozna BSS … jako niewłaściwy ciąg, Przewiduje na podstawie dwóch ostatnich liter trzecią. Modele Markova Ogólnie może to nie wystarczyć, bo w niektórych przewidywaniach konieczna może być dłuższa pamięć. Takie modele przydatne są w bioinformatyce; możliwa jest również realizacja neuronowa ukrytych modeli Markova.

  25. Nagroda (wzmocnienie, reinforcement) często następuje z opóźnieniem np. w uczeniu się gier, strategii zachowań. Idea: trzeba przewidywać dostatecznie wcześnie jakie zdarzenia prowadzą do nagrody. Robi to algorytm różnic czasowych (Temporal Differences). Skąd w mózgu nagroda? Opóźnienie czasowe Dopaminergiczny system śródmózgowia moduluje działanie jąder podstawnych (BG) przez istotę czarną (SN), oraz kory czołowej przez VTA, brzuszną część nakrywki śródmózgowia. Dość skomplikowany system, którego działanie związane jest z oceną bodźców/działań z punktu widzenia wartości i przewidywania nagrody.

  26. Neurony VTA uczą się najpierw reagować na nagrodę, a następnie przewidywać pojawienie się nagrody w przyszłości. BG

  27. Należy określić funkcję wartości stymulacji, jest to suma po wszystkich oczekiwanych nagrodach, im dalsze w czasie tym mniej ważne: Szkic sformułowania Można to zrobić rekursywnie, wystarczy napisać wzór na V(t+1): Błąd przewidywanej nagrody: Sieć próbuje zredukować ten błąd; „krytyk” ocenia, „aktor” wykonuje, a ponieważ krytyk się uczy to mówimy o „adaptive critic”, lub AC.

  28. Przewidywania aktywności jak i błędu. Sieciowa implementacja • CS dla t=2 • US dla t=16 • po inicjalizacji brak przewidywania nagrody • w czasie uczenia nagroda przewidywana jest coraz wcześniej • przewidywanie po usłyszeniu tonu.

  29. Faza + ocenia spodziewaną wielkość nagrody w czasie t+1. Faza – w kroku t+k przewiduje t+k+1, w końcowym r(tk). Dwufazowa implementacja CS dla t=2 US dla t=16

  30. Wejście CSC – Complete Serial Compound, zastosowano niezależne elementy do bodźców w kolejnych momentach czasu. Dwufazowa implementacja Rozdz. 6.7.3, projekt Ch6, rl_cond.proj Reprezentacja czasu: seria pobudzeń, rozmyta reprezentacja z podobnymi jednostkami reagującymi w preferencyjny sposób na wybrany bodziec. ExtRew – nagroda; TDRewPred ocenia nagrodę V(t+1); TDRewInteg sumuje nagrodę i przewidywaną; TD - oblicza błąd. Nie jest to zbyt realistyczny model warunkowania klasycznego, ale dla ilustracji wystarczający; nie będziemy z tego korzystać więc nie omawiam tego dokładnie.

More Related