Professional Documents
Culture Documents
Laboratorium 6
opracowanie
krzysztof borzęcki
Laboratorium 6/15
Sieć Hopfielda
1.2 Struktura
Sieć Hopfielda należą do klasy sieci ze sprzężeniem zwrotnym. W sieci Hop-
fielda istnieje tylko jedna warstwa, która działa jednocześnie jako warstwa wej-
ściowa i wyjściowa. Każdy z neuronów (neuronów McCullocha-Pittsa) jest po-
łączony ze wszystkimi innymi poza sobą samym. Neurony mogą przyjmować
wartości −1 i 1 (niektórzy przyjmują też zbiór wartości {0, 1}, ale tu trze-
ba wykonywać dodatkowe przekształcenia). Istnieje także możliwość pracy na
zbiorze {−1, 0, 1}.
Sieć Hopfielda składa się z n neuronów z progami Ti , pobudzanych zarów-
no sygnałami zewnętrznymi, jak i sygnałami sprzężenia zwrotnego od innych
neuronów, zgodnie ze wzorem
(1.3) vi = [v1 v2 . . . , vn ]T ,
czyli
wi1
wi2
... v1
w v
i(i−1) 2
(1.4) wi = , v=
.
0 . . .
w vn
i(i+1)
...
win
2
Opracowanie Krzysztof Borzęcki
0 0 . . . f (·)
Zauważmy, że nieliniowe funkcje aktywacji f (·) na przekątnej operatora Γ dzia-
łają niezależnie na łączne pobudzenie każdego z neuronów.
Funkcja f jest podana przez
1,
jeżeli a > 0,
(1.13) f (a) = wcześniejsza wartość, jeżeli a = 0,
−1, jeżeli a < 0.
Uwaga. Niektórzy autorzy jako funkcję f przyjmują funkcję signum, czyli
f (a) = sgn(a), a więc istnieje możliwość przyjęcia funkcji
1,
jeżeli a > 0,
(1.14) f (a) = sgn(a) = 0, jeżeli a = 0,
−1, jeżeli a < 0.
gdzie k jest numerem kroku, i zaś jest numerem neuronu, którego stan ulega
zmianie. Reguła przejścia (1.20) została otrzymana ze wzoru (1.7) przy uprasz-
czających założeniach, że zewnętrzne sygnały xi oraz progi Ti , są równe zeru
dla i = 1, 2, . . . , n.
(1.23) W ←− 0.
(1.24) W ←− sm · sTm − I.
(1.25) α1 , α2 , . . . , αn .
1.6 Zadania
Zad. 1.1. Stosując synchroniczny algorytm aktualizacji, znaleźć cykl granicz-
ny, biorąc macierz wagową 2 × 2 o zerowych elementach diagonalnych, a po-
zostałych równych −1 i startując od wektora początkowego v0 = [−1 − 1]T z
zerowymi wektorami x i T. Za funkcję f przyjąć funkcję signum.
Zad. 1.2. Stosując asynchroniczny algorytm aktualizacji, znaleźć stan gra-
niczny sieci Hopfielda, biorąc macierz wagową 2 × 2 o zerowych elementach
diagonalnych, a pozostałych równych −1 i startując od wektora początkowego
v0 = [−1 − 1]T z zerowymi wektorami x i T. Za funkcję f przyjąć funk-
cję signum. Wykonać obliczenia, gdy z aktualizacją startujemy od pierwszej
składowej oraz w drugim przypadku od drugiej składowej.
Zad. 1.3. Dla sieci Hopfielda jako pamięci asocjacyjnej uzyskanych z wektorów
uczących
−1 −1
1 −1
(1.27) s1 =
s2 =
−1 1
1 1
wykonać obliczenia:
1. 4 kroki aktualizacji synchronicznej.
2. 8 kroków aktualizacji asynchronicznej dla kolejności ustalonej
(1.28) 4, 3, 2, 1.
(1.29) 3, 2, 4, 1.
dla wektora
−1
−1
(1.30) v0 = .
−1
1
Zad. 1.4. Dla macierzy
0 1 1 −1
1 0 1 −1
(1.31) W=
1 1 0 −1
−1 −1 −1 0
z zerowymi wektorami x i T obliczyć funkcję energii dla wektorów:
1 −1 1
−1 −1 1
(1.32) v1 = v2 = v3 =
1 −1 −1
−1 1 1