Inteligencja Obliczeniowa Neurony logiczne

Slides:



Advertisements
Podobne prezentacje
Włodzisław Duch Katedra Informatyki Stosowanej,
Advertisements

Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Sieć jednokierunkowa wielowarstwowa
SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
Inteligencja Obliczeniowa Metody oparte na podobieństwie do wzorców.
dr A Kwiatkowska Instytut Informatyki
Inteligencja Obliczeniowa Sieci dynamiczne cd.
Inteligencja Obliczeniowa Binarne modele pamięci skojarzeniowych
Inteligencja Obliczeniowa Neurony logiczne
Inteligencja Obliczeniowa Sieci RBF.
Inteligencja Obliczeniowa Otwieranie czarnej skrzynki.
Katedra Informatyki Stosowanej UMK
Katedra Informatyki Stosowanej UMK
Uczenie konkurencyjne.
Samoorganizacja: uczenie bez nadzoru.
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Metody probabilistyczne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Inteligencja Obliczeniowa Sieci o zmiennej strukturze.
Inteligencja Obliczeniowa Perceptrony
Sieci pamieci skojarzeniowej
Sztuczne sieci neuronowe
Ulepszenia metody Eigenfaces
Sztuczna Inteligencja Reprezentacja wiedzy II Systemy produkcyjne Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch.
Zastosowanie pamięci semantycznej we wspomaganiu decyzji medycznych
Inteligencja Obliczeniowa Klasteryzacja i uczenie bez nadzoru.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Perceptrony proste liniowe - Adaline
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
mgr inż. Rafał Komański styczeń 2004
Sieci Hopfielda.
Kod Graya.
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Systemy wspomagania decyzji
Sztuczne Sieci Neuronowe
formalnie: Uczenie nienadzorowane
Wspomaganie decyzji nie zwalnia od decyzji...
Uczenie w Sieciach Rekurencyjnych
Systemy wspomagania decyzji
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Perceptrony proste liniowe - Adaline
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Perceptrony proste nieliniowe i wielowarstwowe © Kazimierz Duzinkiewicz, dr hab.
Formalnie: Pamięci asocjacyjne Dorota Cendrowska nieformalnie: (???) To miasto było na ‘K’... Na pewno na ‘K’! (???) Mam! To było Świnoujście...
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Elementy cyfrowe i układy logiczne
Inteligencja Obliczeniowa Binarne modele pamięci skojarzeniowych
Learnmatrix, Adaline, Madaline i modele liniowe
Technika Mikroprocesorowa 1
Samoorganizacja: uczenie bez nadzoru
Kognitywne właściwości sieci neuronowych
Perceptrony o dużym marginesie błędu
Wstęp do Informatyki - Wykład 6
Włodzisław Duch Katedra Informatyki Stosowanej,
Inteligencja Obliczeniowa Binarne modele pamięci skojarzeniowych
Sieci o zmiennej strukturze
Perceptrony o dużym marginesie błędu
ALGORYTMY I STRUKTURY DANYCH
Inteligencja Obliczeniowa Perceptrony
Katedra Informatyki Stosowanej UMK
Samoorganizacja: uczenie bez nadzoru
Inteligencja Obliczeniowa Neurony logiczne
Perceptrony wielowarstwowe, wsteczna propagacja błędów
Zapis prezentacji:

Inteligencja Obliczeniowa Neurony logiczne Wykład 3 Włodzisław Duch Katedra Informatyki Stosowanej, WFAiIS Laboratorium Neurokognitywne ICNT Uniwersytet Mikołaja Kopernika Google: W. Duch (c) 1999. Tralvex Yeap. All Rights Reserved

Szybka powtórka Inspiracje biologiczne  Inspiracje, nie modelowanie  Rys historyczny Możliwości i cele modelowania  Ogólne własności modeli neuronowych  Inteligentne 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.

O czym będzie? BCM, Najprostsza pamięć asocjacyjna Macierze korelacji Zastosowania: pamięć rozpoznawcza BAM, dwukierunkowa pamięć asocjacyjna. Rzut oka na dalsze wykłady

Pamięć autoasocjacyjna Autoasocjacja pozwala na dopełnianie wzorców rozpoznawanie uszkodzonych wzorców Reguła Hebba  Wzmacniaj korelacje jednocześnie aktywnych  Wystarczą binarne połączenia

Najprostsza pamięć autoasocjacyjna: BCM (Binary Correlation Matrix) 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 1 0 0 0 1

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 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 1 0 0 0 1 110000 010001

Działanie modelu BCM Czy 010001 znane? Czy 010100 znane? Suma kolumn A = W2 + W5 = 120002 Neuron logiczny Q(A; q=2) = 010001, znane! Czy 010100 znane? Suma kolumn A = W2 + W4 = 110001 Neuron logiczny Q(A; q=2) = 000000, nieznane! 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.

Cechy binarnej pamięci autoasocjacyjnej 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.

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 kod ASCII (7 lub 8 bitów)? Wyrazy do 20 liter, 7 bit.literę, wyraz < 140 bitów. Macierz korelacji 1402 =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” macierz korelacji ma same 1. p(bi = bj =1) a więc W(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śli W(i,j)=1 to dla ciągu A z n bitów zawsze Q(A; q=n) = 1111111, same znane wyrazy! Kodowanie rzadkie może tego uniknąć. Kod temperaturowy, 35-bitów na literę. Wymiar macierzy W zależ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. Najważniejsza jest odpowiednia reprezentacja danych! F. lokalna N(l) = {bi}, znak => ciąg bitów, np. N(l) = (0...1...0) F. nielokalna N(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. Kodowanie k-literowych kombinacji Wk Możliwości kodowania: od „gęstego” do „rzadkiego”: binarne log2 (Nlit)k do (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ć argulachny argulach argulacja argula argultacja argultacji argultacjonalny argultacjonność argultarzać argultarzały argultarz argultar argultat argultać argultałcać argultałca argultałcencja argultałceniel argultałcenie argultałcent argultał argulta argumeniać argumenia argumenictwo argumeniczać argumeniczny argumeniczy argumenieć argumenie argumenika argumenik argumenić argumeni argumentacja argumentacje argumenta argument argumiadać argumiad argumialenie argumialenio argumialent argumialeć argumialiwić argumializować argumialność

Pamięć rozpoznawcza - szukanie Heteroasocjacja i inne możliwości kodowania: wyraz => alfabetycznie uporządkowany cią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

CMM, Correlation Matrix Memory 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 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 X to wektory własne macierzy W do wartości wł. =1 X+ to macierz pseudoodwrotna; XX+X=X, X+XX+=X+ X+X i XX+ to macierze Hermitowskie.

BAM: pamięć dwukierunkowa Bi-directional Associative Memory, Kosko 1987 Model pamięci asocjacyjnej: Czas rozpoznania nie powinien zauważalnie rosnąć wraz z liczbą nowych struktur. Struktury lekko zniekształcone powinny być również rozpoznawane jako znane. Obraz X – np. matryca 8x8; nazwa Y – 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: Tworzenie macierzy wag Przykład: (X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010), końcowe W

BAM: odtwarzanie nazwy Przykład: (X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010). Q((X1,X2)T  W) = (Y1,Y2)

BAM: odtwarzanie obrazu Przykład: (X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010). Q(W . (Y1,Y2)) = (X1,X2), ale czasami potrzebne są iteracje.

BAM: algorytm 1. Zeruj W, X, Y 2. Wczytaj X, Y dla 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 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.

Dlaczego BAM działa? Q - funkcja progowa neuronu; wektory o wartościach 0,1 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ść.

Dlaczego BAM działa? Cd. Można zdefiniować funkcję typu energii: 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

Przykłady działania BAM 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ństwo obrazów lub nazw psuje zapamiętywanie. Czy mogą się pojawić cykle? BAM Demo AMCSL Demo

Skojarzenia 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) 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.

Co dalej? Probabilistyczne podstawy uczenia. Sieci Hamminga Perceptrony Perceptrony z dużym marginesem, MLP i ulepszenia wielowarstwowych perceptronów.

Koniec wykładu 3