Sieć Hopfielda jest przykładem sieci ze sprzężeniem zwrotnym (tzw. sieć rekurencyjna), gdzie wyjścia poszczególnych neuronów są podawane z odpowiednimi wagami na wejścia każdego z neuronów. Oczywiście do każdego neuronu podpięte jest wejście, którym doprowadzana jest odpowiednia składowa wektora testowego.

 

W przypadku, gdy sieć pracuje jako pamięć autoasocjacyjna (nasz przykład) wagi połączenia wyjścia neuronu z własnym wejściem są zerowane. Wymagane jest także, aby macierz wag W była symetryczna.

Funkcja aktywacji pojedynczego neuronu wygląda następująco:

 

           

 

 

gdzie i oraz j oznaczają numery neuronów N-neuronowej sieci Hopfielda, natomiast k przedstawia chwilę czasową. Należy również zwrócić uwagę na to, że składowe wektora x w chwili czasowej k=0 są przepisywane na wyjścia neuronów, natomiast dla k>0 wejścia są „odpinane” od neuronów (x=0).

 

W trybie odtwarzania wagi połączeń sieci są ustalone i nie ulegają zmianom. To właśnie dzięki nim sieć „pamięta” wektory wzorcowe, których została „nauczona”. Osiągnięcie na wyjściach sieci stanu ustalonego świadczy, o tym że „skojarzyła” ona wejściowy wektor testowy z „podobnym” do niego wektorem wzorcowym. Jeśli sieć nie dąży do stabilnego wyniku, oznacza to, że nie potrafi ona przyporządkować wektorowi wejściowemu żadnego z zapamiętanych wzorców.

 

W trybie uczenia, na podstawie zbioru wektorów uczących obliczane są wagi. Najprostszą metodą (wykorzystywaną w naszym przykładzie) uczenia sieci jest reguła Hebb’a. Wagi obliczane są według wzoru:

 

 

            gdzie k oznacza numer wektora uczącego a K liczbę wszystkich wektorów uczących.