Sztuczne sieci neuronowe Badanie algorytmów ucz¡cych sieci MLP

advertisement
Sztuczne sieci neuronowe
Badanie algorytmów ucz¡cych sieci MLP
Michaª Ogrodowski 221193
22 pa¹dziernika 2012
Spis tre±ci
1 Wst¦p
2
2 Przebieg ¢wiczenia
2.1 Program logistyczny . . . . .
2.2 Badanie symetrii . . . . . . .
2.3 Problem dwu spiral . . . . . .
2.4 Aproksymacja zbioru danych
2
2
6
7
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Wnioski
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
1
1
Wst¦p
Celem ¢wiczenia byªo badanie algorytmów uczenia sieci MLP z zastosowaniem problemów
testuj¡cych, które nale»¡ do grupy problemów klasykacji, predykcji i aproksymacji.
MLP (ang. Multi Layer Perceptron) to sie¢ jednokierunkowa, wielowarstwowa o neuronach
typu sigmoidalnego. Jest równie» nazywana perceptronem wielowarstwowym. Sygnaªy w tej sieci
przepªywaj¡ tylko od wej±cia do wyj±cia. Uczenie w sieci MLP odbywa si¦ najcz¦±ciej z nauczycielem. W wielowarstwowej sieci neurony uªo»one s¡ w warstwach wej±ciowych i wyj±ciowych oraz
w co najmniej jednej warstwie ukrytej.
‚wiczenie nale»aªo wykona¢ z u»yciem pakietu programów MLP w ±rodowisku Matlab. Uczenie sieci jest mo»liwe poprzez wybranie jednego z algorytmów ucz¡cych: najwi¦kszego spadku, najwi¦kszego spadku z momentem, gradientów sprz¦»onych, zmiennej metryki, LevenbergaMarquardta, heurystyczna RPROP (Resilient backPROPagation). Zadanie wymagaªo przetestowanie algorytmów ucz¡cych na problemach testowych: program logistyczny, badanie symetrii
danych wej±ciowych, problem dwu spiral, aproksymacja zbioru danych.
2
Przebieg ¢wiczenia
2.1
Program logistyczny
Krzywe uczenia sieci 1-5-1 dla ró»nych algorytmów ucz¡cych dla ograniczonej liczby cykli
ucz¡cych (110 cykli) przedstawiono na Rysunku 1.
Rysunek 1: Krzywe
uczenia sieci perceptronowej 1-5-1
Krzywe uczenia sieci 1-5-1 bez ograniczonej liczby cykli dla algorytmów ucz¡cych wyma2
ganych dla uzyskania bª¦du MSE uczenia równego goal=0,000035 przedstawiono na: Rysunku
2 (BFSG), Rysunku 3 (gradienty sprz¦»one), Rysunku 4 (najwi¦kszy spadek), Rysunku 5 (najwi¦kszy spadek z momentem), Rysunku 6 (Levenberg-Marquardt), Rysunku 7 (heurystyczna
RPROP).
Rysunek 2: Krzywa
Rysunek 3: Krzywa
uczenia metod¡ BFSD
uczenia metod¡ gradientów sprz¦»onych
3
Rysunek 4: Krzywa
Rysunek 5: Krzywa
uczenia metod¡ najwi¦kszego spadku
uczenia metod¡ najwi¦kszego spadku z momentem
4
Rysunek 6: Krzywa
Rysunek 7: Krzywa
uczenia metod¡ Levenberga-Marquardta
uczenia metod¡ heurystyczn¡ RPROP
W Tabeli 1 pokazano porównanie algorytmów pod wzgl¦dem liczby cykli ucz¡cych wymaganych dla uzyskania bª¦du MSE uczenia równego goal=0,000035 (3,5 * 10−5 , E=10−3 , E=10−6 ,
E=10−9 .
5
Tabela 1: Zestawienie wyników uczenia sieci predykcyjnej przy ró»nych metodach uczenia
Algorytm ucz¡cy
BFSG
gradient sprz¦»ony
najwi¦kszy spadek
najwi¦kszy spadek z momentem
Levenberg-Marquardt
RPROP
3,5 * 10
l. iter.
93
230
50000+
100*
12
5948
−5
3,5 * 10
czas [s]
1,54
3,63
305+
5*
1.26
32,18
−5
10−3
10−3
10−6
10−6
10−9
l. iter. czas [s] l. iter. czas [s] l. iter. czas [s]
20
0.7
191
2.9
1106
14,7
38
0,8
129
2,14
156
2,56
50000+ 305+ 50000+ 305+ 50000+ 305+
100*
5*
100*
5*
100*
5*
7
0,25
15
0,35
354
3,67
27
0,3 60000+ 392+ 60000+ 392+
∗ - w metodzie najwi¦kszego spadku z momentem sie¢ zostaªa przetrenowana po ok. 100 ite-
racjach (5 sek)
2.2
Badanie symetrii
Krzywe uczenia sieci 5-3-1 dla ró»nych algorytmów ucz¡cych dla ograniczonej liczby cykli
ucz¡cych (500 cykli) przedstawiono na Rysunku 8.
Rysunek 8: Krzywe
uczenia sieci perceptronowej 5-3-1
Liczb¦ bª¦dów testowania prawidªowo nauczonej sieci na danych testuj¡cych, liczb¦ iteracji i
czas przedstawiono w Tabeli 2. Za bª¡d uznano warto±¢ ró»nicy (y-d) wi¦ksz¡ ni» 0.5. Nale»aªo
uzyska¢ funkcji celu goal=0,000035.
Tabela 2: Zestawienie wyników uczenia sieci predykcyjnej przy ró»nych metodach uczenia
Algorytm ucz¡cy
BFSG
gradient sprz¦»ony
najwi¦kszy spadek
najwi¦kszy spadek z momentem
Levenberg-Marquardt
RPROP
liczba bª¦dów liczba iteracji czas [s]
4
135
2,23
2
219
3,55
6
10000+
60+
6
100*
6,46*
0
374
3,76
0
692
3,88
6
10−9
∗ - w metodzie najwi¦kszego spadku z momentem sie¢ zostaªa przetrenowana po ok. 100 iteracjach
(6,46 sek).
2.3
Problem dwu spiral
Krzywe uczenia sieci 2-2-1 dla ró»nych algorytmów ucz¡cych dla ograniczonej liczby cykli
ucz¡cych (300 cykli) przedstawiono na Rysunku 9.
Rysunek 9: Krzywe
uczenia sieci perceptronowej 2-2-1
Procentow¡ liczb¦ bª¦dów testowania prawidªowo nauczonej sieci na danych testuj¡cych, liczb¦
iteracji i czas przedstawiono w Tabeli 3. Za bª¡d uznano warto±¢ ró»nicy (y-d) wi¦ksz¡ ni» 0.5.
Nale»aªo uzyska¢ funkcji celu goal=0,000035.
Tabela 3: Zestawienie wyników uczenia sieci predykcyjnej przy ró»nych metodach uczenia
Algorytm ucz¡cy
BFSG
gradient sprz¦»ony
najwi¦kszy spadek
najwi¦kszy spadek z momentem
Levenberg-Marquardt
RPROP
% liczba bª¦dów liczba iteracji czas [s]
39
366
5,8
39
37
0,96
36
1000+
5,5+
20
100*
1,8*
42
97
1,05
13
2000+
106
∗ - w metodzie najwi¦kszego spadku z momentem sie¢ zostaªa przetrenowana po ok. 100 iteracjach
(5,5 sek).
2.4
Aproksymacja zbioru danych
Zadanie polegaªo na aproksymacja danych 1-wymiarowych i wielowyj±ciowych, np. funkcj¡ sin(x), sinc(x), sawtooth(x), square(x), etc., jednocze±nie przy jednym wspólnym wej±ciu x.
Zastosowano funkcj¦ sin(x) do wygenerowania zbioru danych ucz¡cych (x,d) i testuj¡cych dla
problemu. W Tabeli 4 przedstawiono porównanie liczby iteracji oraz czas dla sieci 1-20-4 oraz
1-150-4.
7
Tabela 4: Zestawienie wyników uczenia sieci predykcyjnej przy ró»nych metodach uczenia
Algorytm ucz¡cy
BFSG
gradient sprz¦»ony
najwi¦kszy spadek
najwi¦kszy spadek z momentem
Levenberg-Marquardt
3
20 neuronów 20 neuronów 150 neuronów 150 neuronów
liczba iteracji
czas [s]
liczba iteracji
czas [s]
107
55,34
2267
366
244
26,2
324
42
20000+
480+
20000+
480+
12507
124
20000+
300+
7
8,23
52
72,2
Wnioski
Podczas ¢wiczenia nale»aªo przetestowa¢ dziaªanie algorytmów ucz¡cych na problemach testowych: program logistyczny, badanie symetrii danych wej±ciowych, problem dwu spiral, aproksymacja zbioru danych. Algorytmy porównano pod wzgl¦dem liczby iteracji oraz czasu oblicze«.
Na podstawie Rysunku 1 (program logistyczny) mo»na stwierdzi¢, »e najbardziej skuteczny dla 110 cykli jest algorytm Levenberga-Marquardta. Równie efektywne s¡ algorytmy BFSG,
RPROP, gradient sprz¦»ony, aczkolwiek potrzebuj¡ kilku iteracji wi¦cej dla osi¡gni¦cia minimum
(niezauwa»alne dla u»ytkownika). Metoda najwi¦kszego spadku z momentem potrzebuje wi¦kszej
ilo±ci cykli ucz¡cych ni» powy»sze algorytmy, aby osi¡gn¡¢ minimum funkcji celu, ale po okoªo
105 cyklach sie¢ zostaje przetrenowana. Najsªabiej radzi sobie algorytm najwi¦kszego spadku. W
Tabeli 1 przedstawiono liczb¦ cykli ucz¡cych oraz czas pracy wymaganych przez ró»ne algorytmy
dla uzyskania zadanej warto±ci funkcji celu: E=10-3, E=10-6, E=10-9, E=0.000035. W wi¦kszo±ci przypadków najlepiej wypadª algorytm Levenberga-Marquardta. Równie dobrze poradziªy
sobie algorytmy gradientów sprz¦»onych, BFSG, RPROP (poza e=10-6 i e=10-9). W przypadku
e=10-3 powy»sze algorytmy potrzebowaªy czasu poni»ej 1 s. Najmniej iteracji wymagaªa metoda Levenberga-Marquardta (7 iteracji), pozostaªe powy»sze porównywalnie (od 20 do 38). Przy
e=10-9 najszybsze okazaªy si¦ metody Levenberga-Marquardta i gradientu sprz¦»onego - poni»ej
4 sekund. Algorytm RPROP przy e=10-6 i 10-9 przy 60000 (po 392 sekundach) iteracjach nie
osi¡gn¡ª zadanej warto±ci funkcji celu. Metoda najwi¦kszego spadku we wszystkich przypadkach
nie osi¡gn¦ªa zadanej warto±ci celu przy 50000 iteracjach (305 sekund), natomiast w przypadku
algorytmu najwi¦kszego spadku z momentem sie¢ zostaªa przetrenowana po ok 100 iteracjach.
Kolejnym problemem byªo badanie symetrii danych wej±ciowych. Krzywe uczenia sieci perceptronowej dla 500 cykli ucz¡cych przedstawiono na Rysunku 8. Ponownie najskuteczniejszy
okazaª si¦ algorytm Levenberga-Marquardta. Mniej skuteczne, ale porównywalne do siebie s¡
metody gradientu sprz¦»onego, RPROP, i BFSG. Metoda najwi¦kszego spadku okazaªa si¦ najmniej efektywna, a w metodzie najwi¦kszego spadku z momentem po 100 cyklach sie¢ zostaªa
przetrenowana. Tabela 2 przedstawia wyniki uczenia sieci: liczb¦ bª¦dów (y-d>0.5), liczb¦ iteracji
oraz czas uczenia dla uzyskania warto±ci funkcji celu = 0.000035. Porównywalne czasy (poni»ej
4 sekund) wymagaªy metody BFSG, gradientu sprz¦»onego, Levenberga-Marquardta i RPROP.
BFSG wykonaª najmniej iteracji. Zerow¡ liczb¡ bª¦dów testowania prawidªowo nauczonej sieci
wykazaªy si¦ algorytmy Levenbrga-Marquardta i RPROP. Metoda najwi¦kszego spadku po 60000
iteracjach nie osi¡gn¦ªa zadanej warto±ci funkcji celu, a najwi¦kszego spadku z momentem po
8
ok. 100 iteracjach zostaªa przetrenowana.
W problemie dwu spiral do 100 iteracji wszystkie algorytmy poradziªy sobie dobrze (Rysunek 9), jednak znowu najlepszy okazaª si¦ Levenberg-Marquardt. Po ok. 105 przy zastosowaniu
algorytmu najwi¦kszego spadku z momentem sie¢ zostaªa przetrenowana. W Tabeli 1 pokazano
porównanie procentowej liczby bª¦dów liczby iteracji, czasu dla osi¡gni¦cia zdanej funkcji celu
0.000035. Najefektywniejsze okazaªy si¦ metody gradientu sprz¦»onego, Levenberg-Marquardta
i BFSG. Algorytmy RPROP i najwi¦kszego spadku nie osi¡gn¦ªy tej warto±ci.
Kolejnym problemem testowym byªa aproksymacja zbioru danych. W tabeli 4 przedstawiono
porównanie czasów oraz liczby iteracji dla sieci 1-20-4 oraz 1-50-4. W przypadku sieci o strukturze minimalnej (1-20-4) najlepszy okazaª si¦ algorytm Levenberga-Marquardta zarówno pod
wzgl¦dem czasu uczenia i liczby iteracji. Przy 150 neuronach w warstwie ukrytej najszybszy byª
algorytm gradientów sprz¦»onych. Algorytmy najwi¦kszego spadku i najwi¦kszego spadku z momentem znacznie odstaj¡ od pozostaªych.
W wi¦kszo±ci przypadków najefektywniejsze okazywaªy si¦ algorytmy Levenberga-Marquaedta
oraz gradientów sprz¦»onych. Natomiast metody najwi¦kszego spadku oraz najwi¦kszego spadku
z momentem cz¦sto nie radziªy sobie z problemem.
9
Download