next up previous contents
Nächste Seite: Ein illustratives Experiment mit Aufwärts: Kompositionelles hierarchisches Lernen Vorherige Seite: Kompositionelles Lernen: Das `Teile   Inhalt

Ein adaptiver Subzielgenerator

Abbildung 7.8 zeigt die Hauptkomponenten eines aus einer Anzahl interagierender neuronaler Netze bestehenden Systems. Das Herz des Systems ist ein neuronales Steuernetz $C$ mit interner und externer Rückkopplung. $C$ dient als Programmausführer. $C$'s Eingabe besteht aus der Repräsentation eines Startzustandes, der Repräsentation eines gewünschten Zielzustandes und zeitlich variierenden Eingaben aus der Umgebung. Eine Kombination aus Start und Ziel dient als Programmname. Es wird angenommen, daß $C$ schon gelernt hat, eine Anzahl von Programmen auszuführen. Das bedeutet nichts anderes, als daß bereits einige funktionierende Unterprogramme existieren, die tatsächlich von den jeweiligen Start- zu den jeweiligen Zielzuständen führen, durch die die Programme indiziert sind. Solche Unterprogramme mögen durch einen der in den vorangegangenen Kapiteln dieser Arbeit beschriebenen Algorithmen gelernt worden sein oder auch durch eine rekursive Anwendung des im folgenden ausgeführten Prinzips.

Ein zweites wichtiges Modul ist das statische Evaluatornetzwerk $E$. $E$'s Eingabe besteht aus der Repräsentation eines Startzustandes und der Repräsentation eines gewünschten Zielzustandes. $E$'s Ausgabe soll anzeigen, ob $C$ ein vom Startzustand zum Zielzustand (oder nahe an den Zielzustand heran-) führendes Programm kennt. Eine Ausgabe von 1 bedeutet, daß ein adäquates Unterprogramm existiert. Eine Ausgabe von 0 bedeutet, daß kein adäquates Unterprogramm existiert. Eine Ausgabe zwischen 0 und 1 bedeutet, daß es ein Unterprogramm gibt, das vom Startzustand in einen Zustand führt, welcher dem Zielzustand in einem gewissen Sinne nahe ist. Das Maß der Nähe muß durch einen evaluativen Prozeß gegeben sein, welcher adaptiv sein kann oder aber auch nicht, und der in diesem Unterabschnitt nicht detailliert spezifiziert zu werden braucht. $E$ repräsentiert ein Modell der dem System eigenen Fähigkeiten.

Wir nehmen im folgenden an, daß $E$ schon für jede Start-Ziel Kombination die Güte des entsprechenden Unterprogramms angeben kann. $E$ kann in einer explorativen Phase trainiert werden, während der vorhandene Unterprogramme bzw. Start-Ziel Kombinationen getestet werden. (Natürlich ergibt sich langfristig gesehen eine interessantere Situation, wenn $E$ parallel zu den anderen Systemkomponenten lernt.)

Schließlich enthält das System ein als Subzielgenerator dienendes weiteres statisches Netzwerk $S$. $S$' Eingabe besteht aus $C$'s Starteingabe sowie aus der am Ende der auszuführenden Aktionssequenz für $C$ gewünschten Eingabe.

Die Ausgabe des Subzielgenerators $S$ ist natürlich ein Subziel. Geradeso wie das Ziel ist auch das Subziel ein die gewünschte Eingabe am Ende eines auszuführenden Unterprogramms beschreibendes Aktivationsmuster, welches gleichzeitig die Starteingabe für ein weiteres Unterprogramm darstellt. Wir konzentrieren uns auf den einfachsten Fall: Wir nehmen an, daß Lösungen für gegebene Aufgaben durch die Generierung eines einzigen Subziels gefunden werden können (Generalisierungen zu ganzen Subzielsequenzen sind allerdings trivial). $S$ sollte ein Subziel mit der Eigenschaft generieren, daß sowohl ein vom Startzustand zum Subziel als auch ein vom Subziel zum gewünschten Endzustand führendes Unterprogramm existiert.

Wie lernt der Subzielgenerator, der zunächst eine tabula rasa ist, der Problemstellung angemessene Subziele zu generieren? Wir nehmen 2 Kopien des Evaluatornetzes $E$ und verbinden sie mit $S$ wie in Abbildung 7.9 dargestellt. Die gewünschte Ausgabe beider Kopien ist 1. Ist eine der beiden tatsächlichen Ausgaben niedriger als 1, so wird der entsprechende Fehler durch $E$'s Kopien und durch $S$ hindurchpropagiert. Von der im Anschluß stattfindenden Gewichtsänderung bleiben die Gewichte der Kopien von $E$ sowie $E$'s Gewichte selbst unberührt. Nur $S$' Gewichte ändern sich. Für ein gegebenes Problem wird die Prozedur iteriert, bis der Gesamtfehler an den Ausgaben von $E$'s Kopien gleich Null ist (dann wurde eine durch die Komposition der beiden entsprechenden Unterprogramme zu erhaltende Lösung gefunden), oder bis ein lokales Minimum erreicht wurde (keine Lösung). Die Gradientenabstiegsprozedur dient also einer informierten Suche im Raum aller Subziele.

In Kapitel 5 wurde gesehen, wie man nicht nur Programmausgaben, sondern auch Programmeingaben in Bezug auf Programme differenzierbar machen kann. (Die Gewichtsmatrix eines Netzwerkes mit fixer Topologie wurde dabei als sein Programm angesehen.) Da man eine Kombination von Repräsentationen bestimmter Start und Zielzustände als einen Programmnamen ansehen kann, geht der in diesem Abschnitt vorgestellte Ansatz noch einen Schritt weiter: Er macht Eingaben differenzierbar in Bezug auf Programmnamen.

Abbildung 8.1: Die drei wesentlichen Bestandteile des Subziele lernenden Systems sind ein Steuernetzwerk, ein Evaluatornetz und ein Subzielgenerator.

Abbildung: Kopien des Evaluatornetzwerkes dienen der Berechnung von Gradienten für den Subzielgenerator.


next up previous contents
Nächste Seite: Ein illustratives Experiment mit Aufwärts: Kompositionelles hierarchisches Lernen Vorherige Seite: Kompositionelles Lernen: Das `Teile   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