14 - SARSA: control “on-policy” con Diferencia Temporal

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

Introducción

Habiendo entendido el algoritmo de Predicción con Diferencia Temporal visto en la lección anterior, junto con los algoritmos de Control con Monte Carlo, veremos que resulta muy sencillo entender el algoritmo de control SARSA que veremos en detalle en esta lección.

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 de los algoritmos de control con Diferencia Temporal

El objetivo de estos algoritmos es el mismo de los vistos anteriormente para el caso del control con Monte Carlo: obtener una política óptima, partiendo de una política que incluso puede ser arbitraria.

Control on-policy y control off-policy

Y al igual que en el Control con Monte Carlo, en este caso también tendremos dos tipos de algoritmos: los que usan la misma política para general las mejoras (on-policy, como el algoritmo SARSA de esta lección) y los que no necesariamente requieren de la misma política para la optimización (off-policy, como el algoritmo Q-learning que veremos en la próxima lección).

En ambos casos también tendremos en cuenta el balance entre explotación y explotación que discutimos anteriormente.

Repaso: control “on-policy” con Monte Carlo

En el control con Monte Carlo, y usando el enfoque “on-policy”, partimos de una política arbitraria y de manera iterativa la evaluamos (es decir calculamos su función acción-valor) y luego la mejoramos usando un enfoque epsilon-greedy.

Control “on-policy” con Diferencia Temporal

En el caso de la Diferencia Temporal podemos usar el mismo enfoque anterior para obtener una política óptima usando el control “on-policy”.

Es decir que también tomaremos como punto de partida una política arbitraria y de forma iterativa calcularemos su función acción-valor asociada (evaluación) seguida por un enfoque epsilon-greedy para su mejora.

La diferencia sustancial en este caso está en la forma como se estima la función acción-valor. En este caso usaremos lo aprendido en la lección anterior para la predicción, es decir que estimaremos esta función acción-valor usando un cálculo incremental.

SARSA: cálculo de la función acción-valor

Para hacer este cálculo partiremos de un par estado-acción (S+A), evaluaremos tan sólo una transición de estado, obteniendo la recompensa (R) y un nuevo par de estado-acción (S+A) resultantes. Y si combinamos estos 5 elementos requeridos para el cálculo, ¡tendremos precisamente el nombre del algoritmo: SARSA!.

El algoritmo SARSA para el control “on-policy” con diferencia temporal

Con esto ya estamos listos para definir todos los pasos de nuestro algoritmo, que en esencia resulta siendo muy similar a la Predicción con Diferencia Temporal vista en la lección anterior:

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 todos los detalles del algoritmo de control SARSA. Y acá es importante resaltar que se trata de un algoritmo “on-policy”, pues las acciones seleccionadas en cada iteración se toman de acuerdo con la misma política que se está mejorando.

En la próxima lección veremos una alternativa a este algoritmo, que consiste en obtener la política óptima pero usando un enfoque “off-policy”. Así que hablaremos en detalle del Q-learning, el control “off-policy” con diferencia temporal.

Ver todas las lecciones de este curso