- 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 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.
Advantage Actor-Critic (A2C)
La variante más extendida es A2C, donde el crítico estima la ventaja como:
En lugar de usar directamente Q (difícil de estimar en espacios continuos), se aproxima con el error TD:
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)
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:
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 discretoBasado solo en política (REINFORCE)
Alta varianza, pero puede manejar acciones continuas. Convergencia lenta; requiere muchas muestras.
Alta varianza ContinuoNo 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.