Download - Inteligencja Obliczeniowa Ulepszenia MLP
Inteligencja ObliczeniowaInteligencja ObliczeniowaUlepszenia MLP Ulepszenia MLP
Wykład 11
Włodzisław DuchKatedra Informatyki Stosowanej UMK
Google: W. Duch
Co byłoCo było
• Perceptrony wielowarstwowe.
• Algorytm wstecznej propagacji błędów
• Problemy i własności wstecznej propagacji
Co będzieCo będzie
• Metody minimalizacji funkcji błędu
• Problem minimów lokalnych
• Alternatywne funkcje kosztu
• Inicjalizacja wag
• Regularyzacja
• Przykłady zastosowań
Problemy z MLP Problemy z MLP
• Minimalizacja f. kosztu jest zagadnieniem NP-trudnym.
• 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 Zmienna 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 przez 0.7
• wróć do 1.
3. Jeśli nowy błąd zmalał to pomnóż 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.Minimalizacja f. błędu.
Metody gradientowe 2 rzędu.
0
0 0 0 0|
1; ;
2T T
W WE X W W W W E X W W W H W W
2 ( ; )ij
i j
E X WH
W W
Hessjan - macierz drugich pochodnych
0 0
10 0
; ; 0
;
E X W E X W H W W
W W H E X W
Metoda Newtona - w minimum gradient znika, więc rozwinięcie:
Wada: kosztowne odwracanie macierzy O(n3)
Minimalizacja - metody linioweMinimalizacja - 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 + K
1-D minimalizacja E(X;W())
oblicz gradient w punkcie W(), jest prostopadły do poprzedniego
QuickpropQuickprop
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.
1
( 1) ( ) mm
m m
E W WW m W m W
E W W E W W
Wagi mają niezależne szybkości uczenia;
zbieżność jest kwadratowa, popularna metoda.
RpropRpropResilent BP (Riedmiller, Braun 1992)
Problemy ze zbyt małymi i dużymi gradientami.
Tylko znak gradientu jest używany do obliczenia poprawki:
( ( ))( ) ( )sgn ( )sgn ( )ij ij ij ij
ij
E tW t t t t
W
W
Sam gradient używany jest do obliczenia współczynnika
max
min
min ( 1), dla ( ) ( 1) 0
( ) max ( 1), dla ( ) ( 1) 0
( 1) w poz. przyp.
ij ij ij
ij ij ij ij
ij
a t t t
t b t t t
t
Wzrost jeśli znak się nie zmienia, małe jeśli zmiana (oscylacje).
Np. a=1.2, b=0.5
Minimalizacja - CGMinimalizacja - CG
0
( ; )
( ; ) ( ; ) 0
n s
s s n
K K E X W
K E X W K E X W K
Metoda sprzężonych gradientów (conjugated gradients):dla form kwadratowych: startuj wzdłuż gradientu, potem wybierz nowy kierunek jako prostopadły do starego.
Po rozwinięciu gradientu
0( ; ) 0s s n s nK E X W K H K K H K
Reguła Fletchera-Reevesa Polaka-Ribiera:
2 2n sE E 2n s n sE E E E
Minimalizacja - CG, cd.Minimalizacja - CG, cd.Wektory własne Hesjanu tworzą zbiór wektorów sprzężonych.
Dla kwadratowej funkcji E(W) w n-wymiarach 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.Metody kwadratowe.
Przybliżenia do Hesjanu:
zaniedbanie pozadiagonalnych elementów - metoda Newtona dla każdej wagi niezależnie.
10 0
2
2
;
ijij ij
W W H E X W
E EW
W W
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-MarquardtLevenberg-Marquardt
TH J J
Korzystamy z Jakobianu, który dla funkcji kwadratowej:
; Tij
ij
E XJ E X E X
W
J
Jakobian można policzyć korzystając z wstecznej propagacji. Przybliżenie do Hesjanu:
Parametry obliczamy korzystając z:
1
1T T
k kW W E X
J J I J
Dla 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 minimaLokalne 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ściTrajektorie zbieżnościBierzemy 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..
AlopexAlopex
Zmiana wag Wij o stałą wartość z prawd.
( 1) ( ( ( )) / ( ))ij ijp t W 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:
-1
= -
( )= | ( )|n
t n K
T n E tK
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 kosztuFunkcje kosztu
Kwadratowa funkcja kosztu - łatwo policzyć poprawki w procedurze BP, ale wystarczy dowolna dodatnio określona forma.
Teoria informacji: entropowe funkcje błędu.
0
0
2 2
( ; , ) sgn( ) sgn( ( ; ))
sgn( ) sgn( ( ; )) ;
N
i ii
i i i i
E W Y F X W
Y F X W Y F X W
X
2
1
( ) ln ; (1 ) ln 1 ;n
I i i i ii
E W Y F X W Y F X W
Inna funkcja błędu, dla uczenia „stopniowego”
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.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.
GeneralizacjaGeneralizacjaWyniki 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.Regularyzacja.Brzytwa Ockhama: najprostsze rozwiązania są najlepsze. Zbyt złożona sieć - za dużo parametrów - marna generalizacjaTrudności w analizie funkcji realizowanej przez sieć.
Zalety małych wag: gładka funkcja często jest pożądana.
20
1( ; ) ( ; )
2 ijij
E X W E X W W
To jest równoważne dodatkowej zmianie wag:
(1 )n sij ijW W
Tu zanikają głównie duże wagi, a chodzi o zerowanie mniejszych.
Regularyzacja cd.Regularyzacja cd.
Zmodyfikowany człon kary:2
0 2
1( ; ) ( ; )
2 1ij
ij ij
WE X W E X W
W
Równoważne dodatkowej zmianie wag:
221
1
n sij ijs
ij
W WW
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 SVNT – uczenie granic– uczenie granicSVNT SVNT – uczenie granic– uczenie granicInicjalizacja parametrów W,
=0.01, min=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|(X) [min,1min]}.
• Jeśli dokładność rośnie:
porównaj obecną sieć z poprzednią najlepszą, wybierz lepszą jako bieżącą najlepszą
• powiększ min=min i wybierz SVs
• Jeśli liczba |SV| wzrasta:
zmniejsz minmin;
zmniejsz = /1.2 by uniknąć gwałtownych zmian
XOR XOR z brzegamiz brzegamiXOR XOR z brzegamiz brzegami
Szybkość zbieżnościSzybkość 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? Co dalej?
• Algorytmy konstruktywistyczne.
• Sieci Hopfielda
• Sieci Hebbowskie i modele mózgu
• Samoorganizacja
Koniec wykładu 11Koniec wykładu 11
Dobranoc !