Referat

Das Inhaltsverzeichnis steht hier.

Reinforcement Learning for Robots using Neural Networks TKP: Reinforcement Learning for Robots using Neural Networks

Datum: 9.7.1995

Autoren:

Stichworte:


Zusammenfassung:

Das von Long-Ji Lin in seiner Doktorarbeit vorgestellte Verfahren zur Navigation autonomer mobiler Roboter orientiert sich an natürlichem Verhalten. Es ermöglicht einem Roboter, verschiedene grundlegende Verhalten zu lernen und diese dann sinnvoll zu kombinieren, um Navigationsaufgaben in komplexer Umwelt zu bewältigen.


Einleitung

Die Doktorarbeit von Long-Ji Lin mit dem Titel "Reinforcement Learning for Robots using Neural Networks" befaßt sich in erster Linie mit verschiedenen Verfahren des Reinforcement Learnings und insbesondere mit Möglichkeiten, den Lernvorgang zu beschleunigen. Eine gewählte Anwendung beschreibt dabei die Steuerung eines simulierten autonomen mobilen Roboters, der in einer komplexen Umgebung aus drei Räumen lernen soll, seine Ladestation zu finden und an ihr anzudocken. In der Gruppe 42 erschien uns der von Lin gewählte Ansatz sehr vielversprechend für unseren Rollstuhl, da er sich zum einen entfernt an dem Vorbild Natur orientiert und zum anderen außerordentlich flexibel und leicht erweiterbar ist.

Der zugrundeliegende Idee wurde von uns am 6.7.95 im Projektplenum vorgestellt. Der hier vorliegende Text soll den Inhalt dieser Kurzvorstellung wiedergeben, um eine grobe Idee des Ansatzes und seinen Möglichkeiten zu bekommen. Eine präzisere und detailliertere Erläuterung wird in unserem Projektbericht, der voraussichtlich gegen Ende dieses Semesters fertiggestellt sein wird, zu finden sein.

Ziel des Ansatzes

Wie bereits erwähnt, besteht das wesentliche Ziel des Ansatzes in dem Erlernen eines Navigationsverfahrens für komplexe Umgebungen. Das von Lin vorgestellte Verfahren beschäftigt sich dabei in erster Linie mit dem Finden eines Weges von einer beliebigen Ausgangsposition zu einer vorgegebenen Zielposition; es läßt sich aber mit nur geringfügigem Aufwand auch auf mehrere unterschiedliche Zielpositionen erweitern.

Durch die Generalisierung mit Hilfe von neuronalen Netzen ist der vorgestellte Algorithmus in der Lage, auch sinnvoll mit Sensor- und Aktorfehlern umzugehen. In der von Lin benutzten Simulation führte auch die Verwendung von systematischen sowie stochastischen Sensorfehlern in der Größenordnung von 10 Prozent und stochastischen Aktorfehlern in der Größenordnung von 8 Prozent zu guten Resultaten.

Um die Lernzeiten des Roboters zu verkürzen, benutzt Lin die Integration des Lernens durch Vormachen (teaching). Diese Technik läßt sich problemlos und ohne viel Aufwand in das gewählte Verfahren integrieren und führt in den vorgestellten Beispielen bei gleichem Zeitaufwand (Anzahl der Lernschritte) zu beachtlichen Verbesserungen des Gesamtverhaltens. Eine weitere Verkürzung der Lernzeiten bringt die Nutzung eines hierarchischen Ansatzes, bei dem zuerst elementare Verhalten (behaviours) gelernt werden, die dann zur Lösung komplexerer Aufgaben beitragen.(Weiter unten folgt noch eine etwas ausführlichere Beschreibung dieser Idee.)

Lernen der Grundverhalten

Um die Bewältigung der Aufgabe zu erleichtern und sie zu strukturieren, hat Lin in seiner Doktorarbeit einige einfachere Teilaufgaben formuliert, die elementare Navigationsprobleme lösen. In seinem Fall sind dies Wandverfolgung auf der einen oder anderen Seite, Durchfahren einer Tür und Andocken an der Ladestation. Da es mit unserer Sensorik schwierig sein wird, so exakt zu navigieren, daß man an einem Schreibtisch o. ä. andocken kann, werden wir das letzte Verhalten zuerst weglassen, die anderen werden entsprechend übernommen.(Es ist problemlos, weitere Elementarverhalten zu integrieren. Falls die Gesamtnavigation zu keinem befriedigendem Ergebnis führt, kann man beispielsweise hier über eine Erweiterung nachdenken.)

Von dem Roboter werden dabei für jedes Verhalten Situations-/Aktions-Paare gelernt. Eine Situation besteht dabei neben den aktuellen Sensordaten auch aus internen Informationen über die Vergangenheit und eventuell extern aufbereiteten Daten.(Da wir im Projekt mehrfach über eine globale Positionsbestimmung nachgedacht haben, bietet es sich beispielsweise auch an, falls diese zu vernünftigen Ergebnissen kommt, diese mit in die aktuelle Situation einzubeziehen. Solange an wesentlicher Sensorik für die Navigation nur die US-Sensoren als entfernungsmessende Sensoren zur Verfügung stehen, wird dies vermutlich auch zwingend nötig sein, um die zwangsläufig häufig gleichartigen Sensorbilder unterscheiden zu können. Die Odometriedaten sollten außerdem in ähnlicher Weise mit einfließen.) Um diese Paare zu lernen, werden neuronale Backpropagation- und Elman-Netze und ein darauf angepaßter Q-Learning-Algorithmus verwendet. Der Roboter bekommt dabei situationsabhängig von seiner Umwelt eine Belohnung oder eine Bestrafung, wobei es gilt, die Belohnungen zu maximieren - Das Erreichen des Ziels führt dabei dann jeweils zu einer besonders hohen Belohnung. Die Netze werden benutzt, um Vorhersagen über die Gesamtbelohnung bei der Ausführung einer bestimmten Aktion in einer gegebenen Situation zu treffen.

Navigation durch Auswahl elementarer Verhalten

Die erlernten Grundverhalten werden benutzt, um durch geschicktes Wechseln an den richtigen Positionen das gewünschte Ziel zu erreichen, d. h. auf der nächsthöheren Hierarchiestufe der Steuereinheit werden anstelle von Aktionen wie Vorwärtsfahren oder Kreisbogen fahren Grundverhalten wie z. B. Wandverfolgung benutzt.

Um das Navigationsgebiet zu strukturieren, wird es bei dem Ansatz von Lin in kleinere, sich überschneidende Gebiete unterteilt. Innerhalb eines jeden Gebietes wird dann eine zentrale Position gewählt, die als eine Art Landmarke dient und zum einen möglichst markante Sensorwerte liefern und zum anderen einen günstigen Ausgangspunkt zur weiteren Navigation darstellen sollte. Von dem System wird dann gelernt, aus der näheren Umgebung einer solchen zentralen Position (von Lin als subgoal bezeichnet) zu dieser zu fahren. Da sich die Gebiete überschneiden, ist es dann möglich, von jeweils einem Unterziel zum nächsten zu gelangen und so letztendlich zu seinem globalen Ziel. Günstigerweise werden die Unterziele so gewählt, daß sie die Räume so strukturieren, daß sie jeweils auch Umschaltpunkte für die Elementarverhalten darstellen, was aber nicht zwingend der Fall sein muß. In der momentanen Ausführung von Lins Algorithmus müssen allerdings sowohl die Unterziele als auch die entsprechenden Ausmaße der zugehörigen Gebiete von Hand gewählt werden.

Gerade beim Erlernen der jeweiligen Funktionen zum Erreichen eines Unterziels aus seinem Einflußgebiet heraus bringt der Lernen-durch-Vormachen-Ansatz eine enorme Verbesserung der Lernzeiten, da das wahllose Experimentieren des Roboters anfangs häufig zu keinem sinnvollen Ergebnis führt und es deswegen auch sehr lange dauert, bis ein Großteil der Aktionen, die nicht zum gewünschten Ziel führen, durchprobiert und für schlecht befunden worden sind.

Bezug zu unserem Projekt

Die erste Frage, die wir in der Gruppe 42 bei diesem Ansatz klären wollen, ist die Einsatzfähigkeit des vorgestellten Verfahrens bei realen Robotern; Lins Experimente wurden fast ausschließlich anhand eines Simulators durchgeführt. Außerdem verfügte sein Roboter über die Möglichkeit, überall auf der Stelle zu drehen, so daß in seinem Fall keine Rangiermanöver, wie wir sie benötigen werden, nötig waren. Hier werden wir sehen, ob das Lernverfahren flexibel genug ist, auch mit kinematischen Restriktionen zurecht zu kommen, wie sie unser Rollstuhl besitzt.

Ein grundsätzliches Problem, welches wir haben, ist die relativ magere Sensorausstattung des Rollstuhls, solange keine CCD-Kamera montiert ist. Aller Voraussicht nach wird der Algorithmus ohne Einsatz der Kamera zu keinen befriedigenden Ergebnissen führen; hier werden schon die geplanten Experimente mit SimRobot die ersten aufschlußreichen Ergebnisse bringen.

Ein weiteres Problem ist schließlich auch noch die Diskretisierung der Roboterbewegung in fest definierte Aktionen, von denen in jedem Schritt eine ausgewählt wird. Bei der Steuerung eines Krankenrollstuhls, der eine Person befördern soll, wäre es günstig, einen möglichst fließenden Bewegungsablauf zu erhalten, im Gegensatz zu dem aktuellen Ergebnis von Lin, in dem immer abwechselnd gerechnet und gefahren wird, was für den Benutzer sehr unangenehm sein könnte. Hier muß in unserem Fall die Selektion der nächsten Aktion vorgezogen werden und schon während der Ausführung der vorherigen passieren, damit eine angenehme Gesamtbewegung ermöglicht werden kann.

Insgesamt läßt der Ansatz viel Möglichkeiten für Experimente und Erweiterungen, die zum Teil auch schon von Lin in seiner Doktorarbeit erwähnt wurden, aber noch ungelöst bzw. unprobiert geblieben sind. Der hierarchische Ansatz in Verbindung mit der von uns geplanten objektorientierten Umsetzung läßt derartige Versuche aber voraussichtlich sehr einfach zu, so daß wir hoffen, daß der Ansatz trotz seiner in bezug auf unser Projekt ungelösten Probleme zu einem guten Ergebnis führen wird.