next up previous contents
Nächste Seite: `Generate-and-Test'-Verfahren Aufwärts: promotion Vorherige Seite: Methoden der zeitlichen Differenzen   Inhalt

Grundlagen: R-Lernen und adaptive Steuerung

`Reinforcement'-Lernen (R-Lernen) und adaptive Steuerung haben etwas gemeinsam: Verglichen mit überwachtem Lernen sind sie `auf dieselbe Art' wesentlich schwieriger. Weder beim R-Lernen noch bei der adaptiven Regelung physikalischer Prozesse steht nämlich im allgemeinen Fall ein wohlinformierter Lehrer zur Verfügung, der dem lernenden System mitteilt, was es wann zu tun hat.

Man mag einwenden, daß z.B. bei überwachten Gradientenabstiegsmechanismen für `versteckte Knoten' ebenfalls viele interne Vorgänge vom Lehrer undefiniert bleiben (z.B. welcher versteckte Knoten wann wie aktiviert sein soll). Der fundamentale Unterschied zwischen R-Lernen und überwachtem Lernen ist jedoch: Beim R-Lernen erstreckt sich das, was unbekannt ist, auch auf die Aktivationen der Ausgabeknoten zu den verschiedenen Zeitpunkten.

Solange die Aktivationen der Ausgabeknoten bekannt sind, kann es, wie im letzten Kapitel ausgeführt, wenigstens möglich sein, einen Gradienten für Gewichte versteckter Verbindungen anzugeben. Diese Möglichkeit ergibt sich daraus, daß die für eine bestimmte zu lernende Aufgabe erfoderliche interne Rückkopplung, wenn auch nicht vollständig, so doch von ihrer prinzipiellen Natur her bekannt ist: So ist bei Back-Propagation die prinzipielle Natur der internen Rückkopplung durch differenzierbare bekannte Funktionen von gewichteten Aktivationssummen gegeben. Die Einschränkung aller möglichen Arten von Rückkopplung auf eine durch die möglichen Gewichtskombinationen parametrisierte Familie von Rückkopplungen erlaubt es, bekannte differenzierbare Funktionen von Netzausgaben (z.B. Fehlerfunktionen) ihrerseits bezüglich der Gewichte zu differenzieren. Das ist das ganze Geheimnis überwachten Lernens.

Beim R-Lernen ist das Problem, daß die Funktion, welche Ausgaben auf Erfolge oder Mißerfolge abbildet, auch von ihrer prinzipiellen Natur her im allgemeinen nicht bekannt ist. Ein evaluativer Kritiker (anstelle eines instruktiven Lehrers) bewertet mittels einer Evaluierungsfunktion von Zeit zu Zeit die Effekte, die durch in der Regel zeitlich variierende Ausgaben eines lernenden Systems produziert werden.

Diese Bewertung durch die externe Evaluierungsfunktion ist oft sehr uninformativ: Beim R-Lernen beschränkt sie sich gerne auf binäre Entscheidungen wie `ja, das war gut' und `nein, das war schlecht'. Bildlich gesprochen übersetzt sie das Verhalten eines lernenden `künstlichen Organismus' in unerwünschte Schmerzsignale oder erwünschte Lustsignale. Die Implementierung einer komplexen Evaluierungsfunktion kann für den `Netzwerkarchitekten' (Eckmiller hat diesen Ausdruck geprägt) trivial sein, sofern er sich schon auf eine komplexe Umgebung abstützen kann und diese nicht selbst zu programmieren braucht (zukünftige Anwendungen neuronaler Netze zielen natürlich alle auf die `reale' Umgebung).

Bei der adaptiven Regelung ist oft mehr Information über gewünschte Effekte vorhanden als beim R-Lernen, wie z.B. `der Endpunkt des Roboterarms soll sich nach Abschluß seiner Bewegung bei den Koordinaten (3.55; 2.711; 0.22) befinden'. Sowohl beim R-Lernen als auch bei der adaptiven Steuerung ist aber zunächst unklar, welche Ausgaben zu welchem Zeitpunkt dazu beitragen, gewünschte Zustände zu erreichen. Die Evaluierungsfunktion, welche die Ausgaben bewertet, ist in der Regel unbekannt.

Wenn die Evaluierungsfunktion unbekannt ist, muß sie erforscht werden. Dieses Kapitel ist folgendermaßen gegliedert: Zunächst werden einige Methoden für R-Lernen beschrieben, die unter dem Stichwort `generate-and-test' zusammenfaßbar sind. Gelernt wird dabei im wesentlichen durch mehr oder weniger raffiniertes Probieren und Wahrscheinlichermachen bzw. Unwahrscheinlichermachen von Aktionssequenzen, die zu Erfolgen bzw. Mißerfolgen führten. In diesem Kontext werden neben entsprechenden Algorithmen für neuronale Netze auch nicht-neuronale Ansätze beschrieben, sofern sie potentiell relevant für neuronale Algorithmen sind: Wir gehen kurz ein auf genetische Algorithmen, auf `dynamische Programmierung' (einem etablierten Ansatz aus der mathematischen Steuerungstheorie, der für das Verständnis der später zu beschreibenden `heuristischen dynamischen Programmierung' von Bedeutung ist), und insbesondere auf Hollands `Bucket Brigade' Prinzip für regelbasierte Systeme, welches eine Inspirationsquelle für den ersten eigenständigen Beitrag dieser Arbeit darstellt.

Anschließend beschreiben wir `modellbildende' Algorithmen (siehe auch [59]). Die Menge der modellbildenden Algorithmen zerfällt in mindestens zwei Klassen.

Zum einen gibt es Algorithmen, die intelligenten Gebrauch von einem adaptiven `kumulativen' Modell einer relevanten Größe (wie etwa dem gesamten zu allen späteren Zeitpunkten zu erwartendem Reinforcement ) machen. Zu diesen Ansätzen der `adaptiven Kritiker' gehören Reinforcementvergleichsalgorithmen basierend auf TD-Methoden, und ein Ansatz zur dynamischen heuristischen Programmierung. Einer der Beiträge dieser Dissertation erweitert diese Art von Algorithmen später auf einen allgemeinen Fall und illustriert ihre Anwendbarkeit durch Experimente.

Zum anderen gibt es Algorithmen, die versuchen, mit Hilfe eines adaptiven Modells Aspekte der Umwelt zu simulieren, um das Modell für zielgerichtete Lernprozesse auszunützen. Das ist der Systemidentifikationsansatz. Ein weiterer Beitrag dieser Dissertation erweitert auch diese Art von Algorithmen auf den allgemeinen Fall.

Um die modellbildenden Algorithmen zu beschreiben, werden wir uns häufig auf das Kapitel zum überwachten Lernen beziehen.



Unterabschnitte
next up previous contents
Nächste Seite: `Generate-and-Test'-Verfahren Aufwärts: promotion Vorherige Seite: Methoden der zeitlichen Differenzen   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