Open Source Robotics

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

Actor-Critic

  • También llamado: actor-critic methods, actor-critic algorithm
  • Categoría: Learning & autonomy › RL & simulation
  • Etiquetas: reinforcement-learning, policy-gradient, value-function, deep-learning, robot-learning

Una familia de métodos de aprendizaje por refuerzo que entrenan dos partes juntas: un actor, la política que elige las acciones, y un crítico, una función de valor aprendida que se usa para evaluar y mejorar esas acciones.

Definición

Los métodos actor-crítico (actor-critic) son una familia de algoritmos de aprendizaje por refuerzo que combinan el aprendizaje de la política con el aprendizaje de valores. El actor es la política, una función que asigna al estado u observación actual una acción o una distribución sobre acciones. El crítico es una estimación aprendida de lo buenos que son los estados o las acciones: una función de valor de estado V(s), una función de valor de acción Q(s, a) o una función de ventaja que mide cuánto mejor es una acción que el promedio de la política. El crítico se entrena a partir de la experiencia, normalmente con aprendizaje por diferencias temporales, y el actor se actualiza en la dirección que, según el crítico, aumentará el retorno esperado.

La idea se remonta al trabajo de Barto, Sutton y Anderson de 1983 sobre aprender a equilibrar un péndulo, y Konda y Tsitsiklis dieron un análisis formal de los algoritmos actor-crítico y de su convergencia hacia el año 2000. La motivación es reducir la varianza. Los métodos de gradiente de política puros como REINFORCE ponderan cada acción por el retorno observado completo, que es muy ruidoso; sustituir ese retorno por la estimación de un crítico, o restar una línea base aprendida para formar una ventaja, da actualizaciones de varianza mucho menor a cambio de cierto sesgo debido a los errores del crítico. Técnicas como la estimación generalizada de la ventaja permiten al usuario ajustar ese compromiso entre sesgo y varianza.

La mayor parte del aprendizaje por refuerzo profundo usado en robótica es actor-crítico. Las variantes on-policy como A2C y Proximal Policy Optimization (PPO) entrenan un actor estocástico con una línea base de valor aprendida y se usan mucho para la locomoción en simulación masivamente paralela. Las variantes off-policy como DDPG, TD3 y soft actor-critic (SAC) aprenden una función Q a partir de un búfer de repetición y actualizan el actor siguiendo el gradiente del crítico, lo que aprovecha mejor los datos y conviene para entrenar en hardware real. Como el crítico solo se necesita durante el entrenamiento, puede usar información que el actor desplegado nunca ve, y esa es la base del entrenamiento actor-crítico asimétrico.

Por qué importa

La estructura actor-crítico es lo que hace que el aprendizaje por refuerzo profundo sea lo bastante estable para el control de robots. Saber qué hace cada parte explica la mayoría de las decisiones prácticas de ajuste, desde los pesos de la pérdida de valor y la normalización de la ventaja hasta por qué se le puede dar a un crítico el estado privilegiado del simulador, y es el vocabulario común detrás de PPO, SAC y sus variantes.

Aplicaciones clave

  • Políticas de locomoción con patas entrenadas en simulación con PPO
  • Aprendizaje eficiente en muestras en brazos robóticos reales con SAC o TD3
  • Manipulación diestra en la mano con críticos de información privilegiada
  • Políticas de control para drones y cuadricópteros
  • Control de cámara y de punto de vista aprendido a partir de señales de recompensa
  • Ajuste fino de políticas preentrenadas mediante aprendizaje por imitación

En la práctica

Un equipo entrena una política de marcha para un cuadrúpedo con PPO en un simulador en GPU que ejecuta miles de entornos en paralelo. El actor es un pequeño perceptrón multicapa que recibe observaciones propioceptivas y produce la media de una gaussiana sobre objetivos de posición articular. El crítico es una red separada que recibe las mismas observaciones más términos privilegiados como la velocidad real de la base, las alturas del terreno y la fricción, y predice el retorno descontado esperado. Después de cada rollout, la estimación generalizada de la ventaja combina las predicciones del crítico con las recompensas observadas, el actor se actualiza con el objetivo recortado de PPO y el crítico se ajusta por regresión hacia los retornos calculados. Los ingenieros vigilan la varianza explicada del crítico: si se mantiene baja, las ventajas son sobre todo ruido y el actor deja de mejorar. Solo el actor se exporta al ordenador de a bordo del robot.

Ideas erróneas comunes

  • El crítico forma parte del controlador desplegado — solo el actor se ejecuta en el robot; el crítico existe para entrenarlo
  • Los valores del crítico son medidas exactas del éxito de la tarea — son aproximaciones aprendidas que pueden estar sesgadas, y la sobreestimación de la función Q es un fallo conocido que TD3 y SAC contrarrestan con críticos gemelos
  • PPO no es un método actor-crítico — las implementaciones estándar de PPO entrenan una función de valor como línea base para las ventajas, lo que las hace actor-crítico
  • Actor-crítico designa un único algoritmo — es una familia que incluye métodos on-policy y off-policy, estocásticos y deterministas

Quién debería saberlo

  • Profesionales del aprendizaje por refuerzo que trabajan con robots físicos
  • Ingenieros de locomoción y manipulación que usan controladores aprendidos
  • Investigadores en aprendizaje robótico que diseñan cadenas de entrenamiento
  • Estudiantes que pasan del control clásico al control aprendido

Tecnologías relacionadas

  • A2C y A3C
  • DDPG
  • TD3
  • Estimación generalizada de la ventaja (Generalized Advantage Estimation)
  • Stable-Baselines3
  • Isaac Lab

Términos relacionados

  • Reinforcement Learning
  • Proximal Policy Optimization
  • Soft Actor-Critic
  • Asymmetric Actor-Critic
  • Markov Decision Process (MDP)

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

  • Actor Critic Algorithms: Siraj Raval
  • Everything You Need To Master Actor Critic Methods | Tensorflow 2 Tutorial: Machine Learning with Phil

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