Poprawa efektywnoci metody wstecznej propagac bdu
Algorytm wstecznej propagac bdu. Wygeneruj losowo wektory wag. 2. Podaj wybrany wzorzec na wejcie sieci. 3. Wyznacz odpowiedzi wszystkich neuronów wyjciowych sieci: y wyj k l = f w j= wyj kj y wyj j 4. Oblicz b"#dy wszystkich neuronów warstwy wyjciowej: wyj k = z k y wyj k 5. Oblicz b"#dy w warstwach ukrytych (pami#taj'c, )e, aby wyznaczy* b"'d w warstwie h -, konieczna jest znajomo* b"#du w warstwie po niej nast#puj'cej - h): h j = d f( du h j h j u ) l k= h k w h kj 6. Zmodyfikuj wagi wg zale)noci: 7. Wró* do punktu 2. h h w = w + h j y h i
Wady backpropagationa Nie mo)na zagwarantowa*, i) proces uczenia doprowadzi do odnalezienia minimum globalnego funkc miary b"#du - cz#sto zdarza, )e odnalezione zostaje minimum lokalne, Wybranie niew"aciwego punktu startowego czyli niew"aciwy dobór wartoci pocz'tkowych wag oraz nieodpowiedniej drogi mo)e spowodowa* wejcie w minimum lokalne, którego algorytm nie b#dzie w stanie opuci*. Funkcja miary b"#du jest funkcj' wielokrotnie symetryczn' w wielowymiarowej przestrzeni wag, co powoduje wyst#powanie wielu minimów globalnych i lokalnych. Klasyczna metoda wstecznej propagac b"#dów wymaga du)ej liczby iterac by osi'gn'* zbie)no* oraz jest wra)liwa na wyst#powanie minimów lokalnych. Podstawowy algorytm BP mo)e si# okaza* zbyt wolny, je)eli przyjmie si# za ma"y wspó"czynnik uczenia, z kolei zbyt du)a warto* wspó"czynnika grozi wyst'pieniem oscylac.
Poprawa efektywnoci metody BP Na popraw# efektywnoci procesu uczenia mo)e mie* wp"yw wiele czynników: wagi pocz'tkowe - nie mog' by* zbyt du)e; zaleca si# losowy wybór wag, by sygna" wyjciowy nieliniowej cz#ci neuronu by" nieco mniejszy od jednoci. korzystnie wp"ywa kilkukrotne powtarzanie uczenia, rozpoczynaj'ce si# od ró)nych wartoci wag. kolejno* podawania wektorów ucz'cych - zaleca si# podawanie wektorów wzorcowych w losowej kolejnoci. Przedstawione powy)ej propozycje mog' w pewnym stopniu zapobiec problemom pojawiaj'cym si# w trakcie uczenia sieci. Najlepszym rozwi'zaniem jest dokonanie modyfikac samego algorytmu wstecznej propagac b"#dów tak, aby przyspieszy* zbie)no* procesu uczenia oraz unikn'* minimów lokalnych.
Wsteczna propagacja bdów z momentum Jednym z rozwi'za7 umo)liwiaj'cych bezpieczne zwi#kszenie efektywnego tempa uczenia bez pogarszania stabilnoci procesu jest zastosowanie momentowej metody wstecznej propagac b"#du - MBP (ang. Momentum BackPropagation).
Metoda BP z momentum Istot' metody jest wprowadzenie do procesu uaktualniania wagi pewnej bezw"adnoci tzw. "momentu", proporcjonalnego do zmiany tej wagi w poprzedniej iterac: w ( ) ( t) = w ( t ) + ( t ) y ( t ) + µ w ( t ) w ( t 2) j i Momentum µ (-0,] - wspó"czynnik momentu. Dwa pierwsze sk"adniki po prawej stronie wyra)enia s' identyczne, jak w zwyk"ej metodzie BP, natomiast ostatni uwzgl#dnia poprzedni' zmian# wagi i jest niezale)ny od aktualnej wartoci gradientu.
Sk"adnik momentu wp"ywa pozytywnie w sytuacjach gdy: wyst#puj' du)e p"askie odcinki funkc b"#du, kolejne gradienty s' przeciwnie skierowane, uczenie przebiega przez minimum lokalne funkc b"#du, wyst#puj' na powierzchni funkc b"#du tzw. w'wozy (w'skie obszary o stromych cianach bocznych i g"#bokich dnach). Zmiany gradientu o wysokiej cz#stotliwoci (oscylacje w poprzek cian w'wozu) s' eliminowane, a wzmacniany jest sk"adnik gradientu wymuszaj'cy ruch w stron# dna. Sk"adnik momentu nie powinien zdominowa* procesu uczenia, poniewa) grozi to jego niestabilnoci' - aby zapobiec temu kontroluje si# warto* funkc b"#du w trakcie uczenia, doprowadzaj'c do jej wzrostu jedynie w ograniczonym zakresie np. o k procent.
Modyfikacje BP ze zmiennymi wspóczynnikami uczenia i momentu Waciwy dobór wspóczynnika uczenia oraz wspóczynnika momentum µ ma duy wpyw na zbieno procesu uczenia. Optymalne wartoci wspó"czynników uczenia i momentu mog' by* ró)ne dla ró)nych iterac, a nawet dla ka)dej z wag danej iterac. Wartoci wspó"czynników uczenia i momentu przyj#te na pocz'tku procesu uczenia sieci mog' okaza* si# niew"aciwe. Znacznie zmniejsza to efektywno* uczenia, a w skrajnym przypadku prowadzi do rozbie)noci procesu uczenia. Rozwi'zanie tego problemu mo)e by* zmiana wspó"czynnika uczenia i momentu w trakcie procesu uczenia sieci.
Techniki zmian wspóczynników uczenia i momentum: zastosowanie wi#kszych wartoci oraz µ na pocz'tku uczenia i zmniejszanie ich w miar# zbli)ania si# funkc b"#du do minimum, przyj#ci na pocz'tku procesu uczenia ma"ych wartoci wspó"czynnika uczenia (ewentualnie równie) wspó"czynnika momentu µ). Gdy proces uczenia nabierze tempa wspó"czynniki s' zwi#kszane, by w ko7cowej fazie ponownie ich zmniejszy*, uzale)nienie wspó"czynnika uczenia od wartoci funkc b"#du redniokwadratowego gdy b"'d maleje mo)na zwi#kszy* wspó"czynnik uczenia, gdy ronie nale)y go zmniejszy*. Badania wykazuj', )e dobrze jest zwi#ksza* wspó"czynnik uczenia o warto* sta"', a zmniejsza* go geometrycznie.
Metoda przyspieszonej wstecznej propagac Quickprop Algorytm zosta" opracowany przez S.E. Fahlmana w 988 W metodzie tej zak"ada si#, )e funkcja b"#du jest lokalnie paraboloidalna Algorytm modyfikac wag przebiega nast#puj'co: w ( t) ( k) ( ( )) E w k = + wij µ ij wij ( ) ( k) + ( k) w ( t ) w ( t 2) wspó"czynnik prowadzi do zmniejszania wag, nie pozwalaj'c na ich zbyt du)y wzrost. Typowe wartoci s' niewielkie. Wspó"czynnik uczenia mo)e przyjmowa* dwie wartoci: warto* sta"' na starcie uczenia albo warto* zerow'. Wspó"czynnik momentu µ dostosowuje si# adaptacyjnie do aktualnych post#pów w uczeniu. Algorytm Quickprop powoduje du)e przyspieszenie procesu uczenia. Zabezpiecza on przed utkni#ciem w p"ytkim minimum lokalnym
Algorytm RPROP Algorytm zosta" opracowany przez M. Riedmillera i H. Brauna (Riedmillera, Brauna 992). Jego nazwa pochodzi od nazwy angielskiej Resilent backpropagation. Istot' metody jest uwzgl#dnienie w procesie aktualizac wagi tylko znaku sk"adowej gradientu (jej warto* jest pomijana): w ( t) = ( ( )) E w k sgn wij Wspó"czynnik uczenia jest uzale)niony od zmian wartoci gradientu. Jeli w obu kolejnych iteracjach znak gradientu jest taki sam nast#puje wzrost, w przeciwnym przypadku zachodzi jego redukcja. Algorytm RPROP powoduje znaczne przyspieszenie procesu uczenia zwaszcza w obszarach o niewielkim nachyleniu funkc b"#du.
Metoda Newtona Alternatywne podejcie do zagadnienia minimalizac funkc b"#du polega na próbie osi'gni#cia po"o)onego najni)ej punktu powierzchni b"#du w jednym kroku - co jest osi'galne przy za"o)eniu, )e znany jest kszta"t jej powierzchni. Przyjmuj'c, )e wektor w jest wektorem wszystkich wag (w ca"ej sieci) mo)na wyrazi* warto* gradientu funkc kryterium w otoczeniu pewnego punktu w 0 w postaci szeregu Taylora: 0 w0 E( w ) = E( w ) + H( w ) +... gdzie H jest macierz' drugich pochodnych (hesjanem) funkc b"#du E. dalszych wyrazów szeregu nie uwzgl#dniamy, zak"adaj'c, )e funkcja b"#du ma kszta"t funkc kwadratowej (paraboloidy). W punkcie w, w którym funkcja E(w) osi'ga minimum warto* gradientu wynosi 0, przeto w"anie w = w 0 H E ( w) H hesjan funkc celu - gradient funkc celu
W praktyce funkcja b"#du prawie nigdy nie ma kszta"tu paraboloidy, dlatego zwykle nie udaje si# trafi* w punkt rzeczywistego minimum jednym strza"em, oznacza to konieczno* iterowania rozwi'zania zgodnie ze wzorem: w ( t ) = w( t ) H E( w( t ) ) Metoda ta jest bardzo kosztowna numerycznie, poniewa) w ka)dym kroku stosowania algorytmu nale)y odwróci* macierz drugich pochodnych. metoda Newtona bywa niestabilna numerycznie, zw"aszcza w przypadku, gdy punkt startowy nie jest po"o)ony dostatecznie blisko poszukiwanego rozwi'zania
Algorytm Levenberga - Marquardta (LM) Jest on jednym z najbardziej efektywnych algorytmów do uczenia sieci jednokierunkowych. K'czy w sobie zbie)no* algorytmu Gaussa - Newtona blisko minimum, z metod' najszybszego spadku, która bardzo szybko zmniejsza b"'d, gdy rozwi'zanie jest dalekie. Wzór opisuj'cy ten algorytm wygl'da nast#puj'co: ( t) = ( H + I E( w( t ) ) w ) paramet Marquardta zmniejsza si# podczas uczenia do 0 du)e (daleko od minimum) metoda najwi#kszego spadku ma"e (blisko od minimum) metoda Newtona H hesjan funkc celu I macierz jednostkowa
Warstwy sieci nieliniowej Sie* jednowarstwowa tworzy w przestrzeni wej* lini# prost', która dzieli ow' przestrze7 na dwa obszary. W jednym z nich s' punkty reprezentuj'ce obiekty akceptowane przez neuron, w drugim za - odrzucane. Sie dwuwarstwowa wyznacza w przestrzeni wej wypuky i spójny obszar, w którym znajduj# si$ punkty odpowia-daj#ce akceptowanym przez sie obiektom wejciowym Sie trójwarstwowej wyznacza taki obszar pozytywnej odpo-wiedzi, który nie musi by ani spójny, ani wypuky Sie trójwarstwowa moe rozwi#za kady rodzaj zadania. Rónice mi$dzy sieciami o rónej liczbie warstw wyst$puj# tylko w sieciach nieliniowych. Sie liniowa zawsze, niezalenie od iloci warstw, dzieli obszar przestrze) wej lini# prost#.
Rozmiary warstw sieci W warstwie wejciowej liczba neuronów musi by* równa d"ugoci wektora ucz'cego (iloci podawanych na sie* jednoczenie sygna"ów) Liczba neuronów w warstwie wyjciowej musi by* równa iloci rozró)nialnych przez sie* klas Iloci neuronów w warstwie ukrytej nie mo)na precyzyjnie okreli*! l = nm l = log2 s s liczba rozró)nianych klas n ilo* wej* sieci m ilo* wyj* sieci