Im letzten Blogbeitrag unserer Serie RL for Robotics haben wir bereits die Grundlagen des Guided Reinforcement Learning (RL) kennengelernt – ein Konzept zur Beschleunigung des Trainingsprozesses und zur Verbesserung der Performance für die reale Robotik. Insbesondere haben wir die Guided Reinforcement Learning Taxonomie eingeführt – eine modulare Toolbox zur Integration verschiedener Wissensquellen in die RL-Pipeline (siehe Abb. 1). Diese Toolbox zeigt auf praktische Weise, wie zusätzliches Wissen (linke Spalte) über eine Reihe von Guided RL-Methoden (mittlere Spalte) in vier spezifischen Schritten in die RL-Pipeline (rechte Spalte) integriert werden kann. Anhand der vier Schritte der Reinforcement Learning-Pipeline erkundet dieser Blogbeitrag, wie Guided RL auf drei sehr unterschiedliche Roboteraufgaben – dynamische Fortbewegung, robuste Manipulation und Multi-Roboter-Navigation – angewendet werden kann und schafft damit ein intuitives Verständnis für die Anwendung der Methoden und der Toolbox.
Pipeline Schritt 1: Problemdarstellung (Zustände, Belohnungen, Aktionen)
Im ersten Schritt der Anwendung von Guided Reinforcement Learning geht es um die Abbildung des realen Robotikproblems in die formale Beschreibung, die dem RL zugrunde liegt. Zu diesem Zweck kann zusätzliches Wissen in die Zustandsrepräsentation integriert werden (Abb. 2a), eine aufgabenspezifische Belohnungsfunktion formuliert werden (Abb. 2b) und aufgabenspezifische Aktionen (Abb. 2c) für ein gewünschtes Lernproblem spezifiziert werden. Im Folgenden werden wir jede dieser drei Methoden anhand unserer beispielhaften Roboteranwendungen untersuchen.
- State Representation beschreibt den beobachtbaren Raum des Lernansatzes, wobei Ansätze typischerweise darauf abzielen, den Zustand in aussagekräftigere Darstellungen zu transformieren oder zu erweitern. Für die beispielhafte Anwendung der Multi-Roboter-Navigation könnte dies zum Beispiel bedeuten, dass zusätzliche Sensorsignale wie Laserscanner oder Tiefenkameras in den Beobachtungsraum integriert werden. Obwohl beide Sensormesswerte hochdimensionale Räume enthalten, würden Laserscanner wahrscheinlich die Effizienz der Lernaufgabe verbessern und daher in Bezug auf die Zustandsdarstellung für diese Aufgabe bevorzugt werden.
- Reward Design umfasst Techniken zur Wissensinduktion durch den Entwurf geeigneter dichter Belohnungsfunktionen oder automatische Lernverfahren. Für das Beispiel der dynamischen Fortbewegung würde die Belohnungsfunktion aus mehreren Optimierungskriterien bestehen. Zu den Belohnungsbedingungen könnten beispielsweise das Befolgen vorgegebener Geschwindigkeitsbefehle, die Verringerung des Gesamtenergieverbrauchs oder die Förderung bestimmter Fortbewegungsarten (Traben, Springen, Laufen usw.) gehören.
- Abstract Learning beschreibt die Auswahl eines aufgabenspezifischen Aktionsraums für ein Robotikproblem, der potenziell mit modellbasierten Ansätzen hybridisiert werden kann. Für unser Beispiel des Erlernens einer robusten Manipulation würde ein direkter Ansatz darin bestehen, dass das neuronale Netz die Gelenke des Roboters direkt steuert. Durch die Integration von vorhandenem Steuerungswissen für die Low-Level-Operation könnte das neuronale Netz jedoch auch auf der Aufgabenebene operieren, z. B. durch die direkte Steuerung der Endeffektor-Position, wodurch die Dateneffizienz des Trainingsprozesses erhöht werden kann.
Pipeline Schritt 2: Lernstrategie (Algorithmische Designentscheidungen)
Der zweite Schritt der Guided Reinforcement Learning-Anwendung befasst sich mit der Integration von Wissen in Bezug auf die Lernstrategie. Durch das Training der Richtlinien auf einem aufgezeichneten Datensatz (Abb. 3a), die Anwendung paralleler Lernarchitekturen für ein bestimmtes Problem (Abb. 3b) oder die Verwendung von Demonstrationsbeispielen (Abb. 3c) kann die Lernstrategie beschleunigt und die Performance verbessert werden.
- Offline RL konzentriert sich auf die Verwendung von Offline-Daten und versucht, mit RL aus aufgezeichneten Trainingssätzen effizient Richtlinien zu lernen. Für unsere Anwendung der Multi-Roboter-Navigation könnte dies zum Beispiel das Sammeln von Daten aus realen Experimenten in der gewünschten Umgebung beinhalten. Durch die explizite Erfassung des Verhaltens von Robotern und dynamischen Hindernissen unter den gegebenen geometrischen Bedingungen könnten diese Daten verwendet werden, um die Effizienz zu verbessern und somit das Training der Reinforcement Learning-Policies zu beschleunigen.
- Parallel Learning befasst sich mit der Parallelisierung der algorithmischen Komponenten unter Berücksichtigung der Skalierbarkeit und Robustheit des Lernprozesses. Im Falle der dynamischen Fortbewegung könnte dieser Ansatz beispielsweise dazu verwendet werden, verschiedene Arten von Umgebungen zu simulieren, in denen man sich gleichzeitig bewegt. Einerseits könnte auch die Leistung des lernbasierten Controllers beim Training unter verschiedenen Umgebungsbedingungen verbessert werden. Andererseits könnte dieser Ansatz das Training des Roboters durch die parallele Berechnung der Umgebungen beschleunigen.
- Learning from Demonstration zielt darauf ab, vorhandene Beispiele zu nutzen und sie in den Lernprozess zu integrieren, um sowohl die Leistung als auch die Dateneffizienz des Trainings zu verbessern. Der Einsatz dieser Methode auf unsere Anwendung der robusten Manipulation könnte beispielsweise bedeuten, eine Reihe von Beispielen anhand desrealen Roboters zu sammeln und diese Beispiele dann für das Training des lernbasierten Reglers zu verwenden, wodurch die Dateneffizienz im Vergleich verbessert wird.
Pipeline Schritt 3: Aufgabenstrukturierung (Aufschlüsselung des Problems)
Im dritten Schritt der Anwendung von Guided Reinforcement Learning wird weiteres Wissen im Sinne einer Strukturierung der Lernaufgabe in Abhängigkeit von der Komplexität der realen Robotersituation einbezogen. Zum Beispiel könnte eine komplexe Aufgabe schrittweise mit steigendem Schwierigkeitsgrad gelernt werden (Abb. 4a) oder in mehrere kleineren Aufgaben aufgeteilt werden (Abb. 4b).
- Curriculum Learning basiert auf der Idee, eine komplexe Aufgabe zu strukturieren, indem man iterativ einfachere Aufgaben mit höherem Schwierigkeitsgrad löst. In unserem Fall des Erlernens der Multi-Roboter-Navigation könnte dies zum Beispiel bedeuten, dass das Reinforcement Learning-Training mit nur einem Roboter beginnt, der in einer einfachen Umgebung navigiert. Im weiteren Verlauf des Trainings könnten schrittweise mehrere Roboter sowie andere, anspruchsvollere Umgebungen in das Training einbezogen werden. Die Entscheidung, wann der Schwierigkeitsgrad erhöht werden soll, könnte entweder vordefiniert werden, z. B. auf der Grundlage der während des Trainings verstrichenen Zeit, oder automatisiert werden, indem sie an die tatsächliche Leistung des Agenten gekoppelt wird.
- Hierarchical Learning nutzt die hierarchische Struktur, die der Lernaufgabe zugrunde liegt, um verschiedene Teilaufgaben zu lösen oder Strategien auf hoher und niedriger Ebene einzusetzen. Zum Erlernen der dynamischen Fortbewegung, z. B. eines Roboters mit Beinen, der schwieriges Gelände durchquert, könnte diese Methode verwendet werden, um verschiedene neuronale Netze zu trainieren, die entweder von der Art der Umgebung oder der gewünschten Fortbewegungsgeschwindigkeit abhängen. Die Fortbewegung in verschiedenen Umgebungen könnte unterschiedliche Fortbewegungsarten wie Gehen, Laufen, Springen oder Klettern erfordern. Die Fortbewegung mit unterschiedlichen Zielgeschwindigkeiten könnte bedeuten, dass verschiedene Gangarten trainiert werden, wobei jede einzelne die zugrunde liegende Energieeffizienz optimiert. In beiden Fällen könnte eine übergeordnete Strategie entscheiden, welches der trainierten Netze während der Anwendung in Abhängigkeit von den Befehlen oder Umgebungsbedingungen ausgewählt werden soll.
Pipeline Schritt 4: Sim-to-Real (Transfer in die echte Welt)
Schließlich könnte auch zusätzliches Wissen in den Trainingsprozess integriert werden, um die Lücke zwischen Simulation und Realität zu schließen und somit die trainierten Strategien auf die realen Roboter zu übertragen. Dies könnte das Streben nach genaueren Simulationen (Abb. 5a), die Verwendung von Domain Randomization auf verschiedenen simulierten Datensätzen (Abb. 5b) oder Domain Adaptation zur Übertragung zwischen verschiedenen Domänen (Abb. 5c) umfassen.
- Perfect Simulators zielen darauf ab, realistischere Simulationsumgebungen in Bezug auf genaue Robotermodelle, Physikberechnungen und Umgebungsdarstellung zu schaffen. Beim Erlernen der dynamischen Fortbewegung könnte zusätzliches Wissen über das Robotersystem integriert werden, um ein genaueres Simulationsmodell zu erstellen. So könnten beispielsweise reale Messungen durchgeführt werden, um genauere Massenverteilungen der Roboterglieder, Reaktionen der Aktoren bei hohen Lasten oder realistischere Bodenkontaktmodelle zu erhalten.
- Domain Randomization ist der Versuch, die Strategien robuster zu machen, indem die Simulation in Bezug auf die visuellen oder dynamischen Eigenschaften stark randomisiert wird. Mit dieser Methode können Manipulationsstrategien trainiert werden, die gegenüber verschiedenen Änderungen sowohl der Roboterdynamik als auch der Umgebungswahrnehmung robust sind. Durch das Trainieren der Strategien auf variierende Parameter der Roboterdynamik, wie z. B. Gelenkmassen, Gelenksteifigkeiten oder Greiferdrehmomentgrenzen, könnte die Leistung der Strategie sogar für verschiedene Roboterplattformen verbessert werden. Andererseits könnte dieser Ansatz auch dazu verwendet werden, die Umgebung zu randomisieren, z. B. durch die Integration von Rauschen in die Beobachtungsdaten oder die zufällige Änderung der Positionen und Parameter der in der Szene enthaltenen Objekte, was zu robusteren Strategien für sich ändernde Umgebungsbedingungen führen würde.
- Domain Adaptation Bei diesen Ansätzen wird in der Regel ein Anpassungsmodul eingesetzt, um Beobachtungen zwischen der simulierten und der realen Welt oder umgekehrt zu übertragen. Für die Anwendung der Multi-Roboter-Navigation könnte diese Methode zum Beispiel verwendet werden, um eine realistischere Kamerawahrnehmung in das Training einzubeziehen, z.B. durch Projektion von realen Kamerabildern in die Simulationen. Andererseits könnte dieser Ansatz auch angewandt werden, um den Umgang mit verschiedenen Umwelteigenschaften, wie z. B. unterschiedlichen Terrains oder Aktordynamiken, zu ermöglichen, um die Übertragung der trainierten Strategien auf die reale Welt zu verbessern.
Zusammenfassung
In diesem Blog-Beitrag wurde gezeigt, wie Guided Reinforcement Learning auf drei sehr unterschiedliche Roboteraufgaben angewendet werden kann – mit dem Potenzial, den Trainingsprozess zu beschleunigen und den Erfolg in der realen Robotik zu verbessern. In den folgenden Monaten wird diese Blogpost-Reihe schrittweise ausgebaut – wir werden uns ansehen, wie die Methoden des Guided RL auf reale Roboterherausforderungen angewendet werden können – einschließlich Diskussion verschiedener Roboterplattformen, der angewendeten Methoden der Guided RL-Taxonomie und Einsatz der trainierten Policies auf den realen Robotern – also bleiben Sie dran!
Für weitere Details zum Guided RL, einen umfassenden Überblick über den Stand der Technik sowie zukünftige Herausforderungen und Richtungen verweisen wir auf die entsprechende Veröffentlichung im IEEE Robotics and Automation Magazine (IEEE-RAM), die unter folgendem Link verfügbar ist (Open-Access): Guided Reinforcement Learning: A Review and Evaluation for Efficient and Effective Real-World Robotics | IEEE Journals & Magazine | IEEE Xplore