Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda
Maja Czoków, Jarosław Piersa
Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika
2012-12-19
Projekt pn. „Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych”
realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
1 Sieci rekurencyjne Sieci rekurencyjne
Modele sieci rekurencyjnej Energia sieci
2 Autoasocjator Hopfielda Konstrukcja
Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
3 Zadania
4 Przeliczenia Pojemność sieci
Poprawne odzyskiwanie
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
1 Sieci rekurencyjne Sieci rekurencyjne
Modele sieci rekurencyjnej Energia sieci
2 Autoasocjator Hopfielda Konstrukcja
Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
3 Zadania
4 Przeliczenia Pojemność sieci
Poprawne odzyskiwanie
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Sieci skierowane — przypomnienie
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ść,
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Sieci rekurencyjne
Graf sieci dopuszcza istnienie cykli skierowanych, sortowanie topologiczne nie jest możliwe,
Czynnik czasowy w dynamice: sieć rozwijamy w szereg podsieci powiązanych ze sobą zależnościami czasowymi.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Motywacja
Chcemy stworzyć rekurencyjną sieć neuronową, zdolną kodować i rozwiązywać (dyskretne) problemy optymalizacyjne
Rozważania w poniższym rozdziale będą dotyczyły konstrukcji autoasocjatora graficznego,
W dalszych wykładach pokażemy jak dostosować sieć do innych problemów.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Sieci rekurencyjne typu Hopfielda
każda jednostka ma przypisany swój spin σi ∈ {−1, +1} — zmienny w trakcie dynamiki,
połączenia synaptyczne mają przypisane wagi wij = wji ∈ R — stałe w trakcie dynamiki, zmienne w trakcie uczenia,
wii = 0,
jeżeli krawędzi nie ma w grafie, to wij = 0,
neurony otrzymują swoje pole zewnętrzne hi ∈ R — stałe.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Ogólna koncepcja dynamiki w sieciach rekurencyjnych
neuron zmienia swój spin i wysyła informację do sąsiadów, po zmianie jest nieaktywny przez pewien okres czasu τr czas refrakcji,
po upływie τr neuron może przyjmować i wysyłać impulsy, 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),
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dynamika Glaudera
Jeżeli τp τr, to sieć jest niewielka i można stosować następującą dynamikę:
wylosuj neuron σi, przypisz
σi = sign(X
j
wijσj + hi )
powtarzaj 1 i 2 aż do ustabilizowania się sytuacji.
Oznaczmy Mi =P
jwijσj + hi — lokalne pole wypadkowe dla jednostki i .
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dynamika Little’a
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(Mi)
przy wykorzystaniu zestawu spinów z poprzedniej iteracji.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dynamika Little’a
Alternatywne sformułowanie:
Rozpocznij z losowego ¯σ0 Powtarzaj wielokrotnie:
Przypisz
¯
σt+1:= sign(W · ¯σt+ H) gdzie:
W = [wij]i ,j =1..N jest macierzą wag, H — wektor pól zewnętrznych
¯
σt — wektor spinów w t-tym kroku.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dynamika Hybrydowa
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ą (Glaudera),
w dużej skali stosujemy dynamikę synchroniczną uwzględniającą różnice czasowe.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Energia sieci
Określmy energię sieci (Hammiltonian) zależny od bieżącej konfiguracji spinów neuronów:
Energia
E (¯σ) = −1 2
X
i 6=j
wijσiσj −X
i
hiσi
Wagi wij oraz pola zewnętrzne hi są ustalone, więc energia zależy tylko od spinów.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Twierdzenie
Twierdzenie
W trakcie dynamiki Glaudera energia sieci nie ulega wzrostowi.
Dowód na tablicy
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Twierdzenie
Twierdzenie
W trakcie dynamiki Glaudera energia sieci nie ulega wzrostowi.
Dowód na tablicy
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dowód
Załóżmy, że z konfiguracji ¯σ przeszliśmy do ¯σ0. Niech σi będzie neuronem, który zmieniliśmy, tj σi = −σ0i = −sign(Mi).
Zauważmy, że E (¯σ) = −1
2 X
j 6=i ,k6=i
wjkσjσk− 1 22 ·X
j
wijσiσj −X
j 6=i
hjσj− hiσi
Zmieniliśmy tylko spin σi więcP
j 6=i ,k6=iwjkσjσk oraz P
j 6=ihjσj nie wpływają na zmianę energii.
Obliczmy E ( ¯σ0) − E (¯σ) =
= −X
j
wijσ0iσj − hiσ0i−
−X
j
wijσiσj − hiσi
=
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dowód
Załóżmy, że z konfiguracji ¯σ przeszliśmy do ¯σ0. Niech σi będzie neuronem, który zmieniliśmy, tj σi = −σ0i = −sign(Mi).
Zauważmy, że E (¯σ) = −1
2 X
j 6=i ,k6=i
wjkσjσk−1 22 ·X
j
wijσiσj −X
j 6=i
hjσj− hiσi
Zmieniliśmy tylko spin σi więcP
j 6=i ,k6=iwjkσjσk oraz P
j 6=ihjσj nie wpływają na zmianę energii.
Obliczmy E ( ¯σ0) − E (¯σ) =
= −X
j
wijσ0iσj − hiσ0i−
−X
j
wijσiσj − hiσi
=
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dowód
Załóżmy, że z konfiguracji ¯σ przeszliśmy do ¯σ0. Niech σi będzie neuronem, który zmieniliśmy, tj σi = −σ0i = −sign(Mi).
Zauważmy, że E (¯σ) = −1
2 X
j 6=i ,k6=i
wjkσjσk−1 22 ·X
j
wijσiσj −X
j 6=i
hjσj− hiσi
Zmieniliśmy tylko spin σi więcP
j 6=i ,k6=iwjkσjσk oraz P
j 6=ihjσj nie wpływają na zmianę energii.
Obliczmy E ( ¯σ0) − E (¯σ) =
= −X
j
wijσ0iσj − hiσ0i−
−X
j
wijσiσj − hiσi
=
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dowód
Załóżmy, że z konfiguracji ¯σ przeszliśmy do ¯σ0. Niech σi będzie neuronem, który zmieniliśmy, tj σi = −σ0i = −sign(Mi).
Zauważmy, że E (¯σ) = −1
2 X
j 6=i ,k6=i
wjkσjσk−1 22 ·X
j
wijσiσj −X
j 6=i
hjσj− hiσi
Zmieniliśmy tylko spin σi więcP
j 6=i ,k6=iwjkσjσk oraz P
j 6=ihjσj nie wpływają na zmianę energii.
Obliczmy E ( ¯σ0) − E (¯σ) =
= −X
j
wijσ0iσj − hiσ0i−
−X
j
wijσiσj − hiσi
=
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dowód cd.
E ( ¯σ0) − E (¯σ) = −X
j
wijσi0σj − hiσ0i+X
j
wijσiσj + hiσi =
−X
j
wij(σ0i− σi)σj− hi(σ0i− σi) =
(σi0− σi)
−X
j
wijσj − hi
= (σ0i− σi)(−Mi) Przypomnijmy, że podstawialiśmy σ0i := sign(Mi).
E ( ¯σ0) − E (¯σ) = −(sign(Mi) − (−sign(Mi))Mi = −2|Mi| ≤ 0
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dowód cd.
E ( ¯σ0) − E (¯σ) = −X
j
wijσi0σj − hiσ0i+X
j
wijσiσj + hiσi =
−X
j
wij(σi0− σi)σj − hi(σ0i− σi) =
(σi0− σi)
−X
j
wijσj − hi
= (σ0i− σi)(−Mi) Przypomnijmy, że podstawialiśmy σ0i := sign(Mi).
E ( ¯σ0) − E (¯σ) = −(sign(Mi) − (−sign(Mi))Mi = −2|Mi| ≤ 0
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dowód cd.
E ( ¯σ0) − E (¯σ) = −X
j
wijσi0σj − hiσ0i+X
j
wijσiσj + hiσi =
−X
j
wij(σi0− σi)σj − hi(σ0i− σi) =
(σi0− σi)
−X
j
wijσj − hi
= (σ0i− σi)(−Mi)
Przypomnijmy, że podstawialiśmy σ0i := sign(Mi).
E ( ¯σ0) − E (¯σ) = −(sign(Mi) − (−sign(Mi))Mi = −2|Mi| ≤ 0
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Dowód cd.
E ( ¯σ0) − E (¯σ) = −X
j
wijσi0σj − hiσ0i+X
j
wijσiσj + hiσi =
−X
j
wij(σi0− σi)σj − hi(σ0i− σi) =
(σi0− σi)
−X
j
wijσj − hi
= (σ0i− σi)(−Mi) Przypomnijmy, że podstawialiśmy σ0i := sign(Mi).
E ( ¯σ0) − E (¯σ) = −(sign(Mi) − (−sign(Mi))Mi = −2|Mi| ≤ 0
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Ewolucja sieci Hopfielda, dynamika Little’a
click
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Wniosek
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 wij i pola lokalne hj, Dostosowanie wag i pól zewnętrznych jest zagadnieniem uczenia sieci.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Sieci rekurencyjne Modele sieci rekurencyjnej Energia sieci
Wniosek
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 wij i pola lokalne hj, Dostosowanie wag i pól zewnętrznych jest zagadnieniem uczenia sieci.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
1 Sieci rekurencyjne Sieci rekurencyjne
Modele sieci rekurencyjnej Energia sieci
2 Autoasocjator Hopfielda Konstrukcja
Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
3 Zadania
4 Przeliczenia Pojemność sieci
Poprawne odzyskiwanie
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Cel
Chcemy stworzyć pamięć adresowaną zawartością, tj mając dany fragment obrazu będziemy w stanie go odtworzyć.
Oznaczmy:
Iµ= {ξiµ} — obraz wzorcowy,
i = 1..N — indeks piksela, N — ilość pikseli, µ = 1..P — indeks wzorca, P — ilość wzorców,
σi — neurony sieci, po jednym neuronie na każdy piksel obrazu, wij — wagi między neuronami,
hi — pola zewnętrzne.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Cel
Chcemy stworzyć pamięć adresowaną zawartością, tj mając dany fragment obrazu będziemy w stanie go odtworzyć.
Oznaczmy:
Iµ= {ξiµ} — obraz wzorcowy,
i = 1..N — indeks piksela, N — ilość pikseli, µ = 1..P — indeks wzorca, P — ilość wzorców,
σi — neurony sieci, po jednym neuronie na każdy piksel obrazu, wij — wagi między neuronami,
hi — pola zewnętrzne.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Konstrukcja
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Konstrukcja
Oznaczmy stopień zgodności stanu sieci ¯σ ze wzorcem Iµ
Mµ(¯σ) = 1 N
N
X
i =1
σiξµi = 1 Nh¯σ, Iµi
Mµ(¯σ) = 1 oznacza pełną zgodność, Mµ(¯σ) = −1 całkowitą niezgodność, ale przy naszych oznaczeniach należy pamiętać, że jest to idealny negatyw.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Konstrukcja
Oznaczmy stopień zgodności stanu sieci ¯σ ze wzorcem Iµ
Mµ(¯σ) = 1 N
N
X
i =1
σiξµi = 1 Nh¯σ, Iµi
Mµ(¯σ) = 1 oznacza pełną zgodność, Mµ(¯σ) = −1 całkowitą niezgodność, ale przy naszych oznaczeniach należy pamiętać, że jest to idealny negatyw.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Energia
Zdefiniujmy energię
E (¯σ) = −N 2
P
X
µ=1
(Mµ(¯σ))2 =
= −N 2
P
X
µ=1
1 N
N
X
i =1
σiξiµ
!2
=
−N 2
P
X
µ=1
1 N2
N
X
i =1 N
X
j =1,j 6=i
σiσjξiµξjµ+ 1 N2
N
X
i =1
σi2ξiµ2
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Energia
Zdefiniujmy energię
E (¯σ) = −N 2
P
X
µ=1
(Mµ(¯σ))2 =
= −N 2
P
X
µ=1
1 N
N
X
i =1
σiξiµ
!2
=
−N 2
P
X
µ=1
1 N2
N
X
i =1 N
X
j =1,j 6=i
σiσjξiµξjµ+ 1 N2
N
X
i =1
σi2ξiµ2
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Energia
Zdefiniujmy energię
E (¯σ) = −N 2
P
X
µ=1
(Mµ(¯σ))2 =
= −N 2
P
X
µ=1
1 N
N
X
i =1
σiξiµ
!2
=
−N 2
P
X
µ=1
1 N2
N
X
i =1 N
X
j =1,j 6=i
σiσjξiµξjµ+ 1 N2
N
X
i =1
σi2ξiµ2
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Energia
Zdefiniujmy energię
E (¯σ) = −N 2
P
X
µ=1
(Mµ(¯σ))2 =
= −N 2
P
X
µ=1
1 N
N
X
i =1
σiξiµ
!2
=
−N 2
P
X
1 N2
N
X
N
X σiσjξiµξjµ+ 1 N2
N
Xσi2ξiµ2
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Energia
E (¯σ) = − 1 2N
P
X
µ=1
X
i 6=j
σiσjξiµξjµ
= − 1 2N
N
X
i 6=j P
X
µ=1
σiσjξµi ξjµ
= −1 2
N
X
i 6=j
σiσj
1 N
P
X
µ=1
ξiµξjµ
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Energia
E (¯σ) = − 1 2N
P
X
µ=1
X
i 6=j
σiσjξiµξjµ
= − 1 2N
N
X
i 6=j P
X
µ=1
σiσjξµi ξjµ
= −1 2
N
X
i 6=j
σiσj
1 N
P
X
µ=1
ξiµξjµ
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Energia
E (¯σ) = − 1 2N
P
X
µ=1
X
i 6=j
σiσjξiµξjµ
= − 1 2N
N
X
i 6=j P
X
µ=1
σiσjξµi ξjµ
= −1 2
N
X
i 6=j
σiσj
1 N
P
X
µ=1
ξiµξjµ
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Wagi
Otrzymujemy zależności na wagi:
Wagi
wij = 1 N
P
X
µ=1
ξµi ξjµ
oraz na pola zewnętrzne Pola zewnętrzne
hi = 0
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Przestrzeń stanów
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
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(P
jwijσ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 ¯σ.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Rekonstrukcja obrazu — dynamika Little’a
Ustaloną mamy macierz wag W = (wij)Ni ,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+1i := sign(¯σt+1i )
2 Powtarzamy 2.1 aż stan sieci się ustabilizuje,
3 Wyjściowy obraz odzyskujemy dekodując wyjściową konfigurację spinów ¯σT.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Trajektoria odzyskiwania obrazu
Rysunek uproszczony, przestrzeń to {−1, +1}d a nie R2.
-10
-5
0 5 -2.5 10
-2 -1.5 -1 -0.5 0
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Trajektoria odzyskiwania obrazu
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Ograniczenia
Jakie wymagania sieć musi spełniać aby poprawnie odtwarzać wzorce?
Ile maksymalnie wzorców P =? może się pomieścić w sieci o N neuronach?
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Fakt
Jakie wymagania sieć musi spełniać aby poprawnie odtwarzać wzorce?
Ile maksymalnie wzorców może się pomieścić w sieci o N neuronach?
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Pojemność sieci
Fakt
W sieci o N wierzchołkach można przechować maksymalnie 4 log NN nieskorelowanych wzorców.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Pojemność sieci
W poprawnym działaniu ważną rolę odgrywa brak korelacji między wzorcami uczącymi.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Co to są wzorce skorelowane?
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Co to są wzorce skorelowane?
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Korelacja a poprawne odzyskiwanie
-10
-5 5
-1 10 -0.8-0.6 -0.4-0.20 -10
-5 5
-1 10 -0.8-0.6 -0.4-0.20 -10
-5 5
-1 10 -0.8-0.6 -0.4-0.20
-10 -5
0 5
10-10 -5
0 5 -1 10
-0.8-0.6 -0.4-0.20 -10
-5 0
5 10-10
-5 0
5 -1 10
-0.8-0.6 -0.4-0.20 -10
-5 0
5 10-10
-5 0
5 -1.4 10
-1.2-1 -0.8-0.6 -0.4-0.20
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Konstrukcja Odzyskiwanie obrazu
Stabilność wzorca i pojemność sieci
Niepoprawne odzyskiwanie — za dużo wzorców lub wzorce skorelowane
-10 -5
0
5 -5
0 5 -1 10
-0.8-0.6 -0.4-0.20 -10
-5 0
5 -5
0 5 -1 10
-0.8-0.6 -0.4-0.20 -10
-5 0
5 -5
0 5 -1 10
-0.8-0.6 -0.4-0.20
-10 -5
0 5
10-10 -5
0 5 -1 10
-0.8-0.6 -0.4-0.20 -10
-5 0
5 10-10
-5 0
5 -1 10
-0.8-0.6 -0.4-0.20 -10
-5 0
5 10-10
-5 0
5 -2 10
-1.5-1 -0.50
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Zadania
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?
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Zadania
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?
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
Przeliczenia
Poniższy fragment zawiera szkice oszacowań pojemności sieci, przy której można stabilnie odzyskać obraz,
Nie obowiązuje na egzaminie.
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
Stabilność wzorca
Załóżmy, że
wzorce Iµ są niezależne, tj.
P(ξµi = +1) = P(ξiµ= −1) = 1 2 Pytamy:
kiedy Iµ jest punktem stałym dynamiki sieci?
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
Stabilność wzorca
Policzmy:
Mi(¯σ) =X
j
wijσi =
X
j
1 N
X
µ
ξµi ξjµ
!
σj = X
µ
Mµ(¯σ)ξiµ
Podstawmy za konfigurację wzorzec ¯σ := Iµ0. Mi(Iµ0) = ξiµ0 + P
µ6=µ0Mµ(Iµ0)ξµi
|{z} | {z }
sygnał szum
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
Stabilność wzorca
Policzmy:
Mi(¯σ) =X
j
wijσi = X
j
1 N
X
µ
ξµi ξjµ
! σj
= X
µ
Mµ(¯σ)ξiµ
Podstawmy za konfigurację wzorzec ¯σ := Iµ0. Mi(Iµ0) = ξiµ0 + P
µ6=µ0Mµ(Iµ0)ξµi
|{z} | {z }
sygnał szum
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
Stabilność wzorca
Policzmy:
Mi(¯σ) =X
j
wijσi = X
j
1 N
X
µ
ξµi ξjµ
!
σj = X
µ
Mµ(¯σ)ξiµ
Podstawmy za konfigurację wzorzec ¯σ := Iµ0. Mi(Iµ0) = ξiµ0 + P
µ6=µ0Mµ(Iµ0)ξµi
|{z} | {z }
sygnał szum
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
Stabilność wzorca
Policzmy:
Mi(¯σ) =X
j
wijσi = X
j
1 N
X
µ
ξµi ξjµ
!
σj = X
µ
Mµ(¯σ)ξiµ
Podstawmy za konfigurację wzorzec ¯σ := Iµ0.
Mi(Iµ0) = ξiµ0 + P
µ6=µ0Mµ(Iµ0)ξµi
|{z} | {z }
sygnał szum
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
Stabilność wzorca
Policzmy:
Mi(¯σ) =X
j
wijσi = X
j
1 N
X
µ
ξµi ξjµ
!
σj = X
µ
Mµ(¯σ)ξiµ
Podstawmy za konfigurację wzorzec ¯σ := Iµ0. Mi(Iµ0) = ξiµ0 + P
µ6=µ0Mµ(Iµ0)ξµi
|{z} | {z }
sygnał szum
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
Stabilność wzorca
Policzmy:
Mi(¯σ) =X
j
wijσi = X
j
1 N
X
µ
ξµi ξjµ
!
σj = X
µ
Mµ(¯σ)ξiµ
Podstawmy za konfigurację wzorzec ¯σ := Iµ0. Mi(Iµ0) = ξiµ0 + P
µ6=µ0Mµ(Iµ0)ξµi
|{z} | {z }
sygnał szum
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
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 D2Ξ = 1: Z centralnego twierdzenia granicznego.
Mµ(Iµ0) = 1 N
X
j
ξiµξµj = P
iΞi − N · 0
√ N√
N · 1 →D 1
√
NN(0, 1) ∼ N(0, 1 N) I dalej:
X
µ6=µ0
Mµ(Iµ0)ξiµ∼ N(0,P − 1 N )
Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia
Pojemność sieci Poprawne odzyskiwanie
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 D2Ξ = 1: Z centralnego twierdzenia granicznego.
Mµ(Iµ0) = 1 N
X
j
ξiµξµj = P
iΞi − N · 0
√ N√
N · 1 →D 1
√
NN(0, 1) ∼ N(0, 1 N) I dalej:
X
µ6=µ0
Mµ(Iµ0)ξiµ∼ N(0,P − 1 N )