Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03577.jsonl.gz/1575

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].