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
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 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
und
zur Verfügung gestellt.
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
sowie für einen stets aktiven
`wahren' Knoten verwendet.
Einer der
Nicht-Eingabeknoten (genannt Knoten
) diente als Ausgabeknoten.
Im 2. Schritt von A2 wurde stets eine parallel zur
Spur gerichtete Kraft von
Newton auf den Schwerpunkt des Wagens
ausgeübt.
Der zu minimierende `Schmerz' betrug
Da die maximale Auslenkung des Stabes und
die maximale Abweichung des Wagens von der Mitte der Spur war, war der
Gesamtschmerz also maximal 1.
führte eine Aktivationsneuberechnung pro Umgebungszeitschitt aus.
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
-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
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
gestartet. Nach jedem Lernversuch wurde
'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].