next up previous contents
Nächste Seite: Nicht-Markov-mäßiges Balancieren mit `perfektem Aufwärts: Experimente zum R-Lernen in Vorherige Seite: Experimente zum R-Lernen in   Inhalt

Evolution eines Flip-Flops durch R-Lernen

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 $C$ sollte lernen, sich analog zu einem Flip-Flop zu verhalten. $C$'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.) $C$ 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. $C$ wurde seine gewünschte Ausgabe niemals von externer Seite mitgeteilt, vielmehr mußte $C$ 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 $C$ bestand zu einem gegebenen Zeitpunkt nämlich in der Aktivation eines Schmerzeingabeknotens proportional zum Unterschied zwischen $C$'s jeweils letzter (reellwertigen) Aktion aus dem Intervall $\left[ 0 \ldots 1 \right] $ 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. $C$ 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. $C$'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

\begin{displaymath}ln(\frac{1 - rnd}{rnd}) \end{displaymath}

(hier kommt die Umkehrfunktion der logistischen Funktion ins Spiel), wobei $rnd$ eine gleichverteilte Zufallsvariable mit Werten zwischen 0.2 und 0.8 war. Die Aktivation des Ausgabeknotens ergab sich schließlich zu 0, falls die Summe $s$ des Beitrags des Varianzknotens und der Aktivation des Mittelwertknotens kleiner als 0 war, sie ergab sich zu 1, falls $s > 1$ galt und zu $s$ sonst. Das Modellnetzwerk $M$ besaß 3 versteckte Knoten sowie einen Ausgabeknoten zur Vorhersage der Aktivationen des Schmerzknotens. (Wegen der zufälligen Natur der anderen Eingabeknoten von $C$ wurden diese nicht von $M$ vorhergesagt, um Rechenzeit zu sparen.)

Abbildung: Topologie der Steuernetz/Modellnetz-Kombination für das Flip-Flop Experiment. Der Balken unten stellt die Umgebung dar. Die gepunktete Linie umfaßt die zum probabilistischen Ausgabeknoten gehörigen Subknoten für die Mittelwert- und Varianzgenerierung. Siehe Text für nähere Erläuterungen.)

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 $C$ stets eine Neuberechnung seiner Aktivationen pro Umgebungszeitschritt aus. $M$, dessen Aufgabe in gewissem Sinne komplizierter war als $C$'s Aufgabe (es mußte ja auch die Konsequenzen von $C$'s Fehlern modellieren), wurden zwei Iterationen pro Umgebungszeitschritt gestattet (Schritt 3 des Algorithmus).

Bei der sequentiellen Version wurde zunächst $M$ für 150.000 Zeitschritte mit Hilfe von zufällig gewählten gleichverteilten Steuernetzwerkausgaben trainiert. Nach dem anschließenden Einfrieren von $M$'s Gewichten wurden weitere 50.000 Zeitschritte auf das Training von $C$ verwendet. Sowohl $\alpha_M$ als auch $\alpha_C$ 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 $C$'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 $\alpha_M = 1.0$ und $\alpha_C = 0.2$ 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 $p_{ij}^k$-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ß $C$'s Fehler nicht durch den Unterschied zwischen $C$'s gewünschter Eingabe (null Schmerz) und $C$'s tatsächlicher Eingabe gegeben war, sondern durch den Unterschied zwischen $C$'s gewünschter Eingabe und $M$'s entsprechender Vorhersage, so war keine signifikante Performanzverbesserung möglich. Das lag daran, daß sich $M$ niemals zu einem wirklich perfekten Propheten entwickelte. Oft sagte $M$ 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.


next up previous contents
Nächste Seite: Nicht-Markov-mäßiges Balancieren mit `perfektem Aufwärts: Experimente zum R-Lernen in Vorherige Seite: Experimente zum R-Lernen in   Inhalt
Juergen Schmidhuber 2003-02-20


Related links in English: Recurrent neural networks - Subgoal learning - Reinforcement learning and POMDPs - Reinforcement learning economies - Selective attention
Deutsche Heimseite