Stellvertretend für alle Equilibriumsnetze betrachten wir in diesem Abschnitt lediglich eine relativ junge Entwicklung: den Gradientenabstiegsalgorithmus für zyklische statische Netzwerke, wie er von Almeida [1] und davon unabhängig von Pineda [38] vorgeschlagen wurde. Auch Rohwer und Forrest haben im selben Jahr ein verwandtes Verfahren beschrieben [43].
Der Algorithmus minimiert für ein einzuspeicherndes
Musterpaar dieselbe Fehlerfunktion wie konventionelles
Back-Propagation:
, wobei
tatsächlicher Ausgabevektor und
gewünschter Ausgabevektor ist.
Das Netz kann vollständig rückgekoppelt sein. Natürlich gibt es in voll vernetzten Systemen keine Netzlagen im Sinne obiger Definition mehr: Zu jedem Knoten führen Kantenpfade beliebiger Länge. Dennoch läuft der Algorithmus weitgehend genauso ab wie derjenige für azyklische Netzwerke. Die Aktivationsausbreitungsphase verläuft in mehreren von einem globalen Taktgeber gesteuerten Schritten wie folgt:
Ein Eingabemuster
wird an bestimmten Netzknoten angelegt, die Aktivation der Eingabeknoten
ist gleich ihrer externen Eingabe und ändert sich von nun an nicht mehr.
Jeder Knoten , der kein Eingabeknoten ist,
berechnet synchron mit allen anderen die gewichtete Summe der Aktivationen aller
Knoten, von denen eine Verbindung auf
führt. Das Resultat
wird der Aktivierungsfunktion übergeben, welche zur
Berechnung von
's neuer Aktivation dient. Dieses Vorgehen wird iteriert,
bis sich bei aufeinanderfolgenden Iterationen
keine Knotenaktivation mehr signifikant ändert.
Anschließend findet die Fehlerpropagierungsphase statt:
Die Richtungen
aller Verbindungen im Netz werden umgekehrt. Die Fehlerdifferenzen
der Ausgabeknoten werden multipliziert
mit der Ableitung der Aktivierungsfunktion an der Stelle, die durch
die Aktivationsausbreitungsphase bestimmt wurde.
Das Fehlersignal der Ausgabeknoten
ist damit definiert.
Jeder Knoten , der kein Eingabeknoten ist,
berechnet nun die gewichtete Summe der Fehlersignale von
allen Knoten, von denen eine Verbindung auf
führt.
Um sein
eigenes Fehlersignal zu erhalten, multipliziert
das Resultat
mit der Ableitung der Aktivierungsfunktion an der Stelle, die durch
die Aktivationsausbreitungsphase bestimmt wurde. Dieses Vorgehen wird iteriert,
bis sich bei aufeinanderfolgenden Iterationen keine Fehlersignale
mehr signifikant ändern.
Schließlich ändert sich jedes Gewicht proportional zur Aktivation seines Quellknotens und zum Fehlersignal seines Zielknotens.
Führt die Aktivationsausbreitungsphase in ein Equilibrium, so auch die Fehlerpropagierungsphase. Dies ist eine Konsequenz der Tatsache, daß die Gewichtsmatrix für die Rückwärtsphase der Transponierten der Gewichtsmatrix für die Vorwärtsphase entspricht. Da die Stabilität eines Systems nur von den Eigenwerten seiner Gewichtsmatrix abhängt und die Eigenwerte einer Matrix gleich den Eigenwerten der Transponierten sind, ergibt sich obige Aussage [1]. Man beachte erneut die fast vollständige Symmetrie zwischen Vorwärts- und Rückwärtsausbreitung.