410 likes | 557 Views
Ontogeniczne sieci neuronowe. Łukasz Ryniewicz. Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06. Typy topologii sieci neuronowych. Jednokierunkowe Jedna warstwa ukryta Wiele warstw ukrytych Rekurencyjne Hybrydowe. Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06.
E N D
Ontogeniczne sieci neuronowe Łukasz Ryniewicz Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Typy topologii sieci neuronowych • Jednokierunkowe • Jedna warstwa ukryta • Wiele warstw ukrytych • Rekurencyjne • Hybrydowe Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Cele w projektowaniu sieci • Stworzenie sieci mającej optymalne właściwości, przeszkody: • Zbyt duża ilość neuronów/wag – przeuczenie • Generalizacja jak najlepszej jakości • Dobieranie parametrów tak by skutecznie walczyć z osiąganiem lokalnych minimów • Odpowiednie przechodzenie między przestrzeniami parametrów adaptacyjnych • Wykorzystywanie wiedzy a priori w najefektywniejszy sposób Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Modele modyfikujące swoją strukturę • Rozbudowujące (wagi, neurony) • Redukujące (również grupowanie) • Kooperujące • Genetycznie Modele ontogeniczne – czy i kiedy dokonywać zmian w strukturze, miejsce i rodzaj zmiany Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Modele zmniejszające strukturę • Na podstawie danych i aktualnego stanu modyfikacja struktury poprzez usuwanie elementów • Wyznaczanie współczynnika istotności E(bez i-tego neuronu) – E(z i-tym neuronem) • Minus – bardzo duże nakłady obliczeniowe Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Regularyzacja • rozpad wag (ang. Weight decay) do miary standardowej błędu modelu dodajemy czynnik regularyzacyjny • Ustalając pewien próg , możemy dokonać usunięcia elementów, których wartości wag są mniejsze od progu po zakończeniu lub przerwaniu procesu uczenia. Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Propozycja Weigend’a • Poprzednie podejście powoduje powstanie wielu małych wag • Eliminacja wag stosując czynnik regylaryzacyjny: • Wo – ustalone. Współczynnik rzędu jedności odpowiada wartością aktywacji podobnego rzędu. Taki człon regularyzacyjny pozwala, aby istniała pewna liczba wag (większych od w0) przyjmujących duże optymalne wartości. Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Adaptacja λ w procesie uczenia • Przeprowadzana raz na epokę • E(n) – błąd n-tej epoki uczenia dla całego zbioru treningowego • D – błąd docelowy dla całego procesu uczenia Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Lokalna regresja grzbietowa • Uzyskujemy lokalną adaptacje gładkości w zależności od lokalnej części przestrzeni (każda funkcja jest kontrolowana niezależnie) • Do wyznaczenia parametrów metoda poprzez kroswalidacje(ang. cross-validation) Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Metoda miękkiego współdzielenia wag • Nie wymusza by wagi danej grupy były sobie równe lecz dopuszcza pewien rozrzut • Człon taki umożliwia usuwanie połączeń • Rozrzut podlega adaptacji dzięki czemu możliwe jest łączenie grup wag Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Usuwanie wag Metody: • Optimal Brain Damage (OBD) • Optimal Brain Sugeron (OBS) Czasem w uzyskaniu małego błędu potrzebne są małe wagi Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
OBD – propozycja Le Cun’a • Analiza różnicy funkcji błędu jaki powstaje w wyniku zaburzeń wektora wag W rozwinięciu w szereg Taylora: W minimum funkcji pierwszy i trzeci człon można pominąć, istotna jest tylko przekątna macierzy Hesjanu Współczynnik istotności: Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Etapy algorytmu OBD • Wstępny wybór architektury • Uczenie sieci do etapu w którym zmiany funkcji błędu nie są istotne • Wyznaczenie si • Usunięcie wag dla których si małe • Jeśli jakaś waga była usunięta powrót do 2. Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
OBS – Hassibi • Minimalizujemy wyrażenie: • Rozwiązując za pomocą mnożników Lagrange’a: • Otrzymujemy współczynniki istotności: iq jest wektorem składającym sie z zer i jedynki na q-tej pozycji w to poprawki dla wag, jakie należy nanieść po usunięciu wagi wq Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Uczenie jak w OBD • Zależności funkcji błędu poszczególnych algorytmów: Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Podejście statystyczne • Idea opiera się na kumulowaniu różnic wag podczas uczenia w ramach jednej epoki ΔWij zmiana i-tej wagi pod wpływem j –tego wzorca • Si jest duży gdy waga jest duża a przeciętne różnice zmian tej wagi są małe • W.p.p. waga jest nieistotna Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Modele o strukturze rozrastającej się • Dodawanie warstw ukrytych o mniejszej ilości neuronów • Każda warstwa spełnia warunek: aby dwa wzorce uczące, należące do różnych klas, nie mogą być odwzorowane na taki sam wzorzec aktywacji danej warstwy. • Uczenie przy pomocy algorytmu kieszonkowego – wykorzystując wektory nie spełniające warunku Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Algorytm upstart • Dokłada neurony pomiędzy już istniejące a wejścia sieci • Algorytm startuje ucząc jeden neuron algorytmem kieszonkowym • Gdy są nadal błędy dokładane są dwa potomne neurony pomiędzy popełniający błędy a jego wejścia • Wagi dobiera się tak by pierwszy odpowiadał wzorcom niesklasyfikowanym przez ojca niepoprawnie, a drugi sklasyfikowanym ale blednie • Zamraża się wagi dochodzące do ojca i teruje potomne • Zamraża się potomne i jeśli klasyfikacja nie jest satysfakcjonująca dokładany jest kolejny neuron Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Algorytm korelacji kaskadowej • Sieć zaczyna z jedną warstwą wag pomiędzy wejściem i wyjściem • Uczymy po czym dokładamy neuron warstwy ukrytej • Powtarzamy aż do uzyskania odp błędu • Na wejściu dodawanych neuronów składa się wszystkie wejścia poprzednich neuronów Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Miernik korelacji • Maksymalizacja umożliwia ustalenie najlepszych wag nowego neuronu: • n – liczba wzorców ukrytych • p – liczba wyjść sieci • oj – wartość aktywacji neuronu • o – średnia aktywacji dodawanego neuronu • eji – błąd i-tego wyjścia dla j-tego wzorca uczącego • ei – średni błąd i-tego wyjścia Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Miernik korelacji zi = ±1 (korelacja pomiędzy neuronem i-tym wyjścia jest dodatnia lub ujemna) g’j – pochodna funkcji transferu neuronu dodawanego dla j-tego wektora uczącego Ijk – wartość k-tego wejścia dodawanego neuronu dla j-tego wzorca uczącego Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
System IncNet – Duch, Jankowski • Elastyczny model uczenia, zdolny do autokontroli złożoności architektury • Uczenie - wykorzystywanie aktywnego filtru Kalamana do adaptacji swobodnych parametrów sieci • Kontrola złożoności sieci (rozbudowujących/kurczących) • Elastyczne funkcje transferu – użycie bicentralnych funkcji umożliwia znacznie efektywniejszą estymacje Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Funkcje bicentralne • Powstałe z produktu par funkcji sigmoidalnch: Funkcje w tej postaci umożliwiają rotacje granic decyzji w wielowymiarowej przestrzeni, czy wykorzystywanie semi-lokalnych granic Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Struktura sieci IncNet Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Definicja błędu P(n-1) – rozklad prawdopodobieństwa ostatnich n-1 obserwacji • Minimializacja funkcji przy użyciu filtru Kalamana Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Filtr Kalamana • Estymator trzech wyjść dla danej operacji co do której zakłada się że jest obarczona pewnym szumem o zerowej wartości oczekiwanej z niezerowym odchyleniem standardowym Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Opis działania Filtr prowadzi estymacje parametrów a-posteriori modelu p(n) w oparciu o ich poprzedni stan a-priori p(n-1) i błąd: I wartości wektora Kalamana które sa pochodną macierzy kowariancji błędu a-priori p(n-1) Całkowita wariancja modelu (Rn – wariancja szumu pomiarów) Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Opis działania Estymacja a-priori macierzy kowariancji błędu: I – macierz jednostkowa Qo(n)I – drobny losowy skok w kierunku gradientu zapobiega zbyt szybkiej zbieżności. Czasem dzięki temu uciekamy z minimów lokalnych Qo(n) – bardzo mały skalar lub funkcja monotonicznie malejąca o b. małych wartościach Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Kryterium wystarczalności modelu • Hipoteza Ho że model jest wystarczający: • Gdy hipoteza nie spełniona dodajemy kolejną funkcje bazową do warstwy ukrytej Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Całkowita wariancja modelu Oraz z wcześniejszego Otrzymujemy ostateczną definicje wystarczalności modelu: Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Hipoteza Ho • Spełniona => sieć IncNet kontynuuje proces adaptacji parametrów używając filtru Kalamana • Nie spełniona => dodanie funkcji bazowej G(M+1) z wartościami początkowymi: Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Usuwanie neuronów Zakładamy że wszystkie funkcje transferu neuronów są podobne (zlokalizowane i wypukłe) Faworyzuje to silne wagi których tendencje zmian wartości są małe (tzn nauczone) usuwamy: Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Ale czy należy w ogóle usuwać neuron w k-tej iteracji? Najczęściej nieistotne neurony występują w modelach niestabilnych a wartościowe w stabilnych, nauczonych sieciach: Jeśli spełnione => usuwamy neuron Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Łącznie neuronów • Połączenie neuronu i-tego z j-tym dając nowy neuron new Zakładamy że funkcje transferu – zlokalizowane, ciągłe i spełniają: d – podprzestrzeń aktywności funkcji transferuΦi(x) i Φj(x) Przeskalowane przez wagi wyjściowe α - błąd dopuszczalny uzależniony linowo od szumu pomiarów Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Uproszczenie • Funkcje bicentryczne są separowalne wymiarowo, można więc uprościć kryterium do postaci: • Może zostać uproszczone do wyznaczenia ważonego błędu średniokwadratowego w oparciu o zbiór punktów o gausowskim rozkładzie rozmieszczonych na obszarze aktywności neuronów i oraz j: Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Parametry nowej funkcji bicentralnej Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Kiedy sprawdzać kryterium? • Co epokę dla każdego neuronu i i neuronu: • Łącząc neurony wybierając neurony: Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Wykorzystanie w klasyfikacji • Klastr niezależnych sieci IncNet. Zadaniem jest wyspecjalizowanie się w rozpoznawaniu jednej klasy. W tym celu zbiór par uczących: • Produkujemy k zbiorów po 1 do każdej klasy Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Schemat klastru Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Renormalizacja • Prowadzi to do aproksymacji prawdopodobieństwa przynależności x do i-tej klasy Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06
Literatura • [1] N. Jankowski, W. Duch Ontogeniczne sieci neuronowe • [2] Y. Le Cun, J. Denker, S. Solla. Optimal brain damage. D. S. Touretzky, redaktor, Advances in Neural Information rocessing Systems 2, San Mateo, CA, 1990. Morgan Kauman. • [3] B. Hassibi, D. G. Stork, G. J. Wol. Optimal brain surgeon and general network pruning. Raport techniczny CRC-TR-9235, RICOH California Research Center, Menlo Park, CA, 1992. • [4] B. Hassibi, D. G. Stork. Second order derivatives for network pruning: Optimal brain surgeon. Advances in Neural Information Processing Systems 5. Morgan Kaufmann, 1993. • [5] S. Osowski Sieci neuronowe w ujęciu algorytmicznym, WNT, 1997 • [6] N. Jankowski. Ontogeniczne sieci neuronowe w zastosowaniu do klasyfikacji danych medycznych. Praca doktorska, Katedra Metod Komputerowych, Uniwersytet Mikołaja Kopernika, Torun, Polska, 1999. • [7] V. Kadirkamanathan. A statistical inference based growth criterion for the RBF networks. Proceedings of the IEEE. Workshop on Neural Networks for Signal Processing, 1994. Łukasz Ryniewicz – Ontogeniczne sieci neuronowe - 5.04.06