Wyk lad 9: Sztuczne sieci neuronowe Nguyen Hung Son son@mimuw.edu.pl Streszczenie Page 1 of 38
Page 2 of 38 1. Wprowadzenie I cannot articulate enough to express my dislike to people who think that understanding spoils your experience... How would they know? Marvin Minsky
1.1. Historia sztucznych sieci neuronowych : Dawno, dawno temu: powsta ly neurony... Wprowadzenie Page 3 of 38 1868 J. C. Maxwell: zbada l mechanizm sprz eżenia zwrotnego; 1942 Weiner et al.: stworzy l cybernetyk e ; 1943 McCulloch-Pitts: Neurony 1949 Hebb: wskaza l mechanizm biologiczny; 1958-1962: Perceptron Rosenblatta: Perceptron Separated Input from Output at Computer Level. 1960 Widrow and Hoff: Sieci ADALINE / MADALINE 1969 Minsky and Papert: Krytyczna frustracja do sieci neuronowych: Limited Advancement 1972 Amari, Anderson, Grossberg: Badanie nad Self Organizing Network, Symulacja modelu pami eci asocjacyjnej u cz lowieka. 1974 Werbos: Propagacja wsteczna; 1982 John Hopfield: sieć rekurencyjna; 1986 McLelland and Rumelhart: ksiażce; Popularyzowali metod e propagacji wstecznej w swojej 1990 Mead: integracja sprz etowa i zastosowanie sieci w obronie i przemyśle.
Page 4 of 38 1.2. Inspiracje neurofizjologiczne Mózg ludzki: objetość 1400 cm 3 i powierzchnie 2000 cm 2 (kula o tej samej objetości ma zaledwie 600 cm2). Masa mózgu wynosi 1,5 kg. Sa to wartości średnie, ponieważ sa w tym zakresie różnice pomiedzy różnymi ludźmi. Dla przyk ladu mózgi kobiet sa z regu ly mniejsze niż meżczyzn. Nie udowodniono do tej pory zwiazku miedzy wielkościa mózgu a jego intelektualna sprawnościa. Duże znaczenie dla intelektualnych zdolności ma natomiast kora mózgowa o grubości średnio 3 mm, zawierajaca: 10 10 komórek nerwowych i 10 12 komórek glejowych. Liczba po l aczeń miedzy komórkami to oko lo 10 15.
Komórki nerwowe wysy laja i przyjmuja impulsy o czestotliwości 1-100 Hz, czas trwania 1-2 ms, napieciu 100 ms i szybkości propagacji 1-100 m/s. Szybkość pracy mózgu szacuje si e na 10 18 operacji/s. Dla wykonania typowej reakcji mózg wykonuje nie wi ecej niż 100 elementarnych kroków, ponieważ czas reakcji jest mniejszy niż 300 ms. Pojemności kana lów zmys lów można szacować jako: wzrok 100 Mb/s, dotyk 1 Mb/s, s luch 15 Kb/s, w ech 1 Kb/s, smak 100 b/s. Page 5 of 38
1.3. Sztuczna sieć neuronowa Sieć neuronowa jest uproszczonym modelem mózgu. Sk lada sie ona z pewnej liczby elementów (neuronów) przetwarzajacych informacje. Neurony sa ze soba powiazane za pomoca po l aczeń o parametrach (wagach) modyfikowanych w trakcie procesu uczenia. Page 6 of 38 Wiekszość budowanych sieci ma budowe warstwowa.
1.4. Zastosowania sieci Wprowadzenie Page 7 of 38 Predykacja: Sieci neuronowe sa czesto wykorzystywane, aby na podstawie pewnych danych wejściowych przewidywa la dane wyjściowe. Ważna zaleta jest to, że sieć może nauczyć sie przewidywania sygna lów wyjściowych bez jawnego definiowania zwiazku miedzy danymi wejściowymi a wyjściowymi. Klasyfikacja i rozpoznawanie: Zadanie polega na przewidywaniu identyfikatora klasy, do której dany obiekt należy. Kojarzenie danych: Klasyczne systemy komputerowe moga gromadzić duże zbiory danych bez możliwości ich kojarzenia. Sieci neuronowe, dzieki zdolności uczenia sie i uogólniania doświadczeń, pozwalaja zautomatyzować procesy wnioskowania i pomagaja wykrywać istotne powiazania pomiedzy danymi. Analiza danych: Zadanie polega na znalezieniu zwiazków pomiedzy danymi. Realizacja tego zadania przez sieci neuronowe daje nowe możliwości w zakresie prowadzenia analiz ekonomicznych. Filtracja sygna lów Dane gospodarcze pochodzace z różnych 1róde l sa zak lócone. Klasyczne metody eliminacji śzumów pozwalaja usunać zak lócenia o charakterze losowym, lecz nie daja podstaw do eliminacji przek lamań systematycznych. Optymalizacja Sieci neuronowe - zw laszcza sieci Hopfielda - dobrze nadaja sie do optymalizacji decyzji gospodarczych. Doświadczalnie potwierdzono możliwości sieci do rozwiazywania zadań optymalizacji statycznej i dynamicznej. Szczególnie ciekawe jest zastosowanie sieci do optymalizacji kombinatorycznej i zagadnień bardzo trudnych obliczeniowo (również npzupe lnych), które moga być rozwiazane w krótkim czasie dzieki wspó lbieżnym wyliczaniu przez wiele elementów sieci. Dobrym przyk ladem jest sieć rozwiazuj aca klasyczny problem komiwojażera.
Page 8 of 38 1.5. w laściwości sieci Adaptowalność i samo-organizacja: oparte o zasady uczenia adaptacyjnego (podstawa filozoficzna) Nieliniowość : oferuje możliwości uczenia si e aproksymacji funkcji i klasyfikacji. Przetwarzanie równoleg le: sprzetowa realizacja sieci pozwala przetwarzać duża ilość obliczeń dzieki równoleg lych po l aczeń.
2. Matematyczny model neuronu Wprowadzenie Page 9 of 38 o(x 1,..., x n ) = { 1 jeśli w0 + w 1 x 1 + + w n x n > 0 1 w p.p. Czasem stosujemy prostsze obliczenia: { 1 if w x > 0 o( x) = 1 otherwise. Ogólnie, perceptron realizuje pewna funkcje!
Perceptron ma dość ograniczone możliwości. Z powodzeniem może reprezentować funkcje OR, AND, ale już nie poradzi sobie z funkcja XOR. Ogólnie funkcje reprezentowane przez perceptron to takie, które rozdzielaja liniowo obszar danych: Page 10 of 38
2.1. funkcja aktywacji: Wprowadzenie Page 11 of 38 Funkcja progowa (threshold function) sgn(x) = Funkcja sigmoidalna: σ(x) = W lasności: dσ(x) = σ(x)(1 σ(x)) dx Funkcja tangensu hiperbolicznego: 1 1 + e x th(x) = 1 [1 + tanh(x)] 2 { 1 if x > 0 0 otherwise.
3. Uczenie perceptronu Wprowadzenie Page 12 of 38 3.1. Problem klasyfikacji Przyk lady: Klasyfikacja obrazów Predykcja finansowa Sterowanie funkcje boolowskie: x 1 x 2 AND 0 0 0 1 0 0 0 1 0 1 1 1 Problem uczenia sie perceptronu: Znaleźć wartości wag dla perceptronu, które definiuja funkcje podobna do wzorców.
Przyk lad funkcja AND: Wprowadzenie Page 13 of 38
3.2. Regu ly uczenia si e: Wprowadzenie Page 14 of 38 gdzie Oznaczenia: w i w i + w i w i = η(t o)x i t = c( x) wartość funkcji celu (wzorca) o jest wartościa wyjściowa neuronu η jest ma l a sta l a, np. = 0.1, zwana sta l a uczenia sie Można wykazać teoretyczna zbieżność algorytmu uczenia sie w sytuacji: Dane treningowe sa liniowo separowalne η jest dostatecznie ma la.
Page 15 of 38 Wyjaśnienia regu l uczenia perceptronu: rozważmy najprotszy przypadek o = w 0 + w 1 x 1 + + w n x n Szukajmy w i, które minimalizuja funkcje b l edu: E[ w] 1 (t d o d ) 2 2 d D gdzie D jest zbiorem przyk ladów treningowych. Metoda gradientu: [ E E[ w], E, E ] w 0 w 1 w n
Regu ly gradientu: i.e., w = η E[ w] w i = η E w i Page 16 of 38 E = 1 w i w i 2 E w i = 1 2 d = 1 2 = d = d d (t d o d ) 2 d w i (t d o d ) 2 2(t d o d ) w i (t d o d ) (t d o d ) w i (t d w x d ) (t d o d )( x i,d )
Page 17 of 38 3.3. Gradient Descent Gradient-Descent(training examples, η) Each training example is a pair of the form x, t, where x is the vector of input values, and t is the target output value. η is the learning rate (e.g.,.05). Initialize each w i to some small random value Until the termination condition is met, Do Initialize each w i to zero. For each x, t in training examples, Do Input the instance x to the unit and compute the output o For each linear unit weight w i, Do w i w i + η(t o)x i For each linear unit weight w i, Do w i w i + w i
3.4. Incremental (Stochastic) Gradient Descent Wprowadzenie Batch mode Gradient Descent: Do until satisfied 1. Compute the gradient E D [ w] 2. w w η E D [ w] Page 18 of 38 Incremental mode Gradient Descent: Do until satisfied For each training example d in D 1. Compute the gradient E d [ w] 2. w w η E d [ w] E D [ w] 1 (t d o d ) 2 2 d D E d [ w] 1 2 (t d o d ) 2 Incremental Gradient Descent can approximate Batch Gradient Descent arbitrarily closely if η made small enough
3.5. Podsumowania Regu ly uczenia perceptronu gwarantuje sukces wtedy, gdy: Przyk lady treningowe sa liniowo separowane Dostatecznie ma ly jest wsp. uczenia sie η Page 19 of 38 Regu ly uczenia si e perceptronu stosuje zasad e maksymalnego spadku gradientu: Gwarantuje zbieżność do rozwiazań o (lokalnym) minimalnym b l edzie Przy dostatecznie ma lym wsp. uczenia si e η Dzia la nawet na danych szumiacych. Dzia la nawet wtedy, gdy dane nie sa liniowo separowane.
4. Sieci wielowarstwowe Page 20 of 38
4.1. perceptronu z sigmoidalna funkcja aktywacji Wprowadzenie E = 1 (t d o d ) 2 = 1 w i w i 2 2 d D = 1 2(t d o d ) 2 d = d (t d o d ) (t d o d ) = w i d o d net d w i net d d w i (t d o d ) 2 (t d o d ) ( o ) d w i Wiemy, że o d = σ(net d) = o d (1 o d ) net d net d Page 21 of 38 net d w i = ( w x d) w i = x i,d Wi ec E w i = d D (t d o d )o d (1 o d )x i,d
4.2. Backpropagation Algorithm Initialize all weights to small random numbers. Until satisfied, Do For each training example, Do 1. Input the training example to the network and compute the network outputs 2. For each output unit k Page 22 of 38 δ k o k (1 o k )(t k o k ) 3. For each hidden unit h δ h o h (1 o h ) w h,k δ k k outputs 4. Update each network weight w i,j where w i,j w i,j + w i,j w i,j = ηδ j x i,j
Gradient descent over entire network weight vector Easily generalized to arbitrary directed graphs Will find a local, not necessarily global error minimum In practice, often works well (can run multiple times) Often include weight momentum α w i,j (n) = ηδ j x i,j + α w i,j (n 1) Page 23 of 38 Minimizes error over training examples Will it generalize well to subsequent examples? Training can take thousands of iterations slow! Using network after training is very fast
5. Idea: Page 24 of 38
5.1. Sieci Hopfielda Wprowadzenie Page 25 of 38 Zbadane przez Hopfielda; Zwane również sieciami auto-asocjacyjnymi; Sa to jedno-warstwowe sieci z pe lnym po l aczeniem typu każdy z każdym ; Każdy neuron ma bipolarne wartość wejść i wyjść;
5.2. Operacje w sieciach Hopfielda: Zainicjuj wartości poczatkowe do sieci; Czekaj aż sieć sie ustabilizuje; To dzia la w czasie dyskretnym: t 1, t 2,..., t N ; wartości neuronów w chwili t n zależy od wartości neuronów w chwili t n 1 : u i (t n ) = j w ij y j (t n 1 ) + x i Page 26 of 38 y i (t n ) = 1 jeśli u i (t n ) > T i y i (t n 1 ) gdy u i (t n ) = T i 1 jeśli u i (t n ) < T i Istnieja modele synchroniczne i asynchroniczne; Odczytaj wartości neuronów jako wynik obliczeń;
Page 27 of 38 5.3. Ustalenie wartości wag: UWAGA: wagi sie nie zmieniaja w procesie uczenia sie; Maciecz wag musi spe lniać warunki: symetryczność: zerowa przekatna: Zwykle chcemy, v 1,..., v P, gdzie w ij = w ji w ii = 0 aby sieć ustabilizowa la w jednym z wektorów: v p = (x p 1,...x p n) Aby to zapewnić możemy stosować regu ly Hebba: w ij = P x p i x p j p=1
Page 28 of 38 5.4. Dlaczego to dzia la? Charakterystyczna w lasnościa dla bieżacego stanu sieci Hopfielda jest funkcja energii: E = 1 2 n i=1 n w ij x i x j j=1 n x i y i + Hopfield pokaza l, że funkcja energii jest nierosnaca; i=1 n T i y i i=1
Page 29 of 38 6. SOM (Self-Organized Maps) - samorganizujaca sie mapa. Mapy topograficzne powstaje przez po l aczenia lokalne: neuron silnie pobudzany przez pobliskie po l aczenie, s labo przez odleg le, hamowany przez neurony pośrednie. Historia: von der Malsburg i Willshaw (1976), uczenie konkurencyjne, mechanizm Hebbowski, wzbudzenie typu Meksykańskiego kapelusza, model uk ladu wzrokowego. Amari (1980) - model ciag lej tkanki neuronowej. Kohonen (1981) - uproszczenie, bez hamowania; dwie fazy - konkurencja i kooperacja.
6.1. Algorytm SOM Struktura: Neurony sa umieszczone (ale nie po l aczone ze soba) na siatce 1,2 lub 3-wymiarowa. Każdy neuron ma N wag. Neuron i-ty ma wagi Wi (t) = (w i1,..., w in ), a wektor wejściowy ma wspó lrzedne: (x 1,..., x N ) (t - czas dyskretny) Page 30 of 38
Algorytm : 1. Inicjalizacja: przypadkowe W i (0) dla wszystkich i = 1..K. Definiuj wokó l neuronu po lożonego w miejscu r c siatki obszar sasiedztwa Os(r c, σ(t)) o promieniu σ(t). 2. Oblicz odleg lości d(x, W i ) = X W i = (x j w ij ) 2 j Page 31 of 38 3. znajdź neuron c = argmin i X W i z wagami W c najbardziej podobnymi do X (neuron-zwyciezc e). 4. Zmień wagi wszystkich neuronów r i w sasiedztwie Os(r c, σ(t)) where W i (t + 1) = W i (t) + h(r i, r c )(X W i (t)) h(r i, r c ) = h 0 (t) e r r c 2 /σ 2 c (t) 5. Powoli zmniejszaj si l e h 0 (t) i promień σ(t). 6. Iteruj aż ustan a zmiany. Efekt: podzia l (tesselacja) na wieloboki Voronoia.
Page 32 of 38 6.2. W lasności SOM Brak dowodu o zbieżności lub punktach stacjonarnych dla SOM: Wyniki analityczne tylko w 1D dla ciag lego czasu, proces Markova: wartości wag wzd luż prostej porzadkuj a sie. Powolna zbieżność: 10 4 10 6 iteracji. Sasiednie neurony koduja sasiednie obszary, ale niekoniecznie odwrotnie Skrecone konfiguracje przy zbyt szybkiej redukcji sasiedztwa. Z lożoność O(KNn) dla K neuronów i n danych N- wymiarowych: konieczne porównanie wszystkich odleg lości; niezbyt duże mapy. Na komputerach wieloprocesorowych szukanie min z K b edzie powolne. SOM dzia la jak metoda klasteryzacji k-średnich jeśli σ = 0.
6.3. Modyfikacje SOM Próba wprowadzenia funkcji b l edu (Luttrell; Heskes i Kappen). B l ad lokalny neuronu i jest suma po wszystkich neuronach: E i (X; t) = 1 h( r i r j, t) X W i (t) 2 2 j Page 33 of 38 gdzie h( r i r j, t) = exp r i r j 2 2σ 2 (t) ; σ(t) = σ 0e 2σ 0t/t max Neuron-zwyciezca ma najmniejszy b l ad lokalny: c = argmin i E i (X; t)
6.4. Uczenie sieci 2D Wprowadzenie Page 34 of 38
6.5. Uczenie kwadratu w sieci 2D Wprowadzenie Page 35 of 38
6.6. Uczenie trojkata w sieci 1D Wprowadzenie Page 36 of 38 Tworzy si e fraktalne krzywe Peano.
6.7. Zniekszta lcenie Wprowadzenie Page 37 of 38 Poczatkowe zniekszta lcenia moga zniknać lub pozostać.
6.8. WEBSOM websom.hut.fi/websom/ Wprowadzenie Page 38 of 38