Transcript CI-07

Inteligencja Obliczeniowa
Learnmatrix, Adaline, Madaline i modele liniowe
Wykład 7
Włodzisław Duch
Katedra Informatyki Stosowanej UMK
Google: W. Duch
Co było
• SOM - samoorganizacja.
• Uczenie konkurencyjne
Co będzie
• Sieć Hamminga – prototypy.
• Learnmatrix.
• Adaline.
• Madaline.
Sieć prototypów (Hamminga)
•
Zadanie: dla wektora X znaleźć najbardziej podobny prototyp
Xp i odpowiadający mu wektor Yp
•
Zapamiętaj prototypy (Xp, Yp),
•
Niech Xp =(bp1, bp2, ... bpn), bpi= ±1, wektory Yp dowolne.
•
Warstwa ukryta sieci Hamminga działa w trybie WTA (Winner
Takes All) – tylko najaktywniejszy węzeł c pozostaje aktywny i
przesyła prototyp Yc do wyjścia.
•
Decyzje podejmowane są na podstawie aktywności
d(X,Xp) = -Si Xpi Xi  [-n,+n]
•
Sieć Hamminga = metoda najbliższego sąsiada 1-NN, wybiera
prototyp, który ma najwięcej zgodnych bitów, czyli min ||X-Xp||.
Sieć prototypów (Hamminga)
•
4 prototypy, 2-wym. wektory Y
prot ot ypy
b
1
{X}
X11
X21 X12 X
1n
X1
b
2
X2
....
X3
b
n
n bit ów
X4n
Y11
Y12
Y
1
Y
2
X4
max, WTA
Niewiele realizacji sieciowych, łatwiej jest wyszukać najbliższego
sąsiada lub największy iloczyn skalarny.
Metody oparte na podobieństwie to szeroka dziedzina.
Sieć Hamminga - przykłady
•
http://home.agh.edu.pl/~vlsi/AI/hamming_en/
•
http://www.hackchina.com/en/cont/118912
•
http://neuron.eng.wayne.edu/Hamming/voting.html
Macierz ucząca się
•
Lernmatrix, Steinbuch (1961)

pamięć asocjacyjna oparta na prototypach.

model analogowy, potencjometry Wij  [-1,+1].
kolumny ei  [-1,+1], dane wejściowe;
en+1 = 1 (stała wartość).
bi ={0,1}, po jednym da każdej z m klas.
Wejścia:
Wiersze
Realizacja funkcji liniowej:
Zi (e)  Wij e j + Win+1
j
Macierz ucząca – schemat
e1
b1
b2
b3
b4
b5
e2
e3
e4
e5
e6
Macierz ucząca się - teoria
•
Określenie granic dla klasy: wybrać max. Zi (e)
•
•
Oparte na odległości od najbliższego prototypu.
Granice klas: hiperpowierzchnie klasyfikujące dla
Zi(e)=Zk(e) dla wszystkich i > k.
•
Wagi Wi dla klasy i określone są przez prototyp
Wi = e* (np. średnia dla klasy)
Win+1= -½ ||e*||2.
Macierz ucząca się - teoria
•
Dwa prototypy, W1=e1* oraz W2=e2*
na granicy pomiędzy klasami Z1(e)=Z2(e)
W1  e -
1
1
2
2
W1  W2  e - W2
2
2
W1 - 2W1  e+ | e |  W2 - 2W2  e+ | e |2
2
W1 - e  W2 - e
2
•
2
2
2
Granica jest więc prostą jednakowo oddaloną od obu
prototypów.
Macierz ucząca się - klasyfikacja
•
Granice decyzji dla 4 prototypów.
S
S
12
23
2
S
24
3
1
4
S
14
Macierz ucząca się - uczenie
•
Jak znaleźć dobre prototypy?
•
Uśrednianie po wektorach treningowych:
zmiana wag dla prototypów: stara + krok w stronę nowej,
np. po N krokach dla wzorca e(N+1) z klasy i zmieniamy wagi
•
Można oczywiście użyć innych czynników stabilizujących
uczenie.
•
Macierze uczące działały współbieżnie już w latach 60.
Macierz ucząca się – uczenie 2
•
Dipol macierzy uczących się - realizuje dowolne funkcje,
binarna nieliniowość.
•
Pierwsza macierz klasyfikuje, druga dostaje ...0001000... –
wtedy jeden wiersz poddawany jest adaptacji i można
dokonać aproksymacji funkcji kawałkami liniowej.
Składanie funkcji z lokalnych kawałkami liniowych funkcji, czyli
realizacja sprzętowa aproksymacji za pomocą funkcji sklejanych.
Aproksymacja elementami liniowymi
Neurony realizują funkcje liniowe.
Sieć bez warstwy ukrytej potrafi zrealizować te same funkcje co
sieć z liniowymi elementami w warstwach pośrednich!
Jeśli mamy k warstw linowych to sygnał na wyjściu:
X(k) = Wk X(k-1) = Wk Wk-1 X(k-2) =
... Wk Wk-1. W1 X(0) = W’ X(0);
Wniosek: nieliniowości są niezbędne.
Adaline
• Widrow, Hoff (1960) układy analogowe, memistory.
• Adaline (Adaptive Linear Element, lub Adaptive Linear Neuron)
– realizuje funkcję f(X)=sgn(XT W), prosta nieliniowość!
• Uczenie: na podstawie próbek (Xi,Yi) znajdź najlepsze
parametry W by zminimalizować błąd średniokwadratowy.
min  f ( X ;W ) - Y 
W
2
X
• Dla elementu liniowego równanie XTW = Y.
Rozwiązanie: macierz pseudoodwrotna, rozkład na wartości
osobliwe (SDV, Singular Value Decomposition)
• Organizmy tak się nie uczą! Potrzebujemy rozwiązań on-line.
Zasada najmniejszego zakłócania: poprawiaj małymi
krokami po prezentacji każdej pary skojarzeń.
Adaline - schemat.
+1
W
0
x
1
W
1
x
2
W
2
x
n
Memistory
Sumator
I
S
-I
W
n

S
Sygnały błędu
Y
Adaline
w 2011 roku.
Adaline - geometria
Jakich odwzorowań Adaline może się nauczyć? Dla 2 wejść:
X1W1 + X 2W2 + W0  0
x
o
x
o
x
o
o
o
x
x
x
Sytuacja liniowo separowalna
x
x
x
o x
o o
o o
Sytuacja nieseparowalna
Z 16 odwzorowań logicznych 2 nie da się nauczyć tylko:
f1 (1,1) = f1 (–1,–1)= 1;
f1 (1,–1) = f1 (–1,1) = –1
f2 (1,1) = f2 (–1,–1)=–1;
f2 (1,–1) = f2 (–1,1) = 1
Adaline – liniowa separowalność.
Jeśli Xi = ± 1, możliwych wektorów n-elementowych jest K=2n;
a możliwych odwzorowań binarnych jest 2K .
Dla
n=2,
K=4,
2K=16
Można je przedstawić
symbolicznie pokazując
wartości +/- lub cz/białe,
dla każdej pary X=(±1,±1)
Pierwsze f(x1,x2)=-1,
ostatnie: f(x1,x2)=+1
Adaline – uczenie
Dla dużego n prawie żadne odwzorowania nie są liniowo separowalne!
Ile par skojarzeń (X,Y) może zapamiętać Adaline? n, bo dla
n ortogonalnych wektorów Xi= (0...010...0) przyjmiemy Wi =Yi.
• Uczenie elementu liniowego: błąd dla prezentacji k-tej pary (Xk, Yk)
 k  Yk - I k  Yk - W T X k
Najprostsza reguła: zmniejszaj błąd
W X k  Yk  W X k +  k ; W  W '- W   k
'T
W   k
T
Xk
Xk
2
Xk
Xk
2
Parametr uczenia <1 pozwala uniknąć
popsucia skojarzeń dla poprzednich par.
Uczenie elementu liniowego
Chcemy uzyskać Y = W X dla par treningowych (X,Y).
Dane napływają w sposób ciągły.
Reguła uczenia typu delta wynika z minimalizacji metodą
najmniejszych kwadratów (LMS, Least Mean Square):
  Y - I  Y - X TW
  X , Y ;W 
Wi ~
Wi
2
W    X , Y ;W  X   Y - X TW  X


X
2
Madaline
Madaline: sieci z wielu elementów Adaline.
Realizacja za pomocą memistorów - w elektrolicie były elektrody z
substancjami, które zależnie od kierunku prądu przenosiły się z
jenej elektrody na drugą zmieniając przewodność.
Teraz zastąpiony przez memrystor, prądowo sterowany opornik:
http://pl.wikipedia.org/wiki/Memrystor
3 warstwy:
–wejście, przyjmuje dane;
–adaptujące się elementy (warstwa ukryta);
–wyjście - elementy logiczne, funkcja „większość”.
Wiele hiperpłaszczyzn, rozwiązywały dowolne zagadnienie.
Algorytm uczenia dla sieci wielowarstwowych nie był znany.
Co dalej?
• Dynamiczne pamięci
skojarzeniowe
• Samoorganizacja
• Sieci Hopfielda
• Perceptrony wielowarstwowe
• Sieci Hebbowskie i modele
mózgu
Koniec wykładu 7
Dobranoc