Benutzer-Werkzeuge

Webseiten-Werkzeuge


lernen_in_hopfield-netzen

Dies ist eine alte Version des Dokuments!


Lernen in Hopfield-Netzen

Um verstehen zu können, wie ein Hopfieldnetz Muster lernt, benutzen wir ein besonders einfaches Netz mit lediglich 4 Neuronen.
Wir wollen, dass das Hopfield-Netz zwei einfache Bilder lernen soll. Schwarze Pixel werden mit 1, weiße mit -1 kodiert.

Anschießend zeigen wir, dass das Netzwerk, nachdem es die Muster gelernt hat, diese auch wiedererkennen kann.

Um diesem Abschnitt verstehen zu können, muss man wissen, wie man eine Matrix mit einem Vektor multipliziert.

$V_1 = \{1,-1,1,-1\}$ $V_2 = \{1,1,-1,-1\}$
Diese beiden Muster, repräsentiert durch v1 und v2, soll unser Netz lernen.

Die Gewichtsmatrix

Bei Hopfieldnetzwerken können die Gewichte ohne ein aufwendiges Lernverfahren direkt aus den Eingabevektoren berechnet werden. Da wir zwei Muster haben, erhalten wir zunächst auch zwei Gewichtsmatrizen (für jedes Muster eine). Durch Addition dieser Matrizen erhalten wir dann die entgültige Matrix W. Wir fassen die wichtigsten Eigenschaften dieser Matrizen zusammen:

  • Jedes Muster generiert zunächst eine eigene Matrix.
  • Die Größe der Matrix hängt von der Größe der Eingabevektoren ab. Hat der Eingabevektor n Komponenten, so hat die daraus resultierende Matrix n x n Komponenten.
    • In unserem Beispiel ist n = 4, also besitzt die Matrix 16 Einträge.
  • Alle Diagonalelemente $w_{ii}$ dieser Matrix sind 0.
  • Die Matrix ist symmetrisch, d.h. $w_{ij} = w_{ji}$.
    • Für unser Beispiel bedeutet das, dass von den 16 Einträgen nur noch (16 -4 ) / 2 = 6 Einträge berechnet werden müssen.
  • Die endgültige Matrix W ist die Summe aller einzelnen Matrizen, d.h. in unserem Beispiel $W = W_1 + W_2$

\begin{equation} W=\begin{pmatrix} w_{11} & w_{12} & w_{13} & w_{14} \\\ w_{21} & w_{22} & w_{23} & w_{24}\\\ w_{31} & w_{32} & w_{33} & w_{34} \\\ w_{41} & w_{42} & w_{43} & w_{44} \end{pmatrix} \end{equation}

Wiedererkennen eines gespeicherten Musters

lernen_in_hopfield-netzen.1705848052.txt.gz · Zuletzt geändert: 2024/01/21 14:40 von torsten.roehl