Josef Hochreiter (Diplomand an der TUM) implementierte
Varianten des obigen Algorithmus und
testete sie an der in Abschnitt 2.6.4 beschriebenen
Standardaufgabe mit zeitlichen Verzögerungen der Länge .
Zwar erfordert die Kollapsoperation
mehr Trainingsaufwand, als zur Adjustierung
einer nicht kollabierenden Multiebenenhierarchie notwendig ist.
Auch die Kollapsarchitektur kann jedoch `konventionellen' Algorithmen
für rekurrente Netze in zweifacher Hinsicht überlegen
sein. Bei den Experimenten stellte sich heraus:
(a) Die Anzahl der erforderlichen Rückpropagierungsschritte
pro Zeitschritt war bei der Kollapsarchitektur deutlich geringer.
(b) Die Anzahl der erforderlichen Trainingssequenzen
betrug nur einen kleinen Bruchteil der entsprechenden Anzahl für
die konventionelle Architektur.
Es galt wieder .
besaß einen versteckten Knoten,
einen Eingabeknoten für jedes
der Eingabesymbole
,
einen Eingabeknoten für den letzten extern vorgegebenen Zielwert,
und einen stets mit 1 aktivierten
Eingabeknoten, dessen ausgehende
Verbindungen modifizierbare Schwellwerte für alle
Nichteingabeknoten bereitstellten.
wurde aktualisiert, wann immer der an den
von
nicht für die Vorhersage von
's Zustand
verwendeten Ausgabeknoten beobachtete maximale Fehler
den Wert 0.2 überstieg.
besaß einen versteckten Knoten und 23 Ausgabeknoten.
Es waren keine eindeutigen
Zeitschrittrepräsentationen
notwendig.
verfügte über 23 Ausgabeknoten, um die nächste Umgebungseingabe
vorherzusagen, sowie
23 Ausgabeknoten, um den internen Zustand
von
zu rekonstruieren.
Pro Netzwerkaktualisierung wurde eine
Iteration ausgeführt. Beide Netzwerke wurden durch
`abgeschnittenes BPTT' (Kapitel 2) trainiert.
Bei der Fehlerrückpropagierung wurden lediglich 3 Iterationen
pro Zeitschritt
ausgeführt, obwohl es darum ging, eine Lücke von 20 Zeitschritten
zu überbrücken.
Die Lernraten beider Netze waren gleich 1.0.
17 Testläufe wurden durchgeführt. Bei 13 Testläufen erwiesen
sich weniger als 5000 Trainingssequenzen als erforderlich, um den
Fehler von 's Zielknoten stets kleiner als 0.12 zu machen.
Für die übrigen 4 Testläufe ergaben sich folgende Zahlen
als obere Schranken für die Zahl der Trainingssequenzen, die
benötigt wurden, um den
Fehler des Zielknotens unter den Wert 0.06 zu drücken:
30.000, 35.000, 25.000, 15.000.
Man vergleiche dies mit den in Abschnitt 2.6.4 gewonnenen Resultaten:
Innerhalb von Trainingsepisoden gelang es dem konventionellen
Algorithmus nicht, dasselbe Problem zu lösen.
Typischerweise lernte schnell, die leicht vorhersagbaren
Symbole
zu prophezeihen.
Dies führte zu einer stark reduzierten Eingabe für das
-Netz, welches
nun bei der Aufgabe,
die korrekten Zielwerte am Ende
der Trainingssequenzen zu lernen,
auf wenig Schwierigkeiten traf.
Nach geraumer Zeit sah sich
imstande,
's interne
Repräsentationen nachzuahmen, was
wiederum die Basis dafür
lieferte, die korrekten Zielwerte selbst zu lernen.
Die endgültige Gewichtsmatrix von verfügte über die Eigenschaften,
die man erwarten würde: Typischerweise schaltete sich ein versteckter Knoten
in dem Moment ein, in dem das Terminalzeichen
erschien. Eine starke rekurrente Verbindung dieses Knotens
auf sich selbst hielt ihn für die folgenden 21 Zeitschritte
`am Leben', danach wurde der Knoten im Falle des Auftretens eines
's inhibiert. (Es traten auch ähnliche symmetrische Lösungen auf.)
Bemerkenswerterweise evolvierte diese 20 Zeitschritte überbrückende Struktur trotz der Tatsache, daß, wie erwähnt, nur 3 Fehlerrückpropagierungsiterationen pro Zeitschritt ausgeführt wurden.