NTI cwiczenie 6

background image

Nowoczesne techniki informatyczne - Ćwiczenie 6: P

OPRAWA EFEKTYWNOŚCI METODY

BP

str. 1

Ćwiczenie 6:

U

CZENIE SIECI WIELOWARSTWOWYCH

.

P

OPRAWA EFEKTYWNOŚCI METODY WSTECZNEJ

PROPAGACJI BŁĘDU

W

YMAGANIA

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

), wybór funkcji uczącej oraz

trenującej sieć

uczenie sieci (

train

)

symulacja pracy sieci (

sim

)

W

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

background image

Nowoczesne techniki informatyczne - Ćwiczenie 6: P

OPRAWA EFEKTYWNOŚCI METODY

BP

str. 2

Momentum


BP z momentum

Klasyczny algorytm wstecznej propagacji błędów modyfikuje wagę w

kj

o wartość

(∆w

kj

) , która jest proporcjonalna do pochodnej cząstkowej funkcji celu (wagi są

modyfikowane zgodnie z regułą delty):

j

k

kj

kj

y

w

E

w

ηδ

η

=

=

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:

(

)

( )

( ) ( )

( )

(

)

(

)

1

1

+

+

=

+

t

w

t

w

t

y

t

t

w

t

w

ji

ji

i

j

ji

ji

µ

ηδ

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.

background image

Nowoczesne techniki informatyczne - Ćwiczenie 6: P

OPRAWA 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, Brauna w 1992, nazwa

pochodzi od nazwy angielskiej Resilent backPROPagation. Istota metody polega na
uwzględnianiu jedynie znaku gradientu bez uwzględniania jego wartości - wówczas
wartości wag w następnym kroku można wyznaczyć zgodnie z zależnością:

( )

(

) (

)

(

)



=

ji

ji

ji

w

t

E

t

t

w

t

w

δ

δ

η

1

1

1

sgn


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.

(

)

( )

(

)

(

)

( )

(

)

( )

(

)

=





<





>





=

0

1

1

0

1

1

0

1

1

ji

ji

ji

ji

ji

ji

ji

ji

ji

ji

w

t

E

w

t

E

gdy

t

w

t

E

w

t

E

gdy

t

b

w

t

E

w

t

E

gdy

t

a

t

δ

δ

δ

δ

η

δ

δ

δ

δ

η

η

δ

δ

δ

δ

η

η

η

)

(

),

(

*

max

),

(

*

min

)

(

min

max


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 minimalnej i maksymalnej współczynnika uczenia zapobiega
zbytniemu ograniczeniu oraz nadmiernemu wzrostowi zmian wartości wag.

Algorytm Rprop powoduje przyspieszenie procesu nauczania zwłaszcza w

obszarach o niewielkim nachyleniu funkcji błędu, gdzie wartość pochodnej ma bardzo
małą wartość.

background image

Nowoczesne techniki informatyczne - Ćwiczenie 6: P

OPRAWA 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:

( )

(

)

(

)

+

=

w

w

I

H

w

δ

δ

λ

1

1

t

E

t

)

(


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.

background image

Nowoczesne techniki informatyczne - Ćwiczenie 6: P

OPRAWA EFEKTYWNOŚCI METODY

BP

str. 5

P

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

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ę)

Ilość epok uczenia

Lp.

GD

GDM

GDA

GDX

LM

RP

1.

2.

.

.

.

30.

średnia

Max

min

c

c

i

i

c

c

i

i

+

+

1

1

y

y

a

a

i

i

b

b

i

i

a

i

b

i

c

i

y

i

c

i+1

0

0

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

0

0

1

0

0

1

1

0

1

0

1

0

1

0

1

1

0

1

1

1

1

1

1

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

Traingd TraingdmTraingda Traingdx Trainlm Trainrp

Max

Ś

rednia

Min

background image

Nowoczesne techniki informatyczne - Ćwiczenie 6: P

OPRAWA 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)


Wyszukiwarka

Podobne podstrony:
NTI cwiczenie 2
NTI cwiczenie 3
NTI cwiczenie 4
NTI cwiczenie 5
NTI cwiczenie 2
3 ćwiczenia BADANIE asfaltów
Ćwiczenie7
Cwiczenia 2
Ćwiczenia V
metody redukcji odpadów miejskich ćwiczenia
Ćwiczenia1 Elektroforeza
cwiczenia 9 kryzys

więcej podobnych podstron