14 · La idea del gradiente de política
En vez de aprender valores y actuar de forma codiciosa, optimiza la POLÍTICA directamente. Parametrízala con un softmax sobre preferencias y empuja esas preferencias en la dirección que gana más recompensa.
Parametriza una política π_θ(a|s) = softmax(θ) y optimiza θ por ASCENSO DE GRADIENTE. El teorema del gradiente de política dice: mueve θ en la dirección ∇θ log π_θ(a|s) escalada por el retorno — sube las preferencias de las acciones que dieron alta recompensa.
Sin esto:
Sin gradientes de política solo puedes actuar de forma codiciosa sobre una tabla de valores aprendida, lo que falla con espacios de acción continuos o enormes y no puede representar políticas óptimas estocásticas. Los gradientes de política optimizan el comportamiento directamente y son la base de PPO, A2C y RLHF.
Todo hasta ahora aprendía un valor (Q o V) y luego actuaba de forma codiciosa sobre él. Los métodos de gradiente de política toman otra ruta: parametrizan la política misma y la optimizan directamente por ascenso de gradiente sobre el retorno esperado. No hace falta una tabla de valores para actuar — la política es el modelo.
La parametrización estándar para un espacio de acción discreto y pequeño es un softmax sobre preferencias. Dale a cada acción una preferencia real θ[a] (un número por acción, aprendible) y define
π(a) = exp(θ[a]) / Σ_b exp(θ[b])
Mayor preferencia → mayor probabilidad, pero toda acción mantiene una probabilidad no nula, así que la política es estocástica y puede explorar.
¿Cómo mejoramos θ? El teorema del gradiente de política da una regla bellamente simple. Para hacer más probables las buenas acciones, mueve θ en la dirección de la función de puntuación (score) — el gradiente del log-probabilidad de la acción que tomaste — escalado por cuánta recompensa ganó esa acción:
θ ← θ + α · (recompensa) · ∇θ log π(a)
Para un softmax el score tiene una forma cerrada limpia: ∂/∂θ_b log π(a) = 1[b=a] − π(b). En palabras: sube la preferencia de la acción elegida y baja la de cada acción en proporción a su probabilidad actual. Multiplica por una recompensa positiva y la acción elegida se vuelve más probable; por una negativa y se vuelve menos probable.
Abajo damos un paso de ascenso de gradiente sobre una política softmax de 3 acciones y vemos subir la probabilidad de la acción recompensada.
Python (in browser)
Un paso de gradiente de política sobre una política softmax: θ ← θ + α·recompensa·∇log π(a). La probabilidad de la acción recompensada sube; las otras bajan.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
En la actualización softmax de gradiente de política θ ← θ + α · recompensa · ∇θ log π(a), ¿cuál es el rol de la recompensa?
- Los métodos de gradiente de política parametrizan la política directamente (p. ej. softmax sobre preferencias θ) y optimizan θ por ascenso de gradiente sobre el retorno esperado — sin tabla de valores para actuar.
- La actualización es θ ← θ + α · retorno · ∇θ log π(a): el score ∇θ log π(a) da la dirección, el retorno la escala.
- Para softmax el score es 1[b=a] − π(b): sube la preferencia de la acción elegida, baja la de cada acción por su probabilidad.
Las políticas softmax y la función de puntuación son la base de REINFORCE, A2C, PPO y el paso de RL en RLHF que afina los LLMs que siguen instrucciones.
Si lo quitas: Sin optimización directa de la política te quedas con agentes codiciosos por valor que batallan con espacios de acción continuos/enormes y no pueden representar políticas óptimas genuinamente estocásticas.