Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd. M. Czoków, J. Piersa Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toru«, Poland 2010-11-23
1 2 Propagacja wsteczna w sieciach rekurencyjnych
Wady klasycznego algorytmu wstecznej propagacji wymaga du»ej liczby iteracji, by osi gn zbie»no± mo»e si okaza zbyt wolny, je»eli przyjmie si za maªy wspóªczynnik uczenia z kolei zbyt du»a warto± η grozi wyst pieniem oscylacji oraz nie osi gni ciu wymaganej zbie»no±ci wra»liwy na wyst powanie minimów lokalnych
Modykacje BP Istinej ró»ne metody na radzenie sobie z powy»szymi problemami. Nale» do nich: adaptacyjny dobór wspóªczynników uczenia metoda momentu wprowadzanie losowo±ci do algorytmu (wielokrotne zapuszczanie algorytmu z losowymi wagami pocz tkowymi i zwracanie najlepszego rozwi zania)
Idea Powy»sze modykacje klasycznego algorytmu propagacji wstecznej, poprawiaj jej wydajno±, ale istniej wersje propagacji wstecznej o jeszcze lepszej wydajno±ci. S to algorytmy wstecznej propagacji drugiego rz du. Rodzina algorytmów drugiego rz du, robi c krok bierze pod uwag wi cej informacji na temat ksztaªtu funkcji bª du, ni» klasyczny algorytm wstecznej propagacji. Informacje te czerpie z drugich pochodnych cz stkowych funkcji bª du.
Idea Lokalne rozwini cie szeregu Taylora dla funkcji bª du E(w) wokóª punktu w ma posta : E(w + h) E(w) + E(w) T h + 1 2 ht 2 E(w)h, gdzie 2 E(w) jest hesjanem, czyli macierz drugich pochodnych cz stkowych w 2 1 w 2 w 1. w n w 1 w 1 w 2... w 2 2... w n w 2... w 1 w n w 2 w n.... w 2 n
Wyznaczanie kroku Chcemy znale¹ minimum rozwini cia drugiego rz du funkcji E, czyli: E(w + h) E(w) + E(w) T h + 1 2 ht 2 E(w)h W tym celu liczymy gradient tego rozini cia, który jest zadany wzorem: E(w + h) T E(w) T + h T 2 E(w) Porównuj c E(w + h) T do zera i wyznaczaj c h otrzymujemy wzór na optymaln modykacj wag h = ( 2 E(w)) 1 E(w)
Modykacja wag Algorytm propagacji dugiego rz du modykuje wektory wag w sposób iteracyjny za pomoc wzoru h = ( 2 E(w)) 1 E(w) Wektor w kolejnej iteracj jest wyznaczony za pomoc wzoru w (m+1) = w (m) ( 2 E(w)) 1 E(w) Iteruj c kilkukrotnie mo»emy uzyska minimum funckcj bª du E.
Przybli»enia funkcji bª du w kolejnych krokach algorytmu 80 70 60 50 40 30 20 10 0-20 -10 M. 0Czoków, 10 J. Piersa 20 WSN 30 2010/201140 wykªad 750 60
Nowe problemy Metody z bezpo±rednim wyznaczaniem hesjanu s nazywane metodami Newtona. Wyznaczanie macierzy hesjanu jest jednak bardzo kosztowne obliczeniowo. Oprócz tego pojawia si jeszcze jeden problem. Nie wiemy z góry, czy ekstremum paraboli przybli»aj cej funkcj bª du w otoczeniu punktu w jest minimum (hesjan jest dodatnio okre±lony), czy maksimum (hesjan jest ujemnie okre±lony)
Metoda Newtona dla funkcji jednowymiarowej Metoda Newtona jest to numercznyczny algorytm, który przy pewnych zaªo»eniach liczy pieriastek dla funkcji f. W kolejnych krokach wyznacza punkty, które aproksymuj pierwiastek. Metoda ta wyznacza kolejne punkty za pomoc wzoru: x (m+1) = x (m) f (x (m) ) f (x (m) )
Rozwi zanie problemów Z tych wzgl dów opracowano metody tak zwane Pseudo-Newtonwskie pracuj na uproszczonej formie hesjanu. Na przykªad metoda BFGS (od nazwisk BroydenFletcherGoldfarbShanno) za pomoc, której w kolejnych krokach dziaªania algorytmu przybli»amy odwrotno± hesjanu na podstawie jego warto±ci w poprzedniej iteracji. Oznaczmy przez H (m) odwrotno±c hesjanu w kroku m-tym.
Rozwi zanie problemów - BFGS H (1) = I H (m+1) = H (m) + q(m) (q (m) ) t (H (m) ) t (s (m) ) t s (m) H (m) (m) (q (m) ) t s gdzie s (m) = w (m+1) w (m), natomiast q (m) = E(w (m+1) ) E(w (m) ) (metoda jest dost pna w matlabie w funkcji fminunc) s (m) H (m) s (m), Wpisuj c w googlu quasi-newton/pseudo-newton, mo»na znale¹ kilka innych wzorków przybli»aj cych hesjan albo jego odwrotno±.
Rozwi zanie problemów Inne podej±cie - obliczamy elementy le» ce tylko na diagonali, pozostaªe elementy s zerowane. Przy takim podej±ciu bardzo ªatwo jest równie» znale¹ odwrotno± hesjanu. 2 E = w 2 1 0 0...... 0... 0 w 2 n
W takim przypadku równanie: w (m+1) = w (m) ( 2 E(w)) 1 E(w) zostaje uproszczone do postaci: w (m+1) i = w (m) i i E(w) / w 2 i
Powy»sza metoda dobrze dziaªa dla kwadratowych funkci bª du i nazywa si. Qickprop optymalizacj funkcji bª du dla ka»dego kierunku z osobna. Jedna wspóªrz dna wagowa traktowana jest jak zmienna, pozotaªe jak staªa. W algorytmie u»yta jest kwadratowa jednowymiarowa optywalizacja funkcji bª du.
Lokalna aproksymacja a
Wersja bardzo uproszczona polega na dyskretyzacji: w (m+1) i W wyniku czego dostajemy: = w m i i E(w) / w 2 (m+1) i E(w) (m) w i = ( i E(w) (m+1) i E(w) (m) )/ (m) w i i,
Pochodna - przypomnienie Niech U R b dzie przedziaªem otwartym i funkcja f : U R. Je±li dla pewnego x 0 U istnieje sko«czona granica ilorazu ró»nicowego, to f (x 0 ) = lim x x0 f (x) f (x 0 ) x x 0 W szczególno±ci f (x 0 ) f (x) f (x 0) x x 0 Na tej samej zasadzie w poprzednim slajdzie przybli»yli±my (m+1) w i
Stosownie do wielko±ci pochodnej aktualizacje mog sta sie bardzo du»e. W tym celu algorytm stabilizuje si poprzez wycinanie zbyt du»ych zmian.
Propagacja wsteczna w sieciach rekurencyjnych Sieci ze sprz»eniem zwrotnym Propagacj wsteczna dla sieci ze sprz»eniem wzrotnym prowadzimy, jakby nie byªo w niej cykli, zgodnie z dynamik sieci przekierowanej wstecz, wówczas zdarza si wielokrotne modykowanie tej samej wagi. Uzyskane tak dane kumulujemy.