inteligencja obliczeniowa ulepszenia mlp

26
Inteligencja Inteligencja Obliczeniowa Obliczeniowa Ulepszenia MLP Ulepszenia MLP Wykład 11 Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch

Upload: hazina

Post on 14-Jan-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Inteligencja Obliczeniowa Ulepszenia MLP. Wykład 11 Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch. Perceptrony wielowarstwowe. Algorytm wstecznej propagacji błędów Problemy i własności wstecznej propagacji. Co było. Metody minimalizacji funkcji błędu - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Inteligencja Obliczeniowa Ulepszenia MLP

Inteligencja ObliczeniowaInteligencja ObliczeniowaUlepszenia MLP Ulepszenia MLP

Wykład 11

Włodzisław DuchKatedra Informatyki Stosowanej UMK

Google: W. Duch

Page 2: Inteligencja Obliczeniowa Ulepszenia MLP

Co byłoCo było

• Perceptrony wielowarstwowe.

• Algorytm wstecznej propagacji błędów

• Problemy i własności wstecznej propagacji

Page 3: Inteligencja Obliczeniowa Ulepszenia MLP

Co będzieCo będzie

• Metody minimalizacji funkcji błędu

• Problem minimów lokalnych

• Alternatywne funkcje kosztu

• Inicjalizacja wag

• Regularyzacja

• Przykłady zastosowań

Page 4: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 5: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 6: Inteligencja Obliczeniowa Ulepszenia MLP

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)

Page 7: Inteligencja Obliczeniowa Ulepszenia MLP

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

Page 8: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 9: Inteligencja Obliczeniowa Ulepszenia MLP

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

Page 10: Inteligencja Obliczeniowa Ulepszenia MLP

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

Page 11: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 12: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 13: Inteligencja Obliczeniowa Ulepszenia MLP

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

Page 14: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 15: Inteligencja Obliczeniowa Ulepszenia MLP

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..

Page 16: Inteligencja Obliczeniowa Ulepszenia MLP

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

Page 17: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 18: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 19: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 20: Inteligencja Obliczeniowa Ulepszenia MLP

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.

Page 21: Inteligencja Obliczeniowa Ulepszenia MLP

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?

Page 22: Inteligencja Obliczeniowa Ulepszenia MLP

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

Page 23: Inteligencja Obliczeniowa Ulepszenia MLP

XOR XOR z brzegamiz brzegamiXOR XOR z brzegamiz brzegami

Page 24: Inteligencja Obliczeniowa Ulepszenia MLP

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ęć.

Page 25: Inteligencja Obliczeniowa Ulepszenia MLP

Co dalej? Co dalej?

• Algorytmy konstruktywistyczne.

• Sieci Hopfielda

• Sieci Hebbowskie i modele mózgu

• Samoorganizacja

Page 26: Inteligencja Obliczeniowa Ulepszenia MLP

Koniec wykładu 11Koniec wykładu 11

Dobranoc !