Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Proximal Policy Optimization

  • También llamado: PPO, PPO-Clip
  • Categoría: Learning & autonomy › RL & simulation
  • Etiquetas: reinforcement-learning, policy-gradient, on-policy, robot-learning, sim-to-real, locomotion

Un algoritmo de aprendizaje por refuerzo on-policy que mejora una política en pasos pequeños y recortados, muy usado para entrenar políticas de locomoción y de control de robots en simulación paralela.

Definición

Proximal Policy Optimization (PPO) es un algoritmo de gradiente de política para aprendizaje por refuerzo presentado por John Schulman y sus colaboradores en OpenAI en 2017. Entrena una política estocástica, normalmente una red neuronal, recogiendo lotes de experiencia con la política actual y actualizando después la política para que las acciones con una ventaja alta sean más probables. Su idea central es mantener cada actualización cerca de la política que recogió los datos, lo que hace el entrenamiento más estable que con los métodos de gradiente de política simples, sin la complejidad de los métodos de región de confianza anteriores como TRPO.

La forma más conocida de PPO usa un objetivo sustituto recortado. Para cada acción, calcula el cociente entre la probabilidad de esa acción bajo la nueva política y bajo la antigua. El objetivo multiplica este cociente por una estimación de la ventaja, pero recorta el cociente a un pequeño intervalo en torno a uno, de modo que el optimizador no gana nada alejando demasiado la política en una sola actualización. Esto permite a PPO ejecutar varias épocas de descenso de gradiente por minilotes sobre el mismo lote de datos. Las ventajas se calculan normalmente con la estimación de ventaja generalizada (GAE) usando una función de valor aprendida, por lo que PPO es un método actor-crítico.

PPO es on-policy: los datos recogidos con una política anterior se descartan después de cada actualización. Esto lo hace menos eficiente en muestras que los métodos off-policy como Soft Actor-Critic, que reutilizan la experiencia de un búfer de repetición. En robótica esta debilidad importa menos cuando se entrena en simulación, porque los simuladores basados en GPU pueden ejecutar miles de entornos en paralelo y generar rápidamente grandes lotes de datos nuevos. Su sencillez, su estabilidad y su buen escalado con entornos paralelos hicieron de PPO el algoritmo por defecto en muchos pipelines de locomoción sim-to-real.

Los resultados con PPO son sensibles a los detalles de implementación. La normalización de las observaciones y de las ventajas, los calendarios de la tasa de aprendizaje, las bonificaciones de entropía, el recorte de la función de valor y la inicialización de la red afectan al rendimiento. Los equipos de robótica suelen recurrir a implementaciones bien probadas en lugar de escribir la suya propia, y diseñan las recompensas y aleatorizan los parámetros de simulación con cuidado, ya que PPO explotará cualquier defecto de la recompensa o del simulador.

Por qué importa

PPO es el algoritmo detrás de una gran parte de los resultados de aprendizaje por refuerzo en robots con patas reales, humanoides y manos diestras, porque tolera un amplio rango de hiperparámetros y escala bien con la simulación masivamente paralela. Entenderlo es un requisito práctico para leer o reproducir la mayor parte del trabajo de aprendizaje de robots sim-to-real.

Aplicaciones clave

  • Locomoción con patas — entrenar en simulación políticas de marcha y carrera para cuadrúpedos y humanoides
  • Manipulación diestra — aprender la reorientación de objetos en la mano con manos de varios dedos
  • Control de drones — aprender políticas de vuelo ágil y de carreras
  • Control de cuerpo completo — entrenar políticas que coordinan muchas articulaciones a la vez
  • Ajuste fino de modelos de lenguaje — PPO también se usa en el aprendizaje por refuerzo a partir de retroalimentación humana

En la práctica

Un equipo típico define el robot, sus observaciones, acciones y recompensas en un simulador en GPU como Isaac Lab o MuJoCo, lanza miles de entornos en paralelo y entrena una política PPO con una biblioteca existente como rsl_rl, Stable-Baselines3 o skrl. Cada iteración recoge un rollout corto de cada entorno, calcula las ventajas y ejecuta unas pocas épocas de actualizaciones recortadas. Los ingenieros vigilan la recompensa por episodio, la duración de los episodios, la entropía de la política y la pérdida de valor, y la mayor parte de su esfuerzo se dedica a los términos de recompensa, al currículo y a la aleatorización de dominio más que al propio algoritmo. La política entrenada, normalmente un pequeño perceptrón multicapa o una red recurrente, se exporta y se ejecuta en el robot a una frecuencia de control fija.

Ideas erróneas comunes

  • PPO es el algoritmo de aprendizaje por refuerzo (RL) más eficiente en muestras — es on-policy y descarta los datos antiguos; sus puntos fuertes son la estabilidad y el escalado con la simulación paralela
  • PPO funciona sin más — el rendimiento depende mucho del diseño de la recompensa, de la normalización y de otros detalles de implementación
  • PPO es solo para acciones discretas — maneja espacios de acción continuos con políticas gaussianas y en robótica se usa sobre todo así
  • El recorte garantiza una mejora monótona — el recorte es una heurística que desalienta las actualizaciones grandes, no una garantía formal de región de confianza

Quién debería saberlo

  • Ingenieros de aprendizaje de robots que entrenan políticas en simulación
  • Investigadores en locomoción que trabajan con robots con patas y robots humanoides
  • Estudiantes que aprenden aprendizaje por refuerzo profundo
  • Ingenieros de simulación que construyen entornos de entrenamiento

Tecnologías relacionadas

  • Trust Region Policy Optimization (TRPO)
  • Estimación de ventaja generalizada (Generalized Advantage Estimation, GAE)
  • Soft Actor-Critic
  • Isaac Lab
  • MuJoCo
  • Aleatorización de dominio (Domain Randomization)

Términos relacionados

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

Proyectos relacionados

  • 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

Vídeos

  • Proximal Policy Optimization Explained: Edan Meyer

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.