Tema

Aprendizaje por diferencias temporales

El aprendizaje por diferencias temporales actualiza el valor de un estado hacia la recompensa inmediata más el valor estimado del estado siguiente, sin esperar al final del episodio.

Nombre en inglés

Temporal difference learning

Intuición

El método aprende de una conjetura usando otra conjetura, lo que se conoce como arranque por los cordones. La ventaja es que la actualización llega en cada paso y sirve también en tareas sin final; el coste es un sesgo, porque el objetivo depende de una estimación todavía imperfecta. El error temporal que aparece en la fórmula mide la sorpresa del paso, es decir, cuánto se apartó lo ocurrido de lo previsto.

Fórmula

\delta_t = R_{t+1} + \gamma V(S_{t+1}) - V(S_t) \qquad V(S_t) \leftarrow V(S_t) + \alpha \delta_t

Ejemplo resuelto

Se toma el mismo episodio que visita A, después B y termina, con recompensas 0 y 1, descuento 1 y tasa 0.5, partiendo de todos los valores en cero. En el primer paso el error vale 0 más 0 menos 0 = 0, de modo que A sigue en 0. En el segundo el error vale 1 más 0 menos 0 = 1 y B pasa a 0.5. Conviene comparar con Monte Carlo, que en ese mismo episodio ya habría dejado A en 0.5 porque vio el premio final. En el segundo episodio, el método temporal deja A en 0 más 0.5 por (0 más 0.5 menos 0) = 0.25 y B en 0.5 más 0.5 por 0.5 = 0.75, es decir, la información viaja un estado hacia atrás por episodio.

Errores frecuentes

Ejercicio

Con el estado actual en 3, el siguiente en 5, recompensa 1, descuento 0.9 y tasa 0.2, ¿cuánto vale el estado actual después de la actualización?

Ver la solución

El error temporal vale 1 más 0.9 por 5 menos 3, es decir, 1 más 4.5 menos 3 = 2.5. La actualización suma la tasa por el error, es decir, 0.2 por 2.5 = 0.5. El valor nuevo es 3 más 0.5 = 3.5.

Respuesta: 3.5

Temas relacionados

Cursos a los que prepara

Abrir el tema en la guía