Contenido del curso

- Métodos Actor-Critic: Combinando Valor y Política para Control Robótico

Métodos Actor-Critic: Combinando Valor y Política para Control Robótico

Arquitectura híbrida que entrena simultáneamente una política (actor) y una función de valor (crítico) para decisiones continuas.

Arquitectura Actor-Critic

En los métodos Actor-Critic conviven dos componentes neurales que se actualizan de forma conjunta:

  • Actor (π) — la política. Aprende una distribución de acciones a dado el estado s. En control robótico, suele ser una red que emite medias y desviaciones para acciones continuas (torques).
  • Crítico (V, Q) — estima la función de valor. Evalúa qué tan buena es una acción (o el estado) proporcionando una línea base para reducir la varianza.

Ambos se entrenan simultáneamente: el actor mejora la política usando la crítica del crítico, y el crítico aprende a juzgar con mayor precisión usando la experiencia real. Esta sinergia permite convergencia más estable que métodos puramente basados en valor o en política.

Ventaja clave: al combinar ambos mundos, los métodos Actor-Critic logran un equilibrio entre sesgo (bias) y varianza (variance). El crítico introduce cierto sesgo pero reduce drásticamente la varianza del gradiente de política.

Advantage Actor-Critic (A2C)

La variante más extendida es A2C, donde el crítico estima la ventaja como:

A(s,a) = Q(s,a) − V(s)

En lugar de usar directamente Q (difícil de estimar en espacios continuos), se aproxima con el error TD:

δ = r + γ V(s′) − V(s)

donde r es la recompensa inmediata, γ el factor de descuento, y s′ el siguiente estado. La ventaja A(s,a) ≈ δ indica si la acción fue mejor o peor de lo esperado.

Actualización del Actor (gradiente de política)

∇J = E[ ∇log π(a|s) · A(s,a) ]

El actor incrementa la probabilidad de acciones con ventaja positiva y la reduce para las de ventaja negativa. Esta formulación reduce la varianza frente a usar directamente la recompensa acumulada.

Actualización del Crítico

El crítico se actualiza mediante regresión al error TD (o a la ventaja muestreada). En la práctica, minimiza:

Lcritic = (δ)² = ( r + γ V(s′) − V(s) )²

Se usa típicamente un optimizador Adam con tasa de aprendizaje separada para cada red.

Aplicación a Control Robótico Continuo

Entrenar un robot para caminar (ej. usando el simulador MuJoCo) es un problema clásico de acciones continuas. Las variables de estado incluyen:

  • Ángulos de articulaciones: cadera, rodilla, tobillo (en radianes).
  • Velocidades angulares: derivadas de los ángulos.
  • Opcionalmente, contactos con el suelo, altura del torso, etc.

Las acciones son torques aplicados a cada articulación (valores continuos entre -1 y 1). El actor genera una distribución gaussiana (media y desviación) para cada torque.

Ejemplo: robot HalfCheetah (MuJoCo)

Estado: 17 dimensiones (posiciones y velocidades de 6 articulaciones, más ángulo y velocidad del torso).
Acción: 6 torques continuos. Recompensa: velocidad hacia adelante − costo de energía.

Implementación A2C: dos redes con 2 capas ocultas de 64 neuronas (ReLU). Actor emite media (tanh) y log_desviación. Crítico emite V(s).

Comparación: Métodos puros vs Híbrido

Método Ventaja Desventaja
Solo valor (DQN) Baja varianza, fácil de entrenar No maneja acciones continuas; limitado a discretas
Solo política (REINFORCE) Puede aprender estocásticas, continuas Alta varianza, convergencia lenta
Actor-Critic (A2C) Menor varianza, acciones continuas, estable Requiere dos redes; puede tener sesgo por aproximación

Sesgo y Varianza del Estimador de Ventaja

El estimador de ventaja basado en error TD introduce sesgo (porque V(s) es una aproximación) pero reduce drásticamente la varianza frente a métodos de Monte Carlo. El siguiente gráfico conceptual muestra la compensación:

Implementación de A2C (pseudocódigo)

A continuación se muestra la estructura típica de una iteración de entrenamiento:

# Pseudocódigo A2C (una iteración)
estado = entorno.reset()
done = False
while not done:
    # Actor: muestrea acción
    media, log_std = actor_net(estado)
    accion = normal_sample(media, exp(log_std))
    
    # Paso en el entorno
    sig_estado, recompensa, done, _ = entorno.step(accion)
    
    # Crítico: estima valores
    V_actual = critic_net(estado)
    V_siguiente = critic_net(sig_estado)
    
    # Ventaja (error TD)
    delta = recompensa + gamma * V_siguiente * (1-done) - V_actual
    
    # Pérdidas
    loss_actor = -log_prob(accion, media, log_std) * delta.detach()
    loss_critic = delta**2
    
    # Retropropagación (actualizar redes)
    optim_actor.zero_grad(); loss_actor.backward(); optim_actor.step()
    optim_critic.zero_grad(); loss_critic.backward(); optim_critic.step()
    
    estado = sig_estado

En la práctica se usan lotes de experiencias (rollouts) y estandarización de la ventaja para mayor estabilidad.

Discusión: Sesgo y Varianza en la Ventaja

El estimador de ventaja A2C (con error TD) es sesgado porque la función V estimada por el crítico no es perfecta. Sin embargo, a medida que el crítico mejora, el sesgo disminuye. La principal ventaja es que la varianza es mucho menor que en métodos de política pura (REINFORCE), donde la ventaja se estima con retornos de Monte Carlo (alta varianza).

Existen variantes como GAE (Generalized Advantage Estimation) que permiten ajustar el compromiso sesgo-varianza mediante un parámetro λ.

Basado solo en valor (DQN)

Adecuado para espacios discretos. No escala a problemas de control continuo como robótica. El valor Q puede ser inestable.

Baja varianza Solo discreto

Basado solo en política (REINFORCE)

Alta varianza, pero puede manejar acciones continuas. Convergencia lenta; requiere muchas muestras.

Alta varianza Continuo
Referencias clave: Sutton & Barto (2018), "Reinforcement Learning: An Introduction"; Mnih et al. (2016), "Asynchronous Methods for Deep Reinforcement Learning" (A3C / A2C). Implementación de referencia: OpenAI Baselines, Stable-Baselines3.
Arquitectura Actor-Critic: el actor (política) y el crítico (función de valor) se entrenan simultáneamente. Algoritmo Advantage Actor-Critic (A2C): el crítico estima la ventaja A(s,a) = Q(s,a) - V(s). Fórmula de actualización del actor: ∇J = E[ ∇log π(a|s) * A(s,a) ]. Actualización del crítico mediante error TD (δ = r + γV(s') - V(s)). Aplicación a control robótico continuo (ej. simulación de un robot que camina usando MuJoCo). Variables de estado: ángulos de articulaciones, velocidades. Acciones: torques en cada articulación. Implementación de A2C con redes neuronales separadas para actor y crítico. Discusión sobre el sesgo y varianza del estimador de ventaja. Comparación con métodos basados solo en valor o solo en política.
Calificación
0 0

No hay comentarios por ahora.