Die Grundidee des folgenden Verfahrens geht auf Minsky und Papert [56] zurück, die darauf hinwiesen, daß die Aktivationsausbreitungsphase eines zyklischen dynamischen Netzes durch die Aktivationsausbreitungsphase eines wesentlich größeren azyklischen statischen Netzes beschrieben werden kann.
Für jeden Zeitschritt der Aktivationsausbreitungsphase, die ein rekurrentes Netzwerk durchläuft, legt man eine neue Kopie aller Knoten samt ihren gegenwärtigen Aktivationen an. Die Topologie des zu konstruierenden azyklischen Netzes ergibt sich dadurch, daß jede Verbindung des ursprünglichen Netzes in eine `virtuelle' Verbindung transformiert wird, die in dem azyklischen Netz die Kopien der entsprechenden Knoten zu aufeinanderfolgenden Zeitschritten verbindet [85][144] (siehe hierzu Abbildung 2.2).
![]() |
Man kann sich die als Gewichte virtueller Verbindungen
zur
-ten Lage eines azyklischen Netzes vorstellen.
Die Kettenregel liefert uns einen iterativen Algorithmus zur Berechnung
von (2.6). Wir schreiben zunächst
Nun lassen sich die endgültigen Gewichtsänderungen bestimmen:
Es ist offenbar nicht nötig, neben den zeitveränderlichen Aktivationen auch die Verbindungen und ihre Gewichte stets von neuem zu kopieren, da es sich ja für jeden Zeitschritt um dieselben Verbindungen handelt. Zweckmäßigerweise führt man für jeden Knoten des zyklischen Netzes einen Stapel ein, auf den die jeweiligen Aktivationen bei sukzessiven Zeitschritten der Aktivationsausbreitungsphase gestapelt werden. Bei der anschließenden Fehlerpropagierungsphase werden die Aktivationen nach dem `last-in-first-out'-Prinzip wieder vom Stapel geholt, um die Fehlersignale zu berechnen.
Komplexität.
Egal, wie man den Algorithmus implementiert, in jedem Fall
braucht man Speicherplatz unbekannter Größe für den Fall, daß
kein Wissen um die Längen der Trainingssequenzen zur Verfügung
gestellt wird.
Wie wir jedoch später sehen werden, ist
BPTT die Methode der Wahl, wenn von vornherein bekannt ist, daß
alle Trainingssequenzen weniger als Zeitschritte umfassen.
Die Speicherkomplexität (die Anzahl der Variablen zur Speicherung
von Gewichten und zeitlich variierenden Aktivationen)
beträgt für einen Durchgang
.
Die Zeitkomplexität (die Anzahl der erforderlichen Multiplikationen
und Additionen) pro Durchgang
beträgt
.
Der Spitzenberechnungsaufwand pro
Verbindung und Zeitschritt liegt bei
.
Das liegt daran, daß
im jeweils letzten Zeitschritt eines Trainingsintervalls der gesamte
Fehlerpropagierungs- und Gewichtsänderungsprozeß untergebracht
werden muß.
`Abgeschnittenes BPTT'. Weiß man von vornherein, daß
während der Trainingsphase
zwischen
Eingabeereignissen und korrelierten Fehlersignalen
keine zeitlichen Verzögerungen
der Länge
auftreten, so genügt es,
die Fehlersignale
zu jedem Zeitpunkt höchstens
Schritte
`in die Vergangenheit' zu senden,
statt sie (wie bei BPTT vorgeschrieben)
bis zum Anfang der Sequenz zurückzupropagieren
[149].