• Nie Znaleziono Wyników

Wykład 3Wykład 3

N/A
N/A
Protected

Academic year: 2021

Share "Wykład 3Wykład 3"

Copied!
31
0
0

Pełen tekst

(1)

Inteligencja Obliczeniowa Inteligencja Obliczeniowa

Neurony logiczne Neurony logiczne

Wykład 3 Wykład 3

Włodzisław Duch

Katedra Informatyki Stosowanej, WFAiIS Laboratorium Neurokognitywne ICNT

Uniwersytet Mikołaja Kopernika

Google: W. Duch

(2)

Szybka powtórka 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.

(3)

O czym będzie?

O czym będzie?

BCM, Najprostsza pamięć asocjacyjna

Macierze korelacji

Zastosowania: pamięć rozpoznawcza

BAM, dwukierunkowa pamięć asocjacyjna.

Rzut oka na dalsze wykłady

(4)

Pamięć autoasocjacyjna 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

( ) ( )

ij i j

W

a t o t

 

(5)

Najprostsza pamięć autoasocjacyjna:

Najprostsza pamięć autoasocjacyjna:

BCM (

BCM ( Binary Correlation Matrix Binary Correlation Matrix ) )

Zapamiętaj wektory binarne 110000 i 010001

To samo na wejściu i wyjściu, 6 bitów.

Macierz

Wij = (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

(6)

Macierz korelacji wejść i wyjść Macierz korelacji wejść i wyjść

po pierwszym prezentowanym wektorze 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

(7)

Macierz korelacji wejść i wyjść Macierz korelacji wejść i wyjść

po drugim wektorze 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

(8)

Działanie modelu BCM Działanie modelu BCM

Czy 010001 znane?

Suma kolumn

A = W2 + W6 = 120002

Neuron logiczny

(A; =2) = 010001, znane!

Czy 010100 znane?

Suma kolumn

A = W2 + W4 = 110001

Neuron logiczny

(A; =2) = 000000, nieznane!

Obliczanie aktywacji jest równoważne obliczeniu funkcji progowej

(WX - )

Obniżenie progu pozwala na identyfikację „prawie znanych”

wektorów, a więc generalizację nauczonych faktów.

(9)

Cechy binarnej pamięci autoasocjacyjnej Cechy binarnej pamięci autoasocjacyjnej

1. Zdolność do rozpoznawania uszkodzonych wzorców – adresowalność kontekstowa.

2. Czas nie zależy od liczby zapamiętanych wzorców.

3. Uszkodzenie części macierzy połączeń nie prowadzi do zapomnienia konkretnych wzorców - brak lokalizacji.

4. Interferencja (mylenie się) dla podobnych wzorców jest częstsza niż dla wzorców odmiennych.

5. Przepełnienie pamięci (macierzy wag) prowadzi do chaotycznego zachowania.

(10)

Wnioski 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.

(11)

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?

(12)

Pamięć rozpoznawcza.

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.

(13)

Pamięć rozpoznawcza - cd.

Pamięć rozpoznawcza - cd.

Jeśli W(i,j)=1 to dla ciągu A z n bitów zawsze

(A; =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

(14)

Pamięć rozpoznawcza - cd.

Pamięć rozpoznawcza - cd.

Macierz dla sieci po prezentacji 2 wyrazów: aba i cab.

(15)

Pamięć rozpoznawcza - cd.

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.

W

x 0 0 0 x 0 0 0 x

x x x x x x x x x x x x

x x x x x x

x 0 0 0 x 0 0 0 x

x x x x x x x x x x x x

x x x x x x

x 0 0 0 x 0 0 0 x

(16)

Pamięć rozpoznawcza - cd.

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

(17)

Pamięć rozpoznawcza - słownik.

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ść

(18)

Pamięć rozpoznawcza - szukanie 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

(19)

CMM,

CMM, Correlation Matrix Memory 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:

( ) ( ) T

k k

k

W

X Y

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

T

i k k i k ik i i i

k k

WY

X Y Y

XYX Y

(20)

CMM cd.

CMM cd.

( ) ( )

( ) k ( ) k e nYW n X

( ) ( )

( )

( 1) ( ) k ( ) k k T

W n  W n  YW n X X

min

W

Y WX   W YX

CMM można tworzyć iteracyjnie minimalizując błąd:

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+Xi XX+ to macierze Hermitowskie.

Zmiana wag prop. do błędu i danych wejściowych (reguła delta)

(21)

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: Wij(X,Y) = 2(Xi,Yj)-1

(22)

BAM: Tworzenie macierzy wag BAM: Tworzenie macierzy wag

Przykład:

(X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010), końcowe W

1 1 0 0

0 1 1 1 0 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

1 0 1 0

1 0 0 1 0 0

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

0 2 2 0 0 2 2 0 0 2 2 0

2 0 0 2

2 0 0 2 0 2 2 0

(23)

BAM: odtwarzanie nazwy BAM: odtwarzanie nazwy

Przykład:

(X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010).

((X1,X2)T  W) = (Y1,Y2)

0 1 1 1 0 0 1 0 0 1 0 0

0 2 2 0 0 2 2 0 0 2 2 0

2 0 0 2

2 0 0 2 0 2 2 0

2 4 4 2

2 2 2 2 x 1 1 0 0 1 0 1 0

(24)

BAM: odtwarzanie obrazu BAM: odtwarzanie obrazu

Przykład:

(X1,Y1) =(011101, 1100), (X2,Y2) =(100100, 1010).

(W . (Y1,Y2)) = (X1,X2), ale czasami potrzebne są iteracje.

0 2 2 0 0 2 2 0 0 2 2 0

2 0 0 2

2 0 0 2 0 2 2 0

1 1 1 0 0 1 0 0

2 2 2 2 2 2

2 2 2 2 2 2 0 1 1 1 0 1 1 0 0 1 0 0

(25)

BAM: algorytm 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.

(26)

Dlaczego BAM działa?

Dlaczego BAM działa?

 - funkcja progowa neuronu; wektory o wartościach 0,1

( ) ( ) ( )

1

; ' ( )

m m

p T

i m

W X Y Y WX

   

Znany wzorzec na wejściu da:

( ) ( )

( ) ( ) 2 ( )

( ) ( )

( )

1

m m m m

p p

T T

k k k k

m m k

Y Y X X X Y Y X X

   

      

 

Drugi człon (przesłuch) zwykle jest zwykle mały, dla wektorów ortogonalnych równy zero – wtedy po 1 iteracji mamy zbieżność.

(27)

Dlaczego BAM działa? Cd.

Dlaczego BAM działa? Cd.

Można zdefiniować funkcję typu energii:

1

( , ) T N ij i j

i

E X Y W X Y

 X WY  

W czasie iteracji funkcja ta musi maleć, osiągając minimum.

Niech po prezentacji Y wektor X zmieni się o X, gdzie

Xj = +1 tylko jeśli Ij = (WY)j > 0, lub Xj = 1 tylko jeśli Ij = (WY)j < 0 Zmiana Xj ma ten sam znak co Ij.

1

( , ) T N j j 0

i

E X Y X WY X I

 

       

Pojemność BAM: niewielka, mniej wzorców niż min długości X, Y

(28)

Przykład

Przykład y y działania BAM 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

(29)

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

(30)

Co dalej?

Co dalej?

Probabilistyczne podstawy uczenia.

Sieci Hamminga

Perceptrony

Perceptrony z dużym marginesem,

MLP i ulepszenia wielowarstwowych perceptronów.

(31)

Koniec wykładu 3

Koniec wykładu 3

Cytaty

Powiązane dokumenty

Napięcie nierównowagi AU zależne jest od różnicy indukcyjności i rezystancji wzorców oraz od prądu pom iarowego Ix.. ( 1 ) D la łatw ego wyznaczenia różnic

Tak więc współczynniki związku taksonomicznego najbardziej spokrewnionych (spośród badanych) gatunków okazały się najsilniejsze, a wniosek stąd płynący jest taki, że

4) oraz zasad ochrony środowiska, przyrody i krajobrazu kulturowego, zasad ochrony dziedzictwa kulturowego i zabytków oraz dóbr kultury współczesnej,

• Wzorce projektowe Elementy oprogramowania obiektowego wielokrotnego użytku, Gamma E., Helm E., Johnson R., Vlissades J., WNT

Industrial mathematics to wykorzystanie precyzyjnego matematycznego sposobu myślenia do rozwiązywania rzeczywistych problemów firm i instytucji, poczynając od

[szablon dla elementu root - naleŜy pamiętać aby w kaŜdym pliku XSL umieścić szablon obejmujący całe drzewo XML].

3) Zdefiniować wzór testowy (współrzędne wektora obserwacji, np.: energia, długość – liczba próbek, współczynniki FFT, współczynniki LPC, funkcja autokorelacji, wartość

The work shows how thermodynamic modeling of the processes occurring in the interaction with metals of multicomponent nicotriating atmospheres allows us to determine the direction