Transcript CI-11
Inteligencja Obliczeniowa
Ulepszenia MLP
Wykład 11
Włodzisław Duch
Katedra Informatyki Stosowanej UMK
Google: W. Duch
Co było
•
Perceptrony wielowarstwowe.
•
Algorytm wstecznej propagacji błędów
•
Problemy i własności wstecznej propagacji
Co będzie
•
•
•
•
•
•
Metody minimalizacji funkcji błędu
Problem minimów lokalnych
Alternatywne funkcje kosztu
Inicjalizacja wag
Regularyzacja
Przykłady zastosowań
Problemy z MLP
• Minimalizacja f. kosztu jest zagadnieniem NPtrudnym.
• Trudno jest dobrać optymalne parametry (l.
neuronów, warstw, inicjalizację).
• Metody gradientowe wpadają w lokalne minima
i zwalniają na plateau.
• Zbieżność może być powolna.
• Wyniki zależą od kolejności prezentacji danych
- możliwa jest duża wariancja.
Zmienna h
1. Policz błędy i wyniki.
2. Jeśli nowy błąd jest większy niż 1.04 od starego to:
•
odrzuć dokonane zmiany;
•
pomnóż stała uczenia h przez 0.7
•
wróć do 1.
3. Jeśli nowy błąd zmalał to pomnóż h przez 1.05
Nie działa to zbyt dobrze w porównaniu z metodami
opisanymi dalej – w testach dało najsłabsze wyniki.
Minimalizacja f. błędu.
Metody gradientowe 2 rzędu.
E X ;W W0 W W0 E X ;W |W W
T
0
2 E ( X ;W )
H ij
Wi W j
1
T
W W0 H W W0
2
Hessjan - macierz drugich pochodnych
Metoda Newtona - w minimum gradient znika, więc
rozwinięcie:
E X ;W E X ;W0 H W W0 0
W W0 H 1 E X ;W0
Wada: kosztowne odwracanie macierzy O(n3)
Minimalizacja - metody liniowe
Wada metod 2-rzędu:
kosztowne odwracanie macierzy O(n3)
Metoda najszybszego spadku: podążaj wzdłuż gradientu aż
znajdziesz minimum w danym kierunku:
W = W0 + l K
1-D minimalizacja
E(X;W(l))
oblicz gradient w punkcie
W(l), jest prostopadły do
poprzedniego
Quickprop
Quickprop (Fahlman 1988)
jeśli wszystkie wagi są niezależne a powierzchnia błędu
kwadratowa można dopasować parabolę.
Quickprop używa w tym celu 2 punkty + gradienty.
E W Wm
W (m 1) W (m)
Wm
E W Wm E W Wm1
Wagi mają niezależne szybkości uczenia;
zbieżność jest kwadratowa, popularna metoda.
Rprop
Resilent BP (Riedmiller, Braun 1992)
Problemy ze zbyt małymi i dużymi gradientami.
Tylko znak gradientu jest używany do obliczenia poprawki:
E ( W(t ))
Wij (t ) hij (t )sgn
hij ( t )sgn ij ( t )
W
ij
Sam gradient używany jest do obliczenia współczynnika h
min ahij (t 1),hmax dla ij (t )ij (t 1) 0
hij (t ) max bhij (t 1),hmin dla ij (t )ij (t 1) 0
hij (t 1) w poz. przyp.
Wzrost h jeśli znak się nie zmienia, małe jeśli zmiana (oscylacje).
Np. a=1.2, b=0.5
Minimalizacja - CG
Metoda sprzężonych gradientów (conjugated gradients):
dla form kwadratowych: startuj wzdłuż gradientu, potem wybierz
nowy kierunek jako prostopadły do starego.
K n K s E ( X ;W )
K s E ( X ;W ) K s E ( X ;W0 l K n ) 0
Po rozwinięciu gradientu
K s E( X ;W0 ) lK s H K n lK s H K n 0
Reguła Fletchera-Reevesa
Polaka-Ribiera:
E
E E E
E
n 2
s 2
n
s
n
E
s 2
Minimalizacja - CG, cd.
Wektory własne Hesjanu tworzą zbiór
wektorów sprzężonych.
Dla kwadratowej funkcji E(W) w nwymiarach metoda CG osiąga minimum w
n krokach; zbieżność kwadratowa.
Metoda najszybszego spadku jest znacznie
wolniejsza.
SCG, Skalowana Metoda Sprzężonych
Gradientów - szybka metoda szukania
minimów wzdłuż prostej.
Osobliwości w przestrzeniach parametrów,
nieeuklidesowe powierzchnie błędu
=> gradient naturalny (Amari 1998),
kosztowny; kierunek największego spadku
uwzględniający różnicę W i W’ po zmianie.
Metody kwadratowe.
Przybliżenia do Hesjanu:
zaniedbanie pozadiagonalnych elementów - metoda Newtona
dla każdej wagi niezależnie.
W W0 H 1 E X ;W0
E
Wij
Wij
2E
2Wij
Metoda zmiennej metryki - przybliżenie do H-1 oraz
iteracyjna metoda Newtona, kwadratowo zbieżna.
Dwie wersje: DFP (Davidon-Fletcher-Power),
Broyden-Fletcher-Goldfarb-Shanno (BFGS).
Metoda Levenberg-Marquardta oparta jest na przybliżeniu
Gaussa-Newtona.
Levenberg-Marquardt
Korzystamy z Jakobianu, który dla funkcji kwadratowej:
E X
T
J ij
;
E
X
J
EX
Wij
Jakobian można policzyć korzystając z wstecznej propagacji.
Przybliżenie do Hesjanu:
H JT J
Parametry obliczamy korzystając z:
Wk 1 Wk J J I JT E X
T
1
Dla 0 mamy metodę Newtona a dla dużego największego
spadku z małym krokiem; LM używa metod Newtona w pobliżu
minimum, zmniejszając .
Lokalne minima
• Globalna minimalizacja: wiele metod.
Najprostsza metoda: wielokrotne starty.
Monte Carlo, symulowane wyżarzanie, metody
multisympleksowe, minimalizacja Tabu, homotopia ...
Większość prac łączy algorytmy genetyczne z sieciami MLP.
Zalety: globalne, proste w realizacji, niektóre nie potrzebują
gradientu, inne łączą zalety gradientowych z globalnymi.
Wady: zwykle kosztowne.
Szum dodawany do wag lub do danych pozwala wygładzić
funkcję błędu i uciec z płytszych minimów – formalnie jest to
równoważne regularyzacji Tichonowa, czyli dodaniu
dodatkowego członu wygładzającego do funkcji błędów.
Trajektorie zbieżności
Bierzemy wagi Wi z iteracji i=1..K; robimy PCA na macierzy kowariancji
Wi co daje około 95-98% wariancji dla większości danych, więc w tym
układzie współrzędnych w 2D widać realistyczne trajektorie.
Nigdy nie widać lokalnych minimów, jest wiele płaskowyży i kanionów.
Dane leżące daleko od granicy mają mały wpływ na powierzchnie błędu,
główna redukcja błędu MSE przy końcu uczenia wynika ze wzrostu wag
||W||, czyli wyostrzania się sigmoid aż zrobią się prawie skokowe..
Alopex
Zmiana wag Wij o stałą wartość z prawd.
pij (t 1) (Wij E(W (t ))/ T (n))
określoną przez funkcję sigmoidalną, której nachylenie
zmienia się co K epok w zależności od wielkości błędu:
n -1
T (n)= |E (t )|
K t =n -K
Wysokie T to p(t)0.5, czyli przypadkowe zmiany.
p(t) rośnie gdy są korelacje zmian wag/błędu.
Brak zmian => T maleje, zmiany są w kierunku gradientu.
Jest uzasadnienie neurobiologiczne, jest trochę zastosowań.
Kordos M, Duch W, Variable Step Search Training for Feedforward
Neural Networks. Neurocomputing 71, 2470-2480, 2008
Funkcje kosztu
Kwadratowa funkcja kosztu - łatwo policzyć poprawki w
procedurze BP, ale wystarczy dowolna dodatnio określona forma.
Teoria informacji: entropowe funkcje błędu.
n
EI (W ) Yi ln F X i ;W (1 Yi ) ln 1 F X i ;W
i 1
2
Inna funkcja błędu, dla uczenia „stopniowego”
N0
E ( X;W , ) sgn(Yi ) sgn( F ( X i ;W ))
i 0
sgn(Yi ) sgn( F ( X i ;W )) Yi F X i ;W
2
2
rośnie od 0 do 1; najpierw uczenie z grubsza, dla błędów w
znaku, w późniejszych etapach dokładniejsze, również dla tych,
które mają znak prawidłowy.
Inicjalizacja.
Duże wagi => duża wariancja wyników, ale możliwe stają się dobre
nieliniowe rozwiązania.
Za duże wartości wag: nasycone wartości sigmoid, małe gradienty
=> wolne uczenie.
Małe przypadkowe wagi, dające aktywacje rzędu 0.5 => szybkie
uczenie i gładka aproksymacja => dobra generalizacja.
Zalecenia empiryczne Wij = 0.78
Battou a/N , a =2.38 by osiągnąć największą wariancję.
Inne próby inicjalizacji:
• hiperpłaszczyzny z pojedynczych perceptronów lub LDA;
• wstępna klasteryzacja i płaszczyzny oddzielające klastry;
• klasteryzacja w przestrzeni unormowanych wektorów.
Generalizacja
Wyniki na zbiorze treningowym mogą zawsze osiągnąć 100%
Celem jest osiągnięcie najlepszego wyniku dla nowych
przypadków, nie pokazywanych wcześniej sieci.
Zbiór walidacyjny: pozwala na ocenę błędu generalizacji;
oczekujemy korelacji wyników na zbiorze walidacyjnym i testowym.
Regularyzacja.
Brzytwa Ockhama: najprostsze rozwiązania są najlepsze.
Zbyt złożona sieć - za dużo parametrów - marna generalizacja
Trudności w analizie funkcji realizowanej przez sieć.
Zalety małych wag: gładka funkcja często jest pożądana.
1
E ( X ;W ) E0 ( X ;W ) Wij 2
2 ij
To jest równoważne dodatkowej zmianie wag:
Wij n (1 h )Wij s
Tu zanikają głównie duże wagi, a chodzi o zerowanie mniejszych.
Regularyzacja cd.
Zmodyfikowany człon kary:
Wij 2
1
E ( X ;W ) E0 ( X ;W )
2 ij 1 Wij 2
Równoważne dodatkowej zmianie wag:
h
Wij s
Wij n 1
1 W s 2 2
ij
Małe wagi można usunąć i sieć dalej przetrenować automatyczna selekcja cech.
Metoda „optimal brain damage” - upraszczanie sieci.
Rozpad synaps w mózgu przydatny jest do regularyzacji?
SVNT – uczenie granic
Inicjalizacja parametrów W,
e=0.01, emin=0, SV=Dane Treningowe.
Until nie ma poprawy w ostatnich Nlast iteracjach do
• Optymalizuj parametry sieci dla Nopt kroków na danych SV
• Sprawdź dokładność na danych treningowych T, znajdź
wektory dla których na wyjściu SV={X|F(X) [emin,1emin]}.
• Jeśli dokładność rośnie:
porównaj obecną sieć z poprzednią najlepszą,
wybierz lepszą jako bieżącą najlepszą
• powiększ emin=emine i wybierz SVs
• Jeśli liczba |SV| wzrasta:
zmniejsz eminemine;
zmniejsz e = e/1.2 by uniknąć gwałtownych zmian
XOR z brzegami
Szybkość zbieżności
Testy robione pakietem Nnet z Matlaba:
Wnioski:
Levenberg-Marquardt dobry w
aproksymacji dla sieci <1000 param.
Słabszy w klasyfikacji, dużo RAM.
Rprop – dobry w klasyfikacji, słabszy
w aproksymacji, mała pamięć.
SCG – szybka zbieżność jak w LM,
ale znacznie mniejsza pamięć.
Co dalej?
• Algorytmy konstruktywistyczne.
• Sieci Hopfielda
• Sieci Hebbowskie i modele mózgu
• Samoorganizacja
Koniec wykładu 11
Dobranoc !