Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

EE141 1 Hebbowskie modele uczenia Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Inteligentne Systemy Autonomiczne W oparciu o wykład.

Podobne prezentacje


Prezentacja na temat: "EE141 1 Hebbowskie modele uczenia Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Inteligentne Systemy Autonomiczne W oparciu o wykład."— Zapis prezentacji:

1 EE141 1 Hebbowskie modele uczenia Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Inteligentne Systemy Autonomiczne W oparciu o wykład Prof. Randall O'ReillyRandall O'Reilly University of Colorado oraz Prof. Włodzisława Ducha Uniwersytet Mikołaja Kopernika

2 EE141 2 Na 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!

3 EE141 3 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.

4 EE141 4 Uczenie 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: hebb_correl.proj.gz, z Rozdz. 4

5 EE141 5 Symulacja Wybieramy: hebb_correl.proj, ze strony http://grey.colorado.edu/CompCogNeuro/index.php/CE CN1_Hebbian_Correlation Klikamy na r.wt w okienku HebbCorrelNet, po kliknięciu na ukryty neuron widać inicjalizację wag całej matrycy na 0.5. Klikamy na act w okienku HebbCorrelNet, na Run w okienku ControlPanel W efekcie otrzymujemy wagi binarne => lrate = pright = prob. pierwszego zdarzenia Defaults zmienia pright =1 na 0.7

6 EE141 6 Podstawy biologiczne: LTP, LTD Długotrwałe wzmocnienie synaptyczne (Long-Term Potentiation, LTP) odkryto w 1966 roku (T. Lomo, 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łabienie Synaptyczne (LT Depression). 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.

7 EE141 7 Receptory 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 nielinowy: 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.informacje o LTP/LTD

8 EE141 8 Korelacje Hebbowskie Z teoretycznego punktu widzenia mechanizm biologiczny LTP jest mało istotny, badamy tylko najprostsze wersje. Prosta reguła Hebba: w ij = a i a j 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. xixi y j =xw

9 EE141 9 Hebb - normalizacja Prosta reguła Hebba: w ij = x i y j prowadzi do nieskończonego wzrostu wag. Można tego uniknąć na wiele sposobów; często stosowana jest normalizacja wag: w ij = (x i -w ij ) y j 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

10 EE141 10 Uczenie 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.

11 EE141 11 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 nie wystarczającym) związków przyczynowych.

12 EE141 12 Czego chcemy od uczenia modelowego? To doświadczenie (bias) może tez być czynnikiem ograniczającym poznanie gdy z uporem szukamy starych rozwiązań w nowej grze. Zakładamy ze w rozwoju genetycznym natura wypracowała sprawdzone mechanizmy poznawania świata. - problem ze te mechanizmy nie są oczywiste i łatwe do identyfikacji. Natywiści (psycholodzy którzy podkreślają genetyczne wpływy na zachowanie) zakładają ze ludzie rodzą się z określona wiedza o świecie - nie jest to genetycznie uzasadnione W przeciwieństwie do tego, genetyczny zapis struktur połączeń jest możliwy i może stanowić genetycznie zakodowana wiedze (na przykład jak oddychać czy ssać) Oczekiwanie w oparciu o poprzednie doświadczenie może ułatwić przystosowanie się do nowej sytuacji Przykład – łatwiej jest się nauczyć nowej gry video jeśli juz się w takie gry gra ł o i gdy projektanci zachowują podobne elementy gry

13 EE141 13 Czego chcemy od uczenia modelowego? Prowadzi to do rozbieżności pomiędzy modelem a rzeczywistością znane tez jak bias-variance dilemma - dokładny model utrudnia uogólnianie - zbyt uproszczony model uniemożliwia prawidłowa reprezentacje Prosty (parsimonious) model był preferowany juz w XIII wieku przez Williama Occam prowadząc do określenia Occam razor – brzytwy która tnie w obronie jak najprostszego wyjaśnienia zjawiska. Bardziej pragmatyczne jest rozważanie konieczności wprowadzenia wiedzy początkowej przez projektanta modelu Projektant musi zastąpić mechanizm selekcji cech swoim własnym modelem Dlatego wielu ludzi unika wprowadzania wstępnych założeń (biases) preferując ogólne mechanizmy maszynowego uczenia

14 EE141 14 Standardowe 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). Pierwszy neuron ma nauczyć się najważniejszych korelacji, więc najpierw obliczamy korelacje jego wejść uśrednione w czasie: C ik = x i x k t 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ą tak ===============> Jak to zrobić za pomocą neuronów?

15 EE141 15 PCA 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: w ij (t+1) = w ij (t) + x i y j Po prezentacji wszystkich wzorców: Zmiana wag jest proporcjonalna do średniej iloczynu wejść/wyjść. Korelacja może zastąpić średnią.

16 EE141 16 Korelacje Hebbowskie Jeśli średnie są zero a wariancje jeden to średnia z iloczynu jest korelacją; zmiana wag jest proporcjonalna do: C ik = x i x k t to korelacje między wejściami; średnia z wag zmienia się wolno. Zmiana wagi dla wejścia i jest więc 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 y j będzie obliczać najważniejszą składową PCA Korelacja:

17 EE141 17 Przykład Dwa 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 (x i =+1 tyle samo razy co x i =-1); dla każdego wektora x =(x 1,x 2,x 3 ) 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 x 3 maleje. Wagi jednostki j zmieniają się jak: w(t+1)=w(t)+Cw(t)

18 EE141 18 Normalizacja Najprostsza normalizacja unikająca nieskończonego wzrostu wag: w ij = (x i – w ij ) y j Erkki Oja (1982) zaproponował: w ij = (x i –y j w ij ) y j Dla jednego wzorca po nauczeniu wagi przestają się zmieniać: w ij = 0 = (x i –y j w ij ) y j Waga w ij = x i /y j = x i / k x k w kj 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?

19 EE141 19 Problemy PCA Jak wygenerować kolejne składowe PCA w sieci neuronów? Numerycznie dokonujemy ortogonalizacji kolejnych y j 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 połączenia pomiędzy ukrytymi neuronami, ale nie 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ą. Problem z PCA można scharakteryzować tak ze PCA oblicza korelacje w całej przestrzeni wejściowej podczas gdy użyteczne korelacje istnieją w lokalnych podprzestrzeniach. 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.

20 EE141 20 Warunkowe PCA Conditional principal component analysis (CPCA): korelacje liczymy nie dla wszystkich cech a tylko dla podzbioru cech, które są obecne. PCA działa na wszystkich cechach, dając ortogonalne składowe. CPCA działa na podzbiorach cech zapewniając, że różne składowe kodują różne interesujące kombinacje cech sygnałów, 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?

21 EE141 21 Ró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: w ij = (x i -w ij ) y j Wagi przesuwają się w kierunku x i, pod warunkiem aktywności y j. W efekcie prawdopodobieństwo warunkowe: P(x i =1|y j =1) = P(x i |y j ) = w ij Waga w ij = prawdopodobieństwo tego, że wysyłający x i jest aktywny pod warunkiem tego, że odbierający y j jest aktywny.

22 EE141 22 Probabilistyczna interpretacja Sukces CPCA zależy od doboru funkcji warunkującej aktywność neuronów – automatyczny proces warunkowania możliwy jest na kilka sposobów: samoorganizację lub korekcję błędów. Aktywacje uśrednione w czasie reprezentowane są przez prawd. P(x i |t), P(y j |t), zmiana wag dla wszystkich wzorców t pojawiających się z P(t): w ij = t (P(y j |t) P(x i |t) -P(y j |t)w ij ] P(t) W stanie równowagi w ij =0 więc: w ij = t P(y j |t)P(x i |t)P(t) / t P(y j |t)P(t) = t P(y j,x i,t) / t P(y j,t) = P(x i,y j )/P(y j ) = P(x i |y j ) Waga w ij = prawdopodobieństwo warunkowe x i pod warunkiem y j. Jak biologicznie uzasadnić normalizację?

23 EE141 23 Interpretacja biologiczna Znormalizowana reguła Hebba: w ij = (x i -w ij ) y j Załóżmy, że wagi są w ij ~0.5, są wtedy 3 mozliwości: 1. x i, y j ~1 czyli silna aktywność pre i postsynaptyczna, więc x i > w ij, wagi rosną, czyli mamy LTP, jak w kanałach NMDA. 2. y j ~1 ale x i < w ij, 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ść y j ~0 nie daje żadnych zmian, kanały napięciowe i NMDA nie są aktywne. Uczenie zachodzi szybciej dla małych w ij, bo częściej x i < w ij Jakościowo zgodne z obserwacjami nasycenia wag.

24 EE141 24 Symulacje Wybieramy: hebb_correl.proj, ze strony http://grey.colorado.edu/CompCogNeuro/index.php/CECN1_Hebbian_Correlation Opis: Rozdz. 4. 6 Oglądamy Input_Patterns OneLineEnv_Spec, a w nim frequeancy jest 1 dla Right i 0 dla Left Zmiany wartości wag: ControlPanel lrate = 0.005, spróbować 0.1 Zmienić p_right z 1 na 0.7 i na 0.5 Zmienić input_data z OneLinEnv na ThreeLinesEnv i p_right=0.7 Zauważyć, że wagi robią się małe, rozmyte, bo prawd. warunkowe dla wzorców przy uczeniu całych kategorii robią się małe; jednostka wyjściowa przyczynia się do tego bo ma niewielką selektywność.

25 EE141 25 Normalizacja 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(x i |y j ) 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 x i dążą do wartości ~0.1-0.2. Rozłóżmy zmiane wag na dwa czynniki: w ij = (x i -w ij ) y j = [(1-w ij ) x i y j +(1-x i )(0-w ij )y j ] 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: w ij = [(0.5/ w ij ) x i y j +(1-x i )(0-w ij )y j ] Nadal liniowa zależność w ij = P(x i |y j ) 0.5/ Symulator ma parametr savg_cor [0,1] określający stopień normalizacji

26 EE141 26 Kontrast 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) punkt 0.5 (offset) Uwaga: to jest skalowanie indywidualnych wag a nie aktywacji!

27 EE141 27 Symulacje Wybieramy: hebb_correl.proj.gz, ze strony http://grey.colorado.edu/CompCogNeuro/index.php/CECN1_Hebbian_Correlation Opis: Rozdz. 4. 6 Zmienić input_data z OneLineEnv na FiveHorizLines 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 sig=6 zamiast 1, w oknie EpochOutputData pokaże krzywą efektywnych wag. Wpływ na uczenie: dla Three_lines, savg cor=1 Zmienić wt off od 1 do 1.25


Pobierz ppt "EE141 1 Hebbowskie modele uczenia Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Inteligentne Systemy Autonomiczne W oparciu o wykład."

Podobne prezentacje


Reklamy Google