Dieser Abschnitt zeigt anhand des ersten mir bekannten Experiments zum R-Lernen in einer Nicht-Markov-Umgebung (einem `Flip-Flop-Experiment'), daß die Antwort auf die einführende Frage `ja' lautet []. Programmierung und Tests wurden von Josef Hochreiter im Rahmen eines Fortgeschrittenenpraktikums durchgeführt [15].
Das Steuernetzwerk sollte lernen, sich analog zu einem Flip-Flop zu verhalten. 's Aufgabe bestand dabei darin, auf einem kontinuierlichen Strom von Eingabeereignissen in folgender Weise zu reagieren: Wann immer das Ereignis `B' zum ersten Mal nach dem Ereignis `A' stattfand, sollte die Aktion `Eins' ausgegeben werden, in allen anderen Fällen die Aktion `Null'. Ein ähnliches Experiment wurde von Williams und Zipser im Kontext des überwachten Lernens zur Demostration der Fähigkeiten des IID-Algorithmus verwendet [80].
Eine Schwierigkeit bestand darin, daß die Ereignisse in der Umgebung auf zufällige Weise generiert wurden und beliebig lange Verzögerungen zwischen relevanten Ereignissen auftreten konnten. (Da haben wir gerade die Nicht-Markov-Eigenschaft.) mußte also lernen, sich das Eintreten des Ereignis `A' über einen im Prinzip beliebig langen Zeitraum zu merken, nachfolgende unter Umständen irrelevante Ereignisse zu ignorieren und beim Eintreten von `B' in korrekter Weise zu reagieren sowie die `Speicherung' von `A' rückgängig zu machen.
Eine weitere Schwierigkeit für das lernende System bestand darin, daß es keine Trainingsintervallsgrenzen gab. Auf diese Weise konnten durch frühere Ereignisse verursachte Aktivationsspuren einen störenden Einfluß auf Aktivationszustände während späterer `Versuche' nehmen.
Die Hauptschwierigkeit bestand natürlich (wie stets beim R-Lernen, hier liegt der wesentliche Unterschied zu Williams und Zipsers Experiment) in der Abwesenheit eines informativen Lehrers. wurde seine gewünschte Ausgabe niemals von externer Seite mitgeteilt, vielmehr mußte in einer Vielfalt raum-zeitlicher Kontexte alternative Aktionen ausprobieren und sich ein dynamisches Modell der entsprechenden unter Umständen `schmerzhaften' Konsequenzen verschaffen. Die einzige Zielinformation für bestand zu einem gegebenen Zeitpunkt nämlich in der Aktivation eines Schmerzeingabeknotens proportional zum Unterschied zwischen 's jeweils letzter (reellwertigen) Aktion aus dem Intervall und der von der Flip-Flop-Umgebung erwünschten Aktion. (Der Proportionalitätsfaktor betrug 0.5.)
In Abbildung 5.2 ist die Topologie der interagierenden rekurrenten
Netze für diese Aufgabe dargestellt. besaß 5 Eingabeknoten,
darunter 3 `normale' Eingabeknoten für 3 mögliche lokal
repräsentierte Ereignisse `A', `B', `D'. Das Eintreten eines
dieser Ereignisse
wurde dadurch repräsentiert,
daß der entsprchende Knoten mit einem
Wert von 1.0 aktiviert wurde und die anderen Eingabeknoten ausgeschaltet
wurden. Weiter gab es einen stets mit
dem Wert 1.0
aktivierten `wahren' Eingabeknoten (für modifizierbare `Schwellwerte')
sowie einen Schmerzknoten. 's Ausgabeknoten war probabilistisch
und bestand seinerseits
aus 3 Subknoten, 2 davon zur Mittelwert- und Varianzgenerierung.
Der Beitrag des Varianzknotens
bestand in seiner gegenwärtigen Aktivation multipliziert mit
Es wurden Testläufe sowohl für die parallele Version als auch für die sequentielle Version von A2 veranstaltet. In beiden Fällen führte stets eine Neuberechnung seiner Aktivationen pro Umgebungszeitschritt aus. , dessen Aufgabe in gewissem Sinne komplizierter war als 's Aufgabe (es mußte ja auch die Konsequenzen von 's Fehlern modellieren), wurden zwei Iterationen pro Umgebungszeitschritt gestattet (Schritt 3 des Algorithmus).
Bei der sequentiellen Version wurde zunächst für 150.000 Zeitschritte mit Hilfe von zufällig gewählten gleichverteilten Steuernetzwerkausgaben trainiert. Nach dem anschließenden Einfrieren von 's Gewichten wurden weitere 50.000 Zeitschritte auf das Training von verwendet. Sowohl als auch betrugen 1.0. In 10 Versuchen fand der Lernalgorithmus stets eine brauchbare rekurrente Gewichtskonfiguration für das Steuernetzwerk. (Um zu entscheiden, ob eine Gewichtskonfiguration `brauchbar' war oder nicht, wurde 's Gewichtsmatrix nach der Lernphase `manuell' inspiziert und ihre Arbeitsweise nachvollzogen.)
Wie zu erwarten war, benötigte A2 wesentlich mehr Zeit für die Lösung des Flip-Flop-Problems als der überwachte IID-algorithmus: Gibt man nämlich den Ausgabeknoten die Lösung vor, so ist die entsprechende überwachte Lernaufgabe innerhalb weniger 1000 Zeitschritte zu lösen [80]. Der Grund dafür liegt natürlich darin, daß der gesuchte Steuergradient beim R-Lernen nicht vorgegeben ist, sondern vom Lernsystem erst `entdeckt' werden muß.
Auch mit der parallelen Version konnte das Problem gelöst werden. Es erwiesen sich allerdings längere Lernzeiten als erforderlich. Mit und führten von 30 Testläufen nur 20 innerhalb von 1.000.000 Zeitschritten zum Erfolg.
Die Experimente zeigen, daß zumindest bei relativ kleinen Problemen die sequentielle Version gegenüber der parallelen Version vorteilhaft abschneiden kann. Andererseits liefern sie erstmalig den Nachweis, daß durch die Einführung der probabilistischen Ausgabeknoten sowie durch die entsprechende Modifikation des Lernverfahrens tatsächlich parallel gelernt werden kann, was keineswegs von vornherein klar war. Auch im Kapitel 7 wird die Einführung probabilistischer Ausgabeknoten das parallele Lernen eines Steuer- und eines Modellnetzes ermöglichen. Allerdings ist auch dort die Anwendungsdomäne nicht komplex genug, um die hypothetisch zu erwartenden Effizienzvorteile parallelen Lernens experimentell zu verfizieren. Effizienzgewinn sollte man ja vor allem dann erwarten, wenn es im Rahmen einer gestellten Aufgabe auch viel Irrelevantes zu lernen gibt.
Um sich mehr Klarheit über Vor- und Nachteile beider Versionen zu verschaffen5.1, wären Experimente mit komplizierteren und vielschichtigeren Problemen sowie den dazugehörigen größeren Netzen notwendig. Allerdings stießen wir bereits mit dem obigen relativ einfachen Experiment an die Grenzen des auf unserer Maschine noch erträglichen Berechnungsaufwands. Die sequentielle Simulation spielte sich auf einer SUN SPARC Station ab, ein einziges Flip-Flop-Experiment verbrauchte dabei ca. einen Tag Rechenzeit. Mit einer entsprechenden voll parallelen Simulation (ein Prozessor für jede -Variable) ließe sich der Zeitaufwand allerdings um mehrere Größenordnungen drücken, und zwar sogar um eine mit der Größe der Netzwerke wachsende Zahl von Größenordnungen.
Modifizierte man A2 so, daß 's Fehler nicht durch den Unterschied zwischen 's gewünschter Eingabe (null Schmerz) und 's tatsächlicher Eingabe gegeben war, sondern durch den Unterschied zwischen 's gewünschter Eingabe und 's entsprechender Vorhersage, so war keine signifikante Performanzverbesserung möglich. Das lag daran, daß sich niemals zu einem wirklich perfekten Propheten entwickelte. Oft sagte nämlich ungerechtfertigterweise zwar schwache, aber doch langfristig schädliche Konsequenzen zur Folge habende Schmerzaktivationen voraus. Es ist wichtig für A2, sich an den realen (statt an den vorhergesagten) Fehler zu halten.