- Algoritmos Avanzados: DDPG y PPO para Control Continuo
Algoritmos Avanzados: DDPG y PPO para Control Continuo
En esta lección exploramos dos de los algoritmos más influyentes para el control continuo en aprendizaje por refuerzo: Deep Deterministic Policy Gradient (DDPG) y Proximal Policy Optimization (PPO). Ambos extienden el paradigma Actor-Critic para manejar espacios de acción continuos, pero difieren sustancialmente en filosofía, estabilidad y eficiencia muestral. Al finalizar, comprenderás cuándo y por qué aplicar cada uno, así como sus detalles de implementación clave.
1. Del Espacio Discreto al Continuo
Los algoritmos clásicos (DQN, A2C) funcionan bien con acciones discretas. Sin embargo, problemas como el control de un brazo robótico, el vuelo de un dron o la locomoción de un robot con patas requieren acciones continuas (p.ej., torque, velocidad). DDPG y PPO abordan este desafío mediante políticas parametrizadas que generan acciones como vectores de números reales.
2. Deep Deterministic Policy Gradient (DDPG)
DDPG es un algoritmo off-policy que combina las ideas de DQN con el gradiente de políticas deterministas. Utiliza cuatro redes neuronales: actor online, actor target, crítico online y crítico target. Sus componentes principales son:
- Replay Buffer: Almacena transiciones (s, a, r, s') para romper correlaciones temporales.
- Target Networks: Se actualizan lentamente (soft update) para estabilizar el aprendizaje.
- Ruido de exploración: Se añade ruido (Ornstein-Uhlenbeck o Gaussiano) a la acción determinista para explorar.
- Función de pérdida del crítico: Minimiza el error cuadrático medio entre el valor Q estimado y el objetivo de Bellman.
∇θμ J ≈ 𝔼[ ∇a Q(s,a) · ∇θμ μ(s) ]
DDPG es eficiente muestralmente gracias a su naturaleza off-policy, pero es sensible a la elección de hiperparámetros (tasa de aprendizaje, tamaño del batch, factor de ruido). Un mal ajuste puede provocar divergencia o colapso del valor Q.
2.1 Implementación práctica
Para acciones acotadas (p.ej., [-1, 1]), la salida del actor se aplica una tanh para escalar las acciones al rango deseado. Además, es común normalizar los estados de entrada para que las redes converjan más rápido.
# Ejemplo conceptual de la política determinista con tanh
import torch
import torch.nn as nn
class Actor(nn.Module):
def __init__(self, state_dim, action_dim, max_action=1.0):
super().__init__()
self.net = nn.Sequential(
nn.Linear(state_dim, 256),
nn.ReLU(),
nn.Linear(256, 256),
nn.ReLU(),
nn.Linear(256, action_dim),
nn.Tanh() # acciones acotadas en [-1, 1]
)
self.max_action = max_action
def forward(self, state):
return self.max_action * self.net(state)
3. Proximal Policy Optimization (PPO)
PPO pertenece a la familia on-policy y fue diseñado para ser robusto y fácil de ajustar. Su innovación principal es limitar el tamaño del paso de actualización mediante un clipping en la razón de probabilidades, evitando así actualizaciones destructivas. La función objetivo truncada es:
donde r(θ) = πθ(a|s) / πθ_old(a|s)
El clipping estabiliza el entrenamiento al evitar que la política cambie bruscamente. Además, PPO suele incluir un término de bonus de entropía para fomentar la exploración, y puede usar múltiples épocas de actualización por lote de datos.
- Ventaja: Muy robusto a hiperparámetros; funciona bien con valores por defecto.
- Desventaja: Menor eficiencia muestral que DDPG porque desecha las transiciones después de cada actualización.
- Ideal para: Entornos donde se pueden generar muchas interacciones (simulaciones rápidas) y se busca estabilidad.
4. Aplicación comparativa en entornos de control continuo
Probemos ambos algoritmos en dos entornos clásicos de OpenAI Gym: LunarLanderContinuous-v2 (control de aterrizaje) y HalfCheetah-v4 (locomoción de un felino bípedo). La siguiente tabla resume el rendimiento típico:
| Entorno | Algoritmo | Recompensa media (entrenado) | Estabilidad | Eficiencia muestral |
|---|---|---|---|---|
| LunarLanderContinuous | DDPG | 250 ± 30 | Moderada (sensible a ruido) | Alta (off-policy) |
| LunarLanderContinuous | PPO | 270 ± 20 | Alta | Media (on-policy) |
| HalfCheetah | DDPG | 9000 ± 1500 | Baja (requiere ajuste fino) | Alta |
| HalfCheetah | PPO | 8500 ± 800 | Muy alta | Media-Baja |
En la práctica, PPO suele ser la opción preferida para proyectos de investigación y prototipado por su robustez. DDPG puede superar a PPO en eficiencia muestral si se dispone de un buen presupuesto de ajuste de hiperparámetros.
5. Detalles de implementación y buenas prácticas
Independientemente del algoritmo elegido, las siguientes técnicas son cruciales para el éxito en control continuo:
- Normalización de estados: Mantener las observaciones con media cero y varianza unitaria (running mean/std).
- Arquitectura de red: 2 o 3 capas ocultas con 256 o 512 neuronas, activación ReLU, y normalización por lotes opcional.
- Acciones acotadas: Usar tanh en la capa de salida del actor para garantizar límites físicos.
- Replay buffer grande (DDPG): Tamaños de 1e6 transiciones o más para aprovechar la naturaleza off-policy.
- Clipping y penalización (PPO): El valor ε (epsilon) típico es 0.2; la entropía se pondera con un coeficiente pequeño (0.01).
6. Discusión: ventajas y desventajas
- DDPG — Ventajas: Alta eficiencia muestral, adecuado para problemas donde las interacciones son costosas. Desventajas: Hiperparámetros sensibles, posible divergencia del crítico, requiere ruido de exploración bien calibrado.
- PPO — Ventajas: Robusto, fácil de entrenar, buena estabilidad en una amplia gama de tareas. Desventajas: Menor eficiencia muestral, no ideal si el costo de interacción es muy alto.
En la práctica, la elección depende del contexto: si puedes simular millones de pasos, PPO es la opción segura. Si cada interacción vale oro y tienes capacidad de ajuste fino, DDPG (o sus variantes como TD3) puede darte mejores resultados.
Resumen final: Tanto DDPG como PPO son pilares del control continuo en aprendizaje por refuerzo. Conocer sus fortalezas y debilidades te permitirá seleccionar la herramienta adecuada para cada problema. En la próxima lección exploraremos variantes modernas como TD3 y SAC.
No hay comentarios por ahora.
Compartir este contenido
Compartir enlace
Compartir en redes sociales
Compartir por correo electrónico
Please iniciar sesión para compartir esto Artículo por correo electrónico.