Contenido del curso

- Algoritmos Avanzados: DDPG y PPO para Control Continuo

Aquí tienes el código HTML para la lección sobre algoritmos DDPG y PPO para control continuo, listo para ser incrustado en un blog o plataforma de e-learning.

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.

Concepto clave: En espacios continuos, la política π(a|s) se modela como una distribución (por ejemplo, Gaussiana) o directamente como un valor determinista. La gradiente de la política se propaga a través del actor para maximizar el rendimiento esperado.

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.
Actualización del actor en DDPG:
θμ 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:

LCLIP(θ) = 𝔼[ min( r(θ) · A, clip( r(θ), 1-ε, 1+ε ) · A ) ]
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.
Comparación rápida: Mientras que DDPG aprende de transiciones pasadas (off-policy), PPO aprende solo de las transiciones más recientes (on-policy). Esta diferencia fundamental afecta la eficiencia muestral y la sensibilidad a hiperparámetros.

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).
Consejo profesional: Para entornos con alta dimensionalidad de acción (p.ej., 17 articulaciones en HalfCheetah), PPO tiende a ser más estable que DDPG. Si tu recurso principal son las muestras (simulador costoso), considera DDPG con ajuste cuidadoso.

6. Discusión: ventajas y desventajas

  • DDPGVentajas: 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.
  • PPOVentajas: 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.

Extensión de Actor-Critic a espacios continuos: Deep Deterministic Policy Gradient (DDPG) como variante off-policy con replay buffer y target networks. Algoritmo PPO (Proximal Policy Optimization): limitación del tamaño del paso de actualización mediante clipping en la razón de probabilidades (L_clip = E[min(r(θ) * A, clip(r(θ),1-ε,1+ε) * A)]). Aplicación comparativa en entornos de control continuo (ej. LunarLanderContinuous, HalfCheetah). Detalles de implementación: normalización de estados, uso de redes con tanh para acciones acotadas. Comparación de rendimiento en términos de estabilidad y eficiencia muestral. Discusión sobre la desventaja de DDPG (hiperparámetros sensibles) y ventajas de PPO (más robusto).
Calificación
0 0

No hay comentarios por ahora.