Roboter sind kurz davor allgegenwärtig zu werden. Ob als preiswerte humanoide Spielzeugroboter, autonome Autos, Staubsaugroboter oder Quadrocopter werden Roboter immer mehr Teil unseres Alltags. Gegenwärtig folgen diese Roboter allerdings hauptsächlich händisch pro- grammierten Verhaltensroutinen. Wenn man aber das Verhalten eines Roboters auf fest programmierte Routinen begrenzt, kann man das volle Potenzial dieses Roboters nicht nutzen. Selbst bei einfachen Aufgaben ist es oft schwierig, gute Lösungen von Hand zu programmieren. Men- schenähnliche Leistungsstufen von Hand für komplizierte Aufgaben zu programmieren scheint fast unmöglich. Das Ziel dieser Arbeit ist deshalb Methoden zu entwickeln, die es Robotern ermöglichen Lösungen zu Aufgaben durch "trial and error" zu finden, anstatt auf händisch programmierte Lösungen für spezifische Aufgaben angewiesen zu sein. Diese gelernten Lösungen sollten verschiedene wünschenswerte Eigenschaften aufweisen. So sollten diese Lösungen auf realen Robotern gelernt werden können und nicht auf stark vereinfachte simulierte Umgebungen beschränkt sein. Zusätzlich sollte der Roboter vielfach anwendbare Lösungen lernen, die in vielen verschiedenen Variationen einer Aufgabe anwendbar sind. Schlussendlich sollte der Roboter auch komplizierte Aufgaben lösen können, die eine Aneinanderkettung mehrerer "Skills" benötigen, wobei der Ausdruck "Skill" ein gelerntes Verhalten oder eine Fertigkeit des Roboters beschreibt.
In dem ersten Teil dieser Arbeit stellen wir einen Algorithmus vor der solche vielseitigen Lö- sungen lernen kann. Dieser Algorithmus findet eine hierarchische Policy, die aus einer Gating- Policy und mehren Unter-Policies besteht. Dabei wählt die Gating-Policy zwischen den ver- schiedenen Unter-Policies und die Unter-Policies codieren die Aktionen, die der Roboter aus- führt. Jede der gelernten Unter-Policies kann eine Aufgabe oder einen Teil einer komplizierteren Aufgabe lösen. Um mehrere Unter-Policies gleichzeitig von einem Datensatz zu trainieren, nutzen wir einen expectation-maximization Algorithmus, bei dem jeder Datenpunkt (state-action Paar) für das Update aller Unter-Policies genutzt wird. Der Einfluss jedes state-action Paares auf das Update einzelner Unter-Policies ist dabei davon abhängig, wie sehr der Datenpunkt von der Unter-Policy erklärt wird, also wie wahrscheinlich es ist, das die Unter-Policy diese state-action Paar selbst erzeugt hat. Dies wird auch als Verantwortung der Unter-Policy für einen Datenpunkt bezeichnet. Wenn wir unseren Algorithmus auf Lösungen begrenzen, die eine hohe Entropie dieser Verantwortungen haben, wird der Roboter Unter-Policies lernen die verschiedene Lösun- gen für die gleiche Aufgabe codieren. Diese Mehrfachlösungen sind sehr wünschenswert, da sie dem Roboter erlauben Ersatzlösungen zu lernen die eingesetzt werden können falls die bevorzugte Lösung nicht mehr valide ist. Dies kann zum Beispiel durch unvorhergesehene Änderungen in der Umgebung des Roboters erforderlich werden.
Im zweiten Teil dieser Arbeit untersuchen wir Lösungen um Skills direkt von beobachteten state-action Trajektorien zu lernen. Ein beliebter Ansatz im Bereich des Roboterlernens ist es parametrisierte Skills zu verwenden, um das Roboterverhalten über mehrere Zeitschritte hinweg zu beschreiben. Diese Skills sind häufig entweder sogenannte Movement Primitives (MPs) oder parametrisierte Regler. Während besonders MPs wesentlich zu Erfolgen im Feld des Roboter- lernens beigetragen haben, lösen diese Ansätze nicht die Frage, wie alle state-action Paare einer Trajektorie genutzt werden können, um die Effektivität der Lernalgorithmen weiter zu steigern. Im Feld des diskreten RLs Options genannt, eingeführt um von solchen zeitlich zusammenhängenden Aktionen Skills zu ler- nen. Um das Feld des Roboterlernens mit den Fortschritten des diskreten RLs zu verbinden, schlagen wir ein probabilistisches Modell vor womit Options durch Inferenz von kontinuier- lichen state-action Paaren gelernt werden können. Diese Inferenz basiert auf einem Hidden Markov Model (HMM), in dem die Option-Indizes als latente Variablen modelliert werden und für welches bekannte expectation-maximization Algorithmen angewandt werden können. Da dieses Modell die Inferenz von parametrisierten Policies erlaubt, ist es kompatibel mit sogenannten Pol- icy Search (PS) Methoden, einer Klasse von RL Algorithmen, die das Herzstück vieler derzeitiger Fortschritte im Roboterlernens ist.
Lernmethoden, wie diese die wir im ersten Kapitel dieser Arbeit beschreiben, befähigen Roboter von selbstständigen Versuchen und Fehlern "trial and error" zu lernen, anstatt spezi- fisch programmierte Lösungen zu erforden. Allerdings hängt die Qualität dieser gelernten Lö- sungen immer noch stark von einer beachtlichen Menge an Expertenwissen ab, das in die Pro- grammierung sogenannter Rewardfunktionen fließt. In RL dienen diese Rewardfunktionen als Beschreibung einer Aufgabe, die den Roboter zu einer guten Lösung führt, indem die Qualität von verschiedenen states und actions codiert wird. Die Erstellung solcher Rewardfunktionen ist aber eine schwierige Aufgabe in sich selbst, an der selbst Experten oft scheitern und es ist da- her unwahrscheinlich, dass Laien Robotern neue Aufgaben auf diesem Wege beibringen können. Daher beschreiben wir in dem letzten Teil dieser Arbeit eine neue Methode, die es dem Roboter er- laubt die implizite Rewardfunktion eines menschlichen Lehrers während des RL Prozesses selbst zu erlernen. Der Roboter lernt dazu ein Modell der Rewardfunktion, welches als Gauß- Prozess (GP) , eine Klasse probabilistischer Funktionsapproximatoren, repräsentiert wird. Dieses Modell erlaubt es dem Roboter sowohl seine eigene Unsicherheit bezüglich der Rewardfunktion als auch die Unsicherheit des Lehrers zu berechnen. Mit der vorgestellten Methode kann der Roboter den Lehrer um Evaluationen selektiver Aktionen bitten, damit der Roboter sein Modell der Reward- funktion verbessern kann. Um die Anzahl der Mensch-Roboter Interaktionen zu minimieren, nutzt der Roboter seine Einschätzung der Unsicherheit um Evaluationen nur für vielversprechende Ak- tionen anzufordern, die aber mit einer hohen Unsicherheit belegt sind. In diesem Szenario muss der Lehrer kein Experte sein und ein manuelles Programmieren des Roboters ist nicht erforderlich.
Gemeinsam erlauben es die individuellen Beiträge dieser Arbeit, dem Roboter vielfältige Lösungen für komplizierte Aufgaben durch trial and error zu lernen. Diese Lösungen generalisieren über ähnliche Aufgaben hinweg und sind robust, da mehrere Lösungen für eine Aufgabe gefunden werden. Der Roboter kann diese Lösungen durch die Interaktion mit einem menschlichen Lehrer lernen, was die aufgabenspezifische Programmierung des Roboters hinfällig macht. Die Beiträge dieser Arbeit werden im Folgenden im Detail dargestellt und auf verschiedenen simulierten und realen Aufgaben evaluiert. | German |