Sieci jednokierunkowe wielowarstwowe typu sigmoidalnego
Sieć jednowarstwowa Rys.1 Schemat sieci jednowarstwowej 2
Sieć jednowarstwowa Cechy sieci jednowarstwowej: Tworzą ją neurony ułożone w jednej warstwie, Każdy neuron ma polaryzację (waga wi0 prowadząca od sygnału jednostkowego) oraz wiele wag wij prowadzących od sygnałów wejściowych xj, Miarą dopasowania jest wartość funkcji celu (funkcji kosztu), Przy p wektorach uczących (x,d) i M neuronach wyjściowych, funkcję celu można zdefiniować, wykorzystując metrykę euklidesową: 1 p (k ) E y d (k ) 2 k 1 2 1 p M ( yi ( k ) d i ( k ) ) 2 2 k 1 i 1 3
Sieć jednowarstwowa Cechy sieci jednowarstwowej (c.d.): Neurony ułożone w pojedynczej warstwie działają niezależnie od siebie, stąd możliwości takiej sieci są ograniczone do możliwości pojedynczych neuronów, Każdy neuron realizuje odwzorowanie funkcyjne: N yi f wij x j j 0 Zakładając, że funkcja sigmoidalna f( ) jest ciągłym przybliżeniem skoku jednostkowego można zauważyć, że sygnał wyjściowy neuronu (wartość 1 lub 0) będzie zależny od znaku wyrażenia: N w x j 0 4 ij j
Sieć jednowarstwowa Cechy sieci jednowarstwowej (c.d.): Sygnał wyjściowy yi przy ustalonych wartościach wag zależny jest od położenia wektora wejściowego x względem hiperpłaszczyzny dzielącej przestrzeń wielowymiarową na dwie podprzestrzenie, Zadanie klasyfikacyjne (sygnał 0 lub 1 przypisany sygnałowi wyjściowemu neuronu) może być zatem rozwiązane za pomocą pojedynczego neuronu, jeśli należy do klasy liniowo separowanych (np. problem logiczny AND, OR). 5
Sieć jednowarstwowa problem XOR Przykład 1 Ograniczone możliwości sieci jednowarstwowych na przykładzie realizacji dwuwejściowej funkcji logicznej XOR. Zbiór danych uczących dla problemu XOR: x1 0 0 1 1 x2 0 1 0 1 d 0 1 1 0 6
Sieć jednowarstwowa problem XOR Rys. 2 Ilustracja nieseparowalności liniowej danych uczących, odpowiadających problemowi logicznemu XOR 7
Sieć jednowarstwowa problem XOR Wyjaśnienie problemu nieseparowalności liniowej: Wewnątrz obszaru sygnał wyjściowy neuronu powinien być równy 1, a na zewnątrz 0, Takiego warunku nie można spełnić stosując podział obszaru przy użyciu jednej prostej (jednego neuronu) niezależnie od wartości współczynników tej prostej (wagi w10, w11, w12), Jednowarstwowy perceptron nie jest więc w stanie zrealizować nawet tak nieskomplikowanej funkcji, jaką jest XOR, Jak rozwiązać problem? Rozszerzając sieć. 8
Sieć jednowarstwowa problem XOR Rozwiązanie: Zwiększamy liczbę neuronów w warstwie o jeden, dobierając wagi obu neuronów w ten sposób, aby realizowały podział obszaru na części: u1 w11 x1 w12 x 2 w10 0 u1 w11 x1 w12 x 2 w10 0 i w zależności od wektora wejściowego: x x1, x 2 T (pierwszy neuron) oraz: u2 w21 x1 w22 x2 w20 0 i u2 w21 x1 w22 x2 w20 0 (drugi neuron). Dokładając na wyjściu dodatkową warstwę zawierającą jeden neuron, można zrealizować sumę logiczną odpowiadającą części wspólnej zbiorów: u1 0, u2 0 9
Sieć jednowarstwowa problem XOR Rys. 3 Rozwiązanie problemu nieliniowej separowalności przez złożenie dwóch separowalności liniowych 10
Sieć jednowarstwowa problem XOR Rys. 4 Struktura sieci neuronowej rozwiązująca problem XOR 11
Sieć jednowarstwowa problem XOR Wnioski: Każdy neuron w warstwie ukrytej wprowadza dodatkowy podział liniowy obszaru, przy czym granica podziału na części ui > 0 ui < 0 i uzależniona jest od wartości wag neuronu, Warstwa wyjściowa dokonuje wyboru odpowiedniej kombinacji liniowej (np. sumy logicznej) podobszarów, na które został podzielony obszar danych wejściowych przez neurony warstwy ukrytej. 12
Sieci jednowarstwowe Podsumowanie odnośnie sieci jednowarstwowych: Sieć jednowarstwowa ma niewielkie znaczenie praktyczne, lecz nadal się ją stosuje wszędzie tam, gdzie istnienie jednej warstwy jest wystarczające do określonego problemu, Architektura sieci jest prosta liczbę neuronów wejściowych określa wymiar wektora wejściowego x, a liczba neuronów wyjściowych jest zadawana przez wymiar wektora d, Uczenie sieci odbywa się zwykle z nauczycielem i jest dokładnym odpowiednikiem uczenia pojedynczego neuronu. 13
Sieć wielowarstwowa perceptronowa Rys. 5 Ogólny schemat sieci neuronowej dwuwarstwowej 14
Sieć wielowarstwowa perceptronowa Cechy: Tworzą ja neurony ułożone w wielu warstwach, Oprócz warstwy wejściowej i wyjściowej istnieje co najmniej jedna warstwa ukryta. Oznaczenia: Wagi neuronów warstwy ukrytej wskaźnik górny (1), natomiast warstwy wyjściowej wskaźnik górny (2), Sygnały wyjściowe neuronów warstwy ukrytej vj (j = 1, 2,, K) a warstwy wyjściowej yj (j = 1,2,, M), Zakładamy, że funkcja aktywacji neuronów jest dana w postaci sigmoidalnej unipolarnej bądź bipolarnej. 15
Sieć wielowarstwowa perceptronowa Cel uczenia: Określenie wartości wag wij(1) wij(2) wszystkich warstw sieci w taki sposób, aby przy zadanym wektorze wejściowym x uzyskać na wyjściu wartości sygnałów yi odpowiadające z dostateczną dokładnością wartościom zadanym di dla i = 1, 2,, M, Traktując jednostkowy sygnał polaryzujący jako jedną ze składowych wektora wejściowego x, wagi polaryzacji można włączyć do wektora wag poszczególnych neuronów obu warstw, 16
Sieć wielowarstwowa perceptronowa Przy takim oznaczeniu sygnał wyjściowy i-tego neuronu warstwy ukrytej daje się opisać funkcją: N (1 ) v i f wij x j j 0 w której wskaźnik 0 polaryzacji,vprzy czym 0 1, x0 1 odpowiada sygnałowi i wagom W przypadku warstwy wyjściowej k-ty neuron wytwarza sygnał wyjściowy opisany następująco: K ( 2) yk f wki vi i 0 K ( 2) N (1) f wki f wij x j i 0 j 0 17
Sieć wielowarstwowa perceptronowa Wniosek: Na wartość sygnału wyjściowego mają wpływ wagi obu warstw, podczas gdy sygnały wytwarzane w warstwie ukrytej nie zależą od wag warstwy wyjściowej. 18
Algorytm propagacji wstecznej Charakterystyka: Określa strategię doboru wag w sieci wielowarstwowej przy wykorzystaniu gradientowych metod optymalizacji, Podstawę stanowi funkcja celu, definiowana zwykle jako suma kwadratów różnic między aktualnymi wartościami sygnałów wyjściowych sieci a wartościami zadanymi, W przypadku pojedynczej próbki uczącej (x,d) funkcję celu definiuje się w postaci: 1 M E ( w) ( y k d k ) 2 2 k 1 W przypadku wielu próbek uczących j (j = 1,2,,p) funkcję celu stanowi suma E po wszystkich próbkach: 1 p M E ( w) ( y k ( j ) d k ( j ) ) 2 2 j 1 k 1 19
Algorytm propagacji wstecznej Fazy uczenia sieci: Prezentacja próbki uczącej x i obliczenie wartości sygnałów poszczególnych neuronów (dla danego wektora x obliczane są wartości sygnałów wyjściowych vi neuronów warstwy ukrytej, a następnie wartości yi odpowiadające neuronom warstwy wyjściowej; możliwe staje się określenie aktualnej wartości funkcji celu E(w)), Minimalizacja wartości tej funkcji. Najskuteczniejszymi metodami uczenia pozostają gradientowe metody optymalizacyjne (przy założeniu ciągłości funkcji), w których adaptacja wag (uczenie) odbywa się zgodnie ze wzorem: w(k 1) w(k ) w gdzie: w p (w) η - jest współczynnikiem uczenia się sieci, a p(w) kierunkiem w przestrzeni wielowymiarowej w. 20
Algorytm propagacji wstecznej Uczenie sieci wielowarstwowej przy zastosowaniu metod gradientowych wymaga wyznaczenia kierunku p(w) określenia wektora gradientu względem wag wszystkich warstw sieci (w przypadku wag warstwy wyjściowej zadanie to jest określone w sposób natychmiastowy, warstwy pozostałe wymagają zastosowania specjalnej strategii postępowania noszącej nazwę algorytmu propagacji wstecznej). W każdym cyklu uczącym wyróżniamy następujące etapy: Analiza sieci neuronowej o zwykłym kierunku przepływu sygnałów przy założeniu sygnałów wejściowych sieci równych elementom aktualnego wektora x. W wyniku analizy otrzymuje się wartości sygnałów wyjściowych neuronów warstw ukrytych oraz warstwy wyjściowej, a także odpowiednie pochodne funkcji aktywacji w poszczególnych warstwach. 21
Algorytm propagacji wstecznej Utworzenie sieci propagacji wstecznej przez odwrócenie kierunków przepływu sygnałów, zastąpienie funkcji aktywacji przez ich pochodne, a także przyłożenie na byłym wyjściu (obecnie wejściu) sieci wymuszenia w postaci odpowiedniej różnicy między wartością aktualną i zadaną. Dla tak utworzonej sieci należy obliczyć wartości odpowiednich różnic wstecznych, Adaptacja wag (uczenie sieci) odbywa się na podstawie wyników uzyskanych w poprzednich punktach dla sieci oryginalnej i sieci o propagacji wstecznej według odpowiednich wzorów, Opisany powyżej proces należy powtórzyć dla wszystkich wzorców uczących, kontynuując go do chwili spełnienia warunku zatrzymania algorytmu. Działanie algorytmu kończy się w momencie, w którym norma gradientu spadnie poniżej pewnej wartości ε, określającej dokładność procesu uczenia. 22
Algorytm propagacji wstecznej Pokażemy algorytm dla sieci dwuwarstwowej (rys. 5) Oznaczmy: N - liczba węzłów wejściowych, K liczba neuronów w warstwie ukrytej, M liczba neuronów w warstwie wyjściowej. 2 ů 1 é ( 2) E ę f wki vi d k ú 2 k 1 ë i 0 ű M 1 M é ę f 2 k 1 ęë K ů K ( 2) N (1) wki f wij x j d k ú úű j 0 i 0 23 2
Algorytm propagacji wstecznej Gradient otrzymujemy przez różniczkowanie E: E df (ui( 2) ) ( yi di ) vj ( 2) ( 2) wij du i gdzie K ui( 2) wij( 2) v j j 0 Wprowadźmy oznaczenie: d i( 2) df (ui( 2) ) ( yi di ) ( 2) dui Wtedy elementy gradientu względem wag neuronów warstwy wyjściowej mają postać: E ( 2) d i vj ( 2) wij 24
Algorytm propagacji wstecznej Elementy gradientu względem wag neuronów warstwy ukrytej: M dyk dvi E ( yk dk ) (1) (1) wij dv dw k 1 i ij Uwględniając poszczególne składniki otrzymujemy: M E df (u (k2) ) ( 2) df (u i(1) ) ( yk dk ) wki xj (1) ( 2) (1) wij du k dui k 1 Wprowadźmy oznaczenie: d i(1) df (uk( 2) ) ( 2) df (ui(1) ) ( yk dk ) wki ( 2) (1) duk dui k 1 M Wtedy elementy gradientu względem wag neuronów warstwy wyjściowej mają postać: E (1) d i xj (1) wij 25
Grafy przepływowe w zastosowaniu do generacji gradientu Charakterystyka ogólna: Stosując metodę grafów przepływowych odnoszących się do systemu, można podać bardzo proste reguły tworzenia składników gradientu, które obowiązują w tej samej postaci niezależnie od stopnie złożoności sieci. Wykorzystuje się przy tym zależności odnoszące się do zagadnienia wrażliwości systemu badanego metodą układów dołączonych. Pełna wrażliwość układu rozumiana jako pochodna dowolnego sygnału w tym układzie względem wartości wag może być określana na podstawie znajomości sygnałów w grafie zwykłym (oznaczonym przez G) oraz grafie dołączonym (oznaczonym przez Ĝ). 26
Grafy przepływowe w zastosowaniu do generacji gradientu Graf Ĝ jest zdefiniowany jako oryginalny graf G, którego kierunki wszystkich gałęzi zostały odwrócone. Opis liniowej gałęzi grafu G i odpowiadającej jej gałęzi grafu dołączonego Ĝ jest identyczny. W przypadku gałęzi nieliniowej f(x,k), gdzie x jest sygnałem wejściowym, a k parametrem, odpowiadająca jej gałąź grafu Ĝ staje się gałęzią zlinearyzowaną, o wzmocnieniu obliczonym dla aktualnego sygnału wejściowego x grafu G: f ( x, k ) x 27
Grafy przepływowe w zastosowaniu do generacji gradientu Zależności wrażliwościowe dowolnego sygnału wyjściowego v0 w grafu G względem parametrów gałęzi tego grafu można przedstawić w następujący sposób: Dla liniowej gałęzi wij grafu G dv0 v j vˆi dwij wij jest wzmocnieniem liniowej gałęzi skierowanej od węzła j-tego do i-tego, vj odpowiada sygnałowi j-tego węzła grafu G, v i odpowiada sygnałowi i-tego węzła grafu dołączonego Ĝ, dla którego sygnałem wejściowym jest wartość vˆ 0 1. 28
Grafy przepływowe w zastosowaniu do generacji gradientu Dla nieliniowej gałęzi grafu G, łączącej l-ty węzeł z k-tym i opisanej funkcją vk = f(vl,k), wrażliwość względem parametru K określona jest zależnością: dv0 f (v, K ) vˆ k kl l dk K f kl (vl, K ) K - wyznacza się dla sygnału vl l-tego węzła w grafie G. 29
Grafy przepływowe w zastosowaniu do generacji gradientu Niech w oznacza wektor optymalizowanych parametrów (wag wi) układu opisanego w postaci grafu G w = [w1,w2,,wn]t, E(w) jest funkcją celu, gradient E(w), zapisany skrótowo jako (w) = E(w), zdefiniowany jest w postaci: é E ( w) E ( w) E ( w) ů g ( w) ę,, ú w w wn ű ë 1 2 30 T g
Grafy przepływowe w zastosowaniu do generacji gradientu Przy założeniu definicji funkcji celu w uwzględniającej tylko jedną próbkę uczącą: postaci 1 M E ( w) ( y i d i ) 2 2 i 1 di jest wartością zadana i-tego neuronu wyjściowego, = 1,2,,M, gradient funkcji celu przyjmuje następującą postać: g ( w) [ g1 ( w), g 2 ( w),..., g n ( w)]t w której: M g k ( w) ( yi d i ) i 1 31 yi wk i
Grafy przepływowe w zastosowaniu do generacji gradientu Wnioski: Do określenia wektora gradientu wymagane są zatem pochodne sygnałów yi grafu względem wag wk (wrażliwości), pomnożone przez wartości funkcji błędu (yi - di). Dzięki zastosowaniu metody grafów wszystkie te operacje (włącznie z sumowaniem) mogą być przeprowadzone w jednym kroku za pomocą grafu G oraz dołączonego do niego grafu Ĝ, przy założeniu odpowiednich warunków pobudzenia grafu Ĝ. 32
Grafy przepływowe w zastosowaniu do generacji gradientu Rys. 6 Ilustracja sposobu tworzenia i pobudzenia grafu dołączonego a) Graf oryginalny G 33
Grafy przepływowe w zastosowaniu do generacji gradientu Rys 7 Ilustracja sposobu tworzenia i pobudzenia grafu dołączonego b) Graf dołączony Ĝ 34
Grafy przepływowe w zastosowaniu do generacji gradientu W odniesieniu do liniowej gałęzi grafu G opisanej wagą wij otrzymujemy: E ( w) v j vˆi wij W przypadku nieliniowej gałęzi grafu G opisanej funkcją wkl(vl,k) otrzymujemy: E ( w) w ( v, K ) vˆk kl l K K Podane zależności odnoszą się dowolnych systemów (liniowych, nieliniowych, rekurencyjnych itp.) 35
Grafy przepływowe w zastosowaniu do generacji gradientu Rys. 8 Ilustracja metody grafu dołączonego w zastosowaniu do generacji wektora gradientu dla sieci wielowarstwowej jednokierunkowej Graf wyjściowy sieci 36
Grafy przepływowe w zastosowaniu do generacji gradientu Rys. 9 Ilustracja metody grafu dołączonego w zastosowaniu do generacji wektora gradientu dla sieci wielowarstwowej jednokierunkowej Graf dołączony 37
Grafy przepływowe w zastosowaniu do generacji gradientu Poszczególne składowe wektora gradientu g(w) dla dowolnej warstwy neuronów wynoszą: Dla warstwy wyjściowej Dla k-tej warstwy ukrytej Dla pierwszej warstwy ukrytej 38 - E ( w) ( m 1) ( m ) v ûi j ( m) wij - E ( w) ( k 1) ( k ) v ûi j (k) wij - E ( w) (1) x u j i wij(1)
Grafy przepływowe w zastosowaniu do generacji gradientu Podsumowanie: Postać wzoru określającego odpowiedni składnik gradientu jest (przy zachowaniu odpowiednich oznaczeń sygnałów) identyczna, niezależnie od tego, w której warstwie neuronów znajduje się odpowiednia waga, Ważną zaletą metody grafów, poza znacznym uproszczeniem formuły, jest możliwość uwzględnienia ograniczeń równościowych nakładanych na dowolne wagi sieci, Uwzględnienie równościowych ograniczeń nakładanych na wagi (wij = wkl) nie tylko nie komplikuje zależności ogólnych, lecz wręcz przeciwnie, upraszcza je, przez zmniejszenie liczby zmiennych, 39
Grafy przepływowe w zastosowaniu do generacji gradientu Należy zauważyć, że wagi równościowe mogą dotyczyć tej samej warstwy lub warstw zupełnie różnych. Istota wzoru się nie zmienia się przy tym zupełnie. Jest to najistotniejsza różnica między metodą generacji gradientu opierającej się a grafach przepływu sygnałów a tradycyjnym podejściem klasycznym. 40
Algorytmy gradientowe uczenia sieci Charakterystyka ogólna: Zadanie uczenia sieci neuronowej na tym etapie traktowane będzie jako równoważne minimalizacji odpowiednio zdefiniowanej funkcji celu E(w), Metody gradientowe, których podstawą działania jest znajomość gradientu funkcji celu, są uważane za jedne z najskuteczniejszych w teorii optymalizacji, Opierają się one na rozwinięciu w szereg Taylora funkcji celu, E(w), w najbliższym sąsiedztwie znanego aktualnego punktu rozwiązania. 41
Algorytmy gradientowe uczenia sieci Ogólny algorytm optymalizacji w zastosowaniu do uczenia sieci przedstawić można w następującej postaci (zakłada się, że dana jest wartość początkowa wektora optymalizowanego wk = w0): 1. 2. Test na zbieżność i optymalność aktualnego rozwiązania wk. Jeżeli punkt wk spełnia warunki zatrzymania procesu ze względu na gradient koniec obliczeń. W przeciwnym razie przejście do punktu 2. Wyznaczenie wektora kierunku minimalizacji pk w punkcie rozwiązania wk. 3. 1. Wyznaczenie takiego kroku ηk na kierunku pk, ze spełniony jest warunek: E ( wk k pk ) E ( wk ) Określenie nowego punktu rozwiązania wk+1 = wk + ηkpk oraz odpowiadającej mu wartości E(wk), g(wk) (ewentualnie H(wk) i powrót do początku. 42
Algorytm największego spadku Charakterystyka ogólna: Algorytm największego spadku otrzymuje się przy ograniczeniu się w rozwinięciu Taylora do liniowego przybliżenia funkcji E(w) w najbliższym sąsiedztwie znanego rozwiązania w. Aby była spełniona zależność E(wk+1) < E(wk) wystarczy dobrać g(wk)tp < 0. Przyjęcie wektora kierunkowego w postaci: pk g ( wk ) spełnia wymagany kierunek zmniejszania wartości funkcji celu. 43
Algorytm największego spadku Podsumowanie: Ograniczenie się w rozwinięciu Taylora do składnika pierwszego rzędu powoduje niewykorzystanie informacji o krzywiźnie funkcji zawartej w hesjanie. To sprawia, że metoda jest wolnobieżna (zbieżność liniowa). Wada ta oraz brak postępów minimalizacji w okolicy punktu optymalnego, gdzie gradient przyjmuje bardzo małe wartości, spowodowały, że metoda ta jest mało efektywna. Ze względu na jej prostotę, małe wymagania co do wielkości pamięci i stosunkowo małą złożoność obliczeniową pozostaje jednak nadal podstawową metodą stosowaną w uczeniu sieci wielowarstwowych. 44
Algorytm największego spadku Poprawy jej efektywności poszukuje się przez modyfikację wzoru określającego kierunek. Dobre wyniki przynosi zwykle zastosowanie metody uczenia z tzw. momentem. W przypadku zastosowania tej techniki aktualizacja wag sieci, następuje według zmienionej formuły określającej Δwk wk k pk ( wk wk 1 ) α jest współczynnikiem momentu, z przedziału [0,1] Pierwszy składnik tego wyrażenia odpowiada zwykłej metodzie uczenia największego spadku, natomiast drugi uwzględnia ostatnią zmianę wag i jest niezależny od aktualnej wartości gradientu. Wpływ wzrasta w sposób istotny na płaskich odcinkach funkcji celu oraz w pobliżu minimum lokalnego, gdzie wartość gradientu jest bliska 0. 45
Algorytm zmiennej metryki Charakterystyka ogólna: W metodzie tej wykorzystuje się kwadratowe przybliżenie funkcji E(w) w sąsiedztwie znanego rozwiązania wk. Ograniczając się do trzech pierwszych składników, otrzymujemy: E ( wk pk ) E ( wk ) g ( wk )T p k 1 T p k H ( wk ) pk 0( h3 ) 2 de( wk pk ) 0 dp k Minimum funkcji wymaga, aby: Warunek optymalności (po zróżniczkowaniu): g ( wk ) H ( wk ) pk 0 pk H wk g ( wk ) 1 więc: 46
Algorytm zmiennej metryki Jak wynika z poprzedniego wzoru, do wyznaczenia kierunku należy w każdym cyklu określić wartość gradientu g oraz hesjanu H w punkcie znanego (ostatniego) rozwiązania wk. Wzór ten jest zależnością czysto teoretyczną, gdyż określenie hesjanu w każdym kroku, w przypadku ogólnym jest trudne do spełnienia, Z tego powodu w praktycznych implementacjach algorytmu rezygnuje się z dokładnego wyznaczania hesjanu H(wk), a w zamian stosuje się przybliżenie G(wk) Jedną z najpopularniejszych metod jest przy tym metoda zmiennej metryki. W metodzie tej, w każdym kroku modyfikuje się hesjan lub jego odwrotność z kroku poprzedniego o pewną poprawkę. 47
Algorytm zmiennej metryki Jeżeli przez sk i rk oznaczymy odpowiednio przyrosty wektora w oraz gradientu w dwu kolejnych krokach iteracyjnych, to jest: sk wk wk 1, rk g ( wk ) g ( wk 1 ) a przez V macierz odwrotną przybliżonego hesjanu Vk G ( wk ), Vk 1 G ( wk 1 ) 1 1 To zgodnie z najefektywniejszą formułą Broydena-FletcheraGoldfarba-Shanno (BFGS) proces uaktualniania wartości macierzy V opisuje się zależnością rekurencyjną: é rkt Vk 1rk ů sk s Tk s k rktvk 1 Vk 1rk stk Vk Vk 1 ę1 T ú T T s r s r s ë k k ű k k k rk 48
Algorytm zmiennej metryki W innym znanym algorytmie Davidona-Fletchera-Powella (DFP) uaktualnienie hesjanu odbywa się według zależności: sk s Tk Vk 1rk rktvk 1 Vk Vk 1 T T sk rk rk Vk 1rk Podsumowanie: Metoda zmiennej metryki charakteryzuje zbieżnością niż metoda największego spadku. się szybszą Fakt, ze hesjan w każdym kroku spełnia warunek dodatniej określoności, daje nam pewność, że spełnienie warunku g (wk) = 0 odpowiada rozwiązaniu problemu optymalizacji. 49
Algorytm zmiennej metryki Metoda ta uważana jest obecnie za jedną z najlepszych technik optymalizacji funkcji wielu zmiennych. Jej wadą jest stosunkowo znaczna złożoność obliczeniowa (konieczność wyznaczenia w każdym cyklu n2 elementów hesjanu), a także duże wymagania w odniesieniu do pamięci przy przechowywaniu macierzy hesjanu, co w przypadku funkcji z dużą liczbą zmiennych może być poważnym problemem. 50
Algorytm Levenberga-Marquardta Charakterystyka ogólna: W metodzie tej dokładną wartość hesjanu H(w) zastępuję się jego wartością aproksymowaną G(w), określaną na podstawie informacji zawartej w gradiencie z uwzględnieniem czynnika regularyzującego. Funkcji celu w postaci odpowiadającej istnieniu jednego wzorca uczącego: 1 M 2 E ( w) ei ( w) 2 i 1 gdzie: ei = [yi(w)-di] 51
Algorytm Levenberga-Marquardta Przy zastosowaniu oznaczeń: é e1 ( w) ů ę e ( w) ú ú e( w) ę 2 ę... ú ę ú e ( w ) ë M ű é e1 ę w ę 1 ę e2 J ( w) ę w1 ę... ę em ę ë w1 e1 w2 e2 w2... em w2 e1 ů wn ú ú e2 ú... wn ú...... ú em ú... ú wn ű... Wektor gradientu i aproksymowana macierz odpowiadające funkcji celu określane są w postaci: g ( w) J ( w) e( w) T hesjanu G ( w) J ( w) J ( w) R ( w) T R(w) odpowiada składnikom rozwinięcia zawierającej wyższe pochodne względem w. 52 hesjanu H(w),
Algorytm Levenberga-Marquardta Istotą podejścia Levenberga-Marquardta jest aproksymacja R (w) za pomocą czynnika regularyzacyjnego v1, w którym v, zwany parametrem Levenberga-Marquardta, jest wielkością skalarną, zmienianą w trakcie procesu optymalizacyjnego. Aproksymowana macierz hesjanu w k-tym kroku algorytmu przyjmuje więc postać: G ( wk ) J ( wk ) J ( wk ) vk 1 T Na starcie procesu uczenia, gdy aktualna wartość wk jest daleka od rozwiązania (duża wartość wektora błędu e), przyjmuje się wartość parametru vk bardzo dużą w porównaniu z największą wartością własną macierzy [J(wk)]TJ (wk). W takim przypadku hesjan jest reprezentowany przede wszystkim przez czynnik regularyzacyjny: G ( wk ) vk 1 53
Algorytm Levenberga-Marquardta A poszukiwanie kierunku odbywa się zgodnie z metodą największego spadku: pk g ( wk ) vk Podsumowanie: O skuteczności działania algorytmu decyduje odpowiedni dobór wartości vk. Duża wartość początkowa vk w miarę postępów optymalizacji musi ulec redukcji aż do wartości zerowej przy rozwiązaniu aktualnym bliskim optymalnemu. Istnieją różne sposoby doboru tej wartości (np. metoda zaproponowana przez D. Marquardta) 54
Algorytm gradientów sprzężonych Charakterystyka ogólna: W metodzie tej podczas wyznaczania kierunku minimalizacyjnego rezygnuje się z bezpośredniej informacji o hesjanie. W zamian za to kierunek poszukiwań pk jest konstruowany w taki sposób, aby był ortogonalny oraz sprzężony do wszystkich poprzednich kierunków p0, p1,, pk-1. Zbiór wektorów pi, i = 0,1,, k, jest wzajemnie sprzężony względem macierzy G, jeżeli: pit Gp j 0, i j Wektor pk, który spełnia powyższe założenia ma postać: pk g k k 1 pk 1 gk = g(wk) oznacza aktualną wartość wektora gradientu. 55
Algorytm gradientów sprzężonych Z poprzedniego wzoru wynika, że nowy kierunek minimalizacyjny zależy tylko od wartości gradientu w punkcie rozwiązania wk oraz od poprzedniego kierunku poszukiwań pk-1, pomnożonego przez współczynnik sprzężenia βk-1. Współczynnik sprzężenia odgrywa bardzo ważną rolę, kumulując w sobie informacje o poprzednich kierunkach poszukiwań. Istnieje wiele reguł wyznaczania tego współczynnika. Najbardziej znane z nich to: k 1 g kt ( g k g k 1 ) g Tk 1 gk 1 k 1 56 g kt ( g k g k 1 ) pk 1 g k 1
Algorytm gradientów sprzężonych Podsumowanie: Ze względu na kumulację błędów zaokrąglania podczas kolejnych cykli obliczeniowych metoda ta w praktyce zatraca własność ortogonalności między wektorami kierunków minimalizacyjnych. Dlatego też po wykonaniu n iteracji (n przyjmuje się jako funkcję liczby zmiennych podlegających optymalizacji) przeprowadza się jej ponowny start, zakładając w pierwszym kroku kierunek minimalizacyjny zgodnie z algorytmem największego spadku w aktualnie osiągniętym punkcie rozwiązania. Metoda ta wykazuje zbieżność zbliżoną do liniowej i z tego powodu jest mniej skuteczna niż metoda zmiennej metryki, lecz zdecydowanie szybsza niż metoda największego spadku. Stosuje się ją powszechnie jako jedyny skuteczny algorytm optymalizacji przy bardzo dużej liczbie zmiennych, sięgających nawet kilkudziesięciu tysięcy. 57
Dobór współczynnika uczenia Informacje podstawowe: Poprzednie algorytmy określają jedynie kierunek, wzdłuż którego funkcja celu maleje, nie podając wielkości kroku, przy którym funkcja ta osiąga wartość minimalna na danym kierunku, Po określeniu właściwego kierunku pk należy wybrać na nim nowy punkt rozwiązania wk+1, dla którego spełniony będzie warunek E(wk+1) < E(wk). Pożądany jest taki dobór ηk, aby nowy punkt rozwiązania leżał możliwie blisko minimum funkcji E(w) na kierunku pk. Właściwy dobór współczynnika ηk ma ogromny wpływ na zbieżność algorytmu optymalizacyjnego do minimum funkcji celu. Im ηk bardziej odbiega od wartości, przy którym E(w) osiąga minimum na danym kierunku pk, tym większa liczba iteracji jest potrzebna do wyznaczenia optymalnego rozwiązania. 58
Dobór współczynnika uczenia Istnieje wiele sposobów doboru wartości η, zwanej w sieciach neuronowych współczynnikiem uczenia. Najprostszy z nich polega na przyjęciu stałej wartości η w całym procesie optymalizacyjnym. Jest to sposób rzadko stosowany, mało efektywny, gdyż nie uzależnia wartości współczynnika uczenia od aktualnego wektora gradientu, a więc i kierunku p w danej iteracji. Dobór η odbywa się zwykle oddzielnie dla każdej warstwy sieci przy wykorzystaniu różnych zależności empirycznych. Jednym z rozwiązań jest przyjęcie oszacowania minimalnej wartości współczynnika η dla każdej warstwy w postaci: 1 Ł min ni ni oznacza liczbę wejść i-tego neuronu w warstwie. 59
Dobór współczynnika uczenia Inną bardziej skuteczną metodą jest założenie adaptacyjnych zmian współczynnika η, dopasowujących się do aktualnych zmian wartości funkcji celu w czasie uczenia. W metodzie tej na podstawie porównania sumacyjnego błędu w i-tej iteracji z jej poprzednią wartością, gdzie: M (y 2 d ) j j j 1 określa się strategię zmian wartości współczynnika uczenia. W celu przyspieszenia procesu uczenia w metodzie powinno się dążyć do ciągłego zwiększania η, jednocześnie sprawdzając, czy błąd nie rośnie w porównaniu z błędem obliczanym przy starej wartości η. Dopuszcza się przy tym nieznaczny wzrost wartości tego błędu w stosunku do wartości z poprzedniej iteracji. 60
Dobór współczynnika uczenia Mimo pewnego zwiększenia nakładu obliczeniowego (potrzebnego do wyznaczenia dodatkowej wartości ) możliwe jest jednak istotne przyspieszenie procesu uczenia, W praktycznej realizacji tej metody należy uwzględnić mechanizmy kontroli i sterowania wartościami współczynników, dobierając je do specyfiki zadania, gdyż wartości optymalne przy jednej postaci funkcji mogą zamiast przyspieszania wprowadzić opóźnienie procesu uczenia przy zmianie funkcji. 61
Dobór współczynnika uczenia Najefektywniejszy, choć najbardziej złożony, sposób doboru współczynnika uczenia polega na minimalizacji kierunkowej funkcji celu na wyznaczonym wcześniej kierunku pk. Należy tak dobrać skalarną wartość ηk, aby nowe rozwiązanie wk+1 = wk + ηkpk odpowiadało minimum funkcji celu na danym kierunku pk. W rzeczywistości wyznaczone rozwiązanie wk+1 tylko z pewnym przybliżeniem odpowiada prawdziwemu minimum. Podyktowane jest to kompromisem między poniesionym nakładem obliczeniowym a wpływem dokładności wartości ηk na zbieżność algorytmu. Wśród najpopularniejszych metod wyznaczania minimum kierunkowego można wyróżnić metody bezgradientowe i gradientowe. 62
Dobór współczynnika uczenia W metodach bezgradientowych korzysta się jedynie z informacji o wartościach funkcji celu i wyznacza jej minimum w wyniku kolejnych podziałów założonego na wstępie zakresu wektora w. Przykładem takich metod są: metoda bisekcji, złotego podziału odcinka czy metoda Fibonacciego różniące się sposobem podziału kolejnych podzakresów. Lepszym rozwiązaniem jest zastosowanie metod gradientowych, w których oprócz wartości funkcji wykorzystuje się również jej pochodną wzdłuż wektora kierunku pk. Umożliwiają one znaczne przyspieszenie wyznaczenia minimum wzdłuż danego kierunku, gdyż opierają się na informacji o kierunku spadku wartości funkcji celu. W takim przypadku stosuje się zwykle wielomian aproksymujący trzeciego rzędu: P3 ( ) a3 3 a2 2 a1 a0 63
Dobór współczynnika uczenia Cztery współczynniki ai wielomianu można wyznaczyć, korzystając z informacji o wartości funkcji i jej pochodnej kierunkowej jedynie w dwu punktach. Przyrównując do zera pochodną wielomianu względem η otrzymuje się wzór określający ηmin w postaci: min a2 a22 3a2 a1 3a3 64
Metody heurystyczne uczenia sieci Informacje podstawowe: Oprócz algorytmów uczących implementujących wypróbowane metody optymalizacji nieliniowej funkcji celu, takie jak metoda zmiennej metryki, metoda Levenberga-Marquardta czy metoda gradientów sprzężonych, opracowano ogromną liczbę algorytmów typu heurystycznego, stanowiących modyfikację metody największego spadku bądź metody gradientów sprzężonych. Modyfikacje takie, opierające się na algorytmach powszechnie znanych, wprowadzają do nich pewne poprawki, przyspieszające (zdaniem autorów) działanie algorytmu. Nie mają one najczęściej ścisłego uzasadnienia teoretycznego, zwłaszcza przy doborze wartości parametrów sterujących działaniem poprawki, ale uwzględnione są w nich doświadczenia różnych autorów z zakresu prac nad sieciami neuronowymi. Do najbardziej znanych algorytmów heurystycznych należą quickprop S. Fahlmana oraz rprop R. Riedmillera i H. Brauna. 65
Algorytm Quickprop Charakterystyka ogólna: Quickprop zawiera elementy zabezpieczające przed utknięciem w płytkim minimum lokalnym, wynikającym z punktu pracy neuronu w nasyceniu krzywej sigmoidalnej, gdzie ze względu na pochodną funkcji aktywacji bliską zeru, postęp w uczeniu jest znikomy. Zmiana wagi wij w k-tym kroku algorytmu dokonuję się według następującej zależności: é E( w( k )) ů wij (k ) k ę wij (k ) ú ij( k ) wij ( k 1) ęë wij úű Składnik pierwszy odpowiada oryginalnemu algorytmowi największego spadku, Składnik ostatni czynnikowi momentu, Składnik środkowy minimalizacji wartości absolutnej wag, 66
Algorytm Quickprop Współczynnik, przyjmujący zwykle małe wartości (typowa wartość 10-4) - jest czynnikiem prowadzącym do redukcji wartości wag i ewentualnej ich eliminacji, Stała ηk jest współczynnikiem uczenia (przyjmuje w algorytmie 2 wartości: wartość stałą η0 na starcie uczenia gdy spełnione są określone warunki, albo wartość zerową) Ważną rolę w algorytmie pełni czynnik momentu, dostosowywany adaptacyjnie do aktualnych postępów w uczeniu. Zgodnie z algorytmem Fahlmana współczynnik momentu ij dobierany jest indywidualnie dla każdej wagi według wzoru: gdy ij ( k ) max lub gdy Sij (k ) wij ( k 1) ij ( k ) 0 max ij(k ) ij ( k ) w pozostałych przypa dkach 67
Algorytm Quickprop Przy czym: Sij (k ) E ( w( k )) wij ( k ) wij (k) ij Sij ( k ) S ij ( k 1) Sij ( k ) max - maksymalna wartość współczynnika momentu, przyjęta przez Fahlmana jako max = 1,75 Znana jest również uproszczona wersja algorytmu Quickprop, w której zmiany wartości wag odbywają się według wzoru: ij ( k ) wij ( k 1) wij (k ) E 0 wij dla w ij ( k 1) 0 w przeciwnym przypadku 68
Algorytm Quickprop S ij ( k ) ij ( k ) min, max S ( k 1 ) S ( k ) ij ij Gdzie: Sij (k ) E ( w( k )) wij Zmniejszeniu uległa liczba parametrów sterujących procesem uczenia i złożoność samej formuły uaktualniania wag. Jak wykazały wyniki, skuteczność zmodyfikowanego algorytmu jest porównywalna z oryginalnym algorytmem Fahlmana. 69
Algorytm RPROP Charakterystyka ogólna: W algorytmie tym przy zmianie wag uwzględnia się jedynie znak składowej gradientu, ignorując jej wartość: E ( w( k )) wij (k ) ij ( k ) sgn wij Współczynnik uczenia dobierany jest indywidualnie dla każdej wagi wij na podstawie zmian wartości gradientu: ij( k ) min(a ij (k 1), max ) dla Sij (k ) S ij (k 1) 0 max(b ij (k 1), min ) dla Sij (k ) S ij (k 1) 0 (k 1) w pozostałych przypadkach ij 70
Algorytm RPROP Sij (k ) E ( w( k )) wij Gdzie: a i b są stałymi: a = 1,2; b = 0,5, ηmin i ηmax oznaczają minimalną i maksymalną wartość współczynnika uczenia, równą odpowiednio 10-6 oraz 50, Funkcja sgn oznacza znak argumentu. Algorytm pozwala na znaczne przyspieszenie procesu uczenia w tych obszarach, w których nachylenie funkcji celu jest niewielkie. Zgodnie ze strategią doboru wag zakłada się ciągły wzrost współczynnika uczenia, jeśli w dwu kolejnych krokach znak gradientu jest taki sam, natomiast jego redukcję, gdy ten znak jest różny. 71
Porównanie efektywności algorytmów uczących Informacje podstawowe: Porównanie efektywności algorytmów uczących dokonuje się na podstawie określonych testów, stanowiących zwykle przyjęte standardy światowe. Do takich testów należą między innymi: problem logistyczny, problem parzystości, kodowania i dekodowania danych zero-jedynkowych, aproksymacji określonej postaci funkcji nieliniowej i wiele innych. Różne algorytmy uczące porównuje się między sobą pod względem liczby cykli uczących, liczby obliczeń funkcji celu, liczby mnożeń zmiennoprzecinkowych, wrażliwości na minima lokalne itp. 72
Porównanie efektywności algorytmów uczących Strategia wyboru kroku uczenia jest kluczowa dla efektywności algorytmu. Im lepsze przybliżenie wartości minimalnej funkcji celu w kierunku p, tym większy postęp uczenia w poszczególnych cyklach uczących i lepszy efekt uczenia. Z tego względu najlepsze wyniki gwarantuje metoda minimalizacji kierunkowej, zastosowana w każdym cyklu optymalizacyjnym do określenia właściwego kroku uczącego. Przy porównywaniu efektywności metod należy jednak uwzględnić wtedy dodatkowy nakład obliczeniowy, wymagany na etapie określania optymalnej wartości η. Nie jest możliwe jednoznaczne określenie, który algorytm jest bezwzględnie najlepszy. Otrzymane wyniki mogą się znacznie różnić między sobą, w zależności od typu zadania testowego, liczby danych uczących, wielkości sieci neuronowej, rodzaju użytej platformy obliczeniowej czy szczegółów rozwiązania poszczególnych etapów algorytmu. 73
Porównanie efektywności algorytmów uczących Algorytm Czas [s] Liczba cykli Liczba operacji x 106 Największego spadku z krokiem adaptacyjnym 57,71 980 2,50 Gradientów sprzężonych 19,16 89 0,75 Zmiennej metryki BFGS 10,86 44 1,02 LevenbergaMarquardta 1,87 6 0,46 RPROP 12,96 185 0,56 Tabela 1 - Porównanie efektywności algorytmów uczących (zestawienie danych, zaczerpnięte z toolboxu Neural Networks programu Matlab, uzyskane na komputerze Macintosh Powerbook 1400) 74
Porównanie efektywności algorytmów uczących Podsumowanie: Generalnie na podstawie wielu różnych badań testowych stwierdzono, że algorytmy newtonowskie, w tym metoda zmiennej metryki i Levenberga-Marquardta przewyższają pod względem efektywności zarówno metodę największego spadku, jak i metodę gradientów sprzężonych, ale ta zdecydowana przewaga zanika przy znacznym zwiększaniu rozmiarów sieci. Już przy 1000 wagach metoda gradientów sprzężonych zwykle dominuje nad pozostałymi. 75
Elementy optymalizacji globalnej Informacje podstawowe: W uczeniu sieci neuronowych sigmoidalnych, opierającym się na minimalizacji wartości funkcji celu, należy liczyć się z możliwości wystąpienia wielu minimów lokalnych nawet przy rozwiązywaniu stosunkowo prostych zadań technicznych. Wszystkie przedstawione wcześniej metody uczenia sieci są metodami lokalnymi, prowadzącymi do określonego minimum lokalnego funkcji celu, powiązanego z punktem startowym algorytmu. Tylko w przypadku znajomości minimum globalnego łatwo jest ocenić, czy osiągnięte minimum lokalne leży dostatecznie blisko rozwiązania idealnego. 76
Elementy optymalizacji globalnej Jeśli rozwiązanie lokalne jest niezadowalające, można powtórzyć proces uczenia przy innych wartościach startowych wag i innych parametrach procesu uczenia. Można przy tym pominąć osiągnięte rozwiązanie i rozpocząć proces uczenia od nowych, zwykle losowo wybranych wartości wag albo też dodać wartości losowe do aktualnie uzyskanych rozwiązań i kontynuować proces uczenia. Ostatnia technika (jog of weights) jest godna polecenia, gdyż stosując ją nie zatraca się uzyskanych już rezultatów uczenia. Dodanie losowych przyrostów wag odpowiada przemieszczeniu się rozwiązania z punktu minimum lokalnego do innego punktu obszaru funkcji celu. 77
Elementy optymalizacji globalnej Wobec losowych wartości tych przyrostów, nowy punkt daje pewne prawdopodobieństwo takiego przemieszczenia, które przy dalszym uczeniu wprowadzi nas w obszar leżący poza zasięgiem przyciągania poprzedniego minimum lokalnego. Przy rozwiązaniu rzeczywistych problemów technicznych nie można oczekiwać nawet przybliżonej znajomości minimum globalnego. Jeśli nie ma postępów w uczeniu, zachodzi potrzeba skorzystania z metod optymalizacji globalnej. Z wielu istniejących opracowań w tej dziedzinie przedstawione zostaną: Metoda symulowanego wyżarzania, Algorytmy genetyczne. 78
Algorytm symulowanego wyżarzania Charakterystyka ogólna: Metoda symulowanego wyżarzania opiera się na idei zaczerpniętej z mechaniki statycznej i nawiązuje do ciał fizycznych w procesie krzepnięcia z zastosowaniem wyżarzania przy temperaturze stopniowo zmniejszanej do zera. W procesie krzepnięcia rozżarzonego materiału, temperatura, jak wykazały badania, powinna być obniżana stopniowo, aż do wykrystalizowania się stanu stałego. Jeśli ochładzanie procesu jest zbyt szybkie, powstają znaczne nieregularności struktury, powodujące naprężenia wewnętrzne i sprawiające, że ogólny stan energetyczny ciała, odzwierciedlający naprężenia wewnętrzne, pozostaje na poziomie wyższym niż przy chłodzeniu powolnym. 79
Algorytm symulowanego wyżarzania Proces szybkiego ustalania się stanu termicznego materiału na poziomie wyższym niż normalny odpowiada utknięciu procesu optymalizacyjnego w minimum lokalnym. Energia stanu ciała reprezentuje funkcję celu, a absolutne minimum tej energii minimum globalne. W procesie powolnego wyżarzania, krystalizacji ciała towarzyszy globalne obniżanie energii, ale dopuszczalne są również stany, którym towarzyszy chwilowe jej podniesienie. Dzięki dopuszczeniu chwilowego wzrostu stanu energetycznego ciała możliwe jest opuszczenie pułapki minimum lokalnego, która może się pojawić w trakcie procesu. Dopiero obniżenie temperatury do zera absolutnego uniemożliwia jakiekolwiek podniesienie poziomu energetycznego. Możliwy jest wtedy tylko kierunek zmian energetycznych prowadzący do redukcji stanu energii ciała. 80
Algorytm symulowanego wyżarzania Typowy przebieg algorytmu symulowanego wyżarzania można przedstawić następująco: 2. 3. Dokonaj startu procesu z rozwiązania początkowego w przy założonej temperaturze początkowej T = Tmax Dopóki T > 0, wykonaj L razy następujące czynności: Wybierz nowe rozwiązanie w z sąsiedztwa w, Oblicz różnicę funkcji celu = E(w ) - E(w), Jeśli Ł 0, przyjmij w = w (obniżenie energii), W przeciwnym razie (gdy > 0) załóż, że w = w z prawdopodobieństwem exp(- /T), co oznacza generację liczby losowej R z zakresu (0,1) i porównanie jej z wartością exp(- /T); jeśli exp(- /T) > R, zaakceptuj nowe rozwiązanie przeciwnym wypadku nie. 81 w = w, w
Algorytm symulowanego wyżarzania 1. 2. Zredukuj temperaturę (T rt), przy współczynniku redukcji r dobieranym z zakresu (0,1) i wróć do punktu 2. Po zredukowaniu temperatury do wartości zerowej prowadź uczenie jedną z dowolnych, omówionych wcześniej metod deterministycznych, aż do uzyskania minimum funkcji celu. W algorytmie używa się oryginalnej nazwy temperatura do określenia parametru wpływającego na prawdopodobieństwo akceptacji wzrostu wartości funkcji celu, aczkolwiek z fizycznego punktu widzenia proces optymalizacji jest tylko analogią matematyczną do procesu do procesu krzepnięcia z wyżarzaniem. 82
Algorytm symulowanego wyżarzania Podsumowanie: Algorytm symulowanego wyżarzania wydaje się być koncepcyjnie bardzo prosty i logicznie uzasadniony. W rzeczywistości pozostaje do rozwiązania wiele problemów fundamentalnych, które decydują o jego przydatności praktycznej: problem czasu symulacji, wybór parametrów związanych z temperaturą startu Tmax, współczynnikiem r redukcji temperatury, liczbę cykli L przeprowadzanych na danym poziomie temperatury. 83
Algorytm symulowanego wyżarzania Metoda symulowanego wyżarzania jest szczególnie dobrze przystosowana do rozwiązywania wielomodalnych problemów kombinatorycznych o bardzo dużej liczbie rozwiązań, np. w maszynie Boltzmanna, w których stan systemu odpowiada jednemu rozwiązaniu. W typowych problemach uczenia sieci wielowarstwowej generalnie lepsze rezultaty uzyskuje się przy zastosowaniu stochastycznie sterowanej metody multistartu i algorytmów deterministycznych przedstawionych wcześniej. 84
Elementy algorytmów genetycznych Charakterystyka ogólna: Algorytmy te wzorują się na zasadach dziedziczenia cech w organizmach żywych i generują ciąg nowych wektorów w, zawierających zmienne optymalizowane w = [w1, w2,, wn]t, opierając się na trzech podstawowych operacjach: Selekcji, Krzyżowaniu, Mutacji. Kodowanie poszczególnych elementów wektora w może odbywać się w systemie binarnym bądź przy zastosowaniu naturalnej reprezentacji zmiennoprzecinkowej. 85
Elementy algorytmów genetycznych Ciąg operacji genetycznych (selekcja, krzyżowanie i mutacja) ma za zadanie taki dobór poszczególnych zmiennych wi wektora w, aby zmaksymalizować wartość tzw. funkcji przystosowania. Funkcję przystosowania F(w) definiuje się przy wykorzystaniu funkcji celu E(w) jako jej odwrotność (funkcja celu podlega minimalizacji, a funkcja przystosowania maksymalizacji). W fazie startowej algorytmu genetycznego inicjowana jest pewna populacja chromosomów (wektorów w). Tworzy się ją w sposób losowy, choć stosuję się również rozwiązania samonaprowadzające (jeśli można je określić wstępnie). Wielkość populacji jest uzależniona od liczby parametrów optymalizowanych i jest generalnie proporcjonalna do niej. Na podstawie wartości funkcji przystosowania chromosomy są wybierane (selekcjonowane) do tworzenia kolejnej generacji. 86
Elementy algorytmów genetycznych Selekcja chromosomów do parowania (tworzenia nowej generacji) może odbywać się według różnych zasad. Jedną z ogólnie stosowanych jest zasada elitarności, która automatycznie zachowuje kilka najlepiej przystosowanych chromosomów, a odrzuca najgorsze, zastępując je nowo utworzonym potomstwem, będącym skrzyżowaniem pary rodziców. Na etapie parowania chromosomów poszukuje się par rodziców, które dadzą potomstwo, dołączane następnie do populacji w ramach selekcji. Istnieje ogromna liczba metod parowania, od całkowicie losowego (zwykle spośród chromosomów najlepiej przystosowanych) przez parowanie wagowolosowe aż po system turniejowy. 87
Elementy algorytmów genetycznych W systemie turniejowym losuje się kilka chromosomów i wybiera z nich najlepiej przystosowane. Zwycięzcy kolejnych losowań tworzą pary do krzyżowania. W systemie wagowo-losowym włącza się do losowania informację o aktualnej wartości funkcji przystosowania. Losowanie odbywać się może na zasadzie koła fortuny, przy czym powierzchnia fragmentu koła odpowiadającego danemu chromosomowi jest proporcjonalna do jego względnej funkcji przystosowania. 88
Elementy algorytmów genetycznych Rys. 10 Schemat koła fortuny użytego do wyboru rodziców dla przyszłej generacji. 89
Elementy algorytmów genetycznych Proces krzyżowania polega na przecięciu pary chromosomów na dwie części i wymienieniu się odpowiednimi częściami w chromosomach rodziców (stosuje się również rozcięcia w kilku jednakowych miejscach rodziców, a następnie komplementarne odcinki zapisu zostają między nimi wymienione). Miejsce przecięcia podlega również losowaniu. Liczba nowych potomków jest równa liczbie odrzuconych w stadium selekcji. Zwykle dopuszcza się również transfer niektórych losowo wybranych chromosomów z populacji z pominięciem krzyżowania. 90
Elementy algorytmów genetycznych Ostatnią operacją genetyczną jest mutacja, czyli zamiana stanów pojedynczych bitów (przy kodowaniu binarnym) na przeciwny. W przypadku naturalnego kodowania dziesiętnego mutacja polega na zastąpieniu wylosowanego elementu wektora wartością losową. Mutacja zabezpiecza algorytm przed przedwczesnym zakończeniem (wyrównanie się wartości wszystkich chromosomów i funkcji celu), jak również przed wystąpieniem na danej pozycji we wszystkich chromosomach tej samej wartości. Należy jednak pamiętać, że mutacja niszczy w sposób losowy wektory już częściowo przystosowane. Musi być zatem stosowana z umiarem. 91
Elementy algorytmów genetycznych Podsumowanie: Ostateczne rozwiązanie przyjmuje się w postaci odpowiadającej chromosomowi o największym przystosowaniu. Zakończenie procesu genetycznego następuje z chwilą bądź to wygenerowania satysfakcjonującego nas rozwiązania, bądź z chwilą przekroczenia maksymalnej liczby generacji. Dobre wyniki uczenia uzyskuje się przy połączeniu algorytmów optymalizacji globalnej z algorytmami deterministycznymi. W pierwszym etapie uczenia sieci stosuje się wybrany algorytm optymalizacji globalnej, a po osiągnięciu określonego poziomu wartości funkcji celu przełącza się proces na optymalizację deterministyczną, stosując jeden z algorytmów lokalnych (algorytm największego spadku, zmiennej metryki itp.) 92
Metoda inicjacji wag Informacje podstawowe: Uczenie sieci neuronowych, nawet przy zastosowaniu najefektywniejszych algorytmów uczących, jest procesem trudnym i nie zawsze prowadzącym do właściwych wyników. Problemem są nieliniowości wprowadzane przez funkcje aktywacji, będące głównym powodem wytworzenia szeregu minimów lokalnych, w których może zatrzymać się proces uczenia. Wprawdzie zastosowanie odpowiedniej strategii postępowania (np. symulowane wyżarzanie, metoda multistartu, algorytmy genetyczne) zmniejszają prawdopodobieństwo zatrzymania procesu w minimum lokalnym, ale konsekwencją tego jest duży nakład pracy i znaczne wydłużenie czasu uczenia. 93
Metoda inicjacji wag Na wyniki uczenia ogromny wpływ ma dobór wstępnych wartości wag sieci. Pożądany byłby start z wartości wag zbliżonych do optymalnych. Unika się w ten sposób nie tylko zatrzymania się w niewłaściwym minimum lokalnym, ale jednocześnie znacznie przyspiesza proces uczenia. Niestety, w ogólnym przypadku nie istnieją metody doboru wag, zapewniające właściwy punkt startowy niezależnie od rodzaju zadani. Stąd w większości zastosowań używa się nadal głównie losowego doboru wag, przyjmując rozkład równomierny w określonym przedziale liczbowym. 94
Metoda inicjacji wag Zły dobór wartości losowych wag może prowadzić do zjawiska przedwczesnego nasycenia neuronów, w wyniku którego mimo upływu czasu błąd średniokwadratowy pozostaje prawie stały w procesie uczenia. Tego typu zjawisko nie oznacza minimum lokalnego, ale raczej stały punkt siodłowy funkcji celu. Jest on zwykle wynikiem zbyt dużych wartości startowych wag. Przy określonych sygnałach uczących, w węzłach sumacyjnych neuronów generowane są sygnały: ui wij x j j o wartościach odpowiadających głębokiemu nasyceniu funkcji sigmoidalnej aktywacji, przy czym polaryzacja nasycenia jest odwrotna od pożądanej. 95
Metoda inicjacji wag W punkcie nasycenia sygnał zwrotny generowany w metodzie propagacji wstecznej, jako proporcjonalny do pochodnej funkcji aktywacji f jest bliski zeru i zmiany x wartości wyprowadzające neuron ze stanu nasycenia są bardzo powolne. Proces uczenia utyka na długo w punkcie siodłowym. Należy zauważyć, że tylko część neuronów może być w stanie nasycenia, pozostałe znajdują się w zakresie liniowym i dla nich sygnał zwrotny uczący przyjmie normalną postać. Oznacza to, że wagi związane z tymi neuronami zmieniają się w sposób normalny i w ich przypadku proces uczenia prowadzi do szybkiej redukcji błędu. 96
Metoda inicjacji wag W efekcie neuron pozostający w nasyceniu nie bierze udziału w odwzorowaniu danych, zmniejszając w ten sposób efektywną liczbę neuronów sieci. W wyniku tego następuje ogromne spowalnianie procesu uczenia, powodujące, że stan nasycenia pewnych neuronów może trwać prawie nieprzerwanie aż do wyczerpania czasu iteracji. 97
Metoda inicjacji wag Podsumowanie: Inicjacja losowa, jako jedyna uniwersalna metoda przypisania wartości wstępnych wagom sieci, musi zapewnić na wstępie taki punkt pracy neuronów, który daleki jest od nasycenia. Osiąga się to przez ograniczenie zakresu wartości krańcowych w losowaniu. Oszacowania dolnego i górnego zakresu tego przedziału, proponowane przez różnych badaczy na podstawie wielu przeprowadzonych eksperymentów numerycznych, różnią się w szczegółach rozwiązania, ale prawie zawsze znajdują się w przedziale [0,1]. 98