Da das Problem repräsentativ für die bei langen Trainingssequenzen auftretenden Schwierigkeiten ist, nennen wir es die Standardaufgabe. Im folgenden werden wir verschiedene Architekturen immer wieder an dieser Aufgabe testen.
Standardaufgabe:
Die Schwierigkeit der Standardaufgabe liegt in der
Überbrückung einer Zeitschritte umfassenden
zeitlichen Verzögerung zwischen relevanten Ereignissen.
Es gibt
mögliche Eingabesymbole
.
Jedes Eingabesymbol wird lokal durch einen
-dimensionalen
Bitvektor der Länge 1 eindeutig repräsentiert.
Dem lernenden System wird zu jedem Zeitschritt ein Eingabesymbol
präsentiert.
Alle Nichteingabeknoten verwenden die
logistische Aktivierungsfunktion
.
Jeder Nichteingabeknoten erhält (als modifizierbaren
`Schwellwert') eine zusätzliche Verbindung
von einem Knoten, dessen Aktivation zu jedem Zeitpunkt gleich
1 ist. Alle Gewichte werden zwischen -0.2
und 0.2 initialisiert.
Es gibt lediglich 2 mögliche Eingabesequenzen:
und
.
Diese werden während der Trainingsphase in zufälliger Ordnung
angeboten.
Zu jedem Zeitpunkt besteht ein Ziel darin, die nächste Eingabe
vorherzusagen
(man beachte, daß das erste Symbol jeder Sequenz aufgrund
des zufälligen Auftretens von
und
i.a. nicht
vorhersagbar ist).
Das zweite (und bedeutend schwierigere) Ziel besteht in der
Aktivierung eines speziellen Ausgabeknotens (des Zielknotens),
wann immer die letzten
verarbeiteten Eingabesymbole
waren.
Der Zielknoten soll deaktiviert werden,
wann immer der letzte sich über (m+1) Zeitschritte
erstreckende Eingabesequenzprefix
war.
Es sind also
Ausgabeknoten vonnöten.
Episodengrenzen werden nicht angezeigt: Die Trainingssequenzen
werden sukzessive präsentiert, ohne daß Information
über ihre Anfänge und Enden beigesteuert wird.
So entsteht ein ununterbrochener kontinuierlicher Eingabestrom.
Die Aufgabe gilt als gelöst, wenn die lokalen Fehler
aller Ausgabeknoten (einschließlich des Zielknotens) stets unterhalb
von 0.3 liegen (mit Ausnahme von Fehlern, die
durch das prinzipiell unvorhersagbare Auftreten von
und
provoziert werden).
Konventionelle rekurrente Netze
wurden an der Standardaufgabe bei
verschiedenen
Anzahlen versteckter Knoten,
verschiedenen Lernraten, und
verschiedenen getestet.
Die Experimente wurden von Josef Hochreiter (Diplomand
an der TUM) durchgeführt.
Fehlersignale wurden u. a. durch `abgeschnittenes BPTT'
(siehe Abschnitt 2.3)
zu jedem Zeitpunkt
Schritte zurückpropagiert (das ist die
minimale Anzahl von Zeitschritten, die theoretisch
für Verzögerungen
der Länge
erforderlich ist).
Man beachte, daß zusätzliche Rückpropagierungsschritte nur
Verwirrung stiften würden, statt wohltätige Effekte
zu zeitigen. Insofern darf man sagen, daß hier
externes Wissen über die Natur der
Standardaufgabe einfloß.
Es stellte sich heraus, daß es rekurrenten Netzen
unter obigen Bedingungen schon bei
schlechterdings unmöglich ist,
die Standardaufgabe bei vertretbarem Zeitaufwand zu lösen.
Natürlich lernten die Netzwerke sehr schnell, die Symbole
vorherzusagen, doch die 21 Zeitschritte
umfassende Verzögerung stellte ein praktisch unüberwindliches
Hindernis dar (die Testläufe wurden nach
Trainingssequenzen unterbrochen).
(Es sollte jedoch erwähnt werden, daß beschränkte
Rechnerzeit keine systematischen Tests aller möglichen
Parameterkombinationen erlaubte.)
Man beachte, daß 20 Zeitschritte im Kontext der
Sprachverarbeitung einem alles andere als langen Zeitraum
entsprechen.
Bei (dies enspricht einer 5 Zeitschritte umfassenden
Verzögerung) erwiesen sich bei 4 Testläufen mit
einer Lernrate von 1.0 die folgenden Zahlen von Trainingssequenzen
als erforderlich, um eine befriedigende Lösung zu erzielen:
;
;
;
.