Um das Hopfield-Netz in Aktion erleben zu können, verwenden wir es als autoassoziativen Speicher von Bildern.
Das Netz soll zuerst eine Anzahl von Bildern speichern. Anschließend soll das Netz dann in der Lage sein, ein verrauschtes, also fehlerbehaftetes Bild, zu rekonstruieren.
Dazu betrachten wir Bilder mit lediglich zwei Farben (binäre Bilder). Die Aktivität der Neuronen wird damit farblich codiert. Beispielsweise könnte weiß für Neuron -1 (inaktiv) und schwarz für Neuron 1 (aktiv) stehen.
Das Hopfield-Netz ermöglicht es, bei gegebenen Lernmustern (Bildern) die Lernmatrix $W$ direkt zu Berechnen.
Damit ist das Lernen abgeschlossen, denn die Matrix $W$ ist jetzt bekannt.
Vergewissern Sie sich, dass für alle Elemente $W_{ij}$ der Matrix $W$ gilt:
Damit man überhaupt Bilder wiedererkennen kann, müssen diese zuvor natürlich erst gelernt werden. Nach dem Lernen können wir dem Netzwerk jedoch ein verrauschtes, das heißt fehlerbehaftetes Bild präsentieren und es iterativ wieder rekonstruieren.
Das Hopfield-Netz verwendet die Schwellenwertfunktion als Aktivierungsfunktion:
\begin{equation} f(x)=\left\{\begin{array}{ll} 1 : & x\geq 0 \\ 0 : & x < 0\end{array}\right. \end{equation}
Entscheidener Schritt ist die Berechnung des Produktes aus der Matrix W und dem Bildvektor $V_{\text{ALT}}$. Dieser Schritt ist im Abschnitt „Lernen in Hopfield-Netzen“ beschrieben.
Es gilt $V_{\text{NEU}} = W \cdot V_{\text{ALT}}$ oder etwas mathematischer: \[ V_{n+1} = W \cdot V_n \]
Hier ist n der n-te Iterationsschritt bei der Rekonstruktion des Bildes. Anschließend muss noch die Aktivierungsfunktion auf das Ergebnis angewandt werden:
\[ f(V_{n+1}) \] Damit erhalten wir die Aktivität der Neuronen (sie feuern mit 1 oder nicht mit -1), und in unserem Fall entspricht das einem Bild.
Der Algorithmus um ein Bild zu rekonstruieren lautet nun: