Was bisher geschah Künstliche neuronale Netze I Ein-Schicht-Feed-Forward-Netze (∆-Regel) I Mehr-Schicht-Feed-Forward-Netze (Backpropagation) I RBF-Netze I rekurrente Netze (Jordan, Elman) Assoziativspeicher: I heteroassoziative Netze (bidirektionaler Assoziativspeicher) I Mustererkennungsnetze I autoassoziative Netze zur Zuordnung unvollständiger oder verrauschter Eingaben 72 Hopfield-Netz (autoassoziativer Musterspeicher) Netz-Topologie: I Neuronen sind Schwellwertelemente (verarbeiten Bipolarvektoren) I Jedes Neuron ist zugleich Ein- und Ausgang x ∈ {−1, 1}m I vollständige symmetrische Verbindungen ohne Selbstrückkopplung (Km ) (ungerichteter vollständiger Graph Km , ohne Schlingen) I Gewichte an jeder Kante (für beide Richtungen gleich) Gewichte in Gewichtsmatrix R m×m (symmetrisch, irreflexiv) I Zustand des Netzes (zu einem Zeitpunkt t): Aktivierung aller Neuronen (Vektor aus {−1, 1}m ) 73 Hopfield-Netz – Neuronenmodell Neuronenmodell (modifizierte Schwellwertelemente): I Verarbeitung von Bipolarvektoren I Eingangsfunktion: gewichtete Summe I Aktivierungsfunktion (abhängig von der Aktivierung a im vorigen Schritt: −1 falls v < 0 1 falls v > 0 sgn(v , a) = a falls v = 0 I Ausgangsfunktion: Identität 74 Hopfield-Netz – Funktion Eingabe : Startzustand (initiale Zustände aller Neuronen) Berechnung : Folge von Schritten (Zustandsübergängen): Aktualisierung: Neuberechnung der Aktivierung der Neuronen wiederholen, bis stabiler Zustand erreicht oder Abbruch ausgelöst wird Konvergenz : Erreichen eines stabilen Zustandes (ändert sich bei Aktualisierung beliebiger Neuronen nicht) Ausgabe : Zustand des stabilen Netzes Aktualisierung in jedem Schritt: asynchron: Zustandsänderung eines zufällige gewählten Neurons (faire Auswahl) synchron: gleichzeitige Zustandsänderung für alle Neuronen Beispiel (Tafel): W = 0 −1 −1 0 x = (1, −1) 75 Hopfield-Netz – Beispiele 0 1 1 W = 1 0 1 1 1 0 x = (1, −1, 1) 0 −1 1 1 −1 0 −1 −1 W = 1 −1 0 1 1 −1 1 0 −1 −1 −1 W = −1 −1 −1 −1 −1 −1 x = (−1, −1, 1, 1) x = (1, 1, 1) wii 6= 0 → Oszillation 76 Hopfield-Netz – Training direkte Berechnung der Gewichte möglich, kein Training notwendig I für ein zu speicherndes Muster x ∈ {−1, 1}m : W = xT x mit Modifikation: alle Diagonalelemente 0 I für mehrere zu speichernde Muster x (1) ∈ {−1, 1}m , . . . , x (k ) ∈ {−1, 1}m : W = n X x (i) T x (i) i=1 mit Modifikation: alle Diagonalelemente 0 Beispiel (Tafel): I ein Muster: x = (1, −1, 1, 1) I mehrere Muster: x (1) = (−1, 1, −1) und x (2) = (1, −1, 1) 77 Hopfield-Netz – Aufgabe Hopfield-Netz zum Speichern der Muster • • • • • • • • • • • • • • • • • • • • • • • • • • • • Eingabe der Muster • • • • • • • • • • 78