Upload
benjamin-wheeler
View
1
Download
0
Embed Size (px)
DESCRIPTION
Coś tam o algorytmie genetycznym
Citation preview
BIULETYN INSTYTUTU AUTOMATYKI I ROBOTYKI NR 23, 2006
31
Przykad optymalizacji struktury sztucznej sieci neuronowej metod algorytmw
genetycznych
Leszek Grad Zakad Automatyki, Instytut Teleinfo rmatyki i Automatyki WAT,
ul. Kaliskiego 2, 00-908 Warszawa
STRESZCZENIE: W artykule przedstawio no przykad optymalizacji struktury jednokierunkowej wielowarstwowej sztucznej sieci neuro nowej metod algorytmw genetycznych. Zaproponowano funkcj przystosowania pozwalajc oceni jako proponowanej struktury. Obliczenia wykonano dla sieci neuronowej rozpoznajcej cyfry p isane odrcznie. SOWA KLUCZOWE: sie neuronowa, algorytmy genetyczne, optymalizacja struktury
Przedstawiony w artykule problem optymalizacji struktury sztucznej sieci neuronowej jest zagadnieniem istotnym dla projektantw systemw sztucznej inteligencji wykorzystujcych jednokierunkowe wielowarstwowe sieci neuronowe. Sie tego typu realizuje odwzorowanie N-wymiarowego wektora wejciowego w M-wymiarowy sygna wejciowy. Z teorii Komogorowa wynika, e aproksymacja taka jest moliwa przy zastosowaniu jednej warstwy ukrytej o 2N+1 neuronach [3]. W praktyce konstruuje si sieci o co najwyej dwch warstwach ukrytych, a liczba neuronw w warstwach ukrytych waha si od N do 3N.
Do optymalizacji struktury s ieci neuronowej stosowane s dwa podstawowe podejcia: redukcji sieci oraz rozbudowy sieci. W pierwszym, przyjmuje si nadmiarow architektur, ktra w trakcie procesu uczenia bd po jego zakoczeniu jest upraszczana poprzez redukc j najmniej znaczcych wag. Do najpopularniejszych metod redukcji sieci naley zaliczy: metod OBD (Optimal Brain Damage) oraz metod z funkcj kary. W drugim podejciu, na wstpie przyjmuje si struktur sieci o niewielkiej liczbie neuronw, ktra w miar upywu procesu uczenia jest zwikszana. Spord wielu metod
L. Grad
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 32
rozbudowywania sieci wymieni naley algorytmy: Mezarda-Nadala, Marchanda, Li-Tuftsa, kaskadowej korelacji Fahlmana[3].
W artykule przedstawiony zosta przykad wykorzystania algorytmw genetycznych do optymalizacji struktury sieci neuronowej rozwizujcej zadanie rozpoznawania znakw (cyfr) pisanych odrcznie.
1. Sie neuronowa nieliniowa wielowarstwowa jednokierunkowa Jednokierunkowa wielowarstwowa nieliniowa sie neuronowa jest
narzdziem pozwalajcym na znajdowanie zwizkw (funkcji, relacji) pomidzy danymi wejciowymi, a wynikami dziaania systemu na podstawie posiadanych czciowych danych empirycznych. Wykorzystywana jest najczciej do rozwizywania zada klasyfikacji. Skada si z elementarnych elementw przetwarzajcych zwanych neuronami. Neuron realizuje odwzorowanie postaci:
( )xwfy T=
gdzie: x - sygna wejciowy, w - wektor wag, y - wyjcie neuronu, f - nieliniowa funkcja przejcia (aktywacji).
Na rys.1. przedstawiono schemat neuronu nieliniowego, a na rys.2. logistyczn funkcj aktywacji. Poza t funkcj czste zastosowanie znajduje funkcja tangensa hiperbolicznego [2][4].
Rys. 1. Neuron nie liniowy
Sie wielowarstwowa skada si z warstw neuronw. Neurony lece w tej samej warstwie nie s poczone ze sob. Wysyaj sygnay do wszystkich neuronw lecych w warstwie kolejnej (poza neuronami warstwy ostatniej). Ostatnia warstwa sieci, ktrej wyjcia s wyjciami caej sieci, nosi nazw warstwy wyjciowej. Pozostae warstwy nazywane s ukrytymi. Schemat sieci wielowarstwowej przedstawiony zosta na rys.3.
Przykad optymalizacji struktury sztucznej sieci neuronowej ...
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 33
Rys. 2. Logistyczna funkcja aktywacji
Rys. 3. Jednokierunkowa wie lowarstwo wa sie neuronowa
Zanim sie neuronowa bdzie zdolna do realizacji zadania klasyfikacji musi zosta odpowiednio przygotowana. Przygotowanie sieci odbywa si w procesie treningu, w trakcie ktrego ustalane s wartoci wag wszystkich neuronw sieci. Trening oparty jest o zgromadzone wejciowe dane wzorcowe (macierz X), dla ktrych tworzy si odpowiadajc (podan) macierz wyj (macierz Z). Skuteczn metod treningu sieci jest metoda wstecznej propagacji bdw. Jest to metoda gradientowa poszukiwania kierunku najszybszego spadku funkcji bdu. Schematyczne ujcie procesu treningu wielowarstwowej sieci neuronowej pokazano na rys.4.
W metodzie gradientowej trening polega na wielokrotnym podawaniu wszystkich elementw cigu uczcego. Po podaniu wejciowego sygnau
y wielowymiarowy sygna wyjciowy
odpowied
warstwy
x wielowymiarowy sygna
wejciowy pobudzenie
warstwy ukryte warstwa
wyjciowa
L. Grad
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 34
wzorcowego nastpuje korekcja wag sieci. Jednokrotne podanie wszystkich wzorcw z cigu uczcego na sie nazywane jest epok. Funkcja okrelajca bd sieci jest w metodzie gradientowej funkcj kryterium. Sie uznaje s i za nauczon w przypadku, kiedy bd na wyjciu sieci jest mniejszy od zadanego. Najpopularniejsz miar bdu sieci jest sumaryczny bd redniokwadratowy (SSE - Sum Square Error) obliczany jako pierwiastek z sumy kwadratw rnic wartoci danych (z) i otrzymywanych (y) na wszystkich wyjciach sieci dla caej epoki.
Rys. 4. Trening wielowarstwowej sieci neuronowej
2. Sformuowanie zadania klasyfikacji W punkcie tym omwione zostanie zadanie klasyfikacji rozwizywane
przez sie neuronow. Bdzie to zadanie rozpoznawania cyfr arabskich pisanych odrcznie. Zakadamy, e dysponujemy zbiorem wzorcw cyfr zapisanych w formie obrazw binarnych.
Rozpoznawanie z wykorzystaniem sieci neuronowej bdzie przebiegao zgodnie ze schematem przedstawionym na rys.5.
Do rozpoznawania cyfr zastosowano sie trjwarstwow z moliwoci redukcji do warstw dwch przez mechanizm optymalizacji. Warstwa ostatnia jest warstw wyjciow, zawierajc na stae 10 neuronw. Kady neuron tej warstwy reaguje wartoci 1 na jedn, przypisan mu cyfr, a wartoci 0 na pozostae.
Obrazy podawane na wejcie sieci s poddawane procesowi ekstrakcji cech (redukcji wymiaru wektora wejciowego). W rozpatrywanym rozwizaniu
y
2x
Nx
1x
3x
4x
Nz
3z
4z
korekcja
1z
2z
Przykad optymalizacji struktury sztucznej sieci neuronowej ...
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 35
przyjto rozpoznawanie na podstawie wektora zawierajcego informacj o stopniu zaczernienia wierszy i kolumn. Wymiar wektora opisujcego obraz po procesie ekstrakcji cech wynis 75 (rozmiar obrazu 45x30 pikseli)( rys 6).
Rys. 5. Schemat ukadu rozpoznawania cyfr
Rys. 6. Wynik ekstrakcji cech z obrazu, opis cyfr za pomoc stopnia zaczernienia w wierszach i kolumnach obrazu
...
1000000000
0 1 0 0 0 0 0 0 0 0
0010000000
0 0 0 0 0 0 0 0 0 1
...
ekstrakcja
cech
L. Grad
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 36
3. Metoda algorytmw genetycznych
Algorytmy genetyczne nale do metod optymalizacji. Zasada ich dziaania oparta jest na doborze naturalnym i dziedziczeniu.
Pierwszym krokiem algorytmu jest wybr podzbioru rozwiza dopuszczalnych zwanych populacj pocztkow. Kady element populacji zwany chromosomem kodowany jest za pomoc liczby binarnej o staej dugoci. Jeden bit tej liczby nazywany jest genem. Nastpnie dla caej populacji obliczana jest warto tzw. funkcji przystosowania (funkcji kryterium). Warto tej funkcji stanowi podstaw przeprowadzenia zmian w populacji na drodze selekcji i krzyowania. Selekcja jest operacj wyboru do nastpnej populacji (tzw. rodzicielskiej) osobnikw (chromosomw). W tej operacji do nastpnej generacji wiksze szanse przejcia maj osobniki lepiej przystosowane (w rozpatrywanym przypadku o mniejszej wartoci funkcji przystosowania). Na etapie krzyowania nastpuje wymiana genw pomidzy dwoma losowo wybranymi osobnikami. Wymiana genw nastpuje w sposb taki, i dla losowo wybranego punktu krzyowania (genu w chromosomie) nastpuje "rozcicie" osobnikw i wymiana czci chromosomw pomidzy osobnikami. Dla zapewnienia moliwoci wyjcia z podzbioru rozwiza generowanych przez populacj pocztkow wprowadza si do populacji nowe osobniki na drodze zmiany losowej pewnej liczby genw w chromosomie. Zjawisko to, jak w genetyce, nazywane jest mutacj. Operacje: oceny populacji, selekcji, krzyowania i mutacji przeprowadza si cyklicznie do osignicia satysfakcjonujcego rozwizania. Rozwizanie okrela najlepiej przystosowany osobnik z populacji kocowej. Warunkiem zakoczenia oblicze moe by przykadowo brak postpw w ocenie osobnikw (warto funkcji przystosowania nie zmienia si).
Przedstawiony wyej algorytm mona zapisa nastpujco:
wybr populacji pocztkowej; // rozwiza ze zbioru rozwiza dopuszczalnych ocena populacji; // obliczenie wart. funkcji przystosowania dla wszystkich osobnikw while (not stop) { selekcja; // okrelenie populacji rodzicielskiej krzyowanie; // wymiana genw mutacja; // losowa modyfikacja genw (z maym prawdopodobiestwem) ocena populacji; }
Przykad optymalizacji struktury sztucznej sieci neuronowej ...
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 37
4. Rozwizanie zadania optymalizacji struktury sieci neuronowej Formuujemy zadanie optymalizacji struktury sieci neuronowej jako
dobr liczby neuronw w warstwach ukrytych sieci neuronowej. Warstwa wyjciowa nie podlega optymalizacji z tej racji, i jest warstw sygnalizacyjn (decyzyjn) (rys.7).
Rys. 7. Okrelenie czci sieci neuronowej podlegajcej optymalizacji struktury
Kodowanie struktury sieci neuronowej Na potrzeby algorytmu genetycznego istnieje potrzeba zakodowania
struktury sieci neuronowej (warstw ukrytych sieci) w postaci liczby binarnej. Przyjto, e struktura sieci zostanie zakodowana przy pomocy liczby binarnej o dugoci k*N, gdzie:
- k - liczba warstw ukrytych sieci, - N - liczba bitw na ktrych zakodowana jest liczba neuronw w jednej
warstwie.
...
1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1
...
ekstrakcja cech
Cz sieci podlegajca optymalizacji co do liczb y warstw i liczby neuronw w poszczeglnych warstwach
L. Grad
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 38
Przykadowo, dla k=2, N=8 kodujemy struktur sieci o maksymalnie dwch warstwach ukrytych i maksymalnej liczbie neuronw w warstwie rwnej 255 (rys.8). W takim przypadku liczebno zbioru rozwiza dopuszczalnych wynosi:
Rys. 8. Sposb kodowania struktury sieci neuronowej w postaci liczby binarnej
Okrelenie funkcji przystosowania W celu wykorzystania metody algorytmw genetycznych naley okreli
funkcj przystosowania (kryterium oceny rozwizania). Ocena jakoci dziaania sieci moe by przeprowadzona w zasadzie na podstawie oceny skutecznoci np. stopy bdu w zadaniu rozpoznawania. Jednake zoono obliczeniowa penego procesu treningu jest na tyle dua, e dyskwalifikuje ten sposb oceny.
Przyjmiemy ocen jakoci sieci poprzez ocen postpu treningu po L epokach, mierzonego wartoci SSE, z dodatkow kar za du zoono sieci. Dla dwch warstw ukrytych funkcj t okrela wzr:
gdzie: n1, n2 - liczby neuronw w warstwach pierwszej i drugiej, SSEL - sumaryczny redniokwadratowy bd na wyjciu sieci osignity
po L epokach treningu, 2(2N-1) - maksymalna liczba neuronw w siec i, N - liczba bitw na ktrych kodowana jest liczba neuronw
w warstwie.
Wyniki oblicze W przeprowadzonym eksperymencie przyjto nastpujce parametry dla
652802562 8*2 =
0 1 1 0 1 0 1 1 1 0 0 1 0 0 0 1
107 145 warstwa pierwsza warstwa druga
( ) ( ) ( ) ( ) 10 ,2,1122212,12,1
Przykad optymalizacji struktury sztucznej sieci neuronowej ...
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 39
algorytmu genetycznego: - wielko populacji 15, - liczba iteracji algorytmu 10, - metoda selekcji turniejowa.
W wyniku optymalizacji dla: - 2 warstw ukrytych sieci neuronowej, - maksymalnej liczby neuronw w warstwie rwnej 255, - liczby epok treningu L=1000 , - wspczynnika 2.0= ,
otrzymano struktur sieci o n1=10 neuronach w pierwszej warstwie ukrytej oraz n2=60 neuronach w warstwie drugiej.
Rys.9. Przebieg procesu uczenia sieci zwyci skie j [10 60 10] (przebieg grny) oraz sieci o strukturach [ 30 100 10] i [ 100 30 10], wykresy przedstawiaj spadek
bdu SSE w trakcie ok. 10000 epok
Na rysunku 9 przedstawiono przebiegi procesu uczenia sieci o strukturze bdcej wynikiem dziaania algorytmu genetycznego na tle innych sieci, o strukturach bardziej zoonych. Sieci, zgodnie z przyjt funkcj
L. Grad
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 40
przystosowania, byy oceniane po 1000 epokach. Osignity bd po tej liczbie epok stanowi jeden skadnik oceny (drugi stanowia kara za zoono sieci). Przedstawione przebiegi procesu uczenia na odcinku ok. 10000 epok potwierdzaj suszno przyjtego sposobu oceny sieci. Sie oceniona jako zwyc iska na podstawie postpw w treningu w pierwszym tysicu epok, uzyskaa najlepszy wynik po dziesiciokrotnie duszym procesie uczenia.
5. Podsumowanie
Przedstawiona w artykule metoda optymalizacji struktury sztucznej sieci neuronowej oparta na algorytmie genetycznym przynosi zadowalajce rezultaty.
Dla zadania klasyfikacji cyfr pisanych odrcznie realizowanego przez sie neuronow najlepsz struktur, bdc wynikiem dziaania algorytmu genetycznego, okazaa si sie o dwch warstwach ukrytych i strukturze [10 60 10]. W omwionym przypadku zrezygnowano z oceny sieci neuronowej na podstawie stopy bdnych rozpozna cyfr, co byoby miar najlepsz lecz czasochonn. Wybrano sposb oceny sieci odzwierciedlajcy podatno na uczenie, mierzon bdem SSE, po ustalonej liczbie epok treningu.
Literatura:
[1] Goldberg D.E.: Algorytmy genetyczne i ich zastosowani, WNT, 1995. [2] Kwiatkowski W.: Metody automatycznego rozpoznawania wzorcw, WAT, 2001. [3] Osowski S.: Sieci neuronowe do przetwarzania informacji, Oficyna Wydawnicza
Politechniki Warszawskiej, Warszawa, 2000. [4] Tadeusiewicz R.: Sieci neuronowe, Akademicka Oficyna Wydawnicza RM,
Warszawa 1993
Przykad optymalizacji struktury sztucznej sieci neuronowej ...
Biuletyn Instytutu Automatyki i Robotyki, 23/2006 41
An example of feed forward neural network structure optimisation with genetic algorithm
ABSTRACT: An example of feed forward neural network structure optimisation with genetic algorithm is presented. In genetic algorithm an original fitness functio n is applied. All calculations have been realized for a feed forward neural network, which recognizes hand-written signs.
KEYWORDS: Neural network, genetic algorithm, optimisation.
Recenzent: prof. dr hab. in. Wodzimierz Kwiatkowski Praca wpyna do redakcji: 20.12.2006