Inteligentne Systemy Autonomiczne

Transkrypt

Inteligentne Systemy Autonomiczne
Inteligentne Systemy
Autonomiczne
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 ...
Hebbowskie modele
uczenia
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.
W oparciu o wykład
Prof. Randall O'Reilly
University of Colorado oraz
Prof. Włodzisława Ducha
Uniwersytet Mikołaja Kopernika
1
EE141
Janusz
2.
Uczenie modelu
Jak powinien wyglądać idealny system, który się uczy?
Jak uczy się człowiek?
Wewnętrzne odwzorowanie regularności pojawiających się w
dochodzących sygnałach, „środowiska” danej grupy neuronów.
Wykrywanie korelacji pomiędzy sygnałami.
Detektory (neurony) mogą
zmieniać lokalne parametry ale
chcemy osiągnąć zmianę
działania całej sieci
przetwarzającej informację.
korelacja dodatnia
Rozważymy dwa rodzaje
uczenia, wymagające innych
mechanizmów:
‰
‰
‰
2
EE141
A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Uczenie: rodzaje
1.
Jak tworzą się konfiguracje sieci robiące interesujące rzeczy?
Potrzebne jest uczenie!
Elementy obrazów, ruchy, zachowania zwierząt lub emocje,
skorelować można wszystko tworząc model zachowania.
Uczenie się wewnętrznego modelu środowiska (spontaniczne).
Uczenie się zadania, postawionego przed siecią (nadzorowane).
Połączenie jednego i drugiego.
3
EE141
Istotne są tylko silne korelacje, słabych jest za dużo i mogą być
przypadkowe.
Przykład: hebb_correl.proj.gz, z Rozdz. 4
4
EE141
Symulacja
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.
Wybieramy:
hebb_correl.proj.gz, z Rozdz. 4
Klikamy na r.wt w okienku network,
po kliknięciu na ukryty neuron widać
inicjalizację wag całej matrycy na 0.5.
Efekt odwrotny: LTD, długotrwałe osłabienie
Synaptyczne (LT Depression).
Klikamy na act w okienku network,
na run w okienku control
W efekcie otrzymujemy wagi binarne =>
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:
lrate = ε =0.005
pright = prob. pierwszego zdarzenia
Neurons that fire together wire together.
Defaults zmienia pright =1 na 0.7
5
EE141
Neurony wykazujące jednoczesną aktywność wzmacniają swoje więzy.
6
EE141
1
Receptory NMDA
Korelacje Hebbowskie
Mg+
1. Jony
blokują kanały NMDA.
Wzrost potencjału postsynaptycznego
konieczny jest by je usunąć i umożliwić
oddziaływanie z glutaminianem.
Z teoretycznego punktu widzenia mechanizm biologiczny LTP jest mało
istotny, badamy tylko najprostsze wersje.
Prosta reguła Hebba: ∆wij = ε ai aj
Zmiana wag proporcjonalna jest do aktywności pre i post-synaptycznej.
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.
xi
yj=xw
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.
Wagi wzmacniają się dla neuronów o skorelowanej aktywności, nie
zmieniają się dla neuronów, których aktywność nie wykazuje korelacji.
7
EE141
8
EE141
Hebb - normalizacja
Uczenie modelu
Prosta reguła Hebba: ∆wij = ε xi yj
prowadzi do nieskończonego wzrostu wag.
Można tego uniknąć na wiele sposobów;
często stosowana jest normalizacja wag:
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!
∆wij = ε (xi -wij) yj
Jeśli użyć kWTA to jednostki wyjściowe będą
konkurować ze sobą.
Uczenie = przeżycie najlepiej przystosowanych (mechanizm
Darwinowski) + specjalizacja.
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
Uczenie w oparciu o samoorganizację
‰
‰
9
EE141
‰
EE141
Czego chcemy od uczenia modelowego?
Hamowanie kWTA: tylko najsilniejsze jednostki pozostają aktywne.
Uczenie Hebbowskie: zwycięzcy stają się jeszcze silniejsi.
10
Rezultat: różne neurony reagują na różne cechy sygnałów.
Czego chcemy od uczenia modelowego?
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
To doświadczenie (bias) może tez być czynnikiem ograniczającym
poznanie gdy z uporem szukamy starych rozwiązań w nowej grze.
Ś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.
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ć)
11
EE141
12
EE141
2
Czego chcemy od uczenia modelowego?
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
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).
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.
Pierwszy neuron ma nauczyć się
najważniejszych korelacji, więc
najpierw obliczamy korelacje jego
wejść uśrednione w czasie:
Cik=〈xixk〉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?
13
EE141
14
EE141
PCA na jednym neuronie
Korelacje Hebbowskie
Załóżmy, że środowisko składa się z ukośnych linii.
Przyjmijmy liniową aktywację dla chwili t (wzorca nr t):
Korelacja:
Cij =
y j = ∑ xk wkj
∆wij ~ xi y j
t
t
= xi ∑ xk wkj
= ∑ Cik wkj
Po prezentacji wszystkich wzorców:
1
∑ xi y j =ε ' xi y j
n t
σ i2σ 2j
t
Jeśli średnie są zero a wariancje jeden to średnia z iloczynu jest
korelacją; zmiana wag jest proporcjonalna do:
k
Niech zmiana wag określona będzie
prostą reguła Hebba:
wij(t+1) = wij(t) + ε xi yj
∆wij = ε ∑ xi y j = ε '
( xi − xi ) ( y j − y j )
k
t
Zmiana wag jest proporcjonalna do średniej iloczynu wejść/wyjść.
Korelacja może zastąpić średnią.
15
EE141
Przykł
Przykład
Dwa pierwsze wejścia są całkowicie skorelowane; trzecie niezależne.
Zmiany następują zgodnie z reguła Hebba dla ε=1.
k
= ∑ xi xk
t
k
t
wkj
t
t
Cik=〈xixk〉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 yj będzie obliczać najważniejszą składową PCA
16
EE141
Normalizacja
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
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.
17
Wagi jednostki j zmieniają się jak: w(t+1)=w(t)+Cw(t)
EE141
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?
18
EE141
3
Problemy PCA
Warunkowe 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 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.
19
EE141
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?
20
EE141
Równania CPCA
Probabilistyczna interpretacja
Neuron trenowany jest tylko na
podzbiorze wzorców o określonych
cechach, np. krawędziach nachylonych
w określony sposób.
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(xi|t),
P(yj|t), zmiana wag dla wszystkich wzorców t pojawiających się z P(t):
Znormalizowana reguła Hebba:
∆wij = ε [Σt (P(yj|t) P(xi|t) -P(yj|t)wij] P(t)
∆wij = ε (xi -wij) yj
W stanie równowagi ∆wij =0 więc:
Wagi przesuwają się w kierunku xi, pod warunkiem aktywności yj.
W efekcie prawdopodobieństwo warunkowe:
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)
P(xi=1|yj=1) = P(xi|yj) = wij
Waga wij = prawdopodobieństwo warunkowe xi pod warunkiem yj.
Waga wij = prawdopodobieństwo tego, że wysyłający xi jest aktywny
pod warunkiem tego, że odbierający yj jest aktywny.
Jak biologicznie uzasadnić normalizację?
21
EE141
22
EE141
Interpretacja biologiczna
Symulacje
Znormalizowana reguła Hebba:
Wybieramy:
hebb_correl.proj.gz, z Rozdz. 4
∆wij = ε (xi -wij) yj
Załóżmy, że wagi są wij ~0.5, są wtedy 3 mozliwoś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
Jakościowo zgodne z obserwacjami nasycenia wag.
Opis: Rozdz. 4. 6
Oglądamy Events
Evt Label, a w nim FreqEvent jest 1 dla Right i 0 dla Left
Zmiany wartości wag: Graph_log
lrate = 0.005, spróbować 0.1
Zmienić p_right z 1 na 0.7 i na 0.5
Zmienić Env_type z One_line na Three_lines 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ść.
23
EE141
24
EE141
4
Normalizacja wag w CPCA
Kontrast 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 zmiane wag na dwa czynniki:
∆wij = ε (xi -wij) yj = ε [(1-wij) xi yj+(1-xi)(0-wij)yj ]
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:
∆wij = ε [(0.5/α−wij) xi yj+(1-xi)(0-wij)yj ]
Nadal liniowa zależność wij = P(xi|yj) 0.5/α
Symulator ma parametr savg_cor∈[0,1] określający stopień normalizacji
25
EE141
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ą:
wˆ ij =
1
⎛ w
1 + ⎜ ij
⎜1− w
ij
⎝
⎞
⎟⎟
⎠
−γ
Dwa parametry:
nachylenie (gain) γ
punkt 0.5 (offset) θ
EE141
Uwaga: to jest skalowanie
26
indywidualnych wag a nie aktywacji!
Symulacje
Wybieramy:
hebb_correl.proj.gz, z Rozdz. 4
Opis: Rozdz. 4. 6
Zmienić 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=1
Zmienić wt_off od 1 do 1.25
27
EE141
5