• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

9 – El algoritmo Actor-Crítico

Lección 9 de curso Aprendizaje por Refuerzo Nivel Avanzado.

En la lección anterior vimos cómo usar el algoritmo REINFORCE para resolver el problema del péndulo invertido, un problema clásico en el Aprendizaje por Refuerzo.

En esta lección veremos en detalle qué es y cómo funciona el algoritmo Actor-Crítico, uno de los algoritmos de Gradiente de la Política más usados y que resuelve algunas limitaciones de los algoritmos REINFORCE. De igual forma veremos un sencillo ejemplo de implementación de este algoritmo en Python.

Comencemos entonces entendiendo las principales limitaciones del algoritmo REINFORCE con línea de base y veamos cómo el algoritmo Actor-Crítico intenta mejorar estos aspectos:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Muy bien, como acabamos de ver en esencia el algoritmo Actor-Crítico intenta resolver dos inconvenientes del algoritmo REINFORCE con línea de base:

  • En primer lugar hace uso de algoritmos de aprendizaje por diferencias temporales para actualizar la Política sin necesidad de ejecutar episodios completos. Esto hace que Actor-Crítico funcione incluso para problemas no episódicos
  • Y en segundo lugar, en los algoritmos Actor-Crítico la Política y la función estado valor estar interconectadas: la mejora de una implica una mejora en la otra y viceversa. Esto no ocurre en el algoritmo REINFORCE con línea de base.

Así que en esencia, en estos algoritmos Actor-Crítico tendremos a la Política (es decir el Actor) que se actualiza de manera iterativa usando diferencias temporales, y tendremos a la función estado-valor (el Crítico) que continuamente se retroalimenta de dicha Política para aprender, también de forma iterativa, a evaluarla cada vez mejor.

Teniendo claro este principio de funcionamiento del algoritmo Actor-Crítico, veamos cómo resolver el sencillo problema del pasillo unidimensional (visto en lecciones anteriores) con ayuda de Python:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Como acabamos de ver, para resolver este problema del pasillo simplemente debemos realizar unas ligeras modificaciones al código implementado en lecciones anteriores (cuando usamos los algoritmos REINFORCE y REINFORCE con línea de base) para lograr entrenar el Agente usando este algoritmo Actor-Crítico.

Así que teniendo claros los aspectos conceptuales de este algoritmo así como una primera implementación práctica, en la próxima lección (la última de este curso) veremos cómo usar el algoritmo Actor-Crítico para resolver el problema del péndulo invertido con ayuda de Python y la librería Gymnasium.

Todas las lecciones del curso Aprendizaje por Refuerzo Nivel Avanzado

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }