SZTUCZN INTELIGENCJ W FINNSCH III. Sieci neuronowe Jerzy KORCZK email : jerzy.korczak@ue.wroc.pl http://www.korczak-leliwa.pl Sieci neuronowe: Rys historyczny Model neuronu [McCulloch, Pitts, 943] Proces uczenia [Hebb, 949] PERCEPTRON [Rosenblatt,958] Zbieznosc algorytmu ucenia (adaptacji wag) Ograniczenia PERCEPTRONu [Minsky, Papert, 969] Problem Maszyna olzmanna [Hopfield, 982] Retro-propagacja - MLP [Rumelhart, Parker, Le Cun, 985] Self-dapting Maps [Kohonen, 98] Sieci Hopfielda [Hopfield, 982] ICNN, IJCNN, ECNN, 2 Pojęcie sieci neuronowej systems that are deliberately constructed to make use of some of the organizational principles that are felt to be used in the human brain. nderson... a neural network is a system composed of many simple processing elements operating in parallel whose function is determined by network structure, connection strengths, and the processing performed at computing elements or nodes. DRP Neural Network Study (988) Definicje (cd). neural network is an interconnected assembly of simple processing elements, nodes, whose functionality is loosely based on the animal neuron. The processing ability of the network is stored in the inter-unit connection strengths, or weights, obtained by a process of adaptation to, or learning from, a set of training patterns. Gurney Sieć neuronowa (sztuczna sieć neuronowa) to ogólna nazwa struktur matematycznych i ich programowych lub sprzętowych modeli, realizujących obliczenia lub przetwarzanie sygnałów poprzez rzędy elementów, zwanych sztucznymi neuronami. 3 4 Korzenie prac badawczych Inspiracja biologiczna Neurobiologia (ponad lat temu): Jak zachowują się komórki nerwowe przy różnych stymulacjach elektrycznych? Czy istnieje poziom minimalny aktywacji neuronu? iorąc pod uwagę fakt że komórka ma ograniczone wymiary, jak komórki komunikują się ze sobą? mozg : ~ neuronow neuron : ~ 4 polaczen Psychologia: Jak uczą się (zapominają, rozpoznają, funkcjonują) zwierzęta wykonywania określonych zadań? jadro soma dendryt akson synapsa adania nad funkcjonowaniem neuronu (ów)? McCulloch and Pitts model matematyczny neuronu 6
Sieć neuronowa: Wstępna definicja Siec neuronowa jest zestawem połączonych ze sobą prostych jednostek obliczeniowych, zwanych neuronami, o wysokim stopniu wzajemnych połączen, skalarnych komunikatach i adaptacyjnym mechanizmie interakcji miedzy neuronami. Wagi wzajmenych połączen obliczane są w trakcie procesu adaptacji, uczenia się z przedstawionych danych. Typy algorytmów uczacych: - uczenie pod nadzorem (z nauczycielem) - uczenie bez nadzoru Historia Model neuronu [McCulloch, Pitts, 943] Proces uczenia [Hebb, 949] PERCEPTRON [Rosenblatt,958] zbieżność algorytmu adaptacji wag Ograniczenia PERCEPTRONu błędne stwierdzenie Minsky iego Paperta, [969] Problem olzmann Machine [Hopfield, 982] ack propagation - MLP [Rumelhart, Parker, Le Cun, 985] Self-dapting Maps [Kohonen, 98] sieci Hopfielda [Hopfield, 982] ICNN, IJCNN, ECNN, 7 Perceptron Przykłady problemów liniowo nieseperowalnych Rosenblatt (962) Liniowa separowalność Wejście: Wektor liczb rzecz. Wyjście : or - y sign(v) c v c c 2 x c x 2 y cx c2x2 c y cx c2x2 Structure Single-Layer Two-Layer Three-Layer Types of Decision Regions Half Plane ounded y Hyperplane Convex Open Or Closed Regions bitrary (Complexity Limited by No. of Nodes) Neural Networks n Introduction Dr. ndrew Hunter Exclusive-OR Problem Classes with Most General Meshed regions Region Shapes Kilka uwag o sieciach neuronowych () D.Hebb, in 949, published The Organization of ehavior, in which he proposed that the effectiveness of a synapse between two neurons might be increased by correlated activity of those two neurons used widely in artificial neural models today there is also evidence of a biological mechanism in which neural activity modulates calcium ion flow, which, in turn, affects the physical structure of synapses Farley and Clark, in 954 on an early digital computer at MIT, modeled a network of randomly connected neurons employing a modified Hebb learning rule that was able to learn to discriminate between two input patterns Kilka uwag o sieciach neuronowych (2) F.Rosenblatt, in 958, introduced the single-layer perceptron with adjustable synaptic weights and a threshold output neuron Rosenblatt conceptualized perceptrons as consisting of three layers, for sensory, association, and response, but the weights only varied on the synapses leading to the single threshold neuron He also introduced an error-correction rule (the perceptron learning rule) to adapt the weights and proved that if two input classes were linearly separable the algorithm would converge to a solution (the perceptron convergence algorithm) 2
Kilka uwag o sieciach neuronowych (3) P.Werbos, in his 974 PhD thesis, first demonstrated a method for training multi-layer perceptrons, essentially identical to ackprop but the work was largely ignored T.Kohonen [982] introduced SOM algorithms for Self- Organized Maps, that continue to be explored and extended today D.Parker [982] published an algorithm similar to ackprop, which was ignored. Y. LeCun [985] published an algorithm similar to ackprop, which was again ignored Kilka uwag o sieciach neuronowych(4) D.ckley, G.Hinton, and T.Sejnowski [985] introduced the oltzmann machine (the first successful realization of a multilayered neural network) D.Rumelhart, G.Hinton, and C.Williams [986] introduced ackprop, the first widely recognized learning algorithm for multilayer perceptrons or neural networks T. Sejnowski and C. Rosenberg [986] introduced NETtalk, a text-to-speech neural network system trained using ackprop. 3 4 Sieci neuronowe: cel i projektowanie Wiedza o zadaniu do nauczenia podana jest w postaci zbioru przykładów, zwanym zbiorem uczącym (training examples). Specyfikacja sieci neuronowej określa: architekturę: zbiór neuronów i połączeń międy nimi. Każde połaczenie ma określona wagę (weight), model neuronu: informacja o procesie obliczeniowym w neuronie, algorytm uczacy (learning algorithm): stosowany do nauczenia sieci (poprzez modyfikacje wag połączeń). Cel: generalizacja przykładów tak aby sieć poprawnie rozpoznawała (rozwiązywała, klasyfikowała ) nowe przykłady. Rozpoznawania pisma ręcznego Prosty model Dwuwarstwowa sieć Górna warstwa znane wzorce. Dolna warstwa intensywność piksela Jeśli zapis przechodzi przez piksel, piksel uaktywnia połączenie. Każdy piksel może uaktywniać kilka różnych wzorców. Wzorzec wygrywający ten który otrzyma najwięcej zgłoszeń. 2 3 4 5 6 7 8 9 Trudność w zdefiniowaniu wzorca cyfry 2 2 3 4 5 6 7 8 9 Obraz cyfry Działanie: -Powiększ wagi do właściwej klasy - Zmniejsz wagi do wszystkich uaktywnionych klas 3
Podstwowy element sieci neuronowej: neuron Perceptron wielowarstwowy (MLP) X w F Funkcja aktywacji S X 2 w2 O X 3 wi S F O 2 Wejścia wk Wejście neuronu Sx i *w ij S O 3 Wyjścia Warstwa wejsciowa Wartswa ukryta Warstwa wyjsciowa 9 2 Metoda spadku gradientu (Gradient ackpropagation) OCR: Rozpoznawanie znakow x w ij o t - x 2 o 2 t 2 - x 3... x n Vecteur yi= S w d entrée ij x i Funkcja sigmoidalna F(y)=/(e -ky) o 3... o m t 3 - - - t m... E=/2 S(t k - o k ) 2 F (y) = F(y)(-F(y)) 22 23 xone : Przykład Zastosowania Cechy dobrych dziedzin zastosowań: Problemy trudne do zdefiniowania explicite Dostepnosc do dużych baz danych Zaklocenia w danych Problemy wymagające szybkich obliczeń rak rozwiązań algorytmicznych 24 25 4
Zastosowania w zarządzaniu Klasyfikacja, analiza klientów Przewidywanie (rynku akcji, bankructwa firmy) Zarządzanie ryzykiem Uproszczenie danych, walidacja danych, kompresja Rozpoznawanie obrazów, biometria Ocena kredytobiorcy (Credit Scoring) Nowe zastosowania Wyszukiwanie informacji (Web) Data Mining Multimedia (indeksacja) Multi-Layer Perceptron (MLP) MLP sklada sie z sukcesywnych warstw : warstwy wejsciowej (prezentacja wektora wejsciowego), jednej lub kilku warstw ukrytych, oraz warstwy wyjsciowej (prezentujacej wartosci obliczone przez siec). lgorytmy uczace MLP : - Gradient ack-propagation, SuperS - Cascade Correlation - Conjugate Gradient - Metody drugiego rzedu, MLP sa uniwersalnymi aproksymatorami. 26 27 MLP: lgorytm uczacy Przykład : Gradient ack-propagation (GP) Inicjalizacja wag Repeat for kazdego przykladu naucz sie wzorca Obliczenia w przod (propagacja) Obliczenia wstecz (retro-propagacja) end for Dopoki blad nie jest akceptowanie niski Slabosci : Okreslenie parametrow procesu uczenia Dlugi proces uczenia Problem wyboru topologii sieci X Y (X,Y) f(net k )=/(e -net k) net j =Sw ij o i o j =f(net j ) W ij= X,5,5 d k =(t k -o k )f (net k ) f (net k )=o k (-o k ) w jk (t)=w jk (t)ld k o j Y 28 29 Przykład: Gradient ack-propagation (GP) Proces uczenia sieci Proces uczenia: wagi i współczynnik uczenia X Y (X,Y) D h =f (net j ) SD k w kj =,5*(-,5)*,25*,625=,95 w hx=,*,95*=,95 z,5 l, D z =(-.5)*,5*(-.5)= W ij= =,25 w zx (t)=,*,25*= =,25,5 h x y w ij (t)= w ij( (t) l *a j *Dw i w zx =,25 l iteracja w zy =, 25496 w zh =,625,5 372 w hx =,95 3, 39 w hy = 4, (fails) w zbh =,95 f(net) =,573 3 3 5
Przykład: Nauczona sieć MLP Przykład: Testowanie sieci X Y (X,Y) -3,29,9 X Y -3,29,9,9,98 Y=/(e- Sxw ) =/(e -4,34 ) =,98-2,76 X 7, 7, Y * 7, * -2,76 * 7, Sxw = 4,34-2,76 X 7, 7, Y 32 33 Przyklad: Testowanie sieci X Y,8,9,, -3,29,9,9,98-2,76 7, 7, X Y 34 35 xone: Przykład parametry uczenia xone : Sieć nauczona 36 37 6
Fréquence -5 5 5 2 25 2 3 4 verage Intensity of each row s Grey Scale -5 5 5 2 25 2 3 4 5 Intensity Intensity utoryzacja 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, DN, itp.. Klient czy oszust? utentyfikacja biometryczna Twarz Normalisation pprentissage et Détection des yeux Codage Reconnaissance Filtre Trouver Trouver Inondation de base Y X Convolution Moment Vert leu Hue Saturation IntenJezeli Réseau des té Extraction neurones w Decyzja adge Glos aza danych Normalisation pprentissage et Transformation de l ondelite Codage Reconnaissance w2 Przyjac Odrzucic Effacer les Jezelilences C C C2 C3 C4 C5 C6 C7 C9 C C C2 Temps C3 C4 C5 Réseau des neurones 39 Face Module: Ekstrakcja cech charakterystycznych Video cquisition Face Detection Face Feature Localization Feature Extraction Raw Feature Feature Normalisation Normalised Feature lvinn Camera image 3 outputs for steering 4 hidden units 3x32 pixels as inputs utonomous driving at 7 mph on a public highway 3x32 weights into one out of four hidden unit 4 Interpretacja obrazów satelitarnych Jeśli Mini-projekt. Zadanie. Problem rozpoznawania przez sieć prostych symboli graficznych zapisanych w postaci matrycy 3*3. WEJSCIE WYJSCIE to 42 43 7
ourse-experts: Online Trading - Notowania (dzienne, godzinne, min, on-line), - Ceny otwarcia, zamkniecia, max, min, wolumin transakcji, indeks - Stopa zwrotu Samoorganizacja Uczenie bez nadzoru: wykrywanie cech w sygnale, modelowanie danych, analiza skupień, modele rozkładu prawd. stanów środowiska... Powstawanie wewnętrznych reprezentacji w mózgu: skomplikowane. Proste bodźce wyzwalające u zwierząt, uboga reprezentacja. naliza danych zmysłowych i instrukcje motoryczne - neurony o podobnych funkcjach są obok siebie => mapy topograficzne. Mapy somatosensoryczne układu czuciowego, mapy motoryczne kory i móżdżku, mapy tonotopiczne układu słuchowego, mapy orientacji dwuocznej układu wzrokowego, mapy wielomodalne układu orientacji (wzgórki czworacze górne) 44 Metody uczenia sieci «bez nadzoru» Uczenie konkurencyjne Reguła : «winner-take-all» Mapy samo-organizujace się Kohonena Sieć o stałych wymiarach (2D) Projekcja danych w sieć 2D Gaz neuronowy Dynamika topologii sieci (GNG) Wstawienie neuronow w miejscu gdzie błąd sieci jest największy WT Uczenie konkurencyjne - WT, Winner Takes ll. Nazywane też Hard Competitive Learning. Jeden zwycięzca, dane pojedynczo (on-line) lub wszystkie (batch). Mogą powstawać bezużyteczne neurony - konieczna incjalizacja zgodna z rozkładem danych. lgorytm LG typu WT:. przypadkowa inicjalizacja; 2. Powtarzaj aż ustaną zmiany: 3. pokaż wszystkie dane i znajdź zbiory Voronoia; 4. przesuń wagi neuronu do centrum obszaru Wariant LG-U: przesuń mało użyteczne (zerowy zbiór Voronoia) neurony w lokalne minima błędu. Wc R c V Rc V J.Korczak, ULP 46 Sieć 2D, dane 3D Modele samoorganizacji o=dane ' = wagi sieci o ' ' ' oo ' ' ' ' ' ' ' ' ' '' o ' ' ' ' ' o o ' ' ' 'o ' o' przestrzeń cech SOM lub SOFM (Self-Organized Feature Mapping) - samorganizująca się mapa cech. Jak mapy topograficzne mogą się utworzyć spontanicznie? Połączenia lokalne: neuron silnie pobudzany przez pobliskie, słabo przez odległe, hamowany przez neurony pośrednie. 2-D siatka neuronów x y z neurony wejściowe wagi przypisane połączeniom Historia: von der Malsburg i Willshaw (976), uczenie konkurencyjne, mechanizm Hebbowski, wzbudzenie typu Meksykańskiego kapelusza, model układu wzrokowego. mari (98) - model ciągłej tkanki neuronowej. Kohonen (98) - uproszczenie, bez hamowania; dwie fazy - konkurencja i kooperacja. 8
Reguła modyfikacji wag wokół est Matching Unit Uczenie SOM Neurony reagują na sygnały X podobne do W. Podobny = iloczyn skalarny największy lub odległość min. Znajdź najsilniej reagujący neuron c. X Wj X i Wij ; c arg min X Wj 2 i j Przesuń wagi neuronu c i neuronów w sąsiedztwie O(c): 2 h( r, rc, t ) h (t )exp r rc / c 2 (t ) w stronę wektora X: Wi t Wi t h ri, rc,t X t Wi t dla i O c J.Korczak, ULP 5 J.Korczak, UE 53 SOM: «mexican hat» The weigths are updated according to «mexican hat». Interaction excitatory action inhibitory action Hints : - define a large neighborhood range in the beginning - adaptation rate is a linear decreasing function J.Korczak, ULP 52 GND lgorytm Kohonena: SM. 2. 3. 4. 5. 6. 7. Losowa inicjalizacja wag połaczeń miedzy WE a WY Ustalenie promienia sąsiedztwa R Prezentacja wektora WE. Obliczanie dystansu między neuronem WY j a neuronem WE i dj = S (xi(t) w ij(t))2 gdzie xi(t) jest wartością na WE, a w ij(t) wagą Wybór najbliższego neuronu WY j*. ktualizacja wag neuronu j* oraz sąsiadów w promieniu R : w ij(t)=w ij(t)) h(t)(xi(t) w ij(t)) lim t->oo h(t) = Jeśli h(t)>, to zmniejsz promień R i wróć do 3 inaczej koniec procesu uczenia J.Korczak, ULP 54 J.Korczak, ULP 55 9
Olej z Włoch Mapy ekonomiczne Dane: ank Światowy 992, 39 wskaźników jakości życia. SOM i mapa świata; analiza giełdy i analiza stopów. 572 próbek olejków z oliwek pobrano z 9 prowincji Włoch. Sieć SOM 2 x 2, uczona % 8 tłuszczów zawartych w olejkach. Mapa 8D => 2D. Dokładność klasyfikacji na testowanych próbkach rzędu 95-97%. Literatura ishop C.M., Neural Networks for Pattern Recognition, Oxford Univ., 995. Gupta J., Smith K., Neural Network in usiness: Techniques and pplications, Idea GR. Pub., 22. Haykin S., Neural Networks: Comprehensive Foundation, Prentice, 999. Kosiński R., Sztuczne sieci neuronowe. Dynamika nieliniowa i chaos, 27. Rojas R., Neural Networks: Systematic Introduction, Springer, 996. Kohonen T., Self-Organizing Maps, Springer, 997. Masters T., Practical Neural Network Recipes in C, cademic Press, 994. Tadeusiewicz R., Sieci neuronowe, Warszawa, 993 http://winntbg.bg.agh.pl/skrypty/ Usenet newsgroup : comp.ai.neural-nets http://www.neuralnets.eu/ http://ai.com/