next up previous contents
Nächste Seite: Vorschlag für ein Experiment Aufwärts: Experimente zum R-Lernen in Vorherige Seite: Evolution eines Flip-Flops durch   Inhalt

Nicht-Markov-mäßiges Balancieren mit `perfektem Modell'

Statt ein Modellnetzwerk daraufhin zu trainieren, die Umgebung zu simulieren, kann man in gewissen Fällen ein `perfektes Modell' durch eine mathematisch geeignete Darstellung der Umgebungsdynamik gewinnen. Das spart die Rechenzeit für das Lernen des Modells. Ein derartiger Fall kann z.B. eintreten, wenn die Umgebung in Form von Differentialgleichungen beschreibbar ist. Im Kontext des obigen Algorithmus A2 bedeutet dies lediglich, statt für die Knoten des nicht mehr notwendigen Modellnetzes nun für jede relevante Zustandsgröße $\eta(t)$ des zu modellierenden Systems und für jedes Gewicht $w_{ij}$ von $C$ eine $p_{ij_{new}}^{\eta}$-Variable für die Akkumulation der angenäherten Werte von $ \frac{\partial \eta(t)}{\partial w_{ij}}$ mitzuführen. Diese Variablen müssen durch Differentation der die Umgebung beschreibenden Gleichungen gesetzt werden. Die über die Zeit hinweg kumulativen Einflüsse von $C$'s Gewichten auf die Zustandsvariablen müssen analog zu den kumulativen Beiträgen für $M$'s Knoten (beim Algorithmus A2) in Gewichtsänderungen umgesetzt werden.

Im Rahmen seines Fortgeschrittenenpraktikums an der TUM implementierte Josef Hochreiter auch diese Modifikation für den speziellen Fall eines nicht-Markov-mäßigen Balancierproblems [15].

Dabei ging es für $C$ darum, zu jedem Zeitschritt auf einen sich auf einer eindimensionalen Spur befindlichen Wagen eine Kraft auszuüben, und zwar dergestalt, daß ein auf dem Wagen montierter und entlang der Bewegungsrichtung des Wagens frei schwingender Stab nicht zu weit ausschlug. Auch durfte der Wagen nicht an die Begrenzung der Spur stoßen.

Um die Schwierigkeiten bei unserer Balancieraufgabe richtig würdigen zu können, wird im folgenden noch einmal verdeutlicht, wie man lernenden Netzwerken in der Vergangenheit für ähnliche Aufgaben Hilfestellung gegeben hat, und welche Art von Lehrinformation bei unserem Experiment nicht zur Verfügung gestellt wurde.

Im einfachsten Fall gibt ein Lehrer für jeden Zeitpunkt und für jeden Zustand des zu kontrollierenden Systems die Aktivationen derjenigen Ausgabeknoten vor, die zur Steuerung der Kraftausübung verwendet werden. Dazu reichen simple Musterassoziationsalgorithmen.

In einem schwierigeren Fall gibt ein Lehrer für jeden Zeitpunkt nur Eigenschaften des gewünschten Zustandes des Wagen/Stab-Systems an (z.B. wird von Widrow für jeden Zeitpunkt ein gewünschter Winkel von $0$ Grad angegeben). Der vollständige gegenwärtige Umgebungszustand ist dem System über seine Eingabeknoten zugänglich. Mit purem überwachten Lernen ist diese Aufgabe nicht mehr zu lösen, zumindest hat man aber kein zeitliches Lernproblem.

Daher wurde für das in diesem Abschnitt beschriebene Experiment wieder eine nicht Markov-mäßige Umgebung gewählt: Zu keinem Zeitpunkt wurde Information über die zeitlichen Ableitungen der wesentlichen Zustandsvariablen $z$ und $\theta$ zur Verfügung gestellt.

$C$ bestand aus 8 Nicht-Eingabeknoten und 3 Eingabeknoten. Die Eingabeknoten wurden als `normale' Eingabeknoten für die beiden sichtbaren, skalierten, asymmetrischen, im Anhang definierten Zustandsvariablen \( \bar{z}, \bar{\theta} \) sowie für einen stets aktiven `wahren' Knoten verwendet. Einer der Nicht-Eingabeknoten (genannt Knoten $o$) diente als Ausgabeknoten. Im 2. Schritt von A2 wurde stets eine parallel zur Spur gerichtete Kraft von $ (50 y_{0_{new} } - 25) $ Newton auf den Schwerpunkt des Wagens ausgeübt. Der zu minimierende `Schmerz' betrug


\begin{displaymath}\frac{1}{2}(
(\frac{\theta}{0.21})^2 +
(\frac{z}{2.4})^2 ). \end{displaymath}

Da $+/- 0.21$ die maximale Auslenkung des Stabes und $+/- 2.4$ die maximale Abweichung des Wagens von der Mitte der Spur war, war der Gesamtschmerz also maximal 1.

$C$ führte eine Aktivationsneuberechnung pro Umgebungszeitschitt aus. $M$ wurde wie oben beschrieben durch ein `perfektes Modell' ersetzt. Da es im Gegensatz zum Flip-Flop-Experiment nicht notwendig war, beliebig weit in die Vergangenheit sehen zu können, wurden alle $p_{ij}^k$-Variablen des Systems bei jedem 8. Zeitschritt auf Null gesetzt. (Dies entspricht einer maximalen Rückschau von 8 Zeitschritten.) Zu Beginn wurden alle Gewichte zufällig zwischen -0.1 und 0.1 initialisiert. Im Schritt 2 des modifizierten A2 wurden die im Anhang beschriebenen Differentialgleichungen zur Modellierung des Wagen/Stab-Systems herangezogen. Die Rechnersimulation beruhte auf der Eulerschen Methode, zwei aufeinanderfolgende Zeitschritte waren durch 0.02s getrennt, zur exakteren Simulation wurde die Euler-Methode allerdings mit einer Frequenz von 100 Hertz angewandt. Für den allerersten Zeitschritt sowie für jeden neuen Versuch wurde gemäß folgender Prozedur ein neuer Initialzustand für das physikalische System generiert: Die Wagenposition wurde zufällig anhand einer Gleichverteilung aller möglichen Positionen bestimmt. Der Winkel des Stabs mit der Vertikalen wurde zufällig anhand einer Gleichverteilung aller Werte aus dem Intervall $\left[-0.1 \ldots +0.1 \right] $ bestimmt. Die Ableitungen der beiden sichtbaren Zustandsvariablen wurden jeweils mit Null vorbesetzt.

Zu Beginn jedes Testlaufs (nach der Gewichtsinitialisierung) wurden zu Vergleichszwecken 100 Versuche ohne Lernen durchgeführt. Daraufhin wurden 1000 Lernversuche mit $\alpha_C = 1.0$ gestartet. Nach jedem Lernversuch wurde $C$'s Gewichtsmatrix zu Testzwecken eingefroren und in 100 Versuchen die durchschnittliche Balancierzeit ermittelt. (Die zu Beginn jedes Versuchs eingeführte Zufälligkeit hatte manchmal einen Beinahe-Fehlerzustand zur Folge, welcher es unmöglich machte, einen langen Lauf zu erzielen.) Die dem höchsten Durchschnitt entsprechende Gewichtsmatrix wurde erneut anhand von 100 Versuchen (mit ausgeschaltetem Lernmechanismus) getestet. Es stellte sich heraus, daß eine deutliche Performanzverbesserung erzielt werden konnte. So wurden bei 17 von 20 Testläufen innerhalb von wenigen 100 Trainingsepisoden Läufe von mehr als 1000 Zeitschritten erreicht. Die durchschnittliche Balancierzeit der besten Gewichtsmatrix eines Laufs stieg des öfteren von ca. 23 Zeitschritten auf mehr als das Dreißigfache. Begann man einen Testversuch mit `freundlichen' Anfangsbedingungen, so wurden Spitzenbalancierdauern von 3000 und teilweise sogar wesentlich mehr Zeitschritten erreicht [54].


next up previous contents
Nächste Seite: Vorschlag für ein Experiment Aufwärts: Experimente zum R-Lernen in Vorherige Seite: Evolution eines Flip-Flops durch   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