310 likes | 449 Views
Inteligencja Obliczeniowa Neurony logiczne. Wykład 3 Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch. Szybka Powtórka BCM, Najprostsza pamięć asocjacyjna Macierze korelacji Zastosowania: pamięć rozpoznawcza. BAM, dwukierunkowa pamięć asocjacyjna.
E N D
Inteligencja ObliczeniowaNeurony logiczne Wykład 3 Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch
Szybka Powtórka BCM, Najprostsza pamięć asocjacyjna Macierze korelacji Zastosowania: pamięć rozpoznawcza BAM, dwukierunkowa pamięć asocjacyjna. Rzut oka na dalsze wykłady Co to takiego?
Inspiracje biologiczneInspiracje, nie modelowanieRys historyczny Możliwości i cele modelowania Ogólne własności modeli neuronowychInteligentne zachowania Główne aspekty modeli neuronowych Reguła Hebba Inne reguły adaptacji Neurony progowe Modele synchroniczne i asynchroniczne. Separowalność i możliwości neuronów logicznych. Szybka powtórka
Pamięć autoasocjacyjna • Autoasocjacja • pozwala na dopełnianie wzorców • rozpoznawanie uszkodzonych • Reguła Hebba Wzmacniaj korelacje jednocześnie aktywnych Wystarczą binarne połączenia
Zapamiętaj wektory binarne 110000 i 010001 To samo na wejściu i wyjściu, 6 bitów. Macierz Wij=d(xi xj,1) czyli Wij=xi xj 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 Najprostsza pamięć autoasocjacyjna: BCM (Binary Correlation Matrix)
Macierz korelacji wejść i wyjść po pierwszym prezentowanym wektorze 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110000
Macierz korelacji wejść i wyjść po drugim wektorze 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 110000 010001
Czy 010001 znane? Suma kolumn A = W2+W5= 120002 Neuron logicznyQ(A;q=2)= 010001,znane! Czy 010100 znane? Suma kolumn A = W2+W4= 110001 Neuron logiczny Q(A;q=2)= 000000, nieznane! Działanie modelu BCM Obliczanie aktywacji jest równoważne obliczeniu funkcji progowej Q(W*X - q) Obniżenie progu pozwala na identyfikację „prawie znanych” wektorów, a więc generalizację nauczonych faktów.
Zdolność do rozpoznawania uszkodzonych wzorców – adresowalność kontekstowa. Czas nie zależy od liczby zapamiętanych wzorców. Uszkodzenie części macierzy połączeń nie prowadzi do zapomnienia konkretnych wzorców - brak lokalizacji. Interferencja (mylenie się) dla podobnych wzorców jest częstsza niż dla wzorców odmiennych. Przepełnienie pamięci (macierzy wag) prowadzi do chaotycznego zachowania. Cechy binarnej pamięci autoasocjacyjnej
Wnioski • Nawet najprostszy model sieci neuronowej zachowuje się podobnie do pamięci asocjacyjnej człowieka! • Sekret inteligencji – połączenia, skojarzenia, rozproszone przetwarzanie + ? • Argumenty dualistów – umysł jest tylko odbiornikiem pozaświatowej rzeczywistości – nie mogą być słuszne – skrajnie proste modele dają coś umysłopodobnego.
Przykład zastosowania BCM: pamięć rozpoznawcza. • Czy dane słowo istnieje w słowniku? Kodowanie: (litera, pozycja) zamiast bitów na wejściu. 35 liter języka polskiego. Wyraz (l1,l2 ,... lN) => ciąg (000...1...0) Dlaczego nie kodASCII (7 bitów)? Wyrazy do 20 liter, 7 bit.literę, wyraz < 140 bitów. Macierz korelacji1402 =19600 b= 2450 B= 2.4 KB! Czy można tak zakodować dowolnie duży słownik?
Pamięć rozpoznawcza. Dla zbyt wielu słów i „gęstego kodowania” Macierzy korelacji ma same 1. p(bi = bj =1) a więcW(i,j)=1. Efekt: każdy wyraz będzie kojarzony z wyrazem złożonym z samych liter o nieistniejącym dla litery alfabetu kodzie 1111111. Dlatego kodowanie w oparciu o 35-bitowe litery ma w stosunku do kodowania binarnego liter pewne zalety.
Pamięć rozpoznawcza - cd. JeśliW(i,j)=1 to dla ciągu A z n bitów zawszeQ(A;q=n)= 1111111, same znane wyrazy! Kodowanie rzadkie może tego uniknąć. Kod temperaturowy, 35-bitów na literę. Wymiar macierzy Wzależy od kodowania. 35 liter, max. 20-liter, 20×35=700. 7002 Bitów < 60 KB, nadal niewiele. Interesujące korelacje: bliskie litery, dla dalszych brak korelacji. Duży słownik: litery (1,5)wszystkie możliwe, więc W(l1,l5)=1
Pamięć rozpoznawcza - cd. Macierz dla sieci po prezentacji 2 wyrazów: aba i cab.
Pamięć rozpoznawcza - cd. Brak informacji w odległych połączeniach – można je usunąć. Ograniczenia topologii sieci:tylko lokalne połączenia, np. liter oddalonych o 3 jednostki. Efekt: blokowa struktura macierzy W.
Pamięć rozpoznawcza - cd. Struktury wyższych rzędów: kombinacje lub fragmenty wyrazów. F. lokalna N(l) = {bi},znak =>ciąg bitów, np. N(l) = (0...1...0) F. nielokalnaN(lk;lk-1;lk+1 ...) = {bi}, np. NS(l)= (0,N(l)) dla liter l z podzbioru S NS(l)= (N(l), 0) dla pozostałych liter l. Kodowaniek-literowych kombinacji Wk Możliwości kodowania: od „gęstego” do „rzadkiego”: binarne log2 (Nlit)kdo (Nlit)k bitów/k-liter
Pamięć rozpoznawcza - słownik. Używając korelacji par, trójek, fragmentów tworzymy pamięć rozp. Jak najmniejsza macierz korelacji, jak najmniej błędów. Przykład: słownik na macierzy korelacji + generator nowych słów. Pary liter, kodowanie temperaturowe. Wyłapuje literówki, ale „rozpoznaje” nieistniejące wyrazy. argulacać argulachać argulachnyargulach argulacja argula argultacjaargultacji argultacjonalnyargultacjonność argultarzać argultarzały argultarz argultar argultatargultać argultałcać argultałca argultałcencja argultałcenielargultałcenie argultałcent argultał argulta argumeniać argumeniaargumenictwo argumeniczać argumeniczny argumeniczy argumenieć argumenieargumenika argumenik argumenić argumeni argumentacja argumentacjeargumenta argument argumiadać argumiad argumialenie argumialenioargumialent argumialeć argumialiwić argumializować argumialność
Pamięć rozpoznawcza - szukanie. Heteroasocjacja i inne możliwości kodowania: wyraz => alfabetycznie uporządkowanyciąg liter, np. "alfabet - aabeflt" "alfabet - (al)(lf)(fa)(ab)(be)(et)" lub posortowane "alfabet - (ab)(al)(be)(et)(fa)(lf)" Przykład: szukanie zbiorów na dysku. • Liczy ile par liter się zgadza i pokazuje nazwy zbiorów przy różnych progach zgodności dopuszczając coraz więcej pomyłek, od najwyższego progu. Np.: NTWIN =>WINNT; PROAMI => AMIPRO
Kohonen 1972, CMM (Correlation Matrix Memory) lub ACMM (AutoCorrelation Matrix Memory). Heteroasocjacja (X(k),Y(k)), np. nazwa <=> obraz. Macierz korelacji: Zapamiętuje asocjacje; dla ortogonalnych Y dostaniemy z obrazu nazwę lub odwrotnie: CMM, Correlation Matrix Memory
CMM cd. CMM można tworzyć iteracyjnie minimalizując błąd: Zmiana wag prop. do błędu i danych wejściowych (reguła delta) Efekty pamięci krótkotrwałej – nowe wzorce są lepiej pamiętane. Dla autoasocjacji chcemy WX(k)= X(k), czyli wektory Xto wektory własne macierzyWdo wartości wł. =1 X+ to macierz pseudoodwrotna;XX+X=X, X+XX+=X+X+Xi XX+to macierze Hermitowskie.
Bi-directional Associative Memory, Kosko 1987 Model pamięci asocjacyjnej: Czas rozpoznania nie powinien zauważalnierosnąć wraz z liczbą nowych struktur. Struktury lekko zniekształcone powinny byćrównież rozpoznawane jako znane. Obraz X – np. matryca 8x8;nazwaY– znaki ASCII (ciągi bitów). Algorytm iteracyjny: wzorce binarne 0, 1; wagi pobudzające i hamujące 0, ±1, przy prezentacji wektorów (X,Y) zmiana: DWij(X,Y) = 2d(Xi,Yj)-1 BAM:pamięć dwukierunkowa
Przykład: (X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010), końcowe W BAM: Tworzenie macierzy wag
Przykład: (X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010). Q((X1,X2)T W) = (Y1,Y2) BAM: odtwarzanie nazwy
Przykład: (X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010). Q(W . (Y1,Y2)) = (X1,X2), ale czasami potrzebne są iteracje. BAM: odtwarzanie obrazu
1. Zeruj W, X, Y 2. Wczytaj X, Ydla kolejnego skojarzenia 3. Uczenie: W(i,j) = W(i,j) - 1 if A(i).xor.B(j) else W(i,j) = W(i,j) + 1 BAM: algorytm 4. Jeśli są jeszcze skojarzenia do nauczenia wróć do p. 2. Odtwarzanie: wczytaj X 6. Iteruj z X do Y: Y(j)=1 jeśli suma X(i)*W(i,j) > 0, w przeciwnym przypadku Y(j)=0 7. Iteruj z Y do X: X(i)=1 jeśli suma Y(j)*W(i,j) > 0, w przeciwnym przypadku Y(i)=0 Powtarzaj 6 i 7 aż ustaną wszelkie zmiany.
Q- funkcja progowaneuronu; wektory o wartościach 0,1 Dlaczego BAM działa? Znany wzorzec na wejściu da: Drugi człon (przesłuch) zwykle jest zwykle mały, dla wektorów ortogonalnych równy zero – wtedy po 1 iteracji mamy zbieżność.
Można zdefiniować funkcję typu energii: Dlaczego BAM działa? Cd. W czasie iteracji funkcja ta musi maleć, osiągając minimum. Niech po prezentacji Y wektor X zmieni się o DX, gdzie DXj = +1 tylko jeśli Ij = (WY)j > 0, lub DXj = -1 tylko jeśli Ij = (WY)j < 0 Zmiana DXj ma ten sam znak co Ij. Pojemność BAM: niewielka, mniej wzorców niż min długości X, Y
Program BAM: Obrazy: 100 bitów, 10 x 10 elementów, litery, cyfry. Nazwy: 7 bitów Szum dodawany do wag – sprawdza odporność na uszkodzenia. Zbieżność: kilka iteracji. Podobieństwoobrazów lub nazw psuje zapamiętywanie. Czy mogą siępojawić cykle? Przykład działania BAM
Chociaż sieci oparte na korelacjach są najprostszymi biologicznie inspirowanymi modelami mogą opisywać procesy zachodzące w korze. Korelacyjna teoria działania kory Hecht-Nielsena (2003) Skojarzenia Tokeny: elementarne ruchy, cechy, sylaby, słowa. Przewidujemy słowo na pozycji 5 znając 4 poprzedzające słowa. Każdemu przypisujemy p(ik|j), a za końcowe j wybieramy max p(j), każde obliczane metodą najsłabszego ogniwa.
Sieci bez wag Inne proste modele binarne Sieci Hopfielda Sieci Hebbowskie i modele mózgu Perceptrony proste Perceptrony wielowarstwowe Co dalej?
Koniec wykładu 3 Dobranoc