Wykład 3 Neuropsychologia komputerowa Sieci Neuronów Włodzisław Duch UMK Toruń Google: W Duch 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 W A Logika progowa neuronów: Jeśli M z N warunków jest spełnionych to Konkluzja 5 W A 2 i 1 i i Warunki mogą mieć różne wagi; logikę klasyczną można łatwo zrealizować za pomocą neuronów progowych. 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 = duże podobieństwo (mała odległość). Neurony i sieci 1. Jakie własności ma sieć neuronów? 2. Jak można wpłynąć na sieć neuronów, by robiła coś ciekawego? Biologia: sieci są w korze (neocortex) i strukturach podkorowych. neurony pobudzające i hamujące. Ogólnie pobudzenia mogą być: • głównie w jednym kierunku – transformacja sygnałów; • w obu kierunkach – dopełnianie brakującej informacji, uzgadnianie hipotez i wzmacnianie słabych sygnałów. Hamowanie: kontroluje wzajemne pobudzenia, konieczne by unikać dodatniego sprzężenia zwrotnego (padaczka). Całość umożliwia spełnianie wielorakich ograniczeń (constraint satisfaction), interpretacji nadchodzącej informacji w świetle wiedzy o jej znaczeniu, zakodowanej w strukturze sieci. Ogólna struktura sieci Czy kora ma jakieś własności ogólne czy też jej budowa zależy od funkcji: percepcyjnych, ruchowych, skojarzeniowych? 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, otwiera kanały Na+, długie aksony, komunikacja wewnątrz i między grupami neuronów na mniejsze i większe odległości; około 85%, głównie komórki piramidowe, gwiaździste + ... B neurony hamujące – główny NT to GABA, otwiera kanały Cl-, interneurony, lokalne projekcje, regulacja poziomu pobudzenia; około 15%: koszyczkowe i kandelabrowe + ... Dendryty zużywają 95% energii, aksony tylko 5%, sieci dendrytyczne. Neurony pobudzające i hamujące Kwas glutaminowy otwiera kanały Na+, pobudzająco, GABA działa na kanały Cl- hamując pobudzanie. Struktura laminarna 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 - kora wzrokowa ma frubszą 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. Połączenia warstw Podział funkcjonalny warstw: • wejściowa warstwa 4, dopływ informacji z wzgórza, zmysłów; • wyjściowe warstwy 5/6, ośrodki podkorowe, polecenia ruchowe; • warstwy ukryte 2/3, przetwarzając informację lokalną i z odległych grup neuronów, dochodzącą przez aksony z warstwy 1. W każdej warstwie mamy lokalne połączenia zwrotne. Ukryte: wydobywają pewne cechy z sygnału, wzmacniają jedne a osłabiają inne; taka organizacja umożliwia realizację złożonych transformacji sygnału. Takiej organizacji wymaga też pamięć epizodyczna. Połączenia dokładniej 1) Warstwa wejściowa 4, wstępnie przetwarzana informacja zewnętrzna. 2) Warstwy ukryte 2/3, dalsze przetwarzanie, skojarzenia, mało we/wyj. 3) Warstwy wyjściowe 5/6, ośrodki podkorowe, polecenia ruchowe. Proste transformacje 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 sygnały podobne od odmiennych. Detektory tworzą reprezentację informacji dochodzącej do warstwy ukrytej, osłabiając nieistotne różnice a wzmacniając istotne. Prosty 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; tu mamy tylko jedną. Detektor cyfr - symulacja Uruchamiamy symulator Emergent. Ładujemy Transform.proj, ilustrujący uczenie się kategorii, czyli podkreślanie istotnych różnic i pomniejszanie nieistotnych. Sieć ma rozpoznawać cyfry. Okienko ...Digit_Network pokazuje strukturę sieci, tylko dwie warstwy, wejście i wyjście. Oglądanie wag połączonych z wybraną jednostką ukrytą: wybieramy r.wt w Digt_Network, a potem strzałką klikamy na daną jednostkę: wszystkie wagi są =1, dopasowane dokładnie do kwadratów dla cyfr. Widać act i net (ostatnia kolumna) czyli aktywacje i nieliniowe wyjście. Detektor cyfr - sieć Wagi wejściowe dla wybranej cyfry r.wt pokazuje wagi dla jednostek ukrytych, tu wszystkie 0 lub 1. Inne zmienne pokazują biasy, prądy, potencjały, aktywacje sieci (net input value) i inne parametry. Detektor cyfr - działanie r.wt => act (w Digit_network). W ControlPanel init, step, uruchamiając jeden krok, prezentację kolejnych cyfr. 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. 8 - 0. GridLog Jaka jest aktywność poszczególnych detektorów przy pojawieniu się jednego wzorca wejściowego? Widać to w okienku TrialOutputData, można je zamienić na większe okno. 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 ControlPanel możemy wyłączyć progi (biases_off) i zobaczyć, że niektóre cyfry nie są rozpoznawane. Okienko Digits W okienku Digits widać wszystkie wzorce, środowisko tu możemy je zmieniać, usuwać lub dodawać nowe. Dodanie bitu 1 do wzorca: kliknąć na kratkę; usunięcie bitu: shift+kliknięcie. Wybór w dolnym lewym rogu pokaże większe okienko z tym wzorcem. Podobieństwo wzorców Z okienka ControlPanel wybieramy cluster_data_src Digits. Klasteryzacja za pomocą dendrogramów obrazuje wzajemne podobieństwo wektorów, długość kreski d(A,B) = |A-B|. Hierarchiczna klasteryzacja wektorów reprezentujących wzorce wejściowe. Mocno podobne są cyfry 8 i 3: 13 identycznych bitów. Cyfry 4 i 0 mają tylko 4 wspólne bity. 0 i 8 wychodzi w tej klasteryzacji mocno różne; jest kilka rodzajów dendrogramów. Klasteryzacja wyjść dla danych zaszumionych pokaże ich podobieństwo. Podobieństwo zniekształconych wzorców Z okienka ControlPanel wybieramy teraz Noisy_digits Mamy wzorzec + po dwa zniekształcone, podobieństwo pokazują dendrogramy. Apply i Step obserwując w okienku Network, oglądamy act, pobudzenia ukrytych neuronów. Klasteryzacja output pokazuje identyczność. Kanały upływu (potasowe) Zmiana przewodności kanałów upływu wpływa na selektywność neuronów, dla mniejszej wartości ĝl odpowiedzi robią się stopniowe. W okienku ControlPanel zmniejszymy ĝl =6, do 5 i 4. Jest więcej skojarzeń ale zmniejsza się precyzja. ĝl =6 ĝl = 5 ĝl = 4 Litery 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. Co będzie jeśli zmniejszymy przewodność kanału upływu? Lokalnie i rozproszone reprezentacje Sieć dla cyfr robiła bardzo prostą transformację, dopasowanie wzorców. Jeden neuron ukryty reprezentował jeden wzorzec, w czysto lokalny sposób; takie neurony nazywa się „komórkami babci” (grandmother cells). Rozproszone reprezentacje: wiele neuronów reaguje na jeden wzorzec, każdy neuron bierze udział w reakcji na wiele wzorców. http://www.brain.riken.go.jp/labs/cbms/tanaka.html - ładne demo. Rozproszone reprezentacje 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. Zalety rozproszonej reprezentacji (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 będą aktywować różne RR dając zwykle aproksymację do sensownej odpowiedzi, między A i B. • Odporność na uszkodzenia, redundancja systemu. • Dokładność: RR ciągłych cech jest bardziej realistyczna niż skokowe aktywacje lokalne. • Uczenie się: staje się łatwiejsze dla ciągłych łagodnych zmian w RR. Eksperyment z RR Projekt Ch3, Loc_dist.proj. Do reprezentacji cyfr używamy teraz 5 jednostek. Sieć reaguje na obecność pewnych cech, np. pierwszy neuron ukryty reaguje na dolną kreskę. 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. r.wt w DigitNetwork to pokaże. RR i zaszumione cyfry • Dendrogram wygląda całkiem inaczej niż dla lokalnej sieci. Do klasyfikacji to nie wystarczy, potrzebna jest oczywiście kolejna warstwa ukryta, lub więcej detektorów cech w ukrytej warstwie, ale dendrogram pokazuje ogólne podobieństwa pomiędzy cyframi.