13 - Predicción con Diferencia Temporal

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

Introducción

En la lección anterior vimos una introducción al aprendizaje por Diferencia Temporal y hablamos en detalle de sus semejanzas y ventajas frente a métodos como la Programación Dinámica y Monte Carlo.

En esta lección veremos todos los detalles del algoritmo de Predicción con Diferencia Temporal, que permite llevar a cabo la evaluación de una política.

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

El objetivo de la predicción con Diferencia Temporal

Al igual que con la Programación Dinámica y Monte Carlo, en el caso de la Diferencia Temporal el algoritmo de predicción busca evaluar una Política.

Es decir que dada una política, lo que hará el algoritmo será estimar la función estado-valor asociada.

Y acá es importante resaltar nuevamente el término estimar, pues al no requerir el modelo completo del entorno, lo que hará la predicción con Diferencia Temporal será obtener una estimación de la función estado-valor a partir de la interacción entre el Agente y el Entorno.

Así que, al igual que en la predicción con Monte Carlo, en este caso el punto de partida será la ecuación que define la función estado-valor.

Cálculo recursivo del retorno

Pero en el caso de la predicción con Diferencia Temporal nos interesa encontrar ecuaciones que no requieran completar un episodio de interacción. Así que, con algo de manipulación algebráica, podemos re-escribir la ecuación anterior de forma recursiva.

Esta nueva versión de la ecuación nos dice es que realmente no tenemos que esperar a calcular las recompensas en todos los instantes de tiempo (t+1, t+2, t+3, …, T) (como lo hacíamos en Monte Carlo) para luego obtener el retorno (G). En lugar de ello en cada iteración podemos tener una estimación de este retorno tan sólo con una interacción (es decir en el instante de tiempo t+1).

¿Cómo calcular la función estado-valor iterativamente?

Usando el principio del cálculo recursivo del promedio, podemos encontrar una expresión para el cálculo incremental de la función estado-valor.

La ecuación obtenida nos dice que en cada actualización el target es comparado con la estimación anterior de la función estado-valor. Si el target es mayor que dicha estimación lo que haremos será incrementar la nueva estimación de la función estado-valor, mientras que si es menor lo que haremos será disminuir dicha estimación.

Es decir que con esta regla algorítmica lo que haremos será que la nueva estimación se mueva progresivamente hacia el target.

La tasa de aprendizaje

En la práctica, si el estado es visitado múltiples veces, es posible que el contador de este número de visitas tenga un valor grande, lo que haría que el valor del estado de interés prácticamente no se actualice (o lo haga muy lentamente).

Para evitar esto, en la práctica se reemplaza esta porción por un parámetro conocido como la tasa de aprendizaje que indica la importancia que daremos a la diferencia entre el target y el valor calculado anteriormente.

El algoritmo de predicción con diferencia temporal

Ahora sí tenemos todos los elementos necesarios para definir este algoritmo de predicción:

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

Bien, ya tenemos todos los detalles del algoritmo de Predicción con Diferencia Temporal, así que ahora es momento de hablar de los algoritmos de control que nos permiten obtener una política óptima.

Y así como en Monte Carlo, en este caso tendremos dos enfoques: el control on-policy y el control off-policy. Entonces en la próxima lección veremos el algoritmo de control SARSA, un algoritmo on-policy que usa la Diferencia Temporal para obtener una política óptima.

Ver todas las lecciones de este curso