Wstęp do sieci neuronowych, wykład 10. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-12-13
1 Modele sieci rekurencyjnej Energia sieci 2 3
Modele sieci rekurencyjnej Energia sieci 1 Modele sieci rekurencyjnej Energia sieci 2 3
Sieci skierowane Modele sieci rekurencyjnej Energia sieci Sieci skierowane graf połączeń synaptycznych nie zawiera cykli wierzchołki dają się posortować topologicznie, dynamika odbywa się synchronicznie zgodnie z kolejnością zadaną przez otrzymaną kolejność,
Modele sieci rekurencyjnej Energia sieci Graf sieci dopuszcza istnienie cykli skierowanych, sortowanie topologiczne nie jest możliwe, dynamika nabiera aspektu temporalnego: sieć rozwijamy w szereg podsieci powiązanych ze sobą zależnościami czasowymi.
typu Hopfielda Modele sieci rekurencyjnej Energia sieci każda jednostka ma przypisany swój spin σ i { 1, +1} zmienny w trakcie dynamiki, połączenia synaptyczne mają przypisane wagi w ij = w ji R stałe, w ii = 0, jeżeli krawędzi nie ma w grafie, to w = 0, neurony otrzymują swoje pole zewnętrzne h i R stałe.
typu Hopfielda Modele sieci rekurencyjnej Energia sieci neuron zmienia swój spin i wysyła informację do sąsiadów, po zmianie jest nieaktywny przez pewien okres czasu τ r (czas refrakcji), przesył impulsu po krawędzi zajmuje pewien okres czasu τ p (czas przesyłu, może zależeć od rodzaju lub długości krawędzi),
Dynamika Glaubera Modele sieci rekurencyjnej Energia sieci Jeżeli τ p τ r, to sieć jest niewielka i można stosować następującą dynamikę: wylosuj neuron σ i, przypisz σ i = sign( j w ij σ j + h i ) powtarzaj 1 i 2 aż do ustabilizowania się sytuacji.
Dynamika Glaubera Modele sieci rekurencyjnej Energia sieci Jeżeli τ p τ r, to sieć jest niewielka i można stosować następującą dynamikę: wylosuj neuron σ i, przypisz σ i = sign( j w ij σ j + h i ) powtarzaj 1 i 2 aż do ustabilizowania się sytuacji. Oznaczmy M i = j w ijσ j + h i lokalne pole wypadkowe dla jednostki i.
Dynamika Little a Modele sieci rekurencyjnej Energia sieci Jeżeli τ p τ r, to działanie przybliżamy dynamiką synchroniczną: wszystkie neurony jednocześnie ustawiają się zgodnie z lokalnym polem wypadkowym, tj, przypisujemy: σ i = sign(m i ) przy wykorzystaniu zestawu spinów z poprzedniej iteracji.
Dynamika Little a Modele sieci rekurencyjnej Energia sieci Alternatywne sformułowanie: Rozpocznij z losowego σ 0 Powtarzaj wielokrotnie: Przypisz σ t+1 := sign(w σ t + H) gdzie W = [w ij ] i,j=1..n jest macierzą wag, H - wektorem pól zewnętrznych σ t wektorem spinów w t-tym kroku.
Dynamika Hybrydowa Modele sieci rekurencyjnej Energia sieci Jeżeli τ p τ r, to dynamika staje się skomplikowana ze względu na znaczne opóźnienia w przesyle. małe fragmenty sieci (tj. bliskie jednostki) przybliżamy dynamiką asynchroniczną (Glaubera), w dużej skali stosujemy dynamikę synchroniczną uwzględniającą różnice czasowe.
Energia sieci Modele sieci rekurencyjnej Energia sieci Określmy energię sieci (Hammiltonian) zależny od bieżącej konfiguracji spinów neuronów: E( σ) = 1 w ij σ i σ j 2 i i j h i σ i Wagi w ij oraz pola zewnętrzne h i są ustalone, więc energia zależy tylko od spinów.
Twierdzenie Modele sieci rekurencyjnej Energia sieci Twierdzenie W trakcie dynamiki Glaubera energia sieci nie ulega wzrostowi.
Twierdzenie Modele sieci rekurencyjnej Energia sieci Twierdzenie W trakcie dynamiki Glaubera energia sieci nie ulega wzrostowi. Dowód na tablicy
Dowód Modele sieci rekurencyjnej Energia sieci Załóżmy, że z konfiguracji σ przeszliśmy do σ. Niech σ i będzie neuronem, który zmieniliśmy, tj σ i = σ i = sign(m i ).
Dowód Modele sieci rekurencyjnej Energia sieci Załóżmy, że z konfiguracji σ przeszliśmy do σ. Niech σ i będzie neuronem, który zmieniliśmy, tj σ i = σ i = sign(m i ). Zauważmy, że E( σ) = 1 2 j i,k i w jk σ j σ k 1 2 2 w ij σ i σ j h j σ j h i σ i j j i
Dowód Modele sieci rekurencyjnej Energia sieci Załóżmy, że z konfiguracji σ przeszliśmy do σ. Niech σ i będzie neuronem, który zmieniliśmy, tj σ i = σ i = sign(m i ). Zauważmy, że E( σ) = 1 2 j i,k i w jk σ j σ k 1 2 2 w ij σ i σ j h j σ j h i σ i j j i Zmieniliśmy tylko spin σ i więc j i,k i w jkσ j σ k oraz j i h jσ j nie wpływają na zmianę energii.
Dowód Modele sieci rekurencyjnej Energia sieci Załóżmy, że z konfiguracji σ przeszliśmy do σ. Niech σ i będzie neuronem, który zmieniliśmy, tj σ i = σ i = sign(m i ). Zauważmy, że E( σ) = 1 2 j i,k i w jk σ j σ k 1 2 2 w ij σ i σ j h j σ j h i σ i j j i Zmieniliśmy tylko spin σ i więc j i,k i w jkσ j σ k oraz j i h jσ j nie wpływają na zmianę energii. Obliczmy E( σ ) E( σ) = = j w ij σ iσ j h i σ i j w ij σ i σ j h i σ i =
Dowód cd. Modele sieci rekurencyjnej Energia sieci E( σ ) E( σ) = j w ij σ iσ j h i σ i + j w ij σ i σ j + h i σ i =
Dowód cd. Modele sieci rekurencyjnej Energia sieci E( σ ) E( σ) = j w ij σ iσ j h i σ i + j w ij σ i σ j + h i σ i = j w ij (σ i σ i )σ j h i (σ i σ i ) =
Dowód cd. Modele sieci rekurencyjnej Energia sieci E( σ ) E( σ) = j w ij σ iσ j h i σ i + j w ij σ i σ j + h i σ i = j w ij (σ i σ i )σ j h i (σ i σ i ) = (σ i σ i ) j w ij σ j h i = (σ i σ i )( M i )
Dowód cd. Modele sieci rekurencyjnej Energia sieci E( σ ) E( σ) = j w ij σ iσ j h i σ i + j w ij σ i σ j + h i σ i = j w ij (σ i σ i )σ j h i (σ i σ i ) = (σ i σ i ) j w ij σ j h i = (σ i σ i )( M i ) Przypomnijmy, że podstawialiśmy σ i := sign(m i ). E( σ ) E( σ) = (sign(m i ) ( sign(m i ))M i = 2 M i 0
Ewolucja sieci Hopfielda Modele sieci rekurencyjnej Energia sieci click
Wniosek Modele sieci rekurencyjnej Energia sieci Jeżeli ilość neuronów w sieci n jest skończona, to ilość możliwych konfiguracji σ również, podczas dynamiki osiągane jest minimum (być może lokalne!) funkcji energetycznej w skończonym czasie.
Wniosek Modele sieci rekurencyjnej Energia sieci Jeżeli ilość neuronów w sieci n jest skończona, to ilość możliwych konfiguracji σ również, podczas dynamiki osiągane jest minimum (być może lokalne!) funkcji energetycznej w skończonym czasie. Wykorzystamy dynamikę asynchroniczną sieci do znajdowania rozwiązania problemów optymalizacyjnych. Wystarczy do tego sprecyzować wagi i pola lokalne.
1 Modele sieci rekurencyjnej Energia sieci 2 3
Cel Chcemy stworzyć pamięć adresowaną zawartością, tj mając dany fragment obrazu będzie w stanie go odtworzyć.
Cel Chcemy stworzyć pamięć adresowaną zawartością, tj mając dany fragment obrazu będzie w stanie go odtworzyć. Oznaczmy: I µ = {ξ µ i } obraz wzorcowy, i = 1..N ilość pikseli, µ = 1..P ilość wzorców σ i neurony sieci, po jednym neuronie na każdy piksel obrazu, w ij wagi między neuronami, h i pola zewnętrzne,
Oznaczmy stopień zgodności stanu sieci σ ze wzorcem I µ M µ ( σ) = 1 N N σ i ξ µ i = 1 N σ, I µ i=1
Oznaczmy stopień zgodności stanu sieci σ ze wzorcem I µ M µ ( σ) = 1 N N σ i ξ µ i = 1 N σ, I µ i=1 M µ ( σ) = 1 oznacza pełną zgodność, M µ ( σ) = 1 całkowitą niezgodność, ale przy naszych oznaczeniach należy pamiętać, że jest to idealny negatyw.
Energia Zdefiniujmy energię E( σ) = N 2 P (M µ ( σ)) 2 = µ=1
Energia Zdefiniujmy energię E( σ) = N 2 = N 2 µ=1 P (M µ ( σ)) 2 = µ=1 ( ) 2 P 1 N σ i ξ µ i = N i=1
Energia Zdefiniujmy energię E( σ) = N 2 = N 2 µ=1 P (M µ ( σ)) 2 = µ=1 ( ) 2 P 1 N σ i ξ µ i = N i=1 N 2 P 1 N N 2 µ=1 N i=1 j=1,j i σ i σ j ξ µ i ξ µ j + 1 N 2 N σi 2 ξ µ i i=1 2
Energia Zdefiniujmy energię E( σ) = N 2 = N 2 µ=1 P (M µ ( σ)) 2 = µ=1 ( ) 2 P 1 N σ i ξ µ i = N i=1 N 2 P 1 N N 2 µ=1 N i=1 j=1,j i σ i σ j ξ µ i ξ µ j + 1 N 2 N σi 2 ξ µ i i=1 2
Energia E( σ) = 1 2N P i j µ=1 σ i σ j ξ µ i ξ µ j
Energia E( σ) = 1 2N P i j µ=1 σ i σ j ξ µ i ξ µ j = 1 2N N i j µ=1 P σ i σ j ξ µ i ξ µ j
Energia E( σ) = 1 2N P i j µ=1 σ i σ j ξ µ i ξ µ j = 1 2N = 1 2 N i j µ=1 N σ i σ j 1 N i j P σ i σ j ξ µ i ξ µ j P ξ µ i ξ µ j µ=1
Wagi Otrzymujemy zależności na wagi: w ij = 1 N P ξ µ i ξ µ j µ=1 oraz na pola zewnętrzne h i = 0 Zerowe pola zewnętrzne sprawiają, że sieć nie ma preferencji odnośnie kolorów. Negatywy są rozpoznawane tak samo jak obrazy oryginalne.
Przestrzeń stanów
Rekonstrukcja obrazu dynamika Glaudera Gdy sieć jest już nauczona możemy odzyskać wejściowy zaszumiony obraz: 1 Obraz wejściowy konwertujemy na konfigurację spinów σ, 2 Poddajemy bieżącą konfigurację ewolucji Glaudera: 1 Losujemy jednostkę i, 2 Ustawiamy spin σ i := sign( j w ijσ j ), 3 Powtarzamy 2.1 i 2.2 aż stan sieci się ustabilizuje, 3 Wyjściowy obraz odzyskujemy dekodując wyjściową konfigurację spinów σ.
Rekonstrukcja obrazu dynamika Little a Ustaloną mamy macierz wag W = (w ij ) N i,j=1 1 Obraz wejściowy konwertujemy na konfigurację początkową (t = 0) spinów σ 0, 2 Poddajemy konfigurację ewolucji: 1 Przypisujemy σ t+1 := W σ t σ t+1 i := sign( σ t+1 i ) 2 Powtarzamy 2.1 aż stan sieci się ustabilizuje, 3 Wyjściowy obraz odzyskujemy dekodując wyjściową konfigurację spinów σ T.
Trajektoria odzyskiwania obrazu Rysunek uproszczony, przestrzeń to { 1, +1} d a nie R 2. 0-0.5-1 -1.5-2 -2.5-10 -5 0 0 5 10 5-5 10-10
Trajektoria odzyskiwania obrazu
Stabilność wzorca Załóżmy, że wzorce I µ są niezależne, tj. prawdopodobieństwo, że losowy piksel jest włączony jest to samo Pytamy: P(ξ µ i = +1) = P(ξ µ i = 1) = 1 2 kiedy I µ jest punktem stałym dynamiki sieci?
Stabilność wzorca Policzmy: M i ( σ) = j w ij σ i =
Stabilność wzorca Policzmy: M i ( σ) = j w ij σ i = j ( ) 1 ξ µ i ξ µ j N µ σ j
Stabilność wzorca Policzmy: M i ( σ) = j w ij σ i = j ( ) 1 ξ µ i ξ µ j σ j = N µ µ M µ ( σ)ξ µ i
Stabilność wzorca Policzmy: M i ( σ) = j w ij σ i = j ( ) 1 ξ µ i ξ µ j σ j = N µ µ M µ ( σ)ξ µ i Podstawmy za konfigurację wzorzec σ := I µ 0.
Stabilność wzorca Policzmy: M i ( σ) = j w ij σ i = j ( ) 1 ξ µ i ξ µ j σ j = N µ µ M µ ( σ)ξ µ i Podstawmy za konfigurację wzorzec σ := I µ 0. M i (I µ 0 ) = ξ µ 0 i + µ µ 0 M µ (I µ 0 )ξ µ i
Stabilność wzorca Policzmy: M i ( σ) = j w ij σ i = j ( ) 1 ξ µ i ξ µ j σ j = N µ µ M µ ( σ)ξ µ i Podstawmy za konfigurację wzorzec σ := I µ 0. M i (I µ 0 ) = ξ µ 0 i + µ µ 0 M µ (I µ 0 )ξ µ i }{{} } {{ } sygnał szum
Stabilność wzorca Założyliśmy, że: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2
Stabilność wzorca Założyliśmy, że: Zdefiniujmy zmienną losową Ξ: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2 Ξ = ξ µ i ξ µ j
Stabilność wzorca Założyliśmy, że: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2 Zdefiniujmy zmienną losową Ξ: Ξ = ξ µ i ξ µ j Wartość oczekiwana wynosi EΞ = 0, wariancja D 2 Ξ = 1:
Stabilność wzorca Założyliśmy, że: Zdefiniujmy zmienną losową Ξ: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2 Ξ = ξ µ i ξ µ j Wartość oczekiwana wynosi EΞ = 0, wariancja D 2 Ξ = 1: Z centralnego twiedzenia granicznego. M µ (I µ 0 ) =
Stabilność wzorca Założyliśmy, że: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2 Zdefiniujmy zmienną losową Ξ: Ξ = ξ µ i ξ µ j Wartość oczekiwana wynosi EΞ = 0, wariancja D 2 Ξ = 1: Z centralnego twiedzenia granicznego. M µ (I µ 0 ) = 1 ξ µ i ξ µ j = N j
Stabilność wzorca Założyliśmy, że: Zdefiniujmy zmienną losową Ξ: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2 Ξ = ξ µ i ξ µ j Wartość oczekiwana wynosi EΞ = 0, wariancja D 2 Ξ = 1: Z centralnego twiedzenia granicznego. M µ (I µ 0 ) = 1 ξ µ i ξ µ i j = Ξ i N 0 N N N 1 j
Stabilność wzorca Założyliśmy, że: Zdefiniujmy zmienną losową Ξ: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2 Ξ = ξ µ i ξ µ j Wartość oczekiwana wynosi EΞ = 0, wariancja D 2 Ξ = 1: Z centralnego twiedzenia granicznego. M µ (I µ 0 ) = 1 ξ µ i ξ µ i j = Ξ i N 0 1 D N(0, 1) N N N 1 N j
Stabilność wzorca Założyliśmy, że: Zdefiniujmy zmienną losową Ξ: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2 Ξ = ξ µ i ξ µ j Wartość oczekiwana wynosi EΞ = 0, wariancja D 2 Ξ = 1: Z centralnego twiedzenia granicznego. M µ (I µ 0 ) = 1 ξ µ i ξ µ i j = Ξ i N 0 1 D N(0, 1) N(0, 1 N N N 1 N N ) j
Stabilność wzorca Założyliśmy, że: Zdefiniujmy zmienną losową Ξ: P(ξ µ i ξ µ j = +1) = P(ξ µ i ξ µ j = 1) = 1 2 Ξ = ξ µ i ξ µ j Wartość oczekiwana wynosi EΞ = 0, wariancja D 2 Ξ = 1: Z centralnego twiedzenia granicznego. M µ (I µ 0 ) = 1 ξ µ i ξ µ i j = Ξ i N 0 1 D N(0, 1) N(0, 1 N N N 1 N N ) j I dalej: M µ (I µ0 )ξ µ i N(0, P 1 N ) µ µ 0
Stabilność wzorca Aby nie zepsuć wzorca musi być µ µ 0 M µ (I µ 0 )ξ µ i N(0, P 1 N ) < 1
Stabilność wzorca Aby nie zepsuć wzorca musi być µ µ 0 M µ (I µ 0 )ξ µ i N(0, P 1 N ) < 1 Wariancja musi być bardzo mała P 1 N 1
Stabilność wzorca Aby nie zepsuć wzorca musi być µ µ 0 M µ (I µ 0 )ξ µ i N(0, P 1 N ) < 1 Wariancja musi być bardzo mała czyli P 1 N 1 P N
Co to są wzorce skorelowane?
Co to są wzorce skorelowane?
Wzorzec I µ 0 zaburzamy w R punktach. Szum nadal wynosi N(0, P N ). Sygnał (1 R N )ξµ 0 i. Szukamy bezpiecznego α = P N, aby wciąż dało się odzyskać obraz.
Prawdopodobieństwo że uda się odtworzyć i-ty piksel wynosi: P(N(0, α) < 1 2R N ) =
Prawdopodobieństwo że uda się odtworzyć i-ty piksel wynosi: P(N(0, α) < 1 2R N ) = Φ(1 2R/N α ) =
Prawdopodobieństwo że uda się odtworzyć i-ty piksel wynosi: P(N(0, α) < 1 2R N 2R/N 1 2R/N ) = Φ(1 ) = 1 Φ( ) α α
Prawdopodobieństwo że uda się odtworzyć i-ty piksel wynosi: P(N(0, α) < 1 2R N 2R/N 1 2R/N ) = Φ(1 ) = 1 Φ( ) α α Chcemy odtworzyć wszystkie piksele (a nie jeden), więc prawdopodobieństwo wyniesie ( 1 Φ( 1 2R/N α )) N
Prawdopodobieństwo że uda się odtworzyć i-ty piksel wynosi: P(N(0, α) < 1 2R N 2R/N 1 2R/N ) = Φ(1 ) = 1 Φ( ) α α Chcemy odtworzyć wszystkie piksele (a nie jeden), więc prawdopodobieństwo wyniesie ( 1 Φ( 1 2R/N ) N ) 1 N Φ( 1 2R/N ) α α
Skorzystamy z przybliżenia Φ 1 x x2 exp( 2π 2 ).
Skorzystamy z przybliżenia Φ 1 x x2 exp( 2π 2 ). Jeżeli ograniczymy dopuszczalny błąd przez δ, to δ > N 1 2R/N Φ( ) α
Skorzystamy z przybliżenia Φ 1 x x2 exp( 2π 2 ). Jeżeli ograniczymy dopuszczalny błąd przez δ, to δ > N 1 2R/N Φ( ) α N α (1 2R/N) 2π 2R/N)2 exp( (1 ) 2α
Skorzystamy z przybliżenia Φ 1 x x2 exp( 2π 2 ). Jeżeli ograniczymy dopuszczalny błąd przez δ, to δ > N 1 2R/N Φ( ) α N α (1 2R/N) 2π N α exp( (1 2R/N)2 2α ) 2π 2R/N)2 exp( (1 ) 2α
Skorzystamy z przybliżenia Φ 1 x x2 exp( 2π 2 ). Jeżeli ograniczymy dopuszczalny błąd przez δ, to δ > N 1 2R/N Φ( ) α Po zlogarytmowaniu: N α (1 2R/N) 2π N α exp( (1 2R/N)2 2α ) 2π (1 2R N )2 2α ( ln δ + ln N + ln α ) 2 2R/N)2 exp( (1 ) 2α
Wniosek α (1 2R N )2 2 ln N 1 2 ln N W sieci o N wierzchołkach można przechować maksymalnie wzorców. N 4 log N
-0.6-0.4-0.2 0-0.8-1.4-1.2-10 -5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10
Niepoprawne odzyskiwanie za dużo wzorców -0.5 0-1.5-1 -2-10 10-5 5 0 0 5-5 10-10 -0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10-0.2 0-0.4-0.6-0.8-1 -10-5 5 0 0 5-5 10-10 10
Zapoznaj się z mechanizmem symulowanego wyżarzania. Dlaczego jest on często wprowadzany do dynamiki sieci Hopfielda? Oszacuj wymagania pamięciowe naiwnej implementacji sieci Hopfielda dla obrazów o rozdzielczości 256 256. Jak można zredukować zapotrzebowanie pamięciowe? (*) Jak można zmusić sieć Hopfielda do uczenia się z rozróżnieniem obrazu od negatywu?
Zaimplementuj autoasocjator graficzny Hopfielda. Zaimplementuj autoasocjator lingwistyczny (dla par / trójek liter) bazujący na sieci Hopfielda. Jak sieć będzie działać dla problemy rozpoznawania małych liter na matrycy dużej rozdzielczości?