Hopfield-Netz
Als Hopfield-Netz bezeichnet man eine besondere Form eines künstlichen neuronalen Netzes. Sie ist nach dem amerikanischen Wissenschaftler John Hopfield benannt, der das Modell 1982 bekannt machte.
Struktur
Hopfield-Netze gehören zur Klasse der Feedback-Netze (Netze mit Rückkopplung). Bei einem Hopfield-Netz existiert nur eine Schicht, die gleichzeitig als Ein- und Ausgabeschicht fungiert. Jedes der binären McCulloch-Pitts Neuronen ist mit jedem, ausgenommen sich selbst, verbunden. Die Neuronen können die Werte -1 und 1 annehmen, welche den Zuständen "feuert nicht" und "feuert" entsprechen.
In Hopfield-Netzwerken sind die synaptischen Gewichte symmetrisch, d.h. es gilt $ w_{i,j}=w_{j,i} $ für alle i und j. Dies ist zwar biologisch nicht sinnvoll, erlaubt aber das Aufstellen einer Energiefunktion und die Analyse der Netzwerke mit Methoden der statistischen Mechanik.
Da die Vektoren für die Ein- und Ausgabe gleich lang sind, spricht man auch von einem Autoassoziationsnetz.
Arbeitsweise
Bei der Implementierung eines Hopfieldnetzwerkes stellt sich die Frage, ob die Gewichte der Neuronen synchron oder asynchron geändert werden sollen.
- synchrone Änderung bedeutet, dass in einem Iterationsschritt alle Neuronen gleichzeitig aktualisiert werden.
- asynchrone Änderung bedeutet, dass ein Neuron zufällig gewählt und berechnet und der Wert bei der nächsten Berechnung sofort mit berücksichtigt wird.
Asynchrones Ändern des Hopfieldnetzes ist am verbreitetsten.
Musterwiederherstellung mit Hopfieldnetzen
Hopfield Netze können als Autoassoziativspeicher benutzt werden, um verrauschte oder auch nur teilweise vorhandene Muster zu rekonstruieren. Dies geschieht in drei Phasen:
Trainingsphase
Hier werden dem Netz eine Zahl L von vorgegeben Mustern eingespeichert. Dies geschieht durch Einstellen der synaptischen Gewichte. Gesucht ist also eine geeignete Gewichtsmatrix der Größe NxN, welche symmetrisch ist. Sie kann zum Beispiel in einem Schritt mit folgender Regel berechnet werden, die auch als verallgemeinerte Hebbsche Lernregel bezeichnet wird:
$ w_{i,j}=w_{j,i}={\begin{cases}\sum _{\mu =1}^{L}M_{\mu ,i}\cdot M_{\mu ,j}&{\text{falls }}i\neq j\\0&{\text{sonst}}\end{cases}} $
wobei
$ M\in \mathbb {R} ^{L\times N} $
$ L{\hat {=}}{\text{ die Anzahl der zu assoziierenden Muster}} $
$ N{\hat {=}}{\text{ die einzelnen Werte in den Mustern}} $
Man möchte im Allgemeinen möglichst viele verschiedene Muster in ein Hopfield einspeisen. Jedoch ist die Speicherkapazität nach dem Verhältnis $ {\frac {L}{N}} $ begrenzt.
Eingeben eines Testmusters
Nun gibt man ein Testmuster, zum Beispiel ein verrauschtes oder unvollständiges Bild in das Netz hinein. Hierzu setzt man einfach die Neuronen in den Zustand, der dem Testmuster entspricht.
Rechenphase
Die Neuronen werden asynchron mit folgender Regel aktualisiert: $ s_{i}=\left\{{\begin{matrix}1&{\mbox{wenn }}\sum _{j}{w_{ij}s_{j}}>\theta _{i},\\-1&{\mbox{sonst}}\end{matrix}}\right. $ wobei $ s_{i} $ der Zustand des zu aktualisierenden Neurons und $ \theta _{i} $ ein Schwellenwert ist.
Das Ergebnis könnte in diesem Fall ein je nach Anzahl der Iterationsschritte mehr oder weniger gut entrauschtes Bild sein. Bis zu einem Verhältnis $ {\frac {L}{N}}=0,138 $ (Verhältnis einzuspeichernder Muster zu Neuronen des Hopfield-Netzes) garantiert die Hebbsche Regel, dass das System sich nicht mehr ändert, wenn es in einem Zustand angelangt ist, der einem der gespeicherten Muster entspricht. Es lässt sich außerdem zeigen, dass das System immer in einem stabilen Endzustand ankommt.
Folgende drei Endzustände sind denkbar:
- Das Muster wurde korrekt erkannt.
- Das invertierte Muster wurde erkannt.
- Es kann kein Muster erkannt werden, das Netzwerk gelangt in einen stabilen unechten Zustand, der keinem der Muster entspricht.
Beziehung zur statistischen Mechanik
Für das Hopfield-Modell existiert eine Energiefunktion der Form $ E=-{\frac {1}{2}}\sum _{i\neq j}{w_{ij}{s_{i}}{s_{j}}}+\sum _{i}{\theta _{i}\ s_{i}} $, deren Wert, wie sich beweisen lässt, bei jeder Aktualisierung gemäß obiger Regel abnimmt. Nur bei den stabilen Mustern (und den unechten Zuständen) bleibt auch die Energie gleich, diese stellen also lokale Minima der Energielandschaft dar.
Es gibt einen Zusammenhang zwischen dem Hopfieldmodell und dem Ising-Modell, für dessen Energie gilt: $ E=-{\frac {1}{2}}\sum _{<ij>}{J_{ij}{s_{i}}{s_{j}}}+\sum _{i}{h_{i}\ s_{i}} $. Insbesondere zu Spingläsern, bei denen die $ J_{ij} $ zufällig verteilt sind, besteht große Ähnlichkeit. So konnte mit Methoden der theoretischen Physik gezeigt werden, dass Hopfieldnetze nur bis zu einem Verhältnis $ {\frac {L}{N}}=0,138 $ als assoziatives Gedächtnis verwendbar sind.
Weblinks
- Konvergenz des diskreten Hopfield-Netzes (PDF; 70 kB)
- „Hopfield Network“. In: Scholarpedia (englisch, inkl. Literaturangaben)