15 · REINFORCE
REINFORCE es el gradiente de política Monte Carlo: corre un episodio completo, calcula el retorno-restante desde cada paso y luego empuja θ con ∇log π(a) × ese retorno. Mira una política softmax aprender a caminar hacia la meta.
REINFORCE convierte la idea del gradiente de política en un algoritmo: muestrea un episodio completo, calcula el retorno-restante descontado G_t desde cada paso y actualiza θ_s ← θ_s + α · G_t · ∇θ log π(a_t|s_t) para cada paso. Los buenos episodios hacen sus acciones más probables.
Sin esto:
Sin REINFORCE tienes la función de puntuación pero ninguna regla para convertir interacción real en una actualización de política. REINFORCE es el aprendiz de gradiente de política completo más simple y la plantilla que cada método posterior (A2C, PPO) refina.
REINFORCE (Williams, 1992) es el algoritmo canónico de gradiente de política Monte Carlo. "Monte Carlo" porque, como la predicción MC del Capítulo 4, espera a que termine el episodio y usa el retorno observado real — sin bootstrapping. La receta por episodio:
- Despliega un episodio completo muestreando acciones de la política actual π_θ: registra
(s_t, a_t, r_t)en cada paso. - Calcula el retorno-restante
G_tdesde cada paso — la suma descontada de recompensas desde ese paso en adelante:G_t = r_t + γ·r_{t+1} + γ²·r_{t+2} + …. Hazlo hacia atrás para que sea una sola pasada. - Actualiza las preferencias de cada estado visitado:
θ_s ← θ_s + α · G_t · ∇θ log π(a_t | s_t).
¿Por qué retorno-restante y no el retorno de todo el episodio? Una acción en el paso t solo puede influir en recompensas desde t en adelante — no recibe crédito (ni culpa) por lo anterior. Usar G_t es la asignación de crédito correcta y de menor varianza.
La intuición es ensayar-y-reponderar: las acciones que fueron parte de episodios de alto retorno suben su probabilidad; las de episodios de bajo retorno bajan. No hay modelo del entorno ni tabla de valores — solo retornos muestreados reponderando la política.
Abajo corremos REINFORCE en un pasillo diminuto de 4 celdas (inicio en la celda 0, meta en la 3). La política empieza uniforme; imprimimos el retorno promedio creciente durante el entrenamiento y la distribución final de acciones, que debería converger a "ir a la derecha" en todas partes.
Python (in browser)
REINFORCE en un pasillo de 4 celdas: el retorno promedio sube mientras la política softmax aprende, convergiendo a P(derecha)≈1 en todas partes (caminar a la meta).
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
En REINFORCE, ¿por qué la actualización de cada paso se pondera con el retorno-restante G_t (recompensas desde el paso t en adelante) en vez del retorno de todo el episodio?
- REINFORCE = gradiente de política Monte Carlo: despliega un episodio, calcula el retorno-restante G_t por paso, luego θ_s ← θ_s + α · G_t · ∇log π(a_t|s_t).
- Usa el retorno DESDE cada paso en adelante (retorno-restante), porque una acción solo afecta recompensas futuras — esa es la asignación de crédito correcta.
- Funciona (la política del pasillo converge a 'ir a la derecha') pero es de alta varianza — la motivación para líneas base y actor-crítico a continuación.
REINFORCE es el miembro más simple de la familia de gradiente de política usada para entrenar políticas en robótica, juegos y modelos de lenguaje; PPO es un descendiente recortado y de varianza reducida.
Si lo quitas: Sin un estimador de gradiente de política Monte Carlo no hay forma de convertir episodios muestreados en una mejora de política — la función de puntuación por sí sola no puede aprender.