Perceptrony wielowarstwowe,
Perceptrony wielowarstwowe,
wsteczna propagacja błędów
wsteczna propagacja błędów
Wykład 9
Włodzisław Duch
Katedra Informatyki Stosowanej UMK
Google: W. Duch
Co było
Co było
• Perceptron jednowarstwowy.
• Uczenie się perceptronów
• Nieliniowa reguła delta
Co będzie
Co będzie
•
Perceptrony wielowarstwowe.
•
Algorytm wstecznej propagacji błędów (BP)
•
Metody minimalizacji
•
Ulepszenia BP
Problem: perceptrony radzą sobie tylko z problemami,
które są liniowo separowalne, nie można więc rozwiązać
prostego zagadnienia typu XOR, a więc prawie żadnego
zagadnienia w wysokowymiarowych przypadkach.
XOR – rozwiązanie najprostsze
XOR – rozwiązanie najprostsze
1 +1 +1 +1 +1 +1 0.5
Najprostsze rozwiązanie, ale jak to uczyć? Co można zrobić? Najpierw utworzyć jakąś reprezentację wewnętrzną za pomocą
perceptronów, ale jaką?
• Założyć reprezentację wewnętrzną a priori -
zgadywaną dla każdego problemu niezależnie.
• Zastosować konkurencyjne uczenie się bez
nadzoru; użyteczne elementy same się uaktywnią, chociaż nie ma na to gwarancji.
• Uczyć odpowiedniej reprezentacji
wewnętrznej dla danej klasy problemów – trzeba znaleźć efektywny algorytm uczenia.
XOR z warstwą ukrytą rozwiązuje XOR
Warstwa ukryta i granice decyzji
Warstwa ukryta i granice decyzji
Sieć MLP 2-4-1
Sieć MLP 2-4-1
MLP = Multilayer Perceptron.
MLP = Multilayer Perceptron.
X X X X X 1 2 3 4 5 (1) (1) (1) (1) (1) X 1 (2) X 2 (2) X 3 (2) X 1 (3) X 2 (3) o1(2) o2(2) o 3 (2) o1(3) o 2 (3) W 11 (2) W 51 (2) W 43 (2) W 11 (3) W 32 (3) W 53 (2)Perceptron 3-warstwowy z warstwą wejściową, ukrytą i wyjściową - oznaczenia.
MLP - oznaczenia
MLP - oznaczenia
Liczba warstw M=3
X
i(l)- całkowity sygnał dochodzący do elementu i należącego do
warstwy l
o
i(l) - sygnał wychodzący z elementu i należącego do warstwy lW
ij(l) - wagi łączące element i należący do warstwy l-1 oraz elementj z warstwy l
X
j(l)=
iW
ij(l)o
i(l-1) aktywacja neuronu j w warstwie l.o
j(l)=
(X
j(l))
sygnał wysyłany z tego neuronuF
i(X;W) = o
i(M)funkcja realizowana przez MLP
BP-1
BP-1
Algorytm wstecznej propagacji błędów (1974, 1986) Miara błędu dla wzorca p i No wyjść
2 ( ) ( ) ( ) ( ) 1 1 1 1 ( ) ; 2 2 o o N N p p p p i i i i i E Y F X E
W W
1 ( ) ( ; ) ( ; ) o N k ij k k k ij ij E W F X W W Y F X W W W
( ) ( ) ( ; ) M M k k k F X W o
X
( ) ( ) ( ) ( 1) ( ) ( ; ) ( ) ' M M M M k k k k j M kj k kj F X W X X X o W X W
Gradientowa reguła minimalizacji błędu równoważna jest regule delta.
Funkcja błędu w 2D
Funkcja błędu w 2D
BP-2
BP-2
Błąd „lokalny” dla warstwy M
Zmiana wag w warstwie wyjściowej:
Wagi łączące neuron j i neuron k w warstwie M-1:
Gradient:
(M)'
(M);
iX
iY
iF X W
i
(M)'
(M)( ; )
(M 1) (M) (M 1) ij i i i j i jW
X
Y
F X W o
o
( 1) ( 1) ( 1) 1( )
( ; )
( ; )
o N M i jk M i i M i jk jkE W
F X W
W
Y
F X W
W
W
( 1) ( ) ( ) ( ) ( 1) ( 1) ( ) ( 1) ( 1)( ; )
(
)
'
M M M j M M i i i i ij M M M M jk i jk jko
F X W
X
X
X
W
W
X
W
W
BP-3
BP-3
Ponieważ
to gradient:
a zmiana wag:
Struktura wzoru dla kolejnych warstw jest taka sama.
(M 1) (M 1) (M 1) (M 2) j j jk k ko
X
W
o
( )
( 1)
( 1)
( 2) ( 1)( ; )
'
M M'
M M i i ij j k M jkF X W
X
W
X
o
W
(M 1) (M) (M 1)'
(M 1) (M 2) (M 1) (M 2) jk i ij j k j k iW
W
X
o
o
BP- podsumowanie
BP- podsumowanie
Funkcja realizowana przez sieć:
Inicjalizacja: przypadkowe małe wartości wag. Propagacja sygnałów od wejścia do wyjścia.
Propagacja korekcji błędów wstecz: rekursywne obliczanie Wij.
(M) (M) (M) (M 1);
(M);
i i ij j i i jo
X
W
o
o
F X W
;
(M) (M 1) (M 2)... (2) i ij jk kl mn n j k l n F X W
W
W
W
W X
(M) ' (M) ; i Xi Yi F X Wi
( )l ( 1)l ( )l ' ( )l j i ij j i W X
( )l ( )l ( 1)l ij i j W
o Sigmoidy
Sigmoidy
Logistyczna funkcja aktywacji:
Próg , nachylenie T
Pochodna ma max dla o=0.5:
Błąd wyjściowego elementu:
Często stosowane: rectified linear unit (ReLU)
1 exp 1 /
1
1 exp / i i i i i i ij j i i j o X X T W o T
' i 1 i i i i o X o o X
( ) ( ) ( 1) ( )1
;
1
M i i i i i l l l j j j i ij io
o Y
F X W
o
o
W
XOR – dynamika uczenia
XOR – dynamika uczenia
Funkcja błędu w 2D z PCA
Funkcja błędu w 2D z PCA
Patrząc w kierunku największej wariancji wag możemy zrobić projekcję funkcji błędu – dla XOR jest ona dość skomplikowana.
Własności MLP
Własności MLP
MLP jest uniwersalnym aproksymatorem: • 1 warstwa – f. ciągłe
• 2 warstwy – f. nieciągłe (dowód via tw. Stone’a- Weierstrassa) Szybkość zbieżności z sigmoidami: O(1/n);
z wielomianami O(1/n1/d)
W niektórych problemach inne funkcje dają szybsza zbieżność. Parametry sieci:
architektura, liczba warstw, liczba neuronów. Końcowa warstwa: perceptron.
Neurony ukryte: transformacja nieliniowa do przestrzeni
odwzorowań, tworząca nowe cechy za pomocą nieliniowych kombinacji.
Przykłady zbieżności dla XOR
Przykłady zbieżności dla XOR
Architektura 2-2-2, rozmyte klastry XOR.
W p-ni wyjściowej w warstwie ukrytej
2 2
1
2
[ 7.0, 7.7, 7.7] 7[ 1, 1, 1]
Przykłady
Przykłady
Presentation:
Visualization of the hidden node activity, or hidden secrets of neural networks.
ConvNetJS is a Javascript library for training Deep Learning models (Neural Networks) entirely in your browser.
http://cs.stanford.edu/people/karpathy/convnetjs/
Simple 2D classification example:
https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d. html
Uczenie MLP
Uczenie MLP
Parametry uczenia:
• szybkość uczenia
• bezwładność
Pozwala usunąć szybkie oscylacje, zmienia efektywną stałą uczenia:
dla małych zmian wag.
• sposób prezentacji danych
Losowa prezentacja – element stochastyczny, uczenie on-line. Ustalona kolejność.
Poprawki po całej epoce – po kilku prezentacjach też warto.
1
( )
( )
ij i j ij ij ijE
W t
o
W t
W t
W
1
ij ijE
W
W
Problemy i ulepszenia
Problemy i ulepszenia
• Niewłaściwie dobrana architektura sieci.
• Minima lokalne i plateau, wąskie „rynny”.
• Wpływ nowych wzorców na już nauczone – zapominanie.
• Szybkość uczenia – zagadnienie jest NP-trudne.
• Schematy adaptacji dla stałej uczenia:
zwiększać o a=const dla malejącego błędu, zmniejszać o b dla rosnącego błędu.
Duże kroki na powierzchni gładkiej, drobne kroki na skomplikowanej.
Ulepszenia MLP
Ulepszenia MLP
• Szybsze procedury minimalizacji błędu.
• Modyfikacje schematu wstecznej propagacji.
• Unikanie minimów lokalnych – różne możliwości. • Funkcje kosztu, niekoniecznie MSE.
• Inicjalizacja parametrów, lepszy start.
• Regularyzacja i zwiększenie zdolność do generalizacji sieci - wybór modelu o odpowiedniej złożoności.
• Sieci konstruktywistyczne/ontogeniczne, dostosowujące złożoność do danych.
Co dalej?
Co dalej?
• Perceptrony wielowarstwowe: ulepszenia, algorytmy konstruktywistyczne. • Sieci Hopfielda• Sieci Hebbowskie i modele mózgu
• Samoorganizacja