220 likes | 379 Views
Wykład 3 Neuropsychologia komputerowa. Sieci Neuronów Włodzisław Duch UMK Toruń Google: W Duch. Pojedyncze neurony pozwalają na detekcję elementarnych cech. Do czego można użyć modelu neuronu?. Neurony i reguły. Logika klasyczna: Jeśli A 1 i A 2 i A 3 to Konkluzja
E N D
Wykład 3Neuropsychologia komputerowa Sieci Neuronów Włodzisław Duch UMK Toruń Google: W Duch
Pojedyncze neurony pozwalają na detekcję elementarnych cech. Do czego można użyć modelu neuronu? Neurony i reguły 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śliM z Nwarunków jest spełnionych to Konkluzja 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 unormowanychX, A, więc silne pobudzenie = duże podobieństwo (mała odległość).
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 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.
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: Aneurony 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 + ... Bneurony 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.
Kwas glutaminowy otwiera kanały Na+, pobudzająco, GABA działa na kanały Cl- hamując pobudzanie. Neurony pobudzające i hamujące
Kora ma grubość 2-4 mm, składa się z 6 warstw, o różnej grubości w różnych częściach mózgu. Struktura laminarna 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.
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. 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.
1) Warstwawejściowa 4, wstępnie przetwarzana informacja zewnętrzna. 2) Warstwy ukryte2/3, dalsze przetwarzanie, skojarzenia, mało we/wyj.3) Warstwywyjściowe 5/6, ośrodki podkorowe, polecenia ruchowe. Połączenia dokładniej
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. Proste transformacje 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ą.
Uruchamiamy symulator Emergent. Ładujemy Transform.proj, ilustrujący uczenie się kategorii, czyli podkreślanie istotnych różnic i pomniejszanie nieistotnych. Sieć ma rozpoznawać cyfry. Detektor cyfr - symulacja Okienko ...Digit_Networkpokazuje 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.
Wagi wejściowe dla wybranej cyfryr.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 - sieć
r.wt => act (w Digit_network). W ControlPanel init, step, uruchamiając jeden krok, 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. 8 - 0.
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. GridLog
W okienku Digits widać wszystkie wzorce, środowisko tu możemy je zmieniać, usuwać lub dodawać nowe. Okienko Digits 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.
Z okienka ControlPanel wybieramy cluster_data_srcDigits. 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. 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.
Z okienkaControlPanelwybieramy terazNoisy_digits Podobieństwo zniekształconych wzorców Mamy wzorzec + po dwa zniekształcone, podobieństwo pokazują dendrogramy. Apply i Stepobserwując w okienkuNetwork, oglądamyact, pobudzenia ukrytych neuronów. Klasteryzacja output pokazuje identyczność.
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. Kanały upływu (potasowe) ĝl =6 ĝl = 5 ĝ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?
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. Lokalnie i rozproszone reprezentacje 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. Rozproszone reprezentacje • 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.
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ę. 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. r.wt w DigitNetwork to pokaże.
Dendrogram wygląda całkiem inaczej niż dla lokalnej sieci. RR i zaszumione cyfry 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.