Zum Hauptinhalt springen
OpenAI

Wir haben einen hierarchischen Reinforcement-Learning-Algorithmus entwickelt, der anspruchsvolle Aktionen lernt, die zum Lösen einer Reihe von Aufgaben nützlich sind. So können Aufgaben, die Tausende von Zeitschritten erfordern, schnell gelöst werden. Wenn unser Algorithmus auf eine Reihe von Navigationsproblemen angewendet wird, erkennt er anspruchsvolle Aktionen zum Gehen und Kriechen in verschiedene Richtungen, wodurch der Agent neue Navigationsaufgaben schnell meistern kann.

Menschen lösen komplizierte Herausforderungen, indem sie diese in kleine, überschaubare Einzelteile zerlegen. Das Zubereiten von Pfannkuchen besteht aus einer Reihe anspruchsvoller Aktionen, wie etwa dem Abmessen von Mehl, dem Verquirlen von Eiern, dem Einfüllen der Mischung in die Pfanne, dem Einschalten des Herds und so weiter. Menschen sind in der Lage, durch die Aneinanderreihung dieser erlernten Einzelschritte neue Aufgaben rasch zu lernen, auch wenn die Aufgabe Millionen einfacher Aktionen, beispielsweise einzelne Muskelkontraktionen, erfordern kann.

Die heutigen Methoden des Reinforcement Learning hingegen basieren auf der Brute-Force-Suche nach einfachen Aktionen und erfordern eine enorme Anzahl von Versuchen, um eine neue Aufgabe zu lösen. Diese Methoden sind beim Lösen von Aufgaben, die eine große Zahl von Zeitschritten erfordern, ausgesprochen ineffizient.

Unsere Lösung basiert auf der Idee des hierarchischen Reinforcement Learning, bei dem Agenten komplizierte Verhaltensweisen als kurze Abfolge von anspruchsvollen Aktionen darstellen. Dadurch können unsere Agenten wesentlich schwierigere Aufgaben lösen: Während die Lösung möglicherweise 2.000 einfache Aktionen erfordert, wandelt die hierarchische Richtlinie diese in eine Abfolge von zehn anspruchsvollen Aktionen um, und es ist viel effizienter, die Abfolge mit zehn Schritten zu durchsuchen als die mit 2.000 Schritten.

Geteilte Meta-Learning-Hierarchien

Flussdiagramm der Beobachtungen, die in die Richtlinien einfließen und in die Tat umgesetzt werden

Unser Algorithmus, Geteilte Meta-Learning-Hierarchien (MLSH), lernt eine hierarchische Richtlinie, bei der eine Hauptrichtlinie zwischen einer Reihe von untergeordneten Richtlinien wechselt. Die Hauptrichtlinie wählt alle N-Zeitschritte eine Aktion aus, wobei wir N=200 nehmen könnten. Eine für N-Zeitschritte ausgeführte untergeordnete Richtlinie stellt eine anspruchsvolle Aktion dar, und für unsere Navigationsaufgaben entsprechen untergeordnete Richtlinien dem Gehen oder Kriechen in verschiedene Richtungen.

In den meisten früheren Arbeiten wurden hierarchische Richtlinien explizit manuell erstellt. Wir zielen stattdessen darauf ab, diese hierarchische Struktur automatisch durch Interaktion mit der Umgebung zu entdecken. Aus der Perspektive des Meta-Learning definieren wir eine gute Hierarchie, die beim Training an unbekannten Aufgaben schnell eine hohe Belohnung erreicht. Daher zielt der MLSH-Algorithmus darauf ab, untergeordnete Richtlinien zu erlernen, die ein schnelles Lernen bei bisher unbekannten Aufgaben ermöglichen.

Wir trainieren anhand einer Verteilung über Aufgaben, teilen die untergeordnete Richtlinien und lernen gleichzeitig für jede Aufgabe eine neue Hauptrichtlinie. Durch wiederholtes Trainieren neuer Hauptrichtlinien findet dieser Prozess automatisch untergeordnete Richtlinien, die der Lerndynamik der Hauptrichtlinie gerecht werden.

Experimente

Wird geladen …

In unserer AntMaze-Umgebung wird ein Mujoco Ant-Roboter in eine Verteilung von neun verschiedenen Labyrinthen platziert und muss von der Startposition zum Ziel navigieren. Unser Algorithmus ist in der Lage, erfolgreich mehrere verschiedene untergeordnete Richtlinien zu finden, die in einer Sequenz aneinandergereiht werden können, um die Labyrinthaufgaben ausschließlich durch die Interaktion mit der Umgebung zu lösen. Diese untergeordneten Richtlinien können dann verwendet werden, um eine größere Aufgabe zu bewältigen als die, für die trainiert wurde (siehe Video am Anfang des Beitrags).

Wird geladen …

Code

Wir veröffentlichen den Code(wird in einem neuen Fenster geöffnet) zum Trainieren der MLSH-Agenten sowie die MuJoCo-Umgebungen, die wir zum Auswerten dieser Algorithmen erstellt haben.

Autoren

Kevin Frans, Jonathan Ho, Peter Chen und Pieter Abbeel