next up previous contents
Nächste Seite: Das `Teile'-Problem und adaptive Aufwärts: Kompositionelles hierarchisches Lernen Vorherige Seite: Ein adaptiver Subzielgenerator   Inhalt

Ein illustratives Experiment mit dem Subzielgenerator

Zur Demonstration der prinzipiellen Funktionstüchtigkeit des oben beschriebenen Ansatzes wurde ein einfaches Experiment ausgeführt. Implementierung und Tests oblagen Rudolf Huber, der gegenwärtig an der TUM seine Diplomarbeit anfertigt.

Es wurde eine zweidimensionale `Miniwelt' konstruiert. Die Miniwelt fand Platz im reellen Einheitsquadrat. Sowohl Start- als auch Zielzustände wurden durch die entsprechenden Koordinatenpaare repräsentiert. Programmausführer, Evaluierer, und Subzielgenerator waren einfache Standard-BP-Netzwerke mit jeweils drei Netzlagen und 20 versteckten Knoten. Alle Nicht-Eingabeknoten bedienten sich der logistischen Aktivierungsfunktion $f(x)=\frac{1}{1+e^{-x}}$.

Der Programmausführer steuerte die Bewegungen eines `künstlichen Tierchens', welches durch die Miniwelt marschierte. Die stationäre Eingabe des Programmausführers war vierdimensional und bestand aus einer Start/Ziel-Kombination. Seine Ausgabe war ebenfalls vierdimensional ( es gab jeweils einen Ausgabeknoten für jede der Richtungen `Nord', `Süd', `Ost' und `West'). Zu jedem Zeitschritt wurde die Aktivation jedes Ausgabeknotens durch 20 dividiert, das Resultat wurde als die Länge eines Vektors in der dem jeweiligen Ausgabeknoten entsprechenden Richtung interpretiert. Schließlich wurde die Bewegung des Tierchens durch Addition der vier entsprechenden Vektoren errechnet. Damit war die maximale Schrittweite pro Zeitschritt in jeder der vier Richtungen durch 0.05 beschränkt.

Im Zentrum der Miniwelt befand sich ein Hindernis (symbolisiert durch das schwarze Quadrat in Abbildung 3). Traf das Tierchen im Laufe seines Marsches auf das Hindernis, so wurde es gestoppt.

Konventionelles BP wurde verwendet, um dem Programmausführer beizubringen, das Tierchen in gerader Linie von bestimmten Punkten der Miniwelt zu gewissen anderen Punkten zu manövrieren. Sowohl Start- als auch Zielzustände wurden durch Koordinaten korrespondierender Punkte angezeigt. Der Ausführer sah während seiner Trainingsphase 100.000 Aktionssequenzen. Keine der dem Tierchen beigebrachten Aktionssequenzen dauerte länger als 20 Zeitschritte.

Abbildung: Dargestellt ist eine zweidimensionale Welt mit einem `Hindernis' (dem schwarzen Quadrat in der Mitte). Die mehr oder weniger geraden Linien stellen die Spuren von einigen wenigen Programmen (aus der sehr großen Menge der dem Programmausführer bekannten, jeweils von einem Anfangszustand zu einem Endzustand führenden Programme) dar.

Abbildung: Eine Start/Ziel-Kombination, für die der Programmausführer alleine keine korrekte Aktionssequenz kennen konnte. Mit Hilfe des adaptiven Subzielgenerators fand das System jedoch sehr schnell eine Lösung des Problems.

Nach dem Training gab es immer noch viele Start-Ziel Kombinationen, für die der Programmausführer kein zugehöriges Programm kennen konnte.

In einer zweiten Trainigsphase wurde als nächstes der Evaluator daraufhin trainiert, für gegebene Start-Ziel-Kombinationen die Güte des entsprechenden Programms vorherzusagen. Die Ausgabe des Evaluierers wurde auf einen Wert von 1.0 trainiert für den Fall, daß die finale Position des Tierchens sich betragsmäßig um mehr als 0.1 von der Zielposition unterschied. Die gewünschte Ausgabe des Evaluierers betrug 0.0 im Fall der Deckungsgleichheit von finaler Position und Zielposition. Dazwischen wurde lineare Interpolation verwendet. Der Evaluierer sah 1.000.000 Trainingsbeispiele während seiner Lernphase. Sowohl Programmausführer als auch Evaluierer lernten mit einer Lernrate von 0.05.

Der Hauptgrund für die Wahl einer einfachen Umgebung war, den Subzielgenerierugsprozeß von Effekten zu isolieren, die durch eine adaptive Evaluierungsfunktion (z.B. einem adaptiven Kritiker) hätten eingeführt werden können. Für unsere einfache Umgebung war es leicht, eine vorverdrahtete Evaluierungsfunktion zu definieren. (Zukünftige Arbeiten werden sich natürlich auf paralleles Lernen aller Systemkomponenten konzentrieren. Wie immer ist es allerdings vorzuziehen, inkrementell von kleineren Problemen in Richtung größere Probleme voranzuschreiten.)

In der finalen Phase wurde der Subzielgenerator (20 versteckte Knoten) trainiert. Kombinationen von Start- und Zielzuständen ohne zugehöriges funktionierendes Programm wurden dem im letzten Abschnitt beschriebenen Subzielgenerierungsprozeß überantwortet. Für eine gegebene Start/Ziel-Kombination lernte der Subzielgenerator dabei tatsächlich innerhalb von ca. 10 Iterationen (bei einer Lernrate von 1.0), angemessene Subziele für das Tierchen aufzustellen (siehe Abbildung 4).

Das Beispiel zeigt, daß die Methode im Prinzip nicht nur theoretisch, sondern auch praktisch für adaptive Subzielgenerierung geeignet ist. Weiterführende (im Rahmen dieser Arbeit nicht mehr in Angriff genommene) Experimente wären nötig, um z.B. die Konsequenzen verschiedenartiger Hindernisse systematisch zu erfassen. Ebenso sollte die adaptive Subzielgenerierung in Fällen, bei denen mehr als ein Subziel erforderlich ist, experimentell untersucht werden.


next up previous contents
Nächste Seite: Das `Teile'-Problem und adaptive Aufwärts: Kompositionelles hierarchisches Lernen Vorherige Seite: Ein adaptiver Subzielgenerator   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