Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski
Sieci Neuronowe
Laboratorium
Dyskretne sieci Hopfielda
Wiadomości wstępne
• Architektura sieci
y
z-1
S
1
y 2
z-1
S
.
.
.
j
w
i
ij
..
..
..
yN
z-1
S
• Algorytm uczenia
1 dla zbioru uczącego o rozmiarze M i elementach {x(1), x(2), . . . , x(M)} ∈
N
R , ko-
rektę parametrów sieci przeprowadza się wg wzoru: (PM
(2x(m) − 1)(2x(m) − 1)
dla
i 6= i
w
m=1
i
j
ij =
0
dla
i = j
• Stabilność
sieci Hopfielda zawsze osiągają stan stabilny po pewnej określonej liczbie iteracji (proces odtwarzania wzorca), w którym:
xi(k + 1) = xi(k), ∀i
Stany stabilne, odpowiadające minimum funkcji energii nazywa się atraktorami.
Każdemu z nich można przyporządkować zbiór warunków początkowych x(0), które inicjują ewolucję sieci kończącą się w tym atraktorze. Zbiór ten nazywamy niecką przyciągania danego atraktora.
• Pojemność pamięci asocjacyjnej
Istotnym parametrem pamięci asocjacyjnej jest jej pojemność. Przez pojemność rozumie się maksymalną liczbę wzorców zapamiętanych i odtwarzanych z akcepto-walnym błędem εmax. Maksymalna pojemność pamięci asocjacyjnej dla dużej liczby elementów przetwarzających N i błędzie εmax = 1% wynosi: pmax = 0.138N
Sieć Hopfielda często stosowana jest jako pamięć autoskojarzeniowa inaczej nazy-wana pamięcią autoasocjacyjną. Załóżmy, że dany jest zbiór M różnych wzorców
{x(1), x(2), . . . , x(M)} ∈
N
R . Pamięcią autoskojarzeniową związaną z tym zbiorem nazywamy układ realizujący odwzorowanie F :
N
N
R
→ R
takie, że F (x(m)) =
x(m),
m = 1, . . . , M oraz F (x) = x(l), jeżeli x(l) jest najbardziej podobny do x spośród wszystkich wzorców. Stopień podobieństwa dwóch wektorów a i b można wyznaczyć stosując odległość Hamminga.
Zadania
1. Jak definiuje się odległość Hamminga? Wyznaczyć odległości pomiędzy wektorami a i b zdefiniowanymi poniżej:
• a = [0 1 1 1 0 0 1 0], b = [1 0 0 0 1 1 0 1]
• a = [0 1 1 1 0 0 1 0], b = [0 1 1 1 0 0 1 0]
• a = [0 1 1 1 0 0 1 0], b = [1 0 1 0 0 1 1 0]
2. Wyznaczyć stan stabilny następującej sieci Hopfielda. Czy dla danego stanu począt-kowego mogą istnieć dwa różne stany stabilne?
1
-1
3
2
2
-2
-2
-1
1
3. Zapoznać się z następującymi funkcjami przybornika NNET dotyczącymi dyskretnej sieci Hopfielda:
• simuhop - symulacja sieci Hopfielda
• solvehop - projektowanie sieci Hopfielda
4. Zastosować sieć Hopfielda złożoną z pięciu neuronów do zapamiętania trzech wzorców: Ψ1 = [+1, +1, +1, +1, +1]T , Ψ2 = [+1, −1, −1, +1, −1]T , Ψ3 = [−1, +1, −1, +1, +1]T .
(a) Wyznaczyć macierz połączeń synaptycznych.
(b) Za pomocą asynchronicznego odtwarzania stanu sieci pokazać, że wszystkie trzy wzorce zostały poprawnie zapamiętane.
(c) Przebadać jak zostaną odtworzone zapamiętane wzorce przy pomocy synchronicznego odtwarzania stanu sieci.
(d) Przebadać zachowanie się sieci w przypadku prezentacji wzorca Ψ1 w którym wartość drugiego elementu został zmieniona na −1.
(e) Pokazać, że wzorce Ψ0 = [−1, −1, −1, −1, −1]T , Ψ0 = [−1, +1, +1, −1, +1]T , 1
2
Ψ0 = [+1, −1, +1, −1, −1]T są także zapamiętane przez sieć neuronową.
3
2
(f) Przypuśćmy, że pierwszy element wzorca Ψ3 jest brakujący (równy 0). Określić odpowiedź sieci na taki wzorzec. Porównać odpowiedź sieci z wzorcem orygi-nalnym.
5. W oparciu o dyskretną sieć Hopfielda zaprojektować system rozpoznawania znaków alfanumerycznych. Przetestować nauczoną sieć, wykorzystując wzorce oryginalne i zaszumione.
3