Advantage Actor-Critic/es
| Article | |
|---|---|
| Topic area | Reinforcement Learning |
| Prerequisites | Policy Gradient, Actor-Critic Methods, Markov Decision Process |
Visión general
Ventaja Actor-Crítico (A2C) es un algoritmo de Policy Gradient para Reinforcement Learning que combina una política parametrizada (el actor) con una función de valor aprendida (el crítico), y utiliza la función de ventaja como señal para las actualizaciones de la política. Al sustituir los retornos brutos por ventajas, A2C reduce la varianza de las estimaciones del gradiente manteniéndolas insesgadas, lo que hace que el entrenamiento sea sustancialmente más estable que el REINFORCE estándar. A2C es la formulación síncrona del algoritmo asíncrono A3C introducido por Mnih y colaboradores en 2016, y se ha convertido en una línea base estándar tanto para benchmarks de acciones discretas como Atari como para tareas de control continuo.[1]
La idea central es simple: en lugar de escalar cada gradiente de política por el ruidoso retorno de Monte Carlo, se escala por cuánto mejor fue una acción que la acción media disponible en ese estado. El crítico proporciona ese "promedio", y la diferencia entre el retorno observado y la predicción del crítico es la ventaja. Este artículo describe la formulación, el procedimiento de entrenamiento síncrono que distingue A2C de A3C, las variantes comunes y la relación con algoritmos vecinos como Proximal Policy Optimization y Trust Region Policy Optimization.
Intuición
En una actualización de Policy Gradient, la dirección del gradiente se pondera mediante alguna puntuación escalar que indica "esta acción fue buena" o "esta acción fue mala". La opción más simple es el retorno de la trayectoria, pero los retornos tienen una varianza muy alta: a una acción tomada cerca del inicio de un episodio se le puede asignar crédito por eventos que ocurren cientos de pasos después, la mayoría de los cuales son irrelevantes. La varianza del estimador resultante puede empequeñecer su media, lo que ralentiza el aprendizaje hasta el extremo.
A2C aborda esto introduciendo una línea base aprendida. Restar cualquier línea base dependiente del estado al retorno deja el gradiente insesgado, ya que la línea base tiene gradiente esperado cero respecto a los parámetros de la política. Elegir la Value Function como línea base convierte la puntuación en la ventaja, que mide intuitivamente la desviación de la acción respecto al comportamiento medio de la política. Las acciones que superan la línea base se refuerzan; las que se quedan por debajo se desincentivan. El crítico se entrena en paralelo mediante regresión por diferencia temporal hacia objetivos con bootstrap, de modo que la línea base sigue a la política a medida que esta mejora.
Formulación
Sea $ \pi_\theta(a \mid s) $ la política parametrizada por $ \theta $ y sea $ V_\phi(s) $ el crítico parametrizado por $ \phi $. La función de valor de estado bajo la política actual es
$ {\displaystyle V^{\pi}(s) = \mathbb{E}_{\pi}\!\left[\sum_{k=0}^{\infty} \gamma^{k} r_{t+k} \,\middle|\, s_t = s\right],} $
y la ventaja de tomar la acción $ a $ en el estado $ s $ es
$ {\displaystyle A^{\pi}(s, a) = Q^{\pi}(s, a) - V^{\pi}(s).} $
El gradiente de política con la ventaja como puntuación es
$ {\displaystyle \nabla_\theta J(\theta) = \mathbb{E}_{\pi}\!\left[\nabla_\theta \log \pi_\theta(a \mid s)\, A^{\pi}(s, a)\right].} $
En la práctica, la ventaja se estima a partir de rollouts. El estimador de un paso más simple es
$ {\displaystyle \hat{A}_t = r_t + \gamma V_\phi(s_{t+1}) - V_\phi(s_t),} $
que no es más que el error TD. Se utiliza ampliamente un estimador de $ n $ pasos que aplica bootstrap tras $ n $ términos de recompensa,
$ {\displaystyle \hat{A}_t = \sum_{k=0}^{n-1} \gamma^{k} r_{t+k} + \gamma^{n} V_\phi(s_{t+n}) - V_\phi(s_t),} $
y las implementaciones modernas frecuentemente lo reemplazan por Generalized Advantage Estimation (GAE), un promedio exponencial descontado de errores de $ n $ pasos que expone un control de compromiso entre sesgo y varianza.[2]
El crítico se entrena minimizando el error TD cuadrático respecto al objetivo con bootstrap,
$ {\displaystyle \mathcal{L}_V(\phi) = \mathbb{E}\!\left[\bigl(V_\phi(s_t) - \hat{R}_t\bigr)^2\right], \quad \hat{R}_t = \sum_{k=0}^{n-1} \gamma^{k} r_{t+k} + \gamma^{n} V_\phi(s_{t+n}).} $
Casi siempre se añade un pequeño bono de entropía a la política para desincentivar el colapso prematuro a acciones deterministas, dando lugar a la pérdida combinada
$ {\displaystyle \mathcal{L}(\theta, \phi) = -\mathbb{E}\!\left[\log \pi_\theta(a_t \mid s_t)\, \hat{A}_t\right] + c_v \mathcal{L}_V(\phi) - c_e \mathbb{E}\!\left[\mathcal{H}\bigl(\pi_\theta(\cdot \mid s_t)\bigr)\right],} $
donde $ c_v $ y $ c_e $ son coeficientes escalares y $ \mathcal{H} $ es la entropía de la política.
Entrenamiento
A2C es on-policy y síncrono. Un vector de entornos paralelos avanza al unísono durante $ n $ transiciones, produciendo un lote de tamaño $ n \times N $, donde $ N $ es el número de trabajadores. Las ventajas se calculan sobre este lote utilizando los valores con bootstrap del crítico, y un único paso de gradiente actualiza ambas redes. Las transiciones recogidas se descartan a continuación y comienza un nuevo rollout, ya que las estimaciones del gradiente solo son válidas para la política actual.
Este diseño síncrono es lo que diferencia A2C de su predecesor A3C. En A3C, cada trabajador mantiene una copia local de los parámetros, calcula gradientes de forma independiente y los aplica de manera asíncrona a un servidor de parámetros compartido, lo que significa que los trabajadores operan con parámetros ligeramente desactualizados. El equipo de OpenAI baselines observó que, con una implementación en GPU suficientemente rápida, agrupar las transiciones de todos los trabajadores y realizar una única actualización síncrona es al menos tan eficiente en muestras como A3C y sustancialmente más sencillo de implementar y depurar.[3] El actor y el crítico suelen compartir capas inferiores cuando la observación es de alta dimensión (por ejemplo, el tronco convolucional de un agente de Atari) y se separan en cabezas distintas cerca de la salida.
Los hiperparámetros que más importan en la práctica son el número de entornos paralelos, la longitud del rollout $ n $, el factor de descuento $ \gamma $, el coeficiente de entropía $ c_e $ y la tasa de aprendizaje. El tamaño de lote efectivo los acopla: duplicar el número de trabajadores reduce a la mitad la frecuencia de pasos de gradiente para un total fijo de pasos de entorno, lo que normalmente requiere reajustar la tasa de aprendizaje.
Variantes
Varias variantes amplían la receta básica. A3C, la formulación asíncrona original, ejecuta muchos trabajadores de CPU sin GPU y resultaba históricamente atractiva en hardware básico. ACKTR sustituye el optimizador SGD por un paso de gradiente natural factorizado mediante Kronecker, explotando la estructura de la Fisher Information Matrix para una convergencia más rápida con un coste extra moderado.[4] Proximal Policy Optimization (PPO) extiende A2C con un objetivo sustituto recortado y múltiples épocas de actualizaciones por minibatch por rollout, lo que permite tamaños de paso efectivos mayores sin que la política colapse y ha desplazado en gran medida a A2C como línea base estándar de gradiente de política. La familia Soft Actor-Critic generaliza el marco al entrenamiento off-policy con un objetivo de máxima entropía y se prefiere para control continuo con búferes de repetición.
Comparaciones
Comparado con métodos basados en valor como DQN, A2C maneja directamente espacios de acciones continuas y evita la necesidad de una operación explícita de máximo sobre acciones, intratable en dominios continuos. Comparado con el REINFORCE estándar, A2C logra una varianza drásticamente menor mediante la línea base aprendida, a costa de introducir sesgo desde el crítico con bootstrap, aunque en la práctica el sesgo es pequeño y está bien controlado. Comparado con PPO, A2C es más simple y utiliza cada rollout exactamente una vez, lo que lo hace menos eficiente en muestras pero más fácil de razonar; PPO es la mejor opción por defecto cuando hay tiempo de entrenamiento disponible y la eficiencia en muestras importa. Comparado con métodos actor-crítico off-policy como Soft Actor-Critic o DDPG, A2C no puede reutilizar transiciones antiguas, por lo que su eficiencia en muestras en benchmarks difíciles de control continuo es notablemente peor, aunque la estabilidad y la facilidad para el entrenamiento distribuido suelen ser mejores.
Limitaciones
A2C hereda la debilidad central de los métodos on-policy: cada transición se utiliza exactamente en un paso de gradiente antes de descartarse, por lo que la eficiencia en muestras es pobre comparada con alternativas off-policy. El diseño síncrono también significa que el entorno más lento del grupo de trabajadores ralentiza a todos los demás, lo que se convierte en un problema cuando los episodios tienen longitud o coste de tiempo variable. El algoritmo es sensible al coeficiente de entropía y al coeficiente de la pérdida de valor; muy poca entropía provoca una convergencia prematura a una política determinista pero subóptima, mientras que demasiada impide la explotación de cualquier estructura que el crítico haya aprendido. Por último, dado que ambas redes se entrenan sobre las mismas trayectorias con capas inferiores compartidas, la pérdida de valor puede dominar al inicio del entrenamiento y privar a la política de señales de gradiente útiles, lo que es una de las razones por las que la mayoría de las implementaciones modernas prefieren PPO con redes separadas.
Referencias
- ↑ Template:Cite arxiv
- ↑ Template:Cite arxiv
- ↑ Template:Cite arxiv
- ↑ Wu, Y., Mansimov, E., Liao, S., Grosse, R., Ba, J. "Scalable Trust-Region Method for Deep Reinforcement Learning Using Kronecker-Factored Approximation," 2017.