Dobór optymalnej architektury

Slides:



Advertisements
Podobne prezentacje
o radialnych funkcjach bazowych
Advertisements

Joanna Sawicka Wydział Nauk Ekonomicznych, Uniwersytet Warszawski
Metody badania stabilności Lapunowa
Obserwowalność System ciągły System dyskretny
IV Tutorial z Metod Obliczeniowych
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
STATYSTYKA WYKŁAD 03 dr Marek Siłuszyk.
Metody rozwiązywania układów równań liniowych
Inteligencja Obliczeniowa Otwieranie czarnej skrzynki.
Katedra Informatyki Stosowanej UMK
Inteligencja Obliczeniowa Sieci o zmiennej strukturze.
Inteligencja Obliczeniowa Perceptrony
Badania operacyjne. Wykład 1
Wykład no 11.
Teoretyczne podstawy informatyki
o radialnych funkcjach bazowych
Dobór optymalnej architektury
Sztuczne sieci neuronowe
Sprzężenie zwrotne Patryk Sobczyk.
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Sieci Hopfielda.
Sieci neuronowe jednokierunkowe wielowarstwowe
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 6/7: Analiza statystyczna wyników symulacyjnych  Dr inż. Halina Tarasiuk
Matematyka.
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Hipotezy statystyczne
O relacjach i algorytmach
Systemy wspomagania decyzji
Podstawy układów logicznych
Sztuczne Sieci Neuronowe
Metody Lapunowa badania stabilności
Elementy Rachunku Prawdopodobieństwa i Statystyki
Rozkłady wywodzące się z rozkładu normalnego standardowego
Wykład 25 Regulatory dyskretne
BADANIE STATYSTYCZNE Badanie statystyczne to proces pozyskiwania danych na temat rozkładu cechy statystycznej w populacji. Badanie może mieć charakter:
Podstawy analizy matematycznej II
Obserwatory zredukowane
formalnie: Uczenie nienadzorowane
Wspomaganie decyzji nie zwalnia od decyzji...
Elementy Rachunku Prawdopodobieństwa i Statystyki
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zakładamy a priori istnienie rozwiązania α układu równań.
Systemy wspomagania decyzji
Częstotliwość próbkowania, aliasing
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Podstawy analizy matematycznej I
II. Matematyczne podstawy MK
Sterowanie – metody alokacji biegunów II
Źródła błędów w obliczeniach numerycznych
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Seminarium licencjackie Beata Kapuścińska
Co to jest dystrybuanta?
Wnioskowanie statystyczne
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Przeprowadzenie badań niewyczerpujących, (częściowych – prowadzonych na podstawie próby losowej), nie daje podstaw do formułowania stanowczych stwierdzeń.
Fundamentals of Data Analysis Lecture 12 Approximation, interpolation and extrapolation.
STATYSTYKA – kurs podstawowy wykład 8 dr Dorota Węziak-Białowolska Instytut Statystyki i Demografii.
Systemy neuronowo – rozmyte
Jednorównaniowy model regresji liniowej
Sterowanie procesami ciągłymi
Zapis prezentacji:

Dobór optymalnej architektury Teoretyczne Podstawy Informatyki - Rok I - kierunek IS w IFAiIS UJ - 2005/2006 Sieci Neuronowe Wykład 8 Dobór optymalnej architektury i danych uczących część I wykład przygotowany na podstawie. S. Osowski, “Sieci Neuronowe w ujęciu algorytmicznym ”, Rozdz. 3, PWNT, Warszawa 1996. Elzbieta Richter-Was

Dobór optymalnej architektury Przystępując do rozwiązywania problemu przy wykorzystaniu sieci neuronowej wielowarstwowej należy, oprócz dobrania danych uczących zaprojektować strukturę sieci, dopasowana do danego zagadnienia. Oznacza to wybór liczby warstw sieci i neuronów w warstwie oraz powiązań miedzy warstwami. Dobór liczby neuronów w warstwie wejściowej jest uwarunkowany wymiarem wektora danych x. Podobnie jak w warstwie wyjściowej, w której liczba neuronów równa się wymiarowi wektora zadanego d. Problemem pozostaje dobór warstw ukrytych i liczby neuronów w każdej warstwie.

Dobór optymalnej architektury Dobór liczby neuronów w warstwach ukrytych formalnie można zdefiniować jako problem matematyczny aproksymacji funkcją wielu zmiennych. Sieć neuronowa pełni funkcje układu aproksymującego dane uczące (x,d). W trakcie uczenia dobierane są współczynniki funkcji (wektory wag poszczególnych neuronów). Na etapie odtwarzania, przy ustalonych wartościach wag, następuje zwykle obliczenie wartości funkcji aproksymującej przy danym wektorze wejściowym.

Dobór optymalnej architektury Określenie minimalnej liczby warstw ukrytych opiera się na właściwościach funkcji aproksymujących. Każda funkcja zadana g(x) może być wyrażona jako liniowa kombinacja lokalnych impulsów, które maja wartość różną od zera jedynie w małym otoczeniu aktualnej wartości x. Funkcja impulsowa określonego kształtu może być wygenerowana jako superpozycja dwóch funkcji przesuniętych względem siebie. Dwie identyczne sigmoidy S1 i S2 przesunięte względem siebie tworzą w wyniku odcięcia impuls w taki sposób, aby pojawiał się w zadanym miejscu, miał odpowiednia szerokość i stromość narastania. Do realizacji tego typu kształtowania impulsów należy zastosować sieć neuronową dwuwarstwową, w której neurony wyjściowe mogą być liniowe.

Dobór optymalnej architektury W przypadku sieci dwuwejściowej można w identyczny sposób ukształtować impuls na płaszczyźnie. Różnica dwóch funkcji sigmoidalnych zdefiniowanych jako funkcja dwu zmiennych i przesuniętych względem siebie tworzy grzbiet o nieskończonej długości trwania. Dodając następna parę funkcji sigmoidalnych przesuniętych względem poprzedniej i tworząc ich różnicę można otrzymać drugi grzbiet o nieskończonej długości. Dobierając parametry obu funkcji sigmoidalnych w taki sposób aby grzbiety tworzyły ze sobą pewien kat, można otrzymać w wyniku zsumowania obu grzbietów kształt dwuwymiarowego garbu. W miejscu przecięcia obu grzbietów powstaje dwuwymiarowy kształt impulsu zakończony z 4 stron odejściami ciągnącymi się do nieskończoności których usunięcie jest możliwe przez zastosowanie sigmoidalnej funkcji aktywacji neuronu z odpowiednio dobranym progiem.

Dobór optymalnej architektury Siec neuronowa o dwu wejściach, powstała w ten sposób, zawiera warstwę ukrytą, złożoną z 4 neuronów, oraz warstwę wyjściową, zawierającą 1 neuron typu sigmoidalnego, realizujący równocześnie etap dodawania sygnałów wszystkich 4 neuronów oraz odcinania odejść przez zastosowanie funkcji aktywacji z odpowiednim progiem.

Twierdzenie Kolmogorowa Uogólnienie na wypadek wielowymiarowy jest znany w teorii sieci neuronowych pod nazwa twierdzenia Kolmogorowa. Ograniczając się do funkcji ciągłej przekształcającej N-wymiarowy zbiór danych wejściowych x w M-wymiarowy wektor wyjściowy d, udowodniono, w sensie istnienia rozwiązania, że aproksymacja tego typu jest możliwa przy użyciu sieci o jednej warstwie ukrytej. Przy N wejściach wystarczy użycie (2 N + 1) neuronów w warstwie ukrytej. W dowodzie twierdzenia przyprowadzonym przez Kolmogorowa, dotyczącego ogólnej teorii aproksymacji, przyjęto że sygnały wyjściowe poszczególnych warstw opisane są zależnościami: zk =  Aj  (xj +bj) + B0k dla neuronów warstwy ukrytej przy k=1,2,.......,2N+1, oraz yi =  Ck g (zk +dk) + D0i dla neuronów warstwy wyjściowej. N j=1 N j=1

Twierdzenie Kolmogorowa RYSUNEK Postać sieci neuronowej odpowiadającej twierdzeniu Kolmogorowa.

Twierdzenie Kolmogorowa Wynik uzyskany dzięki teorii Kolmogorowa jest wyjątkowo ważny, gdyż dowodzi istnienia rozwiązania problemu aproksymacji funkcji wielu zmiennych przez superpozycje wielu funkcji jednej zmiennej i daje podstawy określenia architektury sieci neuronowej. Samo proste zastosowanie twierdzenia Kolmogorowa nie prowadzi jednak do optymalnych rozwiązań. Zarówno liczba warstw jak i neuronów w warstwie w rozwiązaniach uznawanych za optymalne mogą znacznie różnić się od wyniku uzyskanego dzięki teorii Kolmogorowa. Przyjęcie różnych funkcji bazowych ma wpływ zarówno na algorytm doboru współczynników liczbowych założonych w aproksymacji, jak i na sama liczbę składników sumy.

Zdolności uogólniania sieci wielowarstwowej Przy poszukiwaniu optymalnej architektury sieci wielowarstwowej jednym z najważniejszych zagadnień jest problem zdolności uogólniania sieci. Proces uczenia polegający na minimalizacji funkcji celu E(W) dotyczy zbioru uczącego L, dla którego E(W) = EL(W) =  E(yk(W), dk) przy czym p jest liczbą par uczących (xk, dk), yk – wektorem odpowiedzi sieci na wymuszenie w postaci xk. Minimalizacja tej funkcji zapewnia dobre dopasowanie odpowiedzi sieci do wartości zadanych, ale dla zbioru uczącego. Rzeczywistym celem uczenia jest taki dobór architektury i parametrów sieci, który zapewni minimum błędu dla zbioru testującego, a więc zminimalizuje błąd tzw. uogólniania (generalizacji). p k=1

Zdolności uogólniania sieci neuronowej Podstawową cechą sieci neuronowej jest jej zdolność do uogólniania, a więc generowania właściwego rozwiązania dla danych, które nie pojawiły się w zestawie danych uczących. Sieć zostaje poddana uczeniu na zbiorze L z bieżącym sprawdzeniem stopnia uczenia na zbiorze V. Zdolność odtworzenia zbioru L przez sieć jest miarą zdolności zapamiętania danych uczących, natomiast zdolność do generowania właściwych rozwiązań dla danych należących do zbioru T, na których sieć nigdy nie była trenowana, jest miarą zdolności uogólniania. Zakłada się że dane tworzące zarówno zbiór L jak i zbiór T są typowymi reprezentantami zbioru danych. R T L V R – zbiór danych wejściowych T - zbiór testujący (testing) L - zbiór uczący (learning) V - zbiór danych sprawdzających (validation)

Zdolności uogólniania sieci neuronowej Ilościowa miara uogólniania jest pojęciem trudnym do zdefiniowania i jest oparta na zależnościach statystycznych odnoszących się do zbiorów. Podstawową wielkością jest tu miara Vapkina-Chervonenkisa, zwana w skrócie VCdim. Miara VCdim systemu została zdefiniowana jako liczebność największego zbioru S danych wzorców, dla których system może zrealizować wszystkie możliwe 2n dychotomii zbioru S (podział zbioru na dwie części przy pomocy lini). Na przykład VCdim dla neuronu o dwóch wejściach wynosi n=3. Można wykazać, że zbiór złożony z trzech danych uczących jest największym zbiorem, w którym można przeprowadzić podział na dwie liniowo separowalne grupy na 23 sposobów.

Zdolności uogólniania sieci neuronowej Zwiększenie o jeden rozmiaru próbek uczących powoduje, że 2 neurony nie są w stanie zrealizować wszystkich 24 podziałów liniowo separowanych. W ogólności dla neuronu o N wejściach (wektor x N-elementowy) miara VCdim wynosi N+1. Innymi słowy, miara VCdim dla sieci rozwiązującej problem klasyfikacji binarnej oznacza maksymalna liczbę danych uczących, które mogą zostać bezbłędnie odtworzone we wszystkich możliwych konfiguracjach. Niech vL(W) oznacza błąd uczenia sieci, czyli częstotliwość wystąpienia błędu klasyfikacji podczas procesu uczenia, a P(W) – średnie prawdopodobieństwo wystąpienia błędnej klasyfikacji podczas uczenia. Oznaczając przez e wartość dopuszczalnego błędu wykazano, że Prob{|P(W) –vL(W)| > e}  0 jeśli liczba próbek uczących p  , przy czym Prob{} oznacza prawdopodobieństwo zdarzenia.

Zdolności uogólniania sieci neuronowej Niech  oznacza prawdopodobieństwo zdarzenia sup |P(W) – vL(W) | >  prawdopodobieństwo to zostało oszacowane w postaci  = (2pe/h)h exp(- e2p) przy czym e jest liczba Eulera, p-liczba próbek uczących, a h aktualna wartością VCdim. Oznaczając przez e0 wartość e spełniającą relacje przy przy zadanej wartości  otrzymuje się e0 = sqrt{ h/p [ ln(h/2p) + 1] – 1/p ln() } Wartość e reprezentuje przedział ufności. Przedział ten jest funkcją aktualnej miary VCdim, liczby próbek uczących p oraz wartości  i nie zależy od błędu uczenia sieci vL(W). Miara ta obowiązuje tylko w przypadku dopuszczenia dużych wartości P(W). W

Zdolności uogólniania sieci neuronowej Przy wymaganiu małych wartości P(W) zmodyfikowana definicja przedziału ufności ( oznaczona przez 1 ) zależy również od błędu uczenia vL(W) i przybiera postać. 1 = 02 ( 1 + sqrt{1 + vL(W)/02} ) Na podstawie zdefiniowanych przedziałów ufności można stwierdzić, że w ogólności, przy małym poziomie błędu uczącego vL(W), średnie prawdopodobieństwo wystąpienia błędu klasyfikacji spełnia nierówność P(W) < vL(W) + 1 Przy bardzo dużych błędach uczenia vL(W), dokładniejszą estymatę średniego prawdopodobieństwa wystąpienia błędu klasyfikacji określa relacja P(W) < vL(W) + 0

Zdolności uogólniania sieci neuronowej Podobnie jak błąd uczenia, definiuje się błąd uogólniania vg(W) jako częstotliwość wystąpienia błędu podczas testowania zbioru na danych testujących. Przy liczbie próbek uczących p > h (h – aktualna wartość VCdim sieci poddanej uczeniu) z prawdpodobienstwem (1- ) błąd uogólnienia jest mniejszy niż vgm(W), vg(W)  vgm(W), przy czym vgm(W) = vL(W) + 1 Przy stałej liczbie próbek p i wzrastającej wartości miary VCdim błąd uczenia vL(W) maleje monotonicznie, a przedział ufności 1 rośnie. W efekcie maksymalny błąd uogólniania osiąga minimum. Zakres VCdim < hopt odpowiada nadmiarowości danych bieżących względem aktualnej wartości VCdim. Zakres VCdim > hopt odpowiada zbyt malej liczbie danych uczących przy aktualnej wartości VCdim. RYSUNEK

Zdolności uogólniania sieci neuronowej W przypadku ustalonej wartości VCdim błąd uogólniania zależy w istotnym stopniu od liczby próbek uczących. Dla zapewnienia odpowiednio małej wartości tego błędu liczba próbek musi spełniać odpowiednie proporcje względem VCdim. Dla każdego rodzaju sieci jest to oddzielny problem. Szczególnie jaskrawo występuje on w przypadku sieci wielowarstwowej, gdzie liczba wag jest zwykle bardzo duża w stosunku do liczby neuronów. Trudność: oszacowanie wartości VCdim dla dowolnej sieci. W praktyce, dla uzyskania dobrych zdolności uogólniania sieci należy ograniczać liczbę neuronów ukrytych oraz powiązań miedzy neuronowych, jak również stosować takie metody wstępnego przetwarzania danych, które umożliwiają zmniejszenie wymiarowości wektora wejściowego sieci. Każdy z tych czynników, pośrednio lub bezpośrednio, wpływa na zmniejszenie efektywnej liczby wag sieci neuronowej.

Zdolności uogólniania sieci neuronowej Wpływ sposobu i czasu uczenia na zdolności uogólniania W ogólnym przypadku wraz z upływem czasu uczenia błąd uczenia vL(W) maleje i błąd testowania vV(W) również (przy ustalonej wartości liczby próbek uczących p oraz miary VCdim). Od pewnego momentu błąd testowania pozostaje stały, natomiast błąd uczenia nadal maleje. W ostatnich fazach procesu uczenia nieregularności w danych odbiegające od cech charakterystycznych danego procesu zaczynają odgrywać role i powodują wzrost błędu testowania. RYSUNEK Tendencje te (przeuczenie) jest tym silniejsze im większe nadmiarowości wag występuje w sieci. Te “niepotrzebne” wagi dopasowywują się do nieregularności danych uczących, traktując je jako cechę główną. Ważne jest aby kontrolować proces uczenia przez przeplatanie go z procesem testowania, jak daleko jest zaawansowany proces uczenia.

Zdolności uogólniania sieci neuronowej Błąd uogólniania może być oszacowany na podstawie błędu uczenia vL(W) oraz tzw. przedziału ufności 1 vG(W)  vL(W) + 1 (p/h, vL) Mała liczba próbek uczących przy ustalonej wartości h oznacza bardzo dobre dopasowanie sieci do próbek uczących ale złe uogólnienie bo w procesie uczenia nastąpił nadmiar parametrów dobieranych. Zadanie aproksymacji zostało niejako sprowadzone do zagadnienia interpolacji. p-ilosc probek, K – liczba neuronow w warstwie ukrytej RYSUNEK p=40, K=20 p=40, K=5 p=40, K=2 Rosądnym rozwiązaniem jest wówczas redukcja stopnia złożoności sieci prowadzaca do zmniejszenia miary VCdim.

Zdolności uogólniania sieci neuronowej Nie istnieje prosty związek miedzy architekturą sieci wielowarstwowej a miarą VCdim. Można podać oszacowanie w postaci 2 int(K/2) N  VCdim  2 Nw (1 + log Nn) gdzie N – wymiar wektora wejściowego, K- liczba neuronów w warstwie ukrytej, Nw - całkowita liczba wag w sieci, Nn – całkowita liczba neuronów w sieci. Dolna granica przedziału jest w przybliżeniu równa liczbie wag łączących warstwę wejściową z warstwą ukrytą, górna granica natomiast jest większa niż dwukrotna liczba wszystkich wag w sieci. Na ogół przyjmuje się oszacowanie, że VCdim  Nw. Dla sieci o sigmoidalnych ciągłych funkcjach aktywacji przyjmuje się VCdim  2 Nw. Szacunkowe przyjęcie VCdim umożliwia ocenę minimalnego wymiaru zbioru uczącego p. Dobre zdolności uogólniania występują jeżeli p  10 VCdim.

Zdolności uogólniania sieci neuronowej Sam proces uczenia powinien być powiązany ze sprawdzaniem zdolności do uogólniania, a więc powinien zawierać “fazę uczącą” i “fazę sprawdzającą”. Proces uczenia kontynuuje się do chwili uzyskania minimum funkcji celu lub dopóki błąd testowania nie zacznie wzrastać (wskazując na przeuczenie). Dobór liczby neuronów w warstwie (warstwach) ukrytych jest kluczowym zagadnieniem, decydującym o właściwościach uogólniających sieci. Są możliwe dwa kierunki działań:  Zakłada się wstępną liczbę neuronów ukrytych, opartą bądź na teorii Kolmogorowa, bądź na dotychczasowych doświadczeniach, a następnie przeprowadza się redukcję w trakcie uczenia sieci.  Stratuje się z minimalną liczbę neuronów ukrytych i stopniowo następuje proces ich dodawania aż do uzyskania dobrego stopnia wytrenowania na zbiorze uczącym. Proces dodawania jest zazwyczaj połączony ze sprawdzaniem zdolności do uogólniania sieci na podzbiorze V.

Metody redukcji sieci Zadaniem redukcji sieci jest zmniejszanie liczby neuronów ukrytych oraz powiązań miedzy neuronowych. Uzyskuje się w ten sposób poprawę zdolności uogólniania. RYSUNEK siec 50-10-1 siec 2-2-1 Wektor wejsciowy (x1, x2). Siec 50-10-1, 671 wag, 31 danych. Zbyt mala ilosc danych uczacych. W procesie uczenia wiekszosc wag dobrana dowolnie, przypadkowe dopasowanie do nieistotnych szczegolow.

Metody redukcji sieci Podstawę redukcji sieci (pruning) stanowią algorytmy podejmujące decyzje co do obcięcia wagi lub redukcji neuronów w trakcie procesu uczenia. Większość stosowanych obecnie algorytmów może być zakwalifikowana do dwóch grup:  Szacuje się wrażliwość funkcji względem wagi lub neuronu. Wagi o najmniejszej wrażliwości, wpływając najmniej na funkcje celu, są usuwane, a proces uczenia kontynuowany na tak zredukowanej sieci.  Modyfikuje się funkcję celu wprowadzając kary za nieefektywną strukturę. Najczęściej do definicji funkcji celu wprowadza się składniki faworyzujące małe amplitudy wag, zmuszając algorytm uczący w trakcie uczenia do ich ciągłej redukcji. Metoda ta jest mniej efektywna niż pierwsza, bo małe wartości wag niekoniecznie muszą oznaczać mały ich wpływ na działanie sieci.

Metody wrażliwosciowe redukcji Parametrem, na podstawie którego podejmuje się decyzje co do eliminacji wagi (redukcji złożoności sieci) jest wrażliwość funkcji celu na dane połączenie synaptyczne. Do określenia wrażliwości neuronu wprowadzamy współczynnik i dla każdej wagi. Wyjściowy sygnał –tego neuronu określa się na podstawie zmodyfikowanej zależności yi = f (  Wij j yj ) w której Wij jest waga od j-tego do i-tego neuronu, yj oraz yj oznaczają sygnały wyjściowe odpowiednich neuronów a f() oznacza funkcje aktywacji. Przy wartości i = 0 nie ma połączenia Wij , przy j = 1 występuje stan normalny pracy sieci. j

Metody wrażliwosciowe redukcji Ważność połączenia synaptycznego opisanego waga Wij , jest oceniana na podstawie wrażliwości bezwzględnej funkcji celu E względem współczynnika j. rj = -  E /  j dla wartości j = 1. Jest to równoznaczne wyznaczeniu składnika gradientu funkcji celu względem wagi Wij, określanym zwykłą metodą propagacji wstecznej. Waga Wij, jest obcinana jeżeli wartość rj zmniejszy się poniżej określonego progu. j

Metody wrażliwosciowe redukcji Zwykle, dla zapewnienia stabilności procesu wartość współczynnika rj w k-tym cyklu oblicza się w postaci skumulowanej, korzystając ze wzoru rj (k) = 0.8 rj (k - 1) + 0.2  E /  j Inna metoda redukcji wrażliwości, przyjmuje miarę półwzględną współczynnika wrażliwości Sij, zdefiniowana w postaci Sij = - (E(Wf) – E(0) ) / ( Wij,f – Wij,0 ) Wij,f gdzie Wf oznacza wektor końcowy wag sieci (po zakończeniu procesu uczenia), Wij,0 jej zerowa wartość po usunięciu z sieci, E(Wf) jest oznaczeniem wartości funkcji celu po zakończeniu procesu uczenia, a E(0) wartością funkcji celu po zakończeniu procesu uczenia i usunięciu wagi Wij.

Metody wrażliwosciowe redukcji Zamiast dodatkowych obliczeń wymaganych do wyznaczenia funkcji wrażliwości Sij, stosuje się jej aproksymacje, uwzględniającą wszystkie zmiany wagi w procesie uczenia. Przybliżona wartość Sij jest określana ze wzoru Sij  -  E/ Wij Wij (k) /( Wij,f – Wij,0 ) Po przeprowadzeniu procesu uczenia sieci każda waga Wij ma określoną skumulowana wartość wrażliwości Sij. Połączenia synaptyczne o najmniejszych wartościach Sij są usuwane, a siec po redukcji podlega powtórnemu douczeniu. W obu przedstawionych metodach jest możliwe usunięcie neuronu z warstwy, jeśli wszystkie wagi dochodzące lub odchodzące od niego zastaną wyeliminowane. nc k=1

Metoda ODB (Optimal Brain Damage) Punktem wyjścia jest rozwiniecie funkcji celu w szereg Taylora w otoczeniu aktualnego rozwiązania.  E =  gi Wi + ½ [  hii [ Wii ]2 +  hij Wi Wj ] + O(|| W ||2) w którym Wi oznacza perturbacje wagi i-tej, gi – i ty wskaźnik wektora gradientu względem tej wagi, gi = E/ Wi , hij= 2E/ Wi Wj. Ponieważ obcinanie wag dotyczy sieci już wytrenowanej, składowe gradientu są bliskie zeru (wytrenowanie oznacza ze minimum funkcji celu zostało osiągnięte) i mogą zostać pominięte w rozwinięciu. Ostatni składnik również może zostać pominięty. Otrzymujemy więc przybliżony wzór  E  ½ [  hii [ Wii ]2 +  hij Wi Wj ] ij ij

Metoda ODB (Optimal Brain Damage) Dla uproszczenia przyjmuje się że tylko diagonalne elementy hii są istotne. Miarą ważności danego połączenia synaptycznego pozostaje współczynnik Sij = ½ 2E/ W2ij W2ij. Obcięciu podlegają wagi o najmniejszej wartości tego współczynnika. ij

Procedura ODB Procedurę ODB redukcji sieci można przedstawić następująco. 1. Selekcja wstępna struktury sieci neuronowej (wstępny wybór liczby neuronów w poszczególnych warstwach). 2. Przeprowadzenie programu uczenia tak dobranej sieci przy zastosowaniu dowolnej metody gradientowej uczenia 3. Określenie elementów diagonalnych hkk =  2E/ W2ij odpowiadających każdej wadze Wij sieci (sumowanie po wszystkich połączeniach synaptycznych którym przypisana jest waga Wij, “shared weight”) 4. Obliczenie parametru Sij = ½ hkk Wij określającego znaczenie danego połączenia synaptycznego dla działania sieci. 5. Posortowanie wag wg. przypisanych im parametrów Sij i obcięcie tych których wartości są najmniejsze. 6. Kilkakrotne powtórzenie procedury 2-5. Metoda ODB uważana jest za jedną z najlepszych metod redukcji sieci spośród metod wrażliwosciowych.

dla danych testujacych Procedura ODB Przykład zastosowania procedury ODB dla sieci rozpoznającej ręcznie pisane kody pocztowe. Sieć miała 105 połączeń synaptycznych, którym zostało przypisane 2578 różnych wag (część wag była wspólna). RYSUNEK dla danych uczacych dla danych testujacych bez douczenia po obcieciu wag blad douczenie po obcieciu wag

Procedura ODB Przy zastosowaniu metody ODB uzyskuje się bardzo dobre własności uogólniające sieci, niewiele odbiegające od błędu uczenia. Szczególnie dobre wyniki uzyskuje się dzięki powtórzeniu douczenia sieci po obcięciu najmniej znaczących wag. Ulepszeniem metody ODB jest opracowana 3-lata pozniej metoda OBS ( Optimal Brain Surgeon ). Punktem wyjscia jest rozwiniecie w szereg Taylora (podobnie jak w metodzie ODB) . Podstawowa roznica metody OBS w stosunku do ODB jest inna definicja wspolczynnika asymetrii (ktory sluzy do podjecia decyzji o eleminacji danego polaczenia synaptycznego) oraz korekta wag sieci po wyeliminowaniu wagi o najmniejszym znaczeniu. Osiagniete uprzednio minimum zostaje zachowane. Metoda ta ma znacznie wieksza zlozonosc obliczeniowa.

kontynuacja na nastepnym wykladzie