420 likes | 576 Views
Inteligentne Systemy Autonomiczne. Struktury i Uczenie Symulacje. W oparciu o wykład Prof. Randall O'Reilly University of Colorado oraz Prof. Włodzisława Ducha Uniwersytet Mikołaja Kopernika. Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie.
E N D
Inteligentne Systemy Autonomiczne Struktury i Uczenie Symulacje W oparciu o wykład Prof. Randall O'Reilly University of Colorado oraz Prof. Włodzisława Ducha Uniwersytet Mikołaja Kopernika Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Pojedyncze neurony pozwalają na detekcję elementarnych cech. Do czego można użyć modelu neuronu? Neurony i reguły Pojedyncze neurony pozwalają na detekcję elementarnych cech. Do czego można użyć modelu neuronu? Logika klasyczna: Jeśli A1 i A2 i A3 to Konkluzja Np. Jeśli Ból głowy i Ból mięśni i Katar to Grypa Logika progowa neuronów: Jeśli M z N warunków jest spełnionych to Konkluzja Warunki mogą mieć różne wagi; logikę klasyczną można łatwo zrealizować za pomocą neuronów. Jest ciągłe przejście pomiędzy regułami i podobieństwem: dla kilku zmiennych przydatne są reguły, dla wielu podobieństwo. |W-A|2 = |W|2 + |A|2 - 2W.A = 2(1- W.A), dla unormowanych X, A, więc silne pobudzenie = mała odległość (duże podobieństwo ).
Demon (gr. daimon - ten, który coś rozdziela lub ten, który coś przydziela, Demony obserwujące cechy: | kreska pionowa D1 -- kreska pozioma D2 / kreska skośna w prawo D3 \ kreska skośna w lewo D4 Pandemonium w akcji V demony 3, 4 => D5 T demony 1, 2 => D6 A demony 2, 3, 4 => D7 K demony 1, 3, 4 => D8 demony 6,7,8 => D9 Im lepiej pasuje tym głośniej krzyczą. Demon podejmujący decyzję: D9 nie odróżnia TAK od KAT ... do tego potrzebne jest rozpoznanie sekwencji Każdy demon podejmuje prosta decyzję ale całość jest dość złożona.
Jakie cechy należy obserwować by rozumieć mowę? język? obrazy? twarze? działać twórczo? http://psych.colorado.edu/~oreilly/cecn_download.html Symulacje: napisz równania określające jak dobre jest dopasowanie, jak głośno mają krzyczeć demony. Jak zredukować biologię do równań? Symulacje Sprawność synaptyczna: jak silnieAktywność presynaptycznego neuronu: ile pęcherzyków, ile neutoransmitera na pęcherzyk, ile absorbuje postsynaptyczny Postsynaptyczny: ile receptorów, geometria, odległość od kolca itp. Skrajne uproszczenie: jedna liczba charakteryzująca sprawność.
Jakie własności ma sieć neuronów? Jak można wpłynąć na sieć neuronów, by robiła coś ciekawego? Neurony i sieci Biologia: sieci są w korze (neocortex) i strukturach podkorowych. neurony pobudzające (85%) i hamujące (15%). Ogólnie pobudzenia mogą być: • głównie w jednym kierunku • transformacja sygnałów; • w obu kierunkach • uzupełnianie brakującej informacji • uzgadnianie hipotez i wzmacnianie słabych sygnałów. • większość neuronów pobudzających jest dwukierunkowych. Hamowanie: kontroluje wzajemne pobudzenia, konieczne by unikać dodatniego sprzężenia zwrotnego (padaczka). Całość umożliwia interpretacje nadchodzącej informacji w świetle wiedzy o jej znaczeniu, zakodowanej w strukturze sieci.
Czy kora ma jakieś własności ogólne czy też jej budowa zależy od funkcji: percepcyjnych, ruchowych, skojarzeniowych? Ogólna struktura sieci Istnieje funkcjonalna specjalizacja kory, widoczne różnice różnych obszarów, stąd podział na pola Brodmana. Zachowany jest ogólny schemat: • A neurony pobudzające • główny NT to kwas glutaminowy, • AMPA receptor otwiera kanały Na+, pobudza długie aksony, komunikacja wewnątrz i między grupami neuronów • NMDA receptor otwiera kanały Ca++, prowadzi do uczenia • około 85%, głównie komórki piramidowe, gwiaździste + ... • B neurony hamujące • główny NT to GABA (kwas gamma-aminomasłowy), otwiera kanały Cl-, interneurony, lokalne projekcje, regulacja poziomu pobudzenia; • GABA-A efekt krótkoterminowy BAGA – B efekt długoterminowy • około 15%: komórki koszyczkowe i kandelabrowe + ...
Komórki piramidowe, gwiaździste, koszyczkowe, kandelabrowe, wrzecionowe
Kwas glutaminowy otwiera kanały Na+, pobudzająco, GABA działa na kanały Cl- hamującpobudzanie. Neurony pobudzające i hamujące Piramidowe i gwiazdziste Koszyczkowe kandelabrowe
Kora ma grubość 2-4 mm, składa się z 6 warstw, o różnej grubości w różnych częściach mózgu. A B C D Struktura laminarna A - kora wzrokowa ma grubszą warstwę wejściową 4a-c; B - kora ciemieniowa ma grubsze warstwy ukryte 2 i 3; C - kora ruchowa ma grubsze warstwy wyjściowe 5-6; D – kora przedczołowa nie ma wyraźnie grubszych warstw.
Podział funkcjonalny warstw: wejściowa warstwa4, dopływ informacji z wzgórza, zmysłów; wyjściowe warstwy5/6, ośrodki podkorowe, polecenia ruchowe; warstwy ukryte2/3, przetwarzając informację lokalną i z odległych grup neuronów, dochodzącą przez aksony z warstwy 1. Połączenia warstw W każdej warstwie mamy lokalne połączenia zwrotne. Warstwy ukryte: wydobywają pewne cechy z sygnału, wzmacniają jedne a osłabiają inne; umożliwia to realizację złożonych transformacji sygnału. Takiej organizacji wymaga też pamięć epizodyczna.
1) Warstwa wejściowa4,wstępnie przetwarzana informacja zewnętrzna. 2) Warstwy ukryte2/3, dalsze przetwarzanie, skojarzenia, mało we/wyj.3) Warstwy wyjściowe5/6, ośrodki podkorowe, polecenia ruchowe. Połączenia dokładniej te bloki maga być łączone kaskadowo
Połączenia jednokierunkowe są wyjątkami, ale taki model daje się uogólnić na sytuację ze sprzężeniami zwrotnymi. Przetwarzanie „od podstaw do góry” (bottom-up): kolektywnie neuronowe detektory dokonują transformacji, kategoryzacji wybranych sygnałów, odróżniając podobne od odmiennych. Proste transformacje Detektory tworzą reprezentację informacji dochodzącej do warstwy ukrytej. Najprostszy przypadek: binarne wzorce cyfr na siatce 5x7 na wejściu, wszystkie wzorce podobne do danej cyfry powinny pobudzać tą samą jednostkę ukrytą w siatce 5x2.
W programie Emergent (Start/Programy/Emergent) wybieramy File/Open Project, następnie otwieramyprojektbidir_xform.projdostępny na stroniehttp://grey.colorado.edu/CompCogNeuro/index.php/CECN1_Projects Detektor cyfr - symulacja Okienko Digital_Network pokazuje strukturę sieci, dwie warstwy, wejście i wyjście. Oglądanie wag połączonych z wybraną jednostką ukrytą: klikamy na r.wt (w zakładce Digit_Network), a potem na daną jednostkę: wagi są dopasowane dokładnie do cyfr.
Wagi wejściowe dla wybranej cyfry (zakładka Digit_Network)r.wt pokazuje wagi dla jednostek ukrytych, tu wszystkie 0 lub 1. s.wt pokazuje pojedyncze połączenia, np. lewy górny róg wejścia jest =1 dla 5 i 7. Detektor cyfr - sieć
Zamiast r.wt wybieramy act (w Digit_Network). W okienku kontroli ControlPanel wybieramy step, uruchamiając krok po kroku prezentację kolejnych cyfr. Detektor cyfr - działanie Stopień pobudzenia jednostek ukrytych dla wybranej cyfry jest duży (kolor żółty lub czerwony), dla pozostałych jest zero (kolor szary). Dobrze odróżnialne, np. 4, mają wyższe pobudzenia niż słabiej odróżnialne, np.3.
Jaka jest aktywność poszczególnych detektorów przy pojawieniu się jednego wzorca wejściowego? W okienku kontroli ControlPanel wybieramy Init i Run a następnie w oknie Digit_Network obserwujemy Dla każdego wzorca wszystkie jednostki pobudzają się do pewnego stopnia; widać tu dużą rolę progów, które pozwalają wybrać jednostkę właściwą; w okienku ControlPanel możemy wyłączyć progi (biases off) i zobaczyć, że niektóre cyfry nie są rozpoznawane. GridLog
W oknie Digits widzimy wszystkie wzorce. Klikając dwa razy na wzorzec możemy go zmieniać. Okienko Digits
W oknie ClusterPlot wybieramy Digits, Init i Run. Klasteryzacja za pomocą dendrogramów obrazuje wzajemne podobieństwo wektorów, długość kreski d(A,B) = |A-B|. Podobieństwo wzorców Hierarchiczna klasteryzacja wektorów reprezentujących wzorce wejściowe: mocno podobne są cyfry 8 i 3: 13 identycznych bitów, oraz 4 i 0, tylko 4 wspólne bity.
W oknie ClusterPlot wybieramy Noisy_digits, Apply i Step obserwując w okienku ClusterPlotData, oglądamy act, pobudzenia ukrytych neuronów. Podobieństwo zniekształconych wzorców Mamy wzorzec + 2 zniekształcone, podobieństwo zniekształconych cyfr pokazują dendrogramy.
Zmiana przewodności kanałów upływu wpływa na selektywność neuronów, dla mniejszej wartości l(ang. constant leak channel)odpowiedzi robią się stopniowe. W oknie ControlPanel zmniejszymy l = 6, do l = 4. Więcej skojarzeń mniejsza precyzja. Kanały upływu (potasowe) l =6 l =4
Sieć dla cyfr zastosujemy do liter ... jedynie S przypomina 8, pozostałe jednostki ukryte niczego nie rozpoznają. Detektory są wyspecjalizowane do określonych zadań! Nie rozpoznamy chińskich znaków jeśli znamy tylko koreański. Dendrogramy dla reprezentacji liter przed i po transformacji. Litery Co będzie jeśli zmniejszymy przewodność kanału upływu?
Reprezentacje lokalne : jeden neuron ukryty reprezentuje jeden wzorzec takie neurony nazywa się „komórkami babci” (grandmother cells). Reprezentacje rozproszone : wiele neuronów reaguje na jeden wzorzec, każdy neuron bierze udział w reakcji na wiele wzorców. Reprezentacje lokalne i rozproszone Obserwacje aktywizacji neuronu w części kory wizyjnej małpy przy rożnych pobudzeniach potwierdza istnienie reprezentacji rozproszonych http://www.brain.riken.go.jp/labs/cbms/tanaka.html - ładne demo.
Wzorce mogą być reprezentowane w rozproszony sposób przez zbiór ich cech (feature-based coding). Cechy są obecne „w pewnym stopniu”. Ukryte neurony można interpretować jako stopień wykrycia danej cechy – tak robi się w logice rozmytej. Reprezentacje rozproszone Zalety reprezentacji rozproszonej (RR): • Oszczędność: wzorce mogą być reprezentowane przez kombinacje aktywacji wielu jednostek; n lokalnych jednostek = 2n kombinacji. • Podobieństwo: wzorce podobne mają zbliżone RR, częściowo się nakładające. • Generalizacja: nowe wzorce aktywują różne RR dając zwykle aproksymację do sensownej odpowiedzi, między A i B. • Odporność na uszkodzenia, nadmiarowość systemu. • Dokładność: RR cech ciągłych jest bardziej realistyczna niż skokowe aktywacje lokalne. • Uczenie się: staje się łatwiejsze dla ciągłych łagodnych zmian w RR.
Projekt loc_dist.proj ze stronyhttp://grey.colorado.edu/CompCogNeuro/index.php/CECN1_Localist_vs_Distributed. Do reprezentacji cyfr używamy teraz 5 jednostek. Sieć reaguje na obecność pewnych cech, np. pierwszy neuron ukryty reaguje z… (rysunek na dole slajdu) Eksperyment z RR Rozproszone reprezentacje mogą działać nawet na przypadkowo wybranych cechach: nowa RR = rzut wzorców wejściowych do jakiejś przestrzeni cech. Gridlog pokazuje rozkład aktywności net i wyjścia z sieci, pokazując stopień obecności danej cechy. Dendrogram wygląda całkiem inaczej niż dla lokalnej sieci.
Sieci mają prawie zawsze sprzężenia zwrotne pomiędzy neuronami. Rekurencja: powtórne, powtarzające się pobudzenie, stąd sieci z rekurencją, dwukierunkowe (bidirectional). 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ę rozpoznawania. Przykład: rozpoznaj drugą literę w prostych słowach: LATO (szybciej) BAZS (wolniej) Dziwne:rozpoznawanie tekstu przebiega od liter do słów; jak wiec słowo pomaga w rozpoznaniu litery?
Sieć z ukrytą warstwą 2x5, połączoną zwrotnie z wejściami. Symetryczne połączenia: te same wagi Wij=Wji. Rekurencja dla 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. Kombinacje pobudzeń ukrytych neuronów
Projekt 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. Dopełnianie wzorców 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ć. Sprawdź zależność minimalnej liczby jednostek wystarczających do odtworzenia wzorca od przewodności kanałów jonowych. Dla dużego lstart 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 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ź.
Projekt amp_top_down.dist.proj. Rozproszona aktywacja może prowadzić do niekontrolowanego pobudzenia całej sieci. Dwa 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 i 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!
Potrzebny jest mechanizm reagujący dynamicznie, a nie stały prąd upływu – ujemne sprzężenie zwrotne, hamujące neurony. 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. Hamowanie prowadzi do rzadkich rozproszonych reprezentacji Hamowanie pobudzane wprzód: zależy od aktywizacji warstwy niższej Hamowanie pobudzane poziomo: zależy od aktywizacji tej warstwy
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
Zwycięzca bierze wszystko (Winner Takes All), zostawiająca tylko 1 aktywny neuron i nie prowadzi do reprezentacji rozłożonej. W realizacji SOM Kohonena zwycięzca jest wybrany razem z jego otoczeniem. Aktywizacja otoczenia zależy od odległości od zwycięzcy. Inne podejścia stosują kombinacje neuronów pobudzających i hamujących: McClelland I Rumelhart – interakcyjna aktywizacja i kompetycja; wprowadziła nadrzędność wyższej warstwy nad niższą pozwalając na uzupełnianie brakujących cech I przewidywanie Grossberg wprowadził dwukierunkowe połączenia pomiędzy warstwami używając struktury minikolumn oddzielne neurony hamujące Warstwa 6 -następny poziom oddziały- wania poziome 2/3 sprzężenie zwrotne 4 5 hamowanie poziome 6 aktywizacja wejścia Aproksymacja WTA i SOM
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ą pobudzenietak, by nie więcej niż k neuronów moglo być jednocześnie aktywnych. Znajdź k najbardziej pobudzonych neuronów w warstwie; 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 progowegogiQby dla wartości pomiędzy k i k+1 mogło go zbalansować hamowanie: • Dwa sposoby: proste i uśredniane. • Słabsi zwycięzcy eliminowani przez minimalna wartość progowa • Model kWTA stanowi uproszczenie oddziaływań biologicznych
Równowaga dla potencjału Q dla którego nie płyną prądy ustala się przy wartości przewodnictwa hamowania: kWTA proste 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) lub hamować mocno aktywne neurony (b).
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 inhib.proj. Wejście 10x10, ukryta warstwa 10x10 2x10 neuronów hamujących, realistyczne proporcje. Sieć dwukierunkowa ma druga warstwę ukrytą; kWTA stabilizuje aktywność zostawiając nieliczne aktywne neurony. Dokładny opis: podrozdziały 3.5.2 i 3.5.4 Projekty z kWTA Projekt inhib_digits.proj.
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. 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.
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. 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 i zmniejszenie przestrzeni poszukiwan.
Projekt cats_and_dogs.proj. Spełnianie ograniczeń: koty i psy • Wiedza zakodowana w sieci zakodowana jest w Tabeli. • Ćwiczenie opisane w rozdziale 3.6.4 prowadzi do • Prostej sieci semantycznej która potrafi • Uogólniać i określić unikalne cechy • Pokazuje relacje miedzy cechami • Określać czy cechy sa stabilne • Uzupełniać brakujące informacje
Projekt necker_cube.proj z Chapter_3. Bistabilność percepcji: sześcian można widzieć albo bliższa ścianą w lewo albo w prawo. Spełnianie ograniczeń: sześcian Procesy bistabilne można symulować uwzględniając szum. Ćwiczenie opisane jest w rozdziale 3.6.5.