Aprendizaje Reforzado » Aprendizaje por Diferencia Temporal
Aprendizaje por Diferencia Temporal

El aprendizaje por diferencia temporal (o Temporal Difference Learning, TD learning) es una técnica de aprendizaje por refuerzo que combina ideas del aprendizaje supervisado y el aprendizaje basado en modelos para estimar valores en un entorno secuencial. En TD learning, un agente aprende a estimar el valor de un estado o una acción basándose en experiencias previas, actualizando sus valores gradualmente después de cada paso en el entorno.

La clave de TD learning es que las actualizaciones se basan en diferencias entre las predicciones sucesivas de los valores de los estados, en lugar de esperar a que se complete un episodio (como en métodos Monte Carlo). Esto permite al agente aprender de inmediato después de cada paso, lo cual es especialmente útil en entornos de larga duración o continuos.

Fundamentos del TD Learning

En TD learning, el agente actualiza su estimación del valor de un estado V(s)V(s) usando la siguiente fórmula general:

V(s)V(s)+αδtV(s)←V(s)+αδ_{t}

Donde:

  1. V(s) es el valor estimado del estado actual.

  2. α es la tasa de aprendizaje.

  3. δtδ_{t} es el TD error, calculado como: δt=rt+γV(st+1)V(s)δ_{t}=r_{t}+γV(s_{t+1})−V(s).

Proporciona una señal para el aprendizaje. Un error TD positivo indica que el valor previsto del estado actual era demasiado bajo, mientras que un error TD negativo sugiere que era demasiado alto.

Para entender el TD error vamos a empezar por subdividir la ecuacion es dos partes de la siguiente forma:

La parte azul representa el valor estimado al cual queremos apuntar.

El valor de cada estado deberia ser igual a la recompensa maxima obtenida en ese estado, por lo tanto la ecuacion deberia ser asi.

Pero ¿Porque no es asi? Esto se debe a que el valor estimado de cada estado no solamente debe estar en funcion de la recompensa actual, sino que tambien debe tener en cuenta el valor estimado de todas las recompensas futuras.

Esto se debe a que una recompensa negativa en estados iniciales podria llevar a una recompensa futura positiva en estados finales o una recompensa positiva en estados iniciales puede llevar a una recompensa futura negativa en estados finales.

Por lo tanto:

Volviendo a la ecuacion inicial, el motivo porque hacemos la resta entre estos dos componentes:

Es porque se busca utilizar esta diferencia denominada GG para poder reducirla durante varias iteraciones.

Principales Métodos de TD Learning

Existen varios métodos de TD learning, entre los cuales destacan:

  1. SARSA: Un algoritmo que sigue la política actual (on-policy) y actualiza sus estimaciones de acuerdo con las acciones tomadas por esa política.

  2. Q-Learning: Un algoritmo fuera de la política (off-policy) que intenta aprender la mejor política posible independientemente de la política seguida por el agente durante el entrenamiento.

  3. TD(λ): Un método que generaliza el TD learning, introduciendo el parámetro λ para balancear el aprendizaje a corto y largo plazo.

Ventajas del Aprendizaje por Diferencia Temporal

  1. Eficiencia en el Aprendizaje: Actualiza los valores de los estados a medida que el agente experimenta, sin esperar al final del episodio.

  2. Aproximación en Tiempo Real: Permite al agente aprender en entornos continuos o de larga duración.

  3. Capacidad para Aprender sin Modelo Completo: No requiere conocer el modelo del entorno, lo cual lo hace adecuado para problemas complejos o desconocidos.

TD learning es fundamental en el aprendizaje por refuerzo y se usa en algoritmos modernos de RL, incluyendo variantes avanzadas como el TD3 en aprendizaje profundo.

Empareja las oraciones arrastrando los cuadros hasta que estén en verde. Las oraciones no pueden moverse entre columnas.

Ejemplo

Aifa fue a la cafetería para probar un nuevo desayuno. Primero debe elegir la bebida, que puede ser un café o una malteada.

Luego debe elegir la comida, que puede ser unas galletitas comunes o con chispas de chocolate.

Elige de manera aleatoria el café y las galletitas con chispas de chocolate.

Aifa estima que el café le va a dar 2 de energía y las galletas le van a dar 3 de energía, pero cuando termina de desayunar, descubre que el café le dio 3 de energía y las galletas le dieron 5 de energía.

Nos toca a nosotros utilizar la fórmula de aprendizaje por diferencia temporal para ajustar esas estimaciones. Para facilitar el ejemplo imaginaremos que la ratio de aprendizaje αα (Learning Rate) es 1 y el factor de decaimiento gamma γγ es 1. Empezaremos por recopilar los datos:

s1=eligiendocomidas_{1} = eligiendocomida
s0=eligiendobebidas_{0} = eligiendobebida
V(eligiendocomida)=3V(eligiendocomida)=3
V(eligiendobebida)=2V(eligiendobebida)=2
r1=5r_{1}=5
r0=3r_{0}=3
α=1α=1
γ=1γ=1

Por lo general el TD error δδ se calcula empezando desde el último paso, ósea desde la elección de la comida:

Paso t=1

En nuestro ejemplo no existe un estado posterior a s1s_{1}, por lo tanto V(s2)V(s_{2}) es cero.

δ1=r1+γV(s2)V(eligiendocomida)δ_{1} = r_{1} + γV(s_{2}) - V(eligiendocomida)
δ1=5+103δ_{1} = 5 + 1 * 0 - 3
δ1=2δ_{1} = 2

Paso t=0

δ0=r0+γV(eligiendocomida)V(eligiendobebida)δ_{0} = r_{0} + γV(eligiendocomida) - V(eligiendobebida)
δ0=3+132δ_{0} = 3 + 1 * 3 - 2
δ0=4δ_{0} = 4

Entonces, los valores de δtVδ^{V}_{t} son:

δ=[4,2]δ=[4, 2]

Aplicamos los valores usando la formula vista anteriormente V(s)V(s)+αδtV(s)←V(s)+αδ_{t} para cambiar las estimaciones de las recompensas de los estados.

V(eligiendocomida)V(eligiendocomida)

V(eligiendobebida)V(eligiendobebida)

V(eligiendocomida)V(eligiendocomida)+αδ1V(eligiendocomida)←V(eligiendocomida)+αδ_{1}
V(eligiendocomida)3+12V(eligiendocomida)←3 + 1*2
V(eligiendocomida)5V(eligiendocomida)←5
V(eligiendobebida)V(eligiendobebida)+αδ0V(eligiendobebida)←V(eligiendobebida)+αδ_{0}
V(eligiendobebida)2+14V(eligiendobebida)←2 + 1*4
V(eligiendobebida)6V(eligiendobebida)←6

Ahora vamos a repetir el proceso para mejorar las estimaciones de Aifa teniendo en cuenta los nuevos datos:

s1=eligiendocomidas_{1} = eligiendocomida
s0=eligiendobebidas_{0} = eligiendobebida
V(eligiendocomida)=5V(eligiendocomida)=5
V(eligiendobebida)=6V(eligiendobebida)=6
r1=5r_{1}=5
r0=3r_{0}=3
α=1α=1
γ=1γ=1

Paso t=1

δ1=r1+γV(s2)V(eligiendocomida)δ_{1} = r_{1} + γV(s_{2}) - V(eligiendocomida)
δ1=5+105δ_{1} = 5 + 1 * 0 - 5
δ1=0δ_{1} = 0

Paso t=0

δ0=r0+γV(eligiendocomida)V(eligiendobebida)δ_{0} = r_{0} + γV(eligiendocomida) - V(eligiendobebida)
δ0=3+156δ_{0} = 3 + 1 * 5 - 6
δ0=2δ_{0} = 2

Entonces, los valores de δtVδ^{V}_{t} son:

δ=[2,0]δ=[2, 0]

Ahora aplicamos los valores

V(eligiendocomida)V(eligiendocomida)

V(eligiendobebida)V(eligiendobebida)

V(eligiendocomida)V(eligiendocomida)+αδ1V(eligiendocomida)←V(eligiendocomida)+αδ_{1}
V(eligiendocomida)5+10V(eligiendocomida)←5 + 1*0
V(eligiendocomida)5V(eligiendocomida)←5
V(eligiendobebida)V(eligiendobebida)+αδ0V(eligiendobebida)←V(eligiendobebida)+αδ_{0}
V(eligiendobebida)6+12V(eligiendobebida)←6 + 1*2
V(eligiendobebida)8V(eligiendobebida)←8

Ahora vamos a interpretar los resultados de cada uno de los estados:

  1. V(eligiendocomida)5V(eligiendocomida)←5: En este estado el valor máximo posible es 5 porque la recompensa obtenida hasta el momento es 5 de energía y no hay estados futuros, por lo tanto, no hay recompensas futuras que afectan nuestra decisión.

  2. V(eligiendobebida)8V(eligiendobebida)←8: En este estado no solo se debe tener en cuenta la recompensa actual, sino también las recompensas posteriores. Es por eso que el valor de este estado es 8, porque la recompensa en este estado (eligiendobebidaeligiendobebida) es 3 y la recompensa del siguiente estado (eligiendocomidaeligiendocomida) es 5 y si sumamos las dos recompensas el valor es 8.

Conclusiones

TD Learning es un método clave en el aprendizaje por refuerzo que actualiza los valores de los estados en cada paso de manera incremental, basándose en predicciones de futuros estados en lugar de esperar hasta el final de cada episodio. Esto lo hace más rápido y adaptable en comparación con el método Monte Carlo, que solo actualiza valores una vez finalizado el episodio, y más estable que la Programación Dinámica, que depende de un modelo completo del entorno.

La flexibilidad de TD Learning se ve ampliada con su versión TD(λ), que permite ajustar el grado de consideración de las recompensas futuras, moviéndose entre el aprendizaje a corto plazo (TD(0)) y a largo plazo (Monte Carlo). Este equilibrio permite a TD Learning manejar entornos complejos y dinámicos, como juegos o control de robots, donde se requiere aprender de la interacción en tiempo real con el entorno y adaptarse rápidamente a los cambios.

Hemos llegado al final de este artículo. Espero que te halla resultado útil y que hallas disfrutado leyéndolo tanto como yo disfrute escribiéndolo 😁.