15 - Q-learning: control “off-policy” con Diferencia Temporal

Lección 15 del curso Aprendizaje por Refuerzo Nivel Intermedio.

Introducción

En la lección anterior hablamos del algoritmo SARSA para el control “on-policy” usando Diferencia Temporal y vimos que en esencia permite obtener una política óptima a partir de la estimación de la función acción-valor usando un enfoque incremental.

En esta lección hablaremos del algoritmo Q-learning, uno de los principales algoritmos del Aprendizaje por Refuerzo Clásico y que permite estimar una política óptima pero usando un enfoque off-policy.

Contenido exclusivo suscriptores

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Objetivo del algoritmo Q-learning

El objetivo del algoritmo Q-learning es exactamente el mismo del algoritmo de control SARSA que vimos anteriormente: obtener una política óptima.

Sin embargo, en este caso no es necesaria ninguna política inicial para llegar a dicha política óptima y por tanto Q-learning es un algoritmo de control off-policy.

SARSA vs. Q-learning

El algoritmo de Q-learning se puede obtener fácilmente del algoritmo SARSA haciendo una ligera modificación.

En Q-learning tomamos de inmediato, en cada actualización, la mejor acción (usando la función max); mientras que en SARSA escogemos la acción que defina la política.

El algoritmo Q-learning para control off-policy con Diferencia Temporal

Teniendo en cuenta lo anterior, podemos escribir el algoritmo Q-learning de la siguiente forma:

Y acá vale la pena resaltar dos cambios importantes:

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Muy bien, acabamos de ver el algoritmo Q-learning que como lo mencionamos es uno de los principales aportes en el Aprendizaje por Refuerzo clásico.

Así que con todo lo visto en esta sección ya estamos listos para entrar a la última lección del curso, en donde veremos cómo aplicar de forma práctica estos conceptos de Aprendizaje por Diferencia Temporal junto con OpenAI Gym y Python para entrenar un agente de Aprendizaje por Refuerzo.

Ver todas las lecciones de este curso