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

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)