Ventaja Actor Critic (A2C)

Ventaja A2C

Unidad 7, de la Clase de Aprendizaje por Reforzamiento Profundo con Hugging Face 🤗

⚠️ Una nueva versión actualizada de este artículo está disponible aquí 👉 https://huggingface.co/deep-rl-course/unit1/introduction

Este artículo es parte de la Clase de Aprendizaje por Reforzamiento Profundo. Un curso gratuito desde principiante hasta experto. Consulta el temario aquí.


⚠️ Una nueva versión actualizada de este artículo está disponible aquí 👉 https://huggingface.co/deep-rl-course/unit1/introduction

Este artículo es parte de la Clase de Aprendizaje por Reforzamiento Profundo. Un curso gratuito desde principiante hasta experto. Consulta el temario aquí.

En la Unidad 5, aprendimos sobre nuestro primer algoritmo basado en políticas llamado Reinforce. En los métodos basados en políticas, nuestro objetivo es optimizar la política directamente sin utilizar una función de valor. Más precisamente, Reinforce es parte de una subclase de los métodos basados en políticas llamados métodos de gradiente de políticas. Esta subclase optimiza la política directamente mediante la estimación de los pesos de la política óptima utilizando el Ascenso de Gradiente.

Vimos que Reinforce funcionó bien. Sin embargo, debido a que utilizamos muestreo de Monte Carlo para estimar el retorno (utilizamos un episodio completo para calcular el retorno), tenemos una variabilidad significativa en la estimación del gradiente de políticas.

Recuerda que la estimación del gradiente de políticas es la dirección del aumento más pronunciado en el retorno. Es decir, cómo actualizar nuestros pesos de política para que las acciones que conducen a buenos retornos tengan una mayor probabilidad de ser tomadas. La varianza de Monte Carlo, que estudiaremos más a fondo en esta unidad, conduce a un entrenamiento más lento ya que necesitamos muchas muestras para mitigarla.

Hoy estudiaremos métodos Actor-Critic, una arquitectura híbrida que combina métodos basados en valor y basados en políticas que ayudan a estabilizar el entrenamiento reduciendo la varianza:

  • Un Actor que controla cómo se comporta nuestro agente (método basado en políticas)
  • Un Crítico que mide qué tan buena es la acción tomada (método basado en valor)

Estudiaremos uno de estos métodos híbridos llamado Advantage Actor Critic (A2C), y entrenaremos a nuestro agente utilizando Stable-Baselines3 en entornos robóticos. Donde entrenaremos a dos agentes para caminar:

  • Un caminador bipedal 🚶
  • Una araña 🕷️

¿Suena emocionante? ¡Comencemos!

  • El Problema de la Varianza en Reinforce
  • Advantage Actor Critic (A2C)
    • Reduciendo la varianza con métodos Actor-Critic
    • El Proceso Actor-Critic
    • Advantage Actor Critic
  • Advantage Actor Critic (A2C) utilizando Simulaciones Robóticas con PyBullet 🤖

El Problema de la Varianza en Reinforce

En Reinforce, queremos aumentar la probabilidad de las acciones en una trayectoria proporcional a qué tan alto es el retorno.

  • Si el retorno es alto, aumentaremos las probabilidades de las combinaciones (estado, acción).
  • De lo contrario, si el retorno es bajo, reduciremos las probabilidades de las combinaciones (estado, acción).

Este retorno R ( τ ) R(\tau) R ( τ ) se calcula utilizando un muestreo de Monte Carlo. De hecho, recopilamos una trayectoria y calculamos el retorno descontado, y utilizamos este puntaje para aumentar o disminuir la probabilidad de cada acción tomada en esa trayectoria. Si el retorno es bueno, todas las acciones serán “reforzadas” aumentando su probabilidad de ser tomadas.

R ( τ ) = R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . R(\tau) = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + … R ( τ ) = R t + 1 ​ + γ R t + 2 ​ + γ 2 R t + 3 ​ + . . .

La ventaja de este método es que es imparcial. Dado que no estamos estimando el retorno, solo usamos el retorno real que obtenemos.

Pero el problema es que la varianza es alta, ya que las trayectorias pueden llevar a diferentes retornos debido a la estocasticidad del entorno (eventos aleatorios durante un episodio) y la estocasticidad de la política. En consecuencia, el mismo estado inicial puede llevar a retornos muy diferentes. Debido a esto, el retorno comenzando en el mismo estado puede variar significativamente entre episodios.

La solución es mitigar la varianza usando un gran número de trayectorias, con la esperanza de que la varianza introducida en cualquier trayectoria se reduzca en conjunto y proporcione una estimación “verdadera” del retorno.

Sin embargo, aumentar el tamaño del lote reduce significativamente la eficiencia de muestreo. Por lo tanto, necesitamos encontrar mecanismos adicionales para reducir la varianza.


Si quieres profundizar en la cuestión del compromiso entre varianza y sesgo en el Aprendizaje Profundo de Reforzamiento, puedes consultar estos dos artículos:

  • Making Sense of the Bias / Variance Trade-off in (Deep) Reinforcement Learning
  • Bias-variance Tradeoff in Reinforcement Learning

Ventaja del Actor-Critic (A2C)

Reduciendo la varianza con métodos Actor-Critic

La solución para reducir la varianza del algoritmo Reinforce y entrenar a nuestro agente de manera más rápida y eficiente es utilizar una combinación de métodos basados en políticas y basados en valores: el método Actor-Critic.

Para entender el Actor-Critic, imagina que juegas un videojuego. Puedes jugar con un amigo que te dará algunos comentarios. Tú eres el Actor y tu amigo es el Crítico.

No sabes cómo jugar al principio, así que pruebas algunas acciones al azar. El Crítico observa tu acción y proporciona retroalimentación.

Aprendiendo de esta retroalimentación, actualizarás tu política y serás mejor jugando ese juego.

Por otro lado, tu amigo (Crítico) también actualizará su forma de proporcionar retroalimentación para que sea mejor la próxima vez.

Esta es la idea detrás del Actor-Critic. Aprendemos dos aproximaciones de funciones:

  • Una política que controla cómo actúa nuestro agente: π θ ( s , a ) \pi_{\theta}(s,a) π θ ​ ( s , a )

  • Una función de valor para ayudar a la actualización de la política midiendo qué tan buena es la acción tomada: q ^ w ( s , a ) \hat{q}_{w}(s,a) q ^ ​ w ​ ( s , a )

El proceso Actor-Critic

Ahora que hemos visto el panorama general de Actor-Critic, profundicemos para entender cómo el Actor y el Crítico mejoran juntos durante el entrenamiento.

Como vimos, con los métodos Actor-Critic hay dos aproximaciones de funciones (dos redes neuronales):

  • Actor, una función de política parametrizada por theta: π θ ( s , a ) \pi_{\theta}(s,a) π θ ​ ( s , a )
  • Critic, una función de valor parametrizada por w: q ^ w ( s , a ) \hat{q}_{w}(s,a) q ^ ​ w ​ ( s , a )

Veamos el proceso de entrenamiento para entender cómo se optimizan el Actor y el Crítico:

  • En cada paso de tiempo, t, obtenemos el estado actual S t S_t S t ​ del entorno y lo pasamos como entrada a nuestro Actor y Crítico.

  • Nuestra política toma el estado y produce una acción A t A_t A t ​.

  • El Crítico toma esa acción también como entrada y, utilizando S t S_t S t ​ y A t A_t A t ​, calcula el valor de tomar esa acción en ese estado: el valor Q.

  • La acción A t A_t A t ​ realizada en el entorno produce un nuevo estado S t + 1 S_{t+1} S t + 1 ​ y una recompensa R t + 1 R_{t+1} R t + 1 ​ .

  • El Actor actualiza sus parámetros de política utilizando el valor Q.

  • Gracias a sus parámetros actualizados, el Actor produce la siguiente acción a tomar en A t + 1 A_{t+1} A t + 1 ​ dado el nuevo estado S t + 1 S_{t+1} S t + 1 ​ .

  • El Crítico luego actualiza sus parámetros de valor.

Advantage Actor Critic (A2C)

Podemos estabilizar aún más el aprendizaje utilizando la función de Ventaja como Crítico en lugar de la función de valor de Acción.

La idea es que la función de Ventaja calcula qué tan mejor es tomar esa acción en un estado en comparación con el valor promedio del estado. Resta el valor promedio del estado al par estado-acción:

En otras palabras, esta función calcula la recompensa extra que obtenemos si tomamos esta acción en ese estado en comparación con la recompensa promedio que obtenemos en ese estado.

La recompensa extra es lo que está más allá del valor esperado de ese estado.

  • Si A(s,a) > 0: nuestro gradiente se empuja en esa dirección.
  • Si A(s,a) < 0 (nuestra acción es peor que el valor promedio de ese estado), nuestro gradiente se empuja en la dirección opuesta.

El problema con la implementación de esta función de ventaja es que requiere dos funciones de valor: Q ( s , a ) y V ( s ) . Afortunadamente, podemos utilizar el error de TD como un buen estimador de la función de ventaja.

Advantage Actor Critic (A2C) utilizando Simulaciones de Robótica con PyBullet 🤖

Ahora que has estudiado la teoría detrás de Advantage Actor Critic (A2C), estás listo para entrenar a tu agente A2C utilizando Stable-Baselines3 en entornos de robótica.

Comienza el tutorial aquí 👉 https://colab.research.google.com/github/huggingface/deep-rl-class/blob/main/unit7/unit7.ipynb

El tablero de clasificación para comparar tus resultados con tus compañeros 🏆 👉 https://huggingface.co/spaces/chrisjay/Deep-Reinforcement-Learning-Leaderboard

Conclusion

¡Felicidades por terminar este capítulo! Había mucha información. Y felicidades por terminar el tutorial. 🥳.

Es normal si aún te sientes confundido con todos estos elementos. Esto fue lo mismo para mí y para todas las personas que estudiaron RL.

Tómate tiempo para comprender el material antes de continuar. Mira también los materiales de lectura adicionales que proporcionamos en este artículo y el programa para profundizar 👉 https://github.com/huggingface/deep-rl-class/blob/main/unit7/README.md

No dudes en entrenar a tu agente en otros entornos. ¡La mejor manera de aprender es intentar cosas por ti mismo!

En la próxima unidad, aprenderemos a mejorar los Métodos de Actor-Crítico con la Optimización de Política Proximal.

¡Y no te olvides de compartir con tus amigos que quieren aprender 🤗!

Finalmente, con tus comentarios, queremos mejorar y actualizar el curso de manera iterativa. Si tienes alguno, por favor completa este formulario 👉 https://forms.gle/3HgA7bEHwAmmLfwh9

Sigue aprendiendo, mantente genial 🤗,

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Este boletín de inteligencia artificial es todo lo que necesitas #56

Esta semana vimos varios nuevos competidores en el mundo de los LLMs, tanto en modelos de código abierto como cerrado...

Inteligencia Artificial

Las 10 mejores herramientas para detectar ChatGPT, GPT-4, Bard y Claude.

Las mejores herramientas gratuitas para detectar tesis, trabajos de investigación, asignaciones, documentación y blog...

Inteligencia Artificial

La evolución automatizada aborda tareas difíciles

El aprendizaje por refuerzo agrupa datos no etiquetados en conjuntos de similitudes, con el objetivo de maximizar las...

Inteligencia Artificial

El nuevo modelo de IA de Phind supera a GPT-4 en codificación, con una velocidad similar a la de GPT-3.5 y un contexto de 16k.

En la codificación y resolución de problemas técnicos, un desafío ha sido el equilibrio entre la velocidad y la preci...

Inteligencia Artificial

Herramientas/Plataformas principales para la Optimización de Hiperparámetros 2023

Los hiperparámetros son parámetros utilizados para regular el comportamiento del algoritmo mientras crea el modelo. E...