Proximal Policy Optimization
- Aussi appelé: PPO, PPO-Clip
- Catégorie: Learning & autonomy › RL & simulation
- Mots-clés: reinforcement-learning, policy-gradient, on-policy, robot-learning, sim-to-real, locomotion
Un algorithme d'apprentissage par renforcement on-policy qui améliore une politique par petits pas écrêtés, largement utilisé pour entraîner des politiques de locomotion et de commande de robots en simulation parallèle.
Définition
Proximal Policy Optimization (PPO) est un algorithme de gradient de politique pour l'apprentissage par renforcement, présenté par John Schulman et ses collègues d'OpenAI en 2017. Il entraîne une politique stochastique, généralement un réseau de neurones, en collectant des lots d'expérience avec la politique courante puis en mettant à jour la politique pour rendre plus probables les actions à fort avantage. Son idée centrale est de garder chaque mise à jour proche de la politique qui a collecté les données, ce qui rend l'entraînement plus stable que les méthodes de gradient de politique simples, sans la complexité des méthodes antérieures à région de confiance comme TRPO.
La forme la plus connue de PPO utilise un objectif de substitution écrêté (clipped surrogate objective). Pour chaque action, il calcule le rapport entre la probabilité de cette action sous la nouvelle politique et sous l'ancienne. L'objectif multiplie ce rapport par une estimation de l'avantage, mais écrête le rapport dans un petit intervalle autour de un, de sorte que l'optimiseur ne gagne rien à éloigner trop la politique en une seule mise à jour. Cela permet à PPO d'effectuer plusieurs époques de descente de gradient par mini-lots sur le même lot de données. Les avantages sont généralement calculés par estimation généralisée de l'avantage (GAE) à l'aide d'une fonction de valeur apprise ; PPO est donc une méthode acteur-critique.
PPO est on-policy : les données collectées avec une politique plus ancienne sont écartées après chaque mise à jour. Il est donc moins efficace en échantillons que les méthodes off-policy comme Soft Actor-Critic, qui réutilisent l'expérience d'un tampon de rejeu. En robotique, cette faiblesse compte moins lors de l'entraînement en simulation, car les simulateurs sur GPU peuvent exécuter des milliers d'environnements en parallèle et générer rapidement de grands lots de données fraîches. Sa simplicité, sa stabilité et sa bonne mise à l'échelle avec des environnements parallèles ont fait de PPO l'algorithme par défaut de nombreux pipelines Sim-to-Real pour la locomotion.
Les résultats obtenus avec PPO sont sensibles aux détails d'implémentation. La normalisation des observations et des avantages, les calendriers de taux d'apprentissage, les bonus d'entropie, l'écrêtage de la fonction de valeur et l'initialisation du réseau influent tous sur les performances. Les équipes de robotique s'appuient généralement sur des implémentations bien éprouvées plutôt que d'écrire les leurs, et elles conçoivent les récompenses et randomisent les paramètres de simulation avec soin, car PPO exploitera la moindre faille de la récompense ou du simulateur.
Pourquoi c'est important
PPO est l'algorithme derrière une grande part des résultats d'apprentissage par renforcement sur de vrais robots à pattes, humanoïdes et mains dextres, car il tolère une large plage d'hyperparamètres et passe bien à l'échelle avec une simulation massivement parallèle. Le comprendre est un prérequis pratique pour lire ou reproduire la plupart des travaux d'apprentissage robotique Sim-to-Real.
Applications principales
- Locomotion à pattes — entraînement de politiques de marche et de course pour quadrupèdes et humanoïdes en simulation
- Manipulation dextre — apprentissage de la réorientation d'objets dans la main avec des mains à plusieurs doigts
- Contrôle de drones — apprentissage de politiques de vol agile et de course
- Contrôle du corps entier — entraînement de politiques qui coordonnent de nombreuses articulations à la fois
- Ajustement fin de modèles de langage — PPO est aussi utilisé dans l'apprentissage par renforcement à partir de retours humains
En pratique
Une équipe type définit le robot, ses observations, ses actions et ses récompenses dans un simulateur sur GPU tel qu'Isaac Lab ou MuJoCo, lance des milliers d'environnements parallèles et entraîne une politique PPO avec une bibliothèque existante comme rsl_rl, Stable-Baselines3 ou skrl. Chaque itération collecte un court déroulement (rollout) dans chaque environnement, calcule les avantages et exécute quelques époques de mises à jour écrêtées. Les ingénieurs surveillent la récompense par épisode, la longueur des épisodes, l'entropie de la politique et la perte de valeur, et l'essentiel de leurs efforts porte sur les termes de récompense, le curriculum et la randomisation de domaine plutôt que sur l'algorithme lui-même. La politique entraînée, généralement un petit perceptron multicouche ou un réseau récurrent, est exportée et exécutée sur le robot à une fréquence de commande fixe.
Idées reçues
- PPO est l'algorithme d'apprentissage par renforcement (RL) le plus efficace en échantillons — il est on-policy et écarte les anciennes données ; ses points forts sont la stabilité et la mise à l'échelle avec la simulation parallèle
- PPO fonctionne tel quel sans réglage — les performances dépendent fortement de la conception des récompenses, de la normalisation et d'autres détails d'implémentation
- PPO ne sert qu'aux actions discrètes — il gère les espaces d'actions continus avec des politiques gaussiennes et est surtout utilisé ainsi en robotique
- L'écrêtage garantit une amélioration monotone — l'écrêtage est une heuristique qui décourage les grandes mises à jour, pas une garantie formelle de région de confiance
Qui devrait le savoir
- Ingénieurs en apprentissage robotique qui entraînent des politiques en simulation
- Chercheurs en locomotion travaillant sur des robots à pattes et humanoïdes
- Étudiants qui apprennent l'apprentissage par renforcement profond
- Ingénieurs en simulation qui construisent des environnements d'entraînement
Technologies associées
- Trust Region Policy Optimization (TRPO)
- Estimation généralisée de l'avantage (Generalized Advantage Estimation, GAE)
- Soft Actor-Critic
- Isaac Lab
- MuJoCo
- Randomisation de domaine (Domain Randomization)
Termes associés
Projets associés
- 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
Vidéos
- Proximal Policy Optimization Explained: Edan Meyer