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  Wm1 
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
EX 



 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,1emin]}.
• Jeśli dokładność rośnie:
porównaj obecną sieć z poprzednią najlepszą,
wybierz lepszą jako bieżącą najlepszą
• powiększ emin=emine i wybierz SVs
• Jeśli liczba |SV| wzrasta:
zmniejsz eminemine;
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 !