wykład 5 neuropsychologia komputerowa

24
Wykład 5 Wykład 5 Neuropsychologia Neuropsychologia komputerowa komputerowa Uczenie I: Hebbowskie modele uczenia Włodzisław Duch UMK Toruń Google: W Duch

Upload: naeva

Post on 14-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Wykład 5 Neuropsychologia komputerowa. Uczenie I: Hebbowskie modele uczenia Włodzisław Duch UMK Toruń Google: W Duch. Elementy: neurony, jony, kanały, membrany, przewodnictwo, generacja impulsów. Na razie. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Wykład 5  Neuropsychologia komputerowa

Wykład 5Wykład 5 Neuropsychologia komputerowa Neuropsychologia komputerowa

Uczenie I: Hebbowskie modele uczenia

Włodzisław DuchUMK Toruń

Google: W Duch

Page 2: Wykład 5  Neuropsychologia komputerowa

Na razieNa razie

Elementy: neurony, jony, kanały, membrany, przewodnictwo, generacja impulsów ...

Sieci neuronów: transformacja sygnałów, filtrowanie specyficznych informacji, wzmocnienie, kontrast, stabilność sieci, zwycięzca bierze większość (WTM), szum, atraktory sieci ...

Wiele specyficznych mechanizmów, np. mechano-elektryczna transdukcja sygnałów zmysłowych: komórki rzęsate w uchu otwierają kanały jonowe za pomocą białek, działających jak sprężynki podczepione do kanałów jonowych, zamieniając drgania mechaniczne na impulsy elektryczne.Jak tworzą się konfiguracje sieci robiące interesujące rzeczy? Potrzebne jest uczenie!

Page 3: Wykład 5  Neuropsychologia komputerowa

Uczenie: rodzajeUczenie: 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.

Page 4: Wykład 5  Neuropsychologia komputerowa

Podstawy biologiczne: LTP, LTDPodstawy biologiczne: LTP, LTD

Długotrwałe wzmocnienie synaptyczne (Long-Term Potentiation, LTP) odkryto w 1966 roku (T. Lomo, praca z 1973 r).Początkowo w hipokampie, potem w korze.Stymulacje neuronu prądem o częstości ~100Hz przez 1 sek zwiększają sprawności synaptyczne o 50-100%, efekt trwa długo.

Efekt odwrotny: LTD, długotrwałe osłabieniesynaptyczne.

Najczęstsza forma LTP/LTD związana jest z receptorami NMDA.

Aktywność kanałów NMDA wymaga aktywności presynaptycznej jak i postsynaptycznej, a więc jest zgodna z regułą wprowadzoną przez Donalda Hebba w 1949 roku, lapidarnie podsumowaną tak:

Neurons that fire together wire together.

Neurony wykazujące jednoczesną aktywność wzmacniają swoje więzy.

Page 5: Wykład 5  Neuropsychologia komputerowa

Receptory NMDAReceptory NMDA

1. Jony Mg+ blokują kanały NMDA. Wzrost potencjału postsynaptycznego konieczny jest by je usunąć i umożliwić oddziaływanie z glutaminianem.

2. Presynaptyczna aktywność jest konieczna by uwolnić glutaminian, który otwiera kanały NMDA.

3. Jony Ca++ wpływają tym kanałem wywołując szereg reakcji chemicznych, które nie są do końca zbadane.

Efekt jest nieliniowy: małe ilości Ca++ dają LTD, a duże LTP. Wiele innych procesów gra rolę w LTP.

Dokładniejsze informacje o LTP/LTD.

Page 6: Wykład 5  Neuropsychologia komputerowa

Korelacje HebbowskieKorelacje Hebbowskie

Szczegółowy mechanizm biologiczny LTP jest tutaj mało istotny, bo badamy tylko najprostsze wersje (dla farmakologii jest bardzo istotny).

Prosta reguła Hebba: wij = ai aj

Zmiana wag proporcjonalna jest do aktywności pre i post-synaptycznej.

Wagi wzmacniają się dla neuronów o skorelowanej aktywności, nie zmieniają się dla neuronów, których aktywność nie wykazuje korelacji.

Page 7: Wykład 5  Neuropsychologia komputerowa

Hebb - normalizacjaHebb - normalizacja

Prosta reguła Hebba: wij = xi yj

prowadzi do nieskończonego wzrostu wag.

Można tego uniknąć na wiele sposobów;

często stosowanym prostym sposobem jest

normalizacja wag:

wij = (xi -wij) yj

Ma to uzasadnienie biologiczne:

• kiedy x i y są duże mamy silne LTP, dużo Ca++

• kiedy y jest duże ale x małe mamy LTD, trochę Ca++

• kiedy y jest małe nic się nie dzieje bo jony Mg+ blokują kanały NMDA

x to sygnał presynaptyczny, y postsynaptyczny.

Page 8: Wykład 5  Neuropsychologia komputerowa

Uczenie modeluUczenie modelu

Wewnętrzne odwzorowanie regularności pojawiających się w dochodzących sygnałach, „środowiska” danej grupy neuronów.

Wykrywanie korelacji pomiędzy sygnałami.

korelacja dodatnia

Elementy obrazów, ruchy, zachowania zwierząt lub emocje, skorelować można wszystko tworząc model zachowania.

Istotne są tylko silne korelacje, słabych jest za dużo i mogą być przypadkowe.

Przykład: Ch4, hebb_correl.proj

Page 9: Wykład 5  Neuropsychologia komputerowa

SymulacjaSymulacjaWybieramy hebb_correl.projJeden neuron podłączony do 5x5, pokazujemy diagonalną linię; koreluje się

r.wt: inicjalizacja wszystkich wag na 0.5.r.wt, init+run pokazuje narastanie wag.

act, init, run pokazuje aktywację

lrate = pright = prob. prawej diagonali.

Defaults zmienia pright =1 na 0.7, czyli pojawiają się linie w lewo;

lrate =0.1 pokazuje plastyczność.

Wagi robią się małe, rozmyte, bo prawd. warunkowe dla wzorców przy uczeniu całych kategorii robią się małe; jednostka wyjściowa ma niewielką selektywność.

Page 10: Wykład 5  Neuropsychologia komputerowa

Uczenie modeluUczenie modelu

Mechanizm Hebbowski pozwala na uczenie się korelacji.

Co stanie się jeśli dodamy więcej neuronów postsynaptycznych?

Będą uczyć się tych samych korelacji!

Jeśli użyć kWTA to jednostki wyjściowe będą konkurować ze sobą.

Uczenie = przeżycie najlepiej przystosowanych (mechanizm Darwinowski) + specjalizacja.

Uczenie w oparciu o samoorganizację

• Hamowanie kWTA: tylko najsilniejsze jednostki pozostają aktywne.

• Uczenie Hebbowskie: zwycięzcy stają się jeszcze silniejsi.

• Rezultat: różne neurony reagują na różne cechy sygnałów.

Page 11: Wykład 5  Neuropsychologia komputerowa

Czego chcemy od uczenia modelowego? Czego chcemy od uczenia modelowego?

Środowisko dostarcza wielu informacji, ale sygnały są zmienne, marnej jakości, identyfikacja obiektów i relacji pomiędzy nimi nie jest możliwa bez obszernej wiedzy o tym, czego można oczekiwać.

Potrzebny jest model stanów środowiska przygotowany (biased) do rozpoznawania i odpowiedniego działania; korelacje są warunkiem koniecznym (ale niewystarczającym) dla wykrycia związków przyczynowych.

Page 12: Wykład 5  Neuropsychologia komputerowa

Standardowe PCAStandardowe PCA

Analiza czynników głównych (principal component analysis, PCA), jest matematyczną techniką szukania liniowych kombinacji sygnałów o największej wariancji (dających największy wkład do zmian).

Na razie intuicyjnie:

pierwszy neuron ma nauczyć się najważniejszych korelacji, więc najpierw obliczamy korelacje jego wejść uśrednione w czasie: Cik=xixkt dla pierwszego elementu;

potem dla następnego, ale każdy neuron ma być niezależny, więc ma obliczać ortogonalne kombinacje.

Dla zbioru obrazów kolejne składowe wyglądają niezbyt ciekawie =>

Jak to zrobić za pomocą neuronów?

Page 13: Wykład 5  Neuropsychologia komputerowa

PCA na jednym neuroniePCA na jednym neuronie

Załóżmy, że środowisko składa się z ukośnych linii.

Przyjmijmy liniową aktywację dla chwili t (wzorca nr t):

Niech zmiana wag określona będzie prostą reguła Hebba:

wij(t+1) = wij(t) + xi yj

Po prezentacji wszystkich wzorców:

j k kjk

y x w

Zmiana wag jest proporcjonalna do średniej iloczynu wejść/wyjść.

Korelacja może zastąpić średnią.

1' 'ij i j i j i j t

t t

w x y x y x yn

Page 14: Wykład 5  Neuropsychologia komputerowa

Korelacje HebbowskieKorelacje Hebbowskie

Jeśli średnie są zero a wariancje jeden to średnia z iloczynu jest korelacją; zmiana wag jest proporcjonalna do:

Cik=xixkt to korelacje między wejściami; średnia waga zmienia się wolno. Zmiana wagi dla wejścia i jest ważoną średnią korelacji pomiędzy aktywnością tego wejścia i pozostałych.

Po prezentacji wielu wzorców wagi zdominowane zostaną przez najsilniejsze korelacje i yj będzie obliczać najważniejszą składową PCA, to jest składową o największej wariancji.

Korelacja:

~ij i j i k kj i k kjtt tk kt

ik kjt

k

w x y x x w x x w

C w

2 2ij i i j j i j

tC x x y y

Page 15: Wykład 5  Neuropsychologia komputerowa

PrzykładPrzykładDwa pierwsze wejścia są całkowicie skorelowane; trzecie niezależne.

Zmiany następują zgodnie z reguła Hebba dla =1.

Zakładamy, że sygnały mają zerową średnia (xi=+1 tyle samo razy co xi=-1); dla każdego wektora x =(x1,x2,x3) obliczane jest y, a następnie nowe wagi. Skorelowane jednostki decydują o znaku i wielkości wag, a wagi tych wejść rosną szybko, podczas gdy waga nieskorelowanego wejścia x3 maleje.

Wagi jednostki j zmieniają się jak: w(t+1) = w(t) + C w(t)

Page 16: Wykład 5  Neuropsychologia komputerowa

NormalizacjaNormalizacja

Najprostsza normalizacja unikająca nieskończonego wzrostu wag:

wij = (xi – wij) yj

Erkki Oja (1982) zaproponował:

wij = (xi –yj wij) yj

Dla jednego wzorca po nauczeniu wagi przestają się zmieniać:

wij = 0 = (xi –yj wij) yj

Waga wij = xi /yj = xi / k xk wkj

Waga dla danego sygnału wejściowego jest więc ułamkiem całkowitej ważonej aktywności wszystkich sygnałów.

Ta reguła również prowadzi do obliczenia najważniejszej składowej głównej. Jak obliczyć inne składowe?

Page 17: Wykład 5  Neuropsychologia komputerowa

Problemy PCAProblemy PCA

Jak wygenerować kolejne składowe PCA w sieci neuronów?

Numerycznie dokonujemy ortogonalizacji kolejnych yj ale nie da się tego prosto zrobić za pomocą sieci.

Sekwencyjne PCA porządkuje składowe, od najważniejszej do najmniej ważnej; można to osiągnąć wprowadzając hamujące połączenia pomiędzy ukrytymi neuronami, ale jest to rozwiązanie sztuczne.

PCA zakłada hierarchiczną strukturę: najważniejszą składowa dla wszystkich wzorców, w efekcie dostajemy np. dla analizy obrazów kolejne składowe jako szachownice o rosnącej liczbie kratek ponieważ korelacje pikseli dla dużej liczby obrazów znikają.

Naturalne wzorce tworzą heterarchię, różne kombinacje są równie ważne dla różnych wzorców, podzbiory cech istotnych dla pewnych kategorii nie są ważne dla odróżnienia innych.

Page 18: Wykład 5  Neuropsychologia komputerowa

Warunkowe PCAWarunkowe PCA

Conditional Principal Component Analysis (CPCA): korelacje liczymy tylko dla pewnego podzbioru cech z wzorców.

PCA działa na wszystkich cechach, dając ortogonalne składowe, biologia na cechach określonego typu.

CPCA działa na podzbiorach cech zapewniając, że różne składowe kodują różne interesujące kombinacje cech sygnałów (demony wyższego stopnia), np. krawędzie.

Konkurencja realizowana za pomocą kWTA zapewni aktywność różnych neuronów dla różnych wzorców.W efekcie: kodowanie obrazów =>

Jak to zrobić za pomocą neuronów?

Page 19: Wykład 5  Neuropsychologia komputerowa

Równania CPCARównania CPCA

Neuron trenowany jest tylko na

podzbiorze wzorców o określonych

cechach, np. krawędziach nachylonych

w określony sposób.

Znormalizowana reguła Hebba:

wij = (xi wij) yj

Wagi przesuwają się w kierunku xi, pod warunkiem aktywności yj.

W efekcie wagi robią się prawdopodobieństwami warunkowymi:

P(xi=1|yj=1) = P(xi|yj) = wij

Waga wij = prawdopodobieństwo tego, że wysyłający xi jest aktywny pod warunkiem tego, że odbierający yj jest aktywny.

Dowód: sprawdzić warunek wij =0.

Page 20: Wykład 5  Neuropsychologia komputerowa

Probabilistyczna interpretacjaProbabilistyczna interpretacja

Sukces CPCA zależy od doboru funkcji warunkującej aktywność neuronów – automatyczny proces warunkowania możliwy jest na kilka sposobów: przez samoorganizację lub korekcję błędów.

Aktywacje uśrednione w czasie reprezentowane są przez prawd. P(xi|t), P(yj|t), zmiana wag dla wszystkich wzorców t pojawiających się z P(t):

wij = t P(yj|t) P(xi|t) - P(yj|t)wij] P(t)

W stanie równowagi wij =0 więc:

wij = t P(yj|t)P(xi|t)P(t) / t P(yj|t)P(t) =

t P(yj,xi,t) / t P(yj,t) = P(xi ,yj)/P(yj) = P(xi|yj)

Waga wij = prawdopodobieństwo warunkowe xi pod warunkiem yj.

Jak biologicznie uzasadnić normalizację?

Page 21: Wykład 5  Neuropsychologia komputerowa

Interpretacja biologicznaInterpretacja biologiczna

Znormalizowana reguła Hebba:

wij = (xi -wij) yj

Załóżmy, że wagi są wij ~0.5, są wtedy 3 możliwości:

1. xi , yj ~1 czyli silna aktywność pre i postsynaptyczna, więc xi > wij, wagi rosną, czyli mamy LTP, jak w kanałach NMDA.

2. yj ~1 ale xi < wij, wagi maleją, mamy LTD, słaby sygnał wejściowy wystarczy do odblokowania jonu Mg+ kanału NMDA, silna aktywność postsynaptyczna może też odblokować inne kanały reagujące na napięcie i wprowadzić niewielką ilość Ca++.

3. Aktywność yj ~0 nie daje żadnych zmian, kanały napięciowe i NMDA nie są aktywne.

Uczenie zachodzi szybciej dla małych wij, bo częściej xi < wij

Jest to jakościowo zgodne z obserwacjami nasycenia wag.

Page 22: Wykład 5  Neuropsychologia komputerowa

Normalizacja wag w CPCANormalizacja wag w CPCA

Wagi CPCA nie są zbyt selektywne, nie prowadzą do zróżnicowania wzorców – nie mają „rozpiętości dynamicznej” (dynamic range); dla typowych sytuacji P(xi|yj) jest małe, a chcemy koło 0.5.

Rozwiązanie: renormalizacja wag i wzmacnianie kontrastu.

Normalizacja: nieskorelowane sygnały powinny mieć wagi 0.5, a w symulacjach z rzadko pojawiającymi się sygnałami xi dążą do wartości ~0.1-0.2. Rozłóżmy zmianę wag na dwa czynniki:

Pierwszy człon powoduje wzrost wag w kierunku 1, drugi osłabienie w kierunku 0; jeśli chcemy utrzymać średnie wagi koło 0.5 trzeba zwiększyć aktywację pierwszego członu, np. tak:

Nadal liniowa zależność wij = P(xi|yj) 1/2Parametr savg_cor[0,1] określa stopień normalizacji, 0=>bez zmian, 1=>wagi koło 0.5.

= 1 1 0ij i ij j ij i j i ij jw x w y w x y x w y

1= 1 0

2ij ij i j i ij jw w x y x w y

Page 23: Wykład 5  Neuropsychologia komputerowa

Kontrast w CPCAKontrast w CPCA

Zamiast liniowej zmiany wag chcemy ignorować słabe korelacje a wzmocnić silne korelacje – zwiększyć kontrast pomiędzy interesującymi aspektami sygnałów i pozostałymi.

Zwiększa to prostotę połączeń (słabe można pominąć) i przyspiesza proces uczenia, pomagając wagom zdecydować się co robić.

Wzmacnianie kontrastu: zamiast liniowej zmiany wag zastosuj sigmoidalną:

Dwa parametry:

nachylenie (gain) wt_sig.gain

punkt 0.5 (offset) wt_sig.off

11

ij

ij

ij

ww

w

Uwaga: to jest skalowanie indywidualnych wag a nie aktywacji!

Page 24: Wykład 5  Neuropsychologia komputerowa

Symulacje z kontrastemSymulacje z kontrastem

Wybieramy: Ch4, hebb_correl.proj.

Opis: Rozdz. 4. 6Zmienić Env_type z One_line na Five_lines i p_right=0.7

Dla tych linii CPCA daje jednakowe wagi ok. 0.2.

Zmienić normalizację, ustawiając savg_cor=1 Wagi powinny być koło 0.5. Parametr savg_cor pozwala wpłynąć na liczbę cech używanych przez jednostki ukryte.

Kontrast: ustawić wt_gain=6 zamiast 1, PlotEffWt pokaże krzywą efektywnych wag.Wpływ na uczenie: dla Three_lines, savg_cor=1Zmienić wt_off od 1 do 1.25