Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD XI: Sztuczne sieci neuronowe
[pattern associator], PA struktura: Sieci kojarzące wzorce programowanie: wyjście jednostki = aktywacji sieciowej (N) wagi: pobudzające (+), hamujące (-) reprezentacja matrycowa sieci: interpretacja: A: kształt płatków B: konfiguracja płatków C: kolor płatków D: rodzaj łodygi
Sieć różana określona wartość pobudzenia danej jednostki reprezentuje określoną, specyficzną własność dane wejściowe: ciąg wartości dostarczanych jednostkom wejściowym: wektor wejścia <1, -1, -1, 1> obliczanie: A-E: 1-0.25 = -0.25 B-E: -1 0.25 = -0.25 C-E: -1 0.25 = -0.25 D-E: 1-0.25 = -0.25 suma (E): = -1 zadanie: wyliczyć wartości wyjścia dla pozostałych jednostek wyjściowych (F-H) wektor wyjścia sieci różanej: <-1, -1, 1, 1>
Błędy wejścia działania sieci PA nie uniemożliwia dostarczenie na wejściu błędnych (zdegradowanych, degraded) danych dane wejściowe: jednostka wejściowa C nie jest pobudzana: wektor wejścia <1, -1, 0, 1> obliczanie: A-E: 1-0.25 = -0.25 B-E: -1 0.25 = -0.25 C-E: 0 0.25 = 0 D-E: 1-0.25 = -0.25 suma (E): = -0.75 zadanie: wyliczyć wartości wyjścia dla pozostałych jednostek wyjściowych (F-H) wektor wyjścia sieci różanej: <-0.75, -0.75, 0.75, 0.75> zachowany wzór, nieco słabszy
Sieci nałożone [superimposed networks]: sieci PA mogą przechowywać skojarzenia między więcej, niż jedną parą wektorów wejściawyjścia sieć kozia : dane we/wy: wektor wejścia reprez. wygląd kozy <-1, 1, -1, 1>; wektor wyjścia (reprez. zapach kozy): <-1,1,1,-1> nałożenie sieci: [ a b c d] [ w x y z] = [ a w b x c y d z]
Sieci nałożone Czy w takiej sieci koza nie będzie pachniała różą? (i vice versa) obliczanie: A-E: -1 0 = 0 B-E: 1 0 = 0 C-E: -1 0.5 = 0.5 D-E: 1-0.5 = -0.5 suma (E): = -1 A-F: -1-0.5 = 0.5 B-F: 1 0.5 = 0.5 C-F: -1 0 = 0 D-F: 1 0 = 0 suma (F): = 1 zadanie: wyliczyć wartości wyjścia dla pozostałych jednostek wyjściowych (G-H) oraz dla wektora róży Uwaga: wektory muszą być ortogonalne
Sieci rekurencyjne sieci z jednokierunkowymi połączeniami [feedforward networks] + sprzężenia zwrotne (pętle) modelowanie zjawisk ewoluujących wraz z upływem czasu: Rodzaje sieci rekurencyjnych: nierozszerzona (trójwarstwowa) sieć rekurencyjna: poziom wyższy przekazuje aktywację wstecznie do poziomu niższego dany poziom przekazuje aktywację samemu sobie
Sieci rekurencyjne rozszerzona (trójwarstwowa) sieć rekurencyjna zawiera dodatkowy, rozszerzający poziom jednostek przekazujący aktywację do: ukrytego poziomu poziomu wejściowego (sieć Elmana, 1990, 1992)
Uczenie się sieci i trening nienaruszona struktura sieci (z pewnym zastrzeżeniem) nienaruszone reguły przekazywania aktywacji niezmieniona interpretacja jednostek lub wektorów doświadczenie wpływa na wartości wag Paradygmaty uczenia się (Rumelhart, Zipser, 1986): rozpoznawanie regularności: grupa wzorców pobudzeń związanych z pewnymi prawdopodobieństwami system odkrywa statystycznie najistotniejsze cechy auto-kojarzenie: prezentowany zbiór wzorców przy prezentacji fragmentu wzorca lub wzorca podobnego do oryginalnego system odzyskuje oryginalny wzorzec
Uczenie się sieci i trening kojarzenie wzorców: prezentowane są pary wzorców gry zaprezentowany jest jeden element pary, system przywołuje na wyjściu drugi paradygmat klasyfikacyjny: prezentowany zbiór wzorców wraz z kategoriami do których każde z pobudzeń należy gdy prezentowany jest wzorzec (lub lekko zmodyfikowana wersja) system powinien go poprawnie sklasyfikować
Uczenie się sieci podział II bez nauczyciela (nienadzorowane; unsupervised): nie istnieje docelowe wyjście, do którego sieć ma się zbliżać przykład: uczenie się z rywalizacją [competititve learning] z nauczycielem (nadzorowane, supervised): w trakcie treningu prezentowane są pary wektorów wejścia i wyjścia sieć porównuje wyjście docelowe i faktycznie uzyskane i modyfikuje stosownie do tej różnicy wagi
Przykład I uczenie się hebbowskie Hebb (1949): gdy dwa powiązane neurony są aktywne, wzrasta siła połączenia pomiędzy nimi: czy będzie to uczenie z nauczycielem, czy bez? o ile powiązanie się wzmacnia i od czego to zależy? reguła (H): (i) znajdź iloczyn: aktywacji jednostki wejściowej, aktywacji powiązanej z nią jednostki wyjściowej oraz współczynnika uczenia się (1/liczba jedn. wejściowych) (ii) dodaj to do poprzedniej wagi połączenia (iii) wynik to nowa waga połączenia Przykład: trenujemy sieć regułą (H) tak, by odróżniała jedną parę wektorów od drugiej, reagując na wektory V1, V2-1, zaś na wektory V3, V4-0
Przykład I uczenie się hebbowskie Para żeńska (wyjście=1): V1=<1,-1,-1,1> V2=<1,1,1,1> Para męska (wyjście=0): V3=<1,-1,1,-1> V4=<-1,-1,1,1,> Uczymy sieć rozpoznawania tych dwóch grup twarzy V1: (i) iloczyn: (a.we a.wy wsp.ucz) 1 1 1/4=0.25 (ii) poprzednia waga: 0 (sieć nie była jeszcze trenowana) (iii) nowa waga: 0 + 0.25 = 0.25 A-E: 1 1 0.25 + 0 = 0.25 B-E: -1 1 0.25 + 0 = -0.25 C-E: -1 1 0.25 + 0 = -0.25 D-E: 1 1 0.25 + 0 = 0.25 Sieć jest przetrenowana wektorem V1
Przykład I uczenie się hebbowskie Para żeńska (wyjście=1): V1=<1,-1,-1,1> V2=<1,1,1,1> Para męska (wyjście=0): V3=<1,-1,1,-1> V4=<-1,-1,1,1,> V2: A-E: 1 1 0.25 + 0.25 = 0.5 B-E: 1 1 0.25 + -0.25 = 0 C-E: 1 1 0.25 + -0.25 = 0 D-E: 1 1 0.25 + 0.25 = 0.5 V3, V4: wyjście to 0, więc zmiana wagi=0 Obliczenia: czy przetrenowana sieć będzie rozpoznawać twarze? V2: N = 1 0.5 + 1 0 + 1 0 + 1 0.5 = 1 OK. V4: N = -1 0.5 + -1 0 + 1 0 + 1 0.5 = 0 OK. Zadanie: Sprawdzić wektory V1, V3.
Przykład II uczenie się Delta w HL wagi są funkcją aktywacji wejściowej i wyjściowej nie ma informacji zwrotnej o różnicy pomiędzy tym, co sieć robi a tym co powinna osiągnąć nie ma możliwości uczenia się na błędach (E) Błąd = aktywacja docelowa aktywacja faktyczna (jednostki wyjściowej) Reguła (D): (i) ustal błąd (E) (ii) wylicz iloczyn: aktywacja wejściowa, błąd oraz wsp. uczenia się (iii) dodaj to do poprzedniej wagi (iv) wynikiem jest nowa waga Zastosujemy tą regułę uczenia się do sieci twarzowej. Wykorzystamy w tym celu poniższe wektory:
Przykład II uczenie się Delta V1=<1,-1,1,-1> (wyjście=1) V2=<1,1,1,1> (wyjście=1) V3=<1,1,1,-1> (wyjście=-1) V4=<1,-1,-1,1,> (wyjście=-1) Próba 1 (V1): (D) (i) N = 0 1 + 0-1 + 0 1 + 0-1 = 0; E = 1-0 = 1 (ii) iloczyn a.we. błąd wsp.ucz.: 1 1 0.25 = 0.25 (iii) wcześniejsza waga: 0 (iv) nowa waga: 0 + 0.25 = 0.25 A-E: 1 1 0.25 + 0 = 0.25 B-E: -1 1 0.25 + 0 = -0.25 C-E: 1 1 0.25 + 0 = 0.25 D-E: -1 1 0.25 + 0 = -0.25
Przykład II uczenie się Delta V1=<1,-1,1,-1> (wyjście=1) V2=<1,1,1,1> (wyjście=1) V3=<1,1,1,-1> (wyjście=-1) V4=<1,-1,-1,1,> (wyjście=-1) Próba 2 (V2): (i) N = 1 0.25 + 1-0.25 + 1 0.25 + 1-0.25 = 0; E = 1-0 = 1 (ii) iloczyn a.we. błąd wsp.ucz.: 1 1 0.25 = 0.25 (iii) wcześniejsza waga: 0.25 (iv) nowa waga: 0.25 + 0.25 = 0.5 A-E: 1 1 0.25 + 0.25 = 0.5 B-E: 1 1 0.25 + -0.25 = 0 C-E: 1 1 0.25 + 0.25 = 0.5 D-E: 1 1 0.25 + -0.25 = 0 Zadanie: przeprowadź próby dla V3 (wagi: 0, -0.5, 0, 0.5) i dla V4 (wagi -0.5, 0, 0.5, 0)
Przykład II uczenie się Delta Wagi po pierwszym cyklu treningowym: -0.5, 0, 0.5, 0 wagi po 20 cyklach treningowych: -1,-1,2,1 obliczanie: (V3): N = 1-1 + 1-1 + 1 2 + -1 1 = -1 OK. Zadanie: Sprawdź poprawność sieci dla wektorów V1, V2, V4. uczenie się Delta można stosować, gdy wektory nie są ortogonalne, ale są liniowo rozdzielne gdy wektory nie są liniowo rozdzielne Delta będzie minimalizować błąd (ale: wektory muszą być liniowo niezależne)
Reprezentacje Poznanie obejmuje (m.in.) manipulacje (tworzenie, przekształcanie, usuwanie) na reprezentacjach jakiego rodzaju reprezentacje pojawiają się w modelach koneksjonistycznych? co determinuje to, co reprezentacje koneksjonistyczne reprezentują? Odmiany reprezentacji koneksjonistycznych: reprezentacje lokalne [local, punctate representations] aktywacja indywidualnej jednostki reprezentuje element w dziedzinie śmierć neuronów niedobór neuronów problem nowych pojęć
Rodzaje reprezentacji reprezentacje quasi-rozproszone wzór aktywacji w zbiorze jednostek reprezentuje element dziedziny; jednostki nie uczestniczą w innych reprezentacjach reprezentacje (w pełni) rozproszone [distributed r.] wzór aktywacji zbioru jednostek reprezentuje element dziedziny; jednostki mogą uczestniczyć w innych reprezentacjach Mikrocechy [microfeatures] Smolensky, 1988 modele koneksjonistyczne operują pomiędzy poziomem pojęciowym a neuronalnym (poziom podpojęciowy, subconceptual) reprezentacje: złożone wzorce aktywności wielu jednostek wzorce mają interpretację pojęciową (semantyczną) rola semantyczna jednostek: żadna lub mikrocechy
Mikrocechy. Kawa [w:] Smolensky 1991, s. 208-9, fig. 2-4.
Reprezentacje rozproszone dostęp za pośrednictwem treści (do pamięci), nie zaś za pośrednictwem jakiegoś arbitralnego adresu uzupełnianie wzorców, tj. zdolność do poprawnego rozpoznawania niepełnych danych wejściowych spontaniczna generalizacja: zdolność systemu do aktywacji węzłów powiązanych z docelowymi tolerancja dla błędów: zdolność do ignorowania fałszywych lub mylących danych wejściowych łagodna (stopniowa) degradacja: uszkodzony system nie przestaje działać, jego zdolności stopniowo ulegają degradacji ulepszone ponowne uczenie się: system zniszczony ponownie uczy się znacznie szybciej, niż za pierwszym razem
Koneksjonizm w pytaniach Jak wiele jednostek jest w sieci? Jaki jest wzór (architektura) połączeń? Które połączenia są pobudzające, które hamujące? Jaki jest kierunek przepływu aktywacji? Co pojedyncze jednostki reprezentują (o ile cokolwiek)? Co grupy jednostek w każdej z warstw reprezentują? Jak sieć oblicza wyjście w oparciu o wejście? Jakie są reguły przekazywania aktywacji (w tym progi)? Jakie wagi mają powiązania? Jakie są procedury zmiany wag/progów?