0Pricing
Learn AI with Python · Lección

Métodos actor-crítico (A2C)

Función de ventaja, actor (política) + crítico (valor) e implementación síncrona de A2C.

Métodos actor-crítico (A2C) es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

Combinación de política y valor

Los métodos actor-crítico combinan dos ideas: un actor (una política que elige acciones) y un crítico (una función de valor que las evalúa). El crítico proporciona una retroalimentación de menor varianza que los retornos sin procesar, lo que estabiliza el aprendizaje.

El actor

El actor es la red de la política. Genera logits (o probabilidades) para el estado actual, exactamente como en REINFORCE, y decide qué hacer.

class ActorCritic(nn.Module):
    def __init__(self, obs_dim, n_actions):
        super().__init__()
        self.shared = nn.Sequential(nn.Linear(obs_dim, 128), nn.ReLU())
        self.actor = nn.Linear(128, n_actions)

El crítico

El crítico estima el valor del estado V(s): el retorno esperado desde el estado s. Es una cabeza con una sola salida que predice qué tan buena es la situación actual.

        self.critic = nn.Linear(128, 1)

    def forward(self, s):
        h = self.shared(s)
        return self.actor(h), self.critic(h)

Backbone compartido, dos cabezas

El actor y el crítico suelen compartir las primeras capas (el backbone) y dividirse en dos cabezas. Compartir características es eficiente y permite que ambas tareas refuercen representaciones útiles.

La función de ventaja

La cantidad clave es la ventaja A = r + gamma * V(s') - V(s). Mide cuánto mejor fue una acción de lo que esperaba el crítico. Una ventaja positiva significa «mejor que el promedio»; una negativa significa peor.

advantage = reward + gamma * V_next - V_current

Por qué la ventaja supera al retorno bruto

Usar la ventaja en lugar del retorno completo G_t centra la señal en torno a la estimación del crítico, lo que reduce drásticamente la varianza. Esta es la razón principal por la que el aprendizaje actor-crítico es más estable que REINFORCE.

La pérdida del actor

El actor se entrena como REINFORCE, pero se pondera con la ventaja en lugar del retorno: aumente la probabilidad de las acciones con una ventaja positiva.

actor_loss = -(log_prob * advantage.detach()).mean()

La pérdida del crítico

El crítico aprende a predecir los retornos con precisión. Su pérdida es el error cuadrático entre su predicción V(s) y el objetivo observado r + gamma * V(s').

target = reward + gamma * V_next.detach()
critic_loss = (V_current - target).pow(2).mean()

Pérdida combinada

Entrene ambas cabezas a la vez sumando las pérdidas (a menudo con una pequeña bonificación de entropía para fomentar la exploración). Una sola pasada hacia atrás actualiza el backbone compartido y ambas cabezas.

loss = actor_loss + 0.5 * critic_loss - 0.01 * entropy
loss.backward()

A2C síncrono

A2C (Advantage Actor-Critic) es la versión síncrona: varios workers paralelos recopilan experiencias simultáneamente a partir de copias del entorno y, después, una única actualización sincronizada utiliza todos sus datos, lo que mejora la estabilidad y el rendimiento.

# N parallel envs step together each iteration
# gather all transitions, then one combined update

A2C frente a A3C

La variante asíncrona A3C permite que los workers se actualicen de forma independiente. A2C los sincroniza, lo que resulta más sencillo, más adecuado para GPU y normalmente igual de eficaz; de ahí su popularidad.

Comprobación rápida

Compruebe su comprensión del aprendizaje actor-crítico.

Resumen: actor-crítico y A2C

Aprendió que el actor genera los logits de la política y que el crítico estima V(s), a menudo mediante un backbone compartido con dos cabezas. La ventaja r + gamma*V(s') - V(s) reduce la varianza, y el A2C síncrono utiliza workers paralelos para lograr un entrenamiento estable y eficiente.

Preguntas frecuentes

¿La lección «Métodos actor-crítico (A2C)» es gratis?

Sí — el texto completo de «Métodos actor-crítico (A2C)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Métodos actor-crítico (A2C)»?

Función de ventaja, actor (política) + crítico (valor) e implementación síncrona de A2C. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Métodos actor-crítico (A2C)»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Métodos de gradiente de política: REINFORCE
  2. Métodos actor-crítico (A2C)
  3. Optimización de política proximal (PPO)
  4. Entornos personalizados de Gymnasium
← Volver a Learn AI with Python