Sieci neuronowe: Rys historyczny Sieci neuronowe i algorytmy ewolucyjne 2. Sieci wielowarstwowe PERCEPTRON Jerzy KORCZAK email :jerzy.korczak@ue.wroc.pl http://www.korczakleliwa.pl http://citilab.pl http://kti.ue.wroc.pl Model neuronu [McCulloch, Pitts, 943] Proces uczenia [Hebb, 949] PERCEPTRON [Rosenblatt,958] Zbieznosc algorytmu ucenia (adaptacji wag) Ograniczenia PERCEPTRONu [Minsky, Papert, 969] Problem Maszyna Bolzmanna [Hopfield, 982] Retropropagacja MLP [Rumelhart, Parker, Le Cun, 985] SelfAdapting Maps [Kohonen, 98] Sieci Hopfielda [Hopfield, 982] ICANN, IJCNN, ECANN, 2 Inspiracja biologiczna Model komórki Purkinje (Schutter 25) mozg : ~ neuronów neuron : ~ 4 połączeń Model zawiera m.in. 32 rownan rozniczkowych! 82 modele kanalow jonowych 92 parametrow opis morfologii jadro soma akson synapsa dendryt 3 4 Neuron Siec neuronowa: Wstępna definicja Sygnal aktywności (ang.spike) Siec neuronowa jest zestawem polaczonych ze soba prostych jednostek obliczeniowych, zwanych neuronami, o wysokim stopniu wzajemnych polaczen, skalarnych komunikatach i adaptacyjnym mechanizmie interakcji miedzy neuronami. action potential Wagi wzajmenych połaczen obliczane sa w trakcie procesu adaptacji, uczenia sie z przedstawionych danych. mm neurones 3 km fil µm Typy algorytmow uczacych: uczenie pod nadzorem (z nauczycielem) uczenie bez nadzoru 5 6
Podstwowy element sieci neuronowej: neuron Funkcja aktywacji (trnasferu): funkcja sigmoidalna X X 2 w w2 F Funkcja aktywacji Σ O ϕ(z) = / ( + e c z ) Funkcja logistyczna.2.8 c =.5 c =. c = 2. X 3 wi Σ F O 2.6.4 Wejścia wk Wejscie neuronu Σx i *w ij Σ O 3 Wyjścia.2.2 5 5 7 8 Funkcja aktywacji (transferu): funkcja tangh ϕ(z) = (e c z e c z ) / (e c z + e c z ) Architektury sieci Podstawowe klasy sieci: tangens hyperbolicus.5 c =,5 c =. c = 2. Jednowrastwowa, jednokierunkowa (feedforward) Wielowarstwowa (multilayer), bez cykli Rekurencyjna Architektura i algorytm uczący.5 5 5 Sieć jednowarstwowa Multilayer feedforward 342 Network Neurony warstwy wejścia Neurony warstwy wyjścia Input layer Output layer Hidden Layer 2
Sieć rekurencyjna Sieć rekurencyjna z ukrytym neuronem i z umożliwiającym modelowanie systemów dynamicznych Wejście i wagi połączeń WEJSCIE WAGI z z z Wyjście Ukryty Wyjście Neuron wejściowy może reprezentować wartości zmiennej (przekszałcone lub nie) Liczba wejść i ich wartości zależą od dziedziny zastosowań. Wagi połączeń miedzy neuronami wejścia a sumatorem. Na początku procesu wartości wag są losowe Bias jest neuronem reprezentującym stałą. 4 WE x = + x x 2 Bias: dodatkowa zmienna na wejściu Bias może być modelowany jako dodatkowy neuron. m w.. v w = j = = b w Zmienna lokalna v w 2 ϕ( ) Sumator w jx j Funkcja aktywacji WY y Funkcje aktywacji Hardlimiter Piecewise linear Sigmoid Hyperbolic tangent if v φ ( v) = if v < if v 2 φ ( v) = v if 2 v 2 if v 2 ϕ ϕ ( v) = tanh ( v) φ ( v) = + exp( av) x m w m Wagi synaptyczne Perceptron wielowarstwowy (MLP) MultiLayer Perceptron (MLP) MLP składa się z sukcesywnych warstw : warstwy wejściowej (prezentacja wektora wejsciowego), jednej lub kilku warstw ukrytych, oraz warstwy wyjściowej (prezentujacej wartości obliczone przez sieć). Algorytmy uczace MLP : Gradient Backpropagation, SuperSAB Cascade Correlation Conjugate Gradient Metody drugiego rzędu, Warstwa wejsciowa Wartswa ukryta Warstwa wyjsciowa MLP są uniwersalnymi aproksymatorami. 7 8 3
MLP: Algorytm uczący Metoda spadku gradientu (Gradient Backpropagation) Inicjalizacja wag Repeat for kazdego przykladu naucz sie wzorca Obliczenia w przód (propagacja) Obliczenia wstecz (retropropagacja) end for Dopoki błąd nie jest akceptowanie mały Slabości : Określenie parametrów procesu uczenia Długi proces uczenia Problem wyboru topologii sieci x x 2 x 3... x n w o ij o 2 o 3 Vecteur yi= Σ w d entrée ij x i Funkcja sigmoidalna F(y)=/(+e ky)... o m t t 2 t 3 t m... E=/2 Σ(t k o k ) 2 F (y) = F(y)(F(y)) 9 2 Problem : określenie wyjścia neuronu w warstwie ukrytej Problem : określenie wyjścia neuronu w warstwie ukrytej xi Wejscia oi wij tj: wyjscie dep/dwij = (dep/dσj)(dσj/dwij) =(dep/dσj) yi podstawiając δj= (dep/dσj), d où wij(t+) = wij(t) λ(t) δj yi oi oj wjk xi σi σj σk f f f wij wejscie tj Metoda obliczeń : ) Funkcja kosztu : E(t)=Σp(optp) 2 2) Gradient : w(t+) = w(t) λ(t) gradw (Ep(t)) 3) Liczenie dep/dwij zatem δj= (dep/dσj)= Σk(dEp/dσk) (dσk/dσj)= Σk δk (dσk/dσj)= = Σk δk wjk (dyk/dσj) gdzie δj = 2(oj tj) f (σj) dla neronów w warstwie WY δj = (Σk wij δk) f (σj) dla neuronów ukrytych 2 22 OCR: Rozpoznawanie znaków Axone : Przykład [http://citilab.pl] 23 J.Korczak, ULP 24 4
Axone : Siec nauczona Proces uczenia: Problem modyfikacji wag i narzedzia Batch: Przedstawienie wszystkich przykładow przed modyfikacją wag Online: Modyfikacja wag po każdym przykładzie Adaptacja stała i zmienna Problem zbieżności Narzedzia i systemy neuronowe: Matlab, Axone, SNNS 25 J.Korczak, ULP 26 Przyklad : Gradient BackPropagation (GBP) Przyklad: Gradient BackPropagation (GBP) Proces uczenia sieci X Y (X,Y) W ij = f(net k )=/(+e net k) net j =Σw ij o i o j =f(net j ) X,5 δ k =(t k o k )f (net k ) f (net k )=o k (o k ) w jk (t+)=w jk (t)+λ k o j,5 Y X Y (X,Y) h =f (net j ) Σ k w kj =,5*(,5)*,25*,625=,95 w hx =+,*,95*=,95 z,5 λ=, z =(.5)*,5*(.5)= W ij = =,25 w zx (t+)=+,*,25*= =,25,5 h x y J.Korczak, ULP 27 28 Proces uczenia: wagi i wspolczynnik uczenia Przyklad: Nauczona siec MLP w ij (t+)= w ij( (t) + λ a j * w i w zx =,25 λ iteracja w zy =, 25496 w zh =,625,5 372 w hx =,95 3, 39 w hy = 4, (fails) w zbh =,95 f(net) =,573 X Y (X,Y) 2,76 3,29,9 7, 7, X Y 29 3 5
Przyklad: Testowanie sieci Uczenie, walidacja i testowanie X Y * 7, * 2,76 * 7, Σxw = 4,34 2,76 3,29 X 7,,9,9,98 7, Y Y=/(+e Σxw ) =/(+e 4,34 ) =,98 Plik uczący (training set) : zbiór przykładów do nauczenia sieci Plik walidacji (validation set) : zbiór przyładów do poprawienia parametrów i architektury sieci. Plik testujący (test set) : zbiór danych do określenia jakości sieci. Metody estymacji błędu generalizacji: Kfold cross validation: walidacja krzyżowa, uczenie sieci kkrotnie na k podzbiorach, zostawiając jeden do testowania. Leaveoneout przypad szczególny crossvalidation Bootstrapping: zamiast powtarzania analizy podzbiorów danych, powtarzamy proces na podzbiorach losowo wybranych danych ( ze zwracaniem) z całego pliku danych. 3 32 Przyklad: Testowanie sieci Axone : Przykład [http://citilab.pl] X Y,8,9,, 3,29,9,9,98 2,76 7, 7, X Y J.Korczak, ULP 33 J.Korczak, ULP 34 Axone: Przyklad parametry uczenia Axone : Example 35 6
Axone : Example Optymalizacja topologii sieci Podejście tryanderror Podejścia inkrementalne: dodawanie neuronów i połączeń CascadeCorrelation [Fahlman, Lebiere, 99] Upstart [Frean, 99] Tiling [Mézard, Nadal, 989] Podejscia redukujące: wycinanie połączeń i neuronów w trakcie procesu uczenia [Weight Elimination, Weigend,99] po procesie uczenia [OBD, Brain Surgeon, Le Cun, 99] Podejście ewolucyjne: genetic connectionism AGWin, Axone [Korczak, 998] Cechy dobrych dziedzin zastosowań: Problemy trudne do zdefiniowania explicite Dostepność do dużych baz danych Zakłócenia w danych Problemy wymagające szybkich obliczeń Brak rozwiązań algorytmicznych Autoryzacja dostępu podejście biometryczne Proces weryfikacji osoby na podstawie jej cech fizycznych (np. tęczówka oka, linie papilarne, kształt dłoni, kształt ucha, zapach, DNA, itp.. Klient czy oszust? 39 Biometryczna autentyfikacja Face Module: Feature Extraction Face Détection des yeux Normalisation Apprentissage et + Codage Reconnaissance Moment Decision Vert Filtre Trouver Trouver ConvolutionI de base Y X nondation + Bleu Hue Saturation Intensité Extraction Réseau des neurones w Raw Feature Normalised Feature Identyfikator Voice Transformation de l ondelette Baza danych Normalisation Apprentissage et + Codage Reconnaissance w2 Akceptuj Odrzuć Video Acquisition Face Detection Face Feature Localization Feature Extraction Feature Normalisation Effacer les silences Fréquence C C C 2 C 3 C 4 C 5 C 6 C 7 C 9 C C C 2 C 3 C 4 Temps C 5 Réseau des neurones 7
Voice Module: Feature Extraction Zastosowania w zarządzaniu Klasyfikacja, analiza klientow Przewidywanie (rynku akcji, bankructwa, sprzedaży) Zarządzanie ryzykiem Uproszczenie danych, walidacja danych, kompresja Autoryzacja dostępu Ocena kredytobiorcy (Credit Scoring) Wavelet Transform Truncate Normalise Sample Merge Nowe zastosowania Wyszukiwanie informacji (Web) Data Mining Multimedia (indeksacja obrazów) 44 BourseExperts: Online Trading Notowania (dzienne, godzinne, min, online), Ceny otwarcia, zamknięcia, max, min, wolumin transakcji, indeks Stopa zwrotu Reguły decyzyjne: Short and Longterm Moving Averages Peugeot Rule: The crossovers are the points of decisions Buy : when STMA moves above LTMA (cross the time series à la hausse) Sell : when STMA moves below LTMA (the time series à la baisse) 45 46 Ekspertyza giełdowa Pożądane wyjście: p = f(return rate) Decyzja z sieci: y Błąd : (p y) 2 Backpropagation learning ϕ(x) = / ( + exp( B x)) Testowanie Po nauczeniu na danych z okresu uczącego, generowanie decyzji na danych testowych ( następny dzień lub minuta) Porównanie ekspertyzy z danymi rzeczywistymi Powtórzenie testu na różnych okresach 8
Wyniki Interval: day (. 5 ) Interval: minute (. ) # Experiments Learn Period Test Period Accepted 5 7 8 (Optical) Character Recognition # Experiments Learn Period Test Period Accepted 5 6 7 Robocup: FourLegged League Literatura Bishop C.M., Neural Networks for Pattern Recognition, Oxford Univ., 995. Gupta J., Smith K., Neural Network in Business: Techniques and Applications, Idea GR. Pub., 22. Haykin S., Neural Networks: A Comprehensive Foundation, Prentice, 999. Rojas R., Neural Networks: A Systematic Introduction, Springer, 996. Kohonen T., SelfOrganizing Maps, Springer, 997. Masters T., Practical Neural Network Recipes in C++, Academic Press, 994. Miniprojekt. Problem rozpoznawania przez sieć prostych symboli graficznych zapisanych w postaci matrycy 3 x 3. WEJŚCIE WYJŚCIE 53 9