14 - SARSA: control “on-policy” con Diferencia Temporal
Lección 14 del curso Aprendizaje por Refuerzo Nivel Intermedio.
Tabla de contenido
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.
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:
-
Entradas: la política a optimizar (¡puede ser totalmente arbitraria!)
-
Parámetros: la tasa de aprendizaje (entre 0 y 1) y el valor de ϵ
-
Inicializar la función acción-valor para cada uno de los pares estado-acción. Los estados terminales se inicializan con valores de cero independientemente de la acción asociada
-
Repetir K veces y en cada iteración:
(a) Generar un episodio usando la política
(b) Ir al primer estado del episodio
(c) Elegir una acción determinada por la política pero usando un enfoque ϵ-greedy
(d) Por cada instante de tiempo “t” en el episodio:
- Tomar la acción A y observar la recompensa obtenida y el estado resultante
- Escoger la nueva acción a partir del estado resultante usando un enfoque ϵ-greedy
- Actualizar la función acción-valor de forma incremental y considerando sólo un instante de tiempo en la interacción
- Actualizar el estado y la acción
- Detenerse al llegar a un estado terminal
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.