Pamięci skojarzeniowe
Wiodącym obszarem zastosowań modelu dyskretnego jest
konstruowanie pamięci skojarzeniowych, w których
komórki pamięci adresowane są poprzez
swoją zawartość a nie za pomocą określonego adresu.
Zadaniem pamięci skojarzeniowej jest zapamiętanie danego zbioru
wzorców binarnych w taki sposób, żeby po otrzymaniu na wejściu nieznanego
wzorca binarnego
pamięć odtwarzała na wyjściu ten z zapamiętanych
wzorców, który jest najbliższy
w sensie odległości Hamminga
(patrz ramka). Inaczej
formułując problem, pamięć skojarzeniowa powinna spełniać dwa warunki:

- pokazanie na jej wejściu dowolnego z zapamiętanych wektorów
(wzorców) powoduje odtworzenie na wyjściu tego samego wektora,

- pokazanie na wejściu zaburzonej (,,w rozsądnych
granicach'') wersji dowolnego z zapamiętanych wektorów powoduje
odtworzenie na wyjściu poprawnej postaci tego wektora.
Odległość Hamminga
|
dla dwóch wektorów binarnych
i (ozn.
jest równa liczbie bitów, które są różne w tych wzorcach.
Na przykład dla , , , ponieważ wzorce
i różnią sie na dwóch pozycjach (drugiej i trzeciej).
|
|
|
Metodę konstruowania pamięci skojarzeniowej podaną przez Hopfielda
można streścić następująco. Rozważmy
zbiór
złożony z
wzorców bipolarnych (tzn. o elementach
należących do zbioru
)
o długości
każdy.
Transponowanie macierzy
|
Jeżeli jest macierzą, to
przez oznacza się zwykle macierz transponowaną, której
kolejnymi wierszami są kolejne kolumny macierzy , tzn.
jeżeli przez oznaczymy element macierzy , a przez
element macierzy , to zachodzi zależność:
|
|
|
Pamięć skojarzeniowa służąca do zapamiętania wzorców ze zbioru
zbudowana jest z
neuronów
.
Kwadratowa macierz połączeń
o wymiarach
obliczana jest za
pomocą tzw. reguły Hebba:
 |
(1) |
gdzie
jest wagą połączenia wyjścia neuronu
z wejściem
neuronu
. W zapisie macierzowym powyższa zależność ma
postać:
 |
(2) |
gdzie
jest macierzą jednostkową wymiaru
, a
składa
się z
wektorów bazowych zapisanych kolumnowo -
.
Przykładowo, dla zbioru wzorców
macierz
otrzymana przy
zastosowaniu reguły Hebba wygląda następująco:
Rozpoznawanie wzorców z wykorzystaniem nauczonej sieci przebiega w
następujący sposób. Nieznany wzorzec
jest
pokazywany w warstwie wejściowej sieci, a następnie wszystkie neurony
obliczają swoje potencjały wejściowe
, oraz
wyjściowe
, tj.
 |
(3) |
Następnie, otrzymany w powyższym układzie równań wektor
potencjałów
wyjściowych neuronów
jest podawany ponownie na
wejście, liczone są potencjały wejściowe i wyjściowe neuronów, itd.
Iteracyjny proces rozpoznawania może zakończyć sie
dwojako. Po pierwsze wtedy, gdy sieć osiąga stan stabilny, tj. w dwóch
kolejnych iteracjach wygenerowany jest taki sam wektor wyjściowy. Wektor
ten jest odpowiedzią sieci na wektor wejściowy
. Drugi sposób
zakończenia działania sieci ma miejsce wtedy, gdy zostanie przekroczona
zadana z góry liczba iteracji. Sytuacja taka może mieć miejsce w
przypadku, gdy sieć oscyluje pomiędzy dwoma stanami, tj.
na zmianę generuje na wyjściu dwa różne wektory
i
według
schematu:
 |
(4) |
Wracając do naszego przykładu, można łatwo policzyć (zostawiamy to jako
ćwiczenie !), że wskazanie na wejściu dowolnego z wektorów
powoduje odtworzenie na wyjściu tego samego wektora i to
już w pierwszej iteracji. W przypadku wektora
proces rozpoznawania
prowadzi do powstania oscylacji z wektorami
.
[ Początek strony ]
[ MiNIWyklady ]
Wszystkie prawa zastrzeżone © 2000 Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej