Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

Proximal Policy Optimization

  • Auch genannt: PPO, PPO-Clip
  • Kategorie: Learning & autonomy › RL & simulation
  • Schlagwörter: reinforcement-learning, policy-gradient, on-policy, robot-learning, sim-to-real, locomotion

Ein On-Policy-Algorithmus des Reinforcement Learning, der eine Policy in kleinen, geclippten Schritten verbessert und häufig verwendet wird, um Lokomotions- und Regelungs-Policies für Roboter in paralleler Simulation zu trainieren.

Definition

Proximal Policy Optimization (PPO) ist ein Policy-Gradient-Algorithmus für Reinforcement Learning, den John Schulman und Kollegen bei OpenAI 2017 vorgestellt haben. Er trainiert eine stochastische Policy, meist ein neuronales Netz, indem er mit der aktuellen Policy Erfahrungsbatches sammelt und die Policy dann so aktualisiert, dass Aktionen mit hohem Vorteil (Advantage) wahrscheinlicher werden. Seine zentrale Idee ist, jede Aktualisierung nahe an der Policy zu halten, die die Daten gesammelt hat, was das Training stabiler macht als einfache Policy-Gradient-Methoden, ohne die Komplexität früherer Trust-Region-Methoden wie TRPO.

Die bekannteste Form von PPO verwendet eine geclippte Surrogat-Zielfunktion. Für jede Aktion berechnet sie das Verhältnis zwischen der Wahrscheinlichkeit dieser Aktion unter der neuen und unter der alten Policy. Die Zielfunktion multipliziert dieses Verhältnis mit einer Vorteilsschätzung, begrenzt (clippt) das Verhältnis aber auf ein kleines Intervall um eins, sodass der Optimierer nichts gewinnt, wenn er die Policy in einer einzigen Aktualisierung zu weit verschiebt. Dadurch kann PPO mehrere Epochen Minibatch-Gradientenabstieg auf demselben Datenbatch ausführen. Die Vorteile werden typischerweise mit Generalized Advantage Estimation (GAE) unter Verwendung einer gelernten Wertfunktion berechnet; PPO ist also eine Actor-Critic-Methode.

PPO ist on-policy: Daten, die mit einer älteren Policy gesammelt wurden, werden nach jeder Aktualisierung verworfen. Das macht PPO weniger sample-effizient als Off-Policy-Methoden wie Soft Actor-Critic, die Erfahrung aus einem Replay-Buffer wiederverwenden. In der Robotik fällt diese Schwäche beim Training in der Simulation weniger ins Gewicht, da GPU-basierte Simulatoren Tausende von Umgebungen parallel ausführen und schnell große Batches frischer Daten erzeugen können. Seine Einfachheit, Stabilität und gute Skalierung mit parallelen Umgebungen haben PPO zum Standardalgorithmus in vielen Sim-to-Real-Pipelines für Lokomotion gemacht.

Ergebnisse mit PPO hängen empfindlich von Implementierungsdetails ab. Beobachtungs- und Vorteilsnormalisierung, Lernraten-Schedules, Entropie-Boni, Clipping der Wertfunktion und die Initialisierung des Netzes beeinflussen alle die Leistung. Robotikteams verlassen sich meist auf gut getestete Implementierungen, statt eigene zu schreiben, und gestalten Belohnungen und randomisieren Simulationsparameter sorgfältig, da PPO jeden Fehler in der Belohnung oder im Simulator ausnutzt.

Warum es wichtig ist

PPO ist der Algorithmus hinter einem großen Teil der Reinforcement-Learning-Ergebnisse auf realen Laufrobotern, Humanoiden und geschickten Händen, weil er einen breiten Bereich von Hyperparametern toleriert und gut mit massiv paralleler Simulation skaliert. Ihn zu verstehen ist eine praktische Voraussetzung, um die meisten Arbeiten zum Sim-to-Real-Roboterlernen zu lesen oder zu reproduzieren.

Wichtige Anwendungen

  • Beinbasierte Lokomotion — Training von Geh- und Lauf-Policies für Vierbeiner und Humanoide in der Simulation
  • Geschickte Manipulation — Erlernen der Umorientierung von Objekten in der Hand mit mehrfingrigen Händen
  • Drohnensteuerung — Erlernen agiler Flug- und Renn-Policies
  • Ganzkörperregelung — Training von Policies, die viele Gelenke gleichzeitig koordinieren
  • Feinabstimmung von Sprachmodellen — PPO wird auch im Reinforcement Learning from Human Feedback verwendet

In der Praxis

Ein typisches Team definiert den Roboter, seine Beobachtungen, Aktionen und Belohnungen in einem GPU-Simulator wie Isaac Lab oder MuJoCo, startet Tausende paralleler Umgebungen und trainiert eine PPO-Policy mit einer vorhandenen Bibliothek wie rsl_rl, Stable-Baselines3 oder skrl. Jede Iteration sammelt einen kurzen Rollout aus jeder Umgebung, berechnet die Vorteile und führt einige Epochen geclippter Aktualisierungen aus. Ingenieure überwachen Episodenbelohnung, Episodenlänge, Policy-Entropie und Wertverlust, und der Großteil ihres Aufwands fließt in Belohnungsterme, Curriculum und Domänenrandomisierung statt in den Algorithmus selbst. Die trainierte Policy, meist ein kleines mehrschichtiges Perzeptron oder rekurrentes Netz, wird exportiert und auf dem Roboter mit fester Regelrate ausgeführt.

Häufige Missverständnisse

  • PPO ist der sample-effizienteste Algorithmus des Reinforcement Learning (RL) — er ist on-policy und verwirft alte Daten; seine Stärken sind Stabilität und Skalierung mit paralleler Simulation
  • PPO funktioniert sofort ohne Anpassung — die Leistung hängt stark von Belohnungsgestaltung, Normalisierung und anderen Implementierungsdetails ab
  • PPO ist nur für diskrete Aktionen — er behandelt kontinuierliche Aktionsräume mit gaußschen Policies und wird in der Robotik meist so eingesetzt
  • Clipping garantiert monotone Verbesserung — Clipping ist eine Heuristik, die große Aktualisierungen unattraktiv macht, keine formale Trust-Region-Garantie

Wer das wissen sollte

  • Ingenieure im Roboterlernen, die Policies in der Simulation trainieren
  • Lokomotionsforschende, die an Lauf- und humanoiden Robotern arbeiten
  • Studierende, die Deep Reinforcement Learning lernen
  • Simulationsingenieure, die Trainingsumgebungen aufbauen

Verwandte Technologien

  • Trust Region Policy Optimization (TRPO)
  • Generalized Advantage Estimation (GAE)
  • Soft Actor-Critic
  • Isaac Lab
  • MuJoCo
  • Domänenrandomisierung (Domain Randomization)

Verwandte Begriffe

  • Reinforcement Learning
  • Soft Actor-Critic
  • Domain Randomization
  • Sim2Real

Verwandte Projekte

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim

Videos

  • Proximal Policy Optimization Explained: Edan Meyer

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.