Ćwiczenie 6: UCZENIE SIECI WIELOWARSTWOWYCH. POPRAWA

Transkrypt

Ćwiczenie 6: UCZENIE SIECI WIELOWARSTWOWYCH. POPRAWA
Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP
Ćwiczenie 6:
str. 1
UCZENIE SIECI WIELOWARSTWOWYCH.
POPRAWA EFEKTYWNOŚCI METODY WSTECZNEJ
PROPAGACJI BŁĘDU
WYMAGANIA
1. Sztuczne sieci neuronowe
• algorytmy poprawiające efektywność klasycznej metody wstecznej propagacji
błędu: metoda z momentum, adaptacyjny dobór współczynnika uczenia,
2. Środowisko Matlab, w szczególności z zakresu:
• tworzenia sieci jednokierunkowej (newff),
trenującej sieć
• uczenie sieci (train)
• symulacja pracy sieci (sim)
wybór
funkcji
uczącej
oraz
WPROWADZENIE TEORETYCZNE
Wady metody wstecznej propagacji błędu (BP)
Dobry algorytm uczenia SSN powinien nie tylko poprawnie określać wartości
wag neuronów ale powinien równieŜ wykonywać to jak najszybciej (minimalizować
liczbę obliczeń potrzebnych do osiągnięcia tego celu). Oznacza to, Ŝe wagi winny być
wyznaczane w jak najmniejszej liczbie epok uczenia, charakteryzujących się jak
najmniejszą złoŜonością obliczeniową. Algorytm wstecznej propagacji błędu jest
algorytmem bardzo wolnym; najczęściej oszacowanie wartości wag wymaga wielu
iteracji.
Metoda wstecznej propagacji błędu nie gwarantuje, odnalezienia minimum
globalnego funkcji miary błędu (funkcji celu) - często zdarza, Ŝe odnalezione zostaje
minimum lokalne, którego algorytm nie jest w stanie opuścić. A tym samym
wyznaczone wartości wag nie są wartościami optymalnymi i w konsekwencji działająca
sieci moŜe popełniać większe błędy (niŜ gdyby zostało odnalezione minimum
globalne). Sytuacja taka wystąpi jeŜeli niewłaściwie zostanie dobrany punkt startowy niewłaściwie zostaną dobrane wartości początkowe wag (a przecieŜ są one losowane)
albo droga uczenia ma niewłaściwy przebieg – nie zawsze kierunek w którym jest
największe nachylenie funkcji celu prowadzi do minimum globalnego (metoda jest
metodą gradientową, a więc wybiera drogi o największym nachyleniu jako
potencjalnie najkrótsze).
Podsumowując klasyczna metoda wstecznej propagacji błędów wymaga duŜej
liczby iteracji by osiągnąć zbieŜność oraz jest wraŜliwa na występowanie minimów
lokalnych. Podstawowy algorytm BP moŜe się okazać bardzo wolny, jeŜeli przyjmie się
za mały współczynnik uczenia, z kolei zbyt duŜa wartość współczynnika grozi
wystąpieniem oscylacji bądź rozbieŜnością procesu uczenia.
Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP
str. 2
BP z momentum
Klasyczny algorytm wstecznej propagacji błędów modyfikuje wagę wkj o wartość
(∆wkj) , która jest proporcjonalna do pochodnej cząstkowej funkcji celu (wagi są
modyfikowane zgodnie z regułą delty):
∆w kj = −η
∂E
= ηδ k y j
∂w kj
Gdzie η jest parametrem nauczania algorytmu wstecznej propagacji błędów.
Jednym z rozwiązań umoŜliwiających bezpieczne zwiększenie efektywnego
tempa uczenia sieci bez pogarszania stabilności procesu jest zastosowanie
momentowej metody wstecznej propagacji błędu (ang. Momentum BackPropagation).
Istotą metody jest wprowadzenie do procesu uaktualniania wagi pewnej bezwładności
tzw. "momentu", proporcjonalnego do zmiany tej wagi w poprzedniej iteracji:
(
Momentum
)
w ji (t + 1) = w ji (t ) + ηδ j (t )y i (t ) + µ w ji (t ) − w ji (t − 1)
gdzie µ ∈(-0,1] - współczynnik momentu.
Pierwsze dwa składniki po prawej stronie wyraŜenia są analogiczne, jak w klasycznej
metodzie BP, natomiast ostatni uwzględnia poprzednią zmianę wagi i jest niezaleŜny
od aktualnej wartości gradientu.
Zasada działania metody przypomina zastosowanie koła zamachowego, które
ułatwia ruch w kierunku w którym zostało rozpędzone a utrudnia w przeciwnym:
• jeŜeli w kolejnych krokach gradienty wykazują ten sam kierunek (pochodna
cząstkowa dla danej wagi ma ten sam znak) ich działanie się kumuluje i przyrosty
wag są coraz większe.
• jeŜeli znaki z kolejnych kroków są róŜne (gradienty wykazują przeciwny kierunek)
działanie jest osłabiane co przeciwdziała powstawaniu oscylacji.
Składnik momentu wpływa pozytywnie w sytuacjach gdy:
• występują duŜe płaskie odcinki funkcji błędu – powoduje zwiększenie „kroku”,
• kolejne gradienty są przeciwnie skierowane – powoduje skrócenie „kroku”,
• uczenie „przebiega” przez minimum lokalne funkcji błędu – pomaga go opuścić,
• występują na powierzchni funkcji błędu tzw. wąwozy (wąskie obszary o stromych
ścianach bocznych i głębokich dnach).
Składnik momentu nie powinien zdominować procesu uczenia, poniewaŜ grozi to
jego niestabilnością - aby zapobiec temu kontroluje się wartość funkcji błędu w trakcie
uczenia, doprowadzając do jej wzrostu jedynie w ograniczonym zakresie.
BP ze zmiennymi współczynnikami uczenia i momentu
Właściwy dobór współczynnika uczenia η oraz współczynnika momentum µ ma
duŜy wpływ na tempo oraz zbieŜność procesu uczenia. Optymalne wartości obu tych
współczynników mogą być róŜne dla nie tylko poszczególnych iteracji ale nawet dla
kaŜdej z wag. Nie znamy metod analitycznego ich wyznaczenia dlatego wartości
przyjęte na początku procesu uczenia sieci mogą okazać się niewłaściwe, co znacznie
zmniejsza efektywność uczenia, a w skrajnym przypadku moŜe prowadzić do jego
rozbieŜności. Rozwiązaniem tego problemu moŜe być zmiana współczynnika uczenia i
momentu w trakcie procesu uczenia sieci.
Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP
str. 3
Techniki zmian współczynników uczenia i momentum:
• zastosowanie większych wartości η oraz µ na początku uczenia i zmniejszanie ich
w miarę zbliŜania się funkcji błędu do minimum,
• przyjęci na początku procesu uczenia małych wartości współczynnika uczenia η
(ewentualnie równieŜ współczynnika momentu µ). Gdy proces uczenia nabierze
tempa współczynniki są zwiększane, by w końcowej fazie ponownie ich
zmniejszyć,
• uzaleŜnienie
współczynnika
uczenia
od
wartości
funkcji
błędu
średniokwadratowego – gdy błąd maleje moŜna zwiększyć współczynnik uczenia,
gdy rośnie naleŜy go zmniejszyć.
Doświadczalnie stwierdzono, iŜ najlepsze efekty uzyskuje się gdy współczynnik
uczenia zwiększa się algebraicznie o stałą wartość, a zmniejsza geometrycznie.
Metoda Rprop
Algorytm został zaproponowany przez Riedmillera,
pochodzi od nazwy angielskiej Resilent backPROPagation.
uwzględnianiu jedynie znaku gradientu bez uwzględniania
wartości wag w następnym kroku moŜna wyznaczyć zgodnie
Brauna w 1992, nazwa
Istota metody polega na
jego wartości - wówczas
z zaleŜnością:
 δE (t − 1) 

w ji (t ) = w ji (t − 1) − η (t − 1) sgn
 δw ji 


W metodzie tej współczynnik uczenia η zaleŜy od zmian znaku gradientu. JeŜeli w
kolejnych iteracjach znak pochodnej jest taki sam następuje wzrost współczynnika,
jeŜeli natomiast znak się zmienia następuje jego redukcja.
(
)
gdy
 δE (t )  δE (t − 1) 


>0
 δw ji  δw ji 



(
)
gdy
 δE (t )  δE (t − 1) 


<0
 δw ji  δw ji 



gdy
 δE (t )  δE (t − 1) 


=0
 δw ji  δw ji 




min a * η ji ( t − 1 ), η max




η ji ( t ) = max b * η ji ( t − 1 ), η min



η ji ( t − 1 )

gdzie: a - współczynnik zwiększania (a ≅1,2),
b – współczynnik zmniejszania (b ≅0,5),
ηmin – dolne ograniczenie współczynnika uczenia,
ηmax – górne ograniczenie współczynnika uczenia.
Zastosowanie wartości
zbytniemu ograniczeniu
Algorytm Rprop
obszarach o niewielkim
małą wartość.
minimalnej i maksymalnej współczynnika uczenia zapobiega
oraz nadmiernemu wzrostowi zmian wartości wag.
powoduje przyspieszenie procesu nauczania zwłaszcza w
nachyleniu funkcji błędu, gdzie wartość pochodnej ma bardzo
Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP
str. 4
Algorytm Levenberga-Marquardta
Działanie algorytmu Levenberga-Marquardta opiera się na załoŜeniu Ŝe
modelowana przez sztuczną sieć neuronową rzeczywista funkcja odwzorująca sygnał
wejściowy w sygnał wyjściowy ma charakter liniowy. Takie załoŜenie umoŜliwia
analityczne wyznaczenie minimum funkcji, ale poniewaŜ rzeczywista funkcja nie jest
liniowa więc wyznaczona wartość minimum niekoniecznie jest faktycznym minimum.
Dlatego w kolejnym kroku - po wyznaczeniu hipotetycznego minimum funkcji błędu algorytm przeprowadza jego testowanie. Jeśli wartość błędu jest mniejsza od błędu w
punkcie startowym (poprzednim), to współrzędne nowego punktu wyznaczają nowy
punkt startowy, a odpowiadający mu zestaw wag jest traktowany jako nowe
przybliŜenie optymalnych parametrów uczonej sieci. Proces ten jest powtarzany w
kolejnych epokach.
Algorytm Levenberga-Marquardta umiejętnie łączy dwie metody: metodę
największego spadku oraz omówiony powyŜej algorytm hipotetycznej aproksymacji
liniowej (metoda Newtona). W trakcie swojej pracy algorytm wybiera metodę dającą
w danej chwili lepsze rezultaty - próbuje hipotetycznej aproksymacji liniowej i jeŜeli
nie daje ona pozytywnych wyników cofa się do metody największego spadku, co w
sumie umoŜliwia mu bardzo szybkie działanie.
Modyfikacja wag odbywa się wg formuły:
 δE (w (t − 1)) 
∆w (t ) = −( H + λI )−1 

δw


gdzie: H – hesjan funkcji celu
I – macierz jednostkowa
λ – paramet Marquardta
• λ duŜe (daleko od minimum) – metoda największego spadku
• λ małe (blisko od minimum) – metoda Newtona
Pierwszy człon w formule Levenberga-Marquardta (zawierający hesjan) odpowiada
załoŜeniu o liniowości; drugi metodzie gradientowej. Parametr Marquardta λ określa,
która z metod ma charakter dominujący. Za kaŜdym razem, gdy następuje
zmniejszenia wartości błędu, wartość parametru jest zmniejszana, wzmacnia to
załoŜenie o liniowości i kieruje algorytm w stronę próby bezpośredniego osiągnięcia
minimum. Za kaŜdym razem, gdy nie powiedzie się próba zmniejszenia błędu, wartość
parametru jest zwiększana. Zwiększa to wpływ metody gradientowej i zmniejsza
wielkość kroku. W ten sposób zapewnione jest zmniejszenie wartości błędu niezaleŜnie
od połoŜenia aktualnego punktu i wynikającego z niego lepszego lub gorszego
przybliŜania rzeczywistej funkcji przez jej liniową aproksymację.
Algorytm Levenberga-Marquardta
jest jednym z najbardziej efektywnych
algorytmów uczenia sieci jednokierunkowych.
Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP
str. 5
PRZEBIEG ĆWICZENIA
Zadanie 1
Przeprowadzić symulacje komputerowe w celu porównania szybkości uczenia
jednokierunkowych wielowarstwowych sieci neuronowych róŜnymi metodami
bazującymi na wstecznej propagacji błędu
Porównać następujące metody:
a) klasyczną metodę propagacji błędu - GD,
b) metodę wstecznej propagacji błędu z momentum - GDM,
c) metodę wstecznej propagacji błędu z adaptacyjnym doborem współczynnika
uczenia - GDA,
d) metodę wstecznej propagacji błędu z adaptacyjnym doborem współczynnika
uczenia i momentum - GDX,
e) metodę Levenberga-Marquardta LM,
f) metodę RPROP - RP.
Porównanie wykonać dla sieci uczonych reguł sumatora pełnego.
ai
bi
ci
y
ci+1
ai
0
1
0
1
0
1
0
1
bi
0
0
1
1
0
0
1
1
ci
0
0
0
0
1
1
1
1
yi
0
1
1
0
1
0
0
1
ci+1
0
0
0
1
0
1
1
1
Wykonać po minimum 30 symu-lacji dla kaŜdej metody uczenia, wyniki zebrać w
tabeli, wyzna-czyć minimalną, maksymalną oraz średnią liczbę epok potrze-bną do
nauczenia sieci. Zobrazo-wać rezultaty na wykresie. Dla kaŜdej metody zamieścić
przykładowy przebieg procesu uczenia Podać wnioski i spostrzeŜenia. Sprawdzić jaki
parametry uczenia moŜna podawać dla poszczególnych metod uczenia, podać ich
znaczenie (interpretację)
Lp.
1.
2.
..
.
30.
średnia
Max
min
GD
Ilość epok uczenia
GDM
GDA
GDX
LM
5000
RP
4500
4000
Max
3500
3000
Średnia
2500
Min
2000
1500
1000
500
0
Traingd TraingdmTraingda Traingdx Trainlm Trainrp
Nowoczesne techniki informatyczne - Ćwiczenie 6: POPRAWA EFEKTYWNOŚCI METODY BP
str. 6
Uwaga!
1. Wybrane parametry uczenia zawarte w obiekcie opisującym sieć neuronową
net.trainParam.epochs - maksymalna liczba epok uczenia
net.trainParam.goal - oczekiwana końcowa wartość funkcji celu
net.trainParam.lr
- współczynnik uczenia
net.trainParam.max_fail – maksymalna liczba błędnych zmian
net.trainParam.min_grad - minimalna zmiana gradientu
2. Wybrane funkcje uczenia
traingd
- metoda gradientu prostego (wstecznej propagacji błędu),
traingdm - metoda propagacji wstecznej błędu z momentum,
traingda - metoda propagacji wstecznej błędu z adaptacyjną zmianą współczynnika uczenia,
traingdx - metoda propagacji wstecznej błędu z momentum i adaptacją współczynnika,
trainlm
- metoda Levenberga-Marquardta,
trainbr
- odmiana metody Levenberga-Marquardta z regularyzacją Bayes’owską,
trainbfg - metoda gradientowa Broydena-Flrtchera-Goldfarba-Shano (quasi-Newtonowska),
trainscg - metoda skalowanego gradientu sprzęŜonego,
traincgb - metoda gradientu sprzęŜonego Powella-Beale’go,
traincgf - metoda gradientu sprzęŜonego Fletchera-Powella,
traincgp - metoda gradientu sprzęŜonego Polaka-Ribiere,
trainrp
- metoda propagacji wstecznej błędu RPROP (metoda Riedmillera, Brauna)

Podobne dokumenty