11
BIULETYN INSTYTUTU AUTOMATYKI I ROBOTYKI NR 23, 2006 31 Przyklad optymalizacji struktury sztucznej sieci neuronowej metodą algorytmów genetycznych Leszek Grad Zaklad Automatyki, Instytut Teleinfo rmatyki i Automatyki WAT, ul. Kaliskiego 2, 00-908 Warszawa STRESZCZENIE: W artykule przedstawio no przyklad optymalizacji struktury jednokierunkowej wielowarstwowej sztucznej sieci neuro nowej metodą algorytmów genetycznych. Zaproponowano funkcję przystosowania pozwalającą ocenić jakość proponowanej struktury. Obliczenia wykonano dla sieci neuronowej rozpoznającej cyfry pisane odrę cznie. SLOWA KLUCZOWE: sieć neuronowa, algorytmy genetyczne, optymalizacja struktury Przedstawiony w artykule problem optymalizacji struktury sztucznej sieci neuronowej jest zagadnieniem istotnym dla projektantów systemów sztucznej inteligencji wykorzystuj ących jednokierunkowe wielowarstwowe sieci neuronowe. Sieć tego typu realizuje odwzorowanie N-wymiarowego wektora wej ś ciowego w M-wymiarowy sygnal wej ściowy. Z teorii Kolmogorowa wynika, Ŝe aproksymacja taka jest moŜliwa przy zastosowaniu jednej warstwy ukrytej o 2N+1 neuronach [3]. W praktyce konstruuje się sieci o co najwyŜej dwóch warstwach ukrytych, a liczba neuronów w warstwach ukrytych waha si ę od N do 3N. Do optymalizacji struktury s ieci neuronowej stosowane są dwa podstawowe podej ścia: redukcji sieci oraz rozbudowy sieci. W pierwszym, przyjmuje si ę nadmiarową architekturę, która w trakcie procesu uczenia bąd ź po jego zakończeniu jest upraszczana poprzez redukcj ę najmniej znaczących wag. Do najpopularniejszych metod redukcji sieci naleŜy zaliczyć: metodę OBD (Optimal Brain Damage) oraz metodę z funkcj ą kary. W drugim podej ściu, na wstępie przyjmuje si ę strukturę sieci o niewielkiej liczbie neuronów, która w miarę uplywu procesu uczenia jest zwiększana. Spoś ród wielu metod

Algorytm genetyczny - definicja

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