16 · Actor-crítico
REINFORCE es ruidoso. Añade una línea base de valor aprendida (el CRÍTICO) y haz que la política (el ACTOR) se actualice sobre la VENTAJA = retorno − línea base. Misma dirección en promedio, aprendizaje mucho más estable.
El actor-crítico mantiene el gradiente de política pero reemplaza el retorno crudo por la VENTAJA A = G_t − V(s_t), donde un crítico aprendido V estima la línea base. Restar una línea base dependiente del estado deja SIN CAMBIAR la dirección esperada del gradiente mientras recorta fuertemente su varianza — así el aprendizaje es más rápido y estable.
Sin esto:
Sin una línea base, los gradientes de política son demasiado ruidosos para escalar: cada recompensa (incluso un offset constante) infla el gradiente. La división actor-crítico — una política que actúa y una función de valor que juzga — es la arquitectura detrás de A2C, A3C y PPO.
La debilidad de REINFORCE es la varianza. El peso de la actualización es el retorno crudo G_t, y los retornos oscilan mucho entre episodios — así el estimador del gradiente es ruidoso y el aprendizaje tiembla. El arreglo es una de las ideas más importantes del RL: restar una línea base.
Reemplaza G_t en la actualización por la ventaja:
A_t = G_t − b(s_t)
donde b(s_t) es alguna función solo del estado. El hecho clave (sale del teorema del gradiente de política) es que restar una línea base dependiente del estado no cambia el gradiente esperado — porque E[∇log π(a) · b(s)] = b(s) · ∇ Σ_a π(a) = b(s) · ∇1 = 0. Así que la dirección promedio de la actualización es idéntica, pero una buena línea base reduce drásticamente la varianza de cada muestra.
La mejor línea base es la función de valor de estado V(s) — el retorno esperado desde s. Intuitivamente, la ventaja A = G − V(s) pregunta: "¿fue esta acción mejor o peor de lo que normalmente esperaría de este estado?" Si una acción lo hizo mejor que el promedio, A es positiva (hazla más probable); peor que el promedio, A es negativa (hazla menos probable). El retorno crudo por sí solo no distingue "buena acción" de "buen estado".
Esto da la arquitectura actor-crítico, dos aprendices que cooperan:
- El actor es la política π_θ — elige acciones y se actualiza con
θ ← θ + α · A_t · ∇log π(a_t|s_t). - El crítico es la estimación de valor
V_w(s)— aprende a predecir retornos (V(s) ← V(s) + β·(G_t − V(s))) y aporta la línea base.
Abajo corremos REINFORCE plano y actor-crítico sobre 30 semillas independientes en el mismo pasillo y comparamos qué tan consistentemente cada uno llega a una buena política. Las corridas de actor-crítico se agrupan mucho más — esa consistencia es la reducción de varianza en acción.
Python (in browser)
REINFORCE vs actor-crítico sobre 30 semillas: retorno final similar, pero la línea base de valor hace que el actor-crítico lo alcance con mucha menos dispersión (menor varianza).
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
En el RL profundo real el actor y el crítico son redes neuronales que comparten el mismo bucle. La red actora produce logits de acción (una política softmax); la red crítica produce un solo V(s). En cada paso calculas la ventaja con el crítico, das un paso de ascenso de gradiente sobre el log-prob del actor ponderado por esa ventaja, y un paso de descenso de gradiente sobre el error cuadrático TD/MC del crítico. El read-along de abajo bosqueja una actualización en PyTorch — la misma estructura de dos actualizaciones que la celda NumPy, solo que con autograd calculando los gradientes.
Actor-crítico real en PyTorch: un cuerpo compartido, una cabeza actora (logits de política) y una cabeza crítica (V(s)). La ventaja G − V(s) pondera la pérdida del actor; MSE entrena al crítico. Las mismas dos actualizaciones que la celda NumPy, con autograd.
¿Por qué restar una línea base V(s) dependiente del estado al retorno en el gradiente de política reduce la varianza sin introducir sesgo?
- Actor-crítico = gradiente de política con una línea base de valor aprendida: el actor se actualiza sobre la ventaja A = G_t − V(s_t) en vez del retorno crudo.
- Una línea base dependiente del estado deja sin cambiar el gradiente esperado (sin sesgo) pero reduce mucho la varianza — así el aprendizaje es más estable y confiable entre corridas.
- Dos aprendices que cooperan: el actor (política) actúa y se repondera por la ventaja; el crítico (V) aprende a predecir retornos y aporta la línea base. Esta es la arquitectura bajo A2C/A3C/PPO.
El actor-crítico basado en ventaja es la columna de A2C, A3C y PPO — los algoritmos que entrenan agentes de juegos, controladores robóticos y el paso de política de RLHF/GRPO para alinear LLMs.
Si lo quitas: Sin línea base/ventaja, los gradientes de política tienen demasiada varianza para entrenar políticas neuronales grandes — cada constante en la recompensa infla el gradiente y el aprendizaje se estanca.