3.2 Design goals
4.1.2 Model
Los métodos de Diferencias Temporales (DT) combinan las ventajas de los dos anteriores (programación dinámica y Monte Carlo) [Sutton y Barto, 1998]. Al igual que los métodos de Monte Carlo, pueden aprender a partir de la experiencia y no requiere tener un modelo del ambiente, y de la misma forma que los métodos de programación dinámica, actualizan la estimación de las funciones de valor utilizando otras estimaciones aprendidas, sin necesidad de esperar hasta el final de un episodio para poder actualizar la estimación de las funciones de valor. Diferencias Temporales usa el error o diferencia entre predicciones sucesivas (en lugar del error entre la predicción y la salida final) aprendiendo al existir cambios entre éstas. Las principales ventajas de DT son:
• Incrementales y por lo tanto fáciles de computar. • Convergen más rápido con mejores predicciones.
La forma más sencilla de DT llamada DT(0) se basa en la ecuación 2.13:
V(st) Å V(st) + α [rt+1 + γV(st+1) - V(st)] (2.13)
Donde st es un estado no terminal visitado en el tiempo t,α es una constante y γ es un factor
Es necesario dejar en claro que el mayor problema en aprendizaje por refuerzo, es saber cuando una acción considerada es buena, y si ésta tiene efectos en el largo plazo (problema de asignación de crédito temporal [Sutton y Barto, 1998]). Una estrategia es esperar hasta la finalización de un episodio del algoritmo, evaluar la solución obtenida y recompensar si los resultados fueron buenos o penalizar en el caso de que éstos sean malos (métodos de Monte Carlo). Sin embargo, en problemas continuos (donde la iteración agente-ambiente no termina en episodios claramente definidos), aplicar ésta estrategia es difícil, ya que no se conoce cual será el estado terminal. En estos casos se requiere utilizar el algoritmo de iteración de valor, actualizando los valores estimados de las funciones de valor en función de la recompensa inmediata y el valor estimado del estado futuro en la transición. A esta clase de algoritmos se les conoce como Métodos de diferencias temporales [Sutton 1998].
Inicializa V(s) arbitrariamente yπa la política a evaluar Repite (para cada episodio):
Inicializa s
Repite (para cada paso del episodio):
a Åacción dada porπpara s
Realiza acción a; observa la recompensa, r, y el siguiente estado, s’
V(s) Å V(s) + α [r + γV(s’) - V(s)] s Å s’
Hasta que s sea terminal
Figura 2. 8 Algoritmo de DT(0).
Existen muchos algoritmos de diferencias temporales, algunos diseñados para aprender funciones de valor de estados y algunos otros para el aprendizaje de funciones de valor de los pares estado-acción. Dado que el aprendizaje de funciones de valor de los pares estado- acción, Q(s,a), permite establecer una política de comportamiento óptima para el agente, en la subsección siguiente se presenta Q-learning, el cual es un algoritmo que permite aprender funciones de valor para los pares estado-acción, mismo que reúne las ventajas de programación dinámica y de los métodos de Monte Carlo, y que además es uno de los algoritmos base en el trabajo de tesis presentado. El algoritmo de DT(0) es el que se presenta en la Figura 2.8.
Sarsa
El primer paso para aprender funciones de valor para los pares estado-acción, es considerar que los episodios consisten de secuencias alternadas de estados y pares estado-acción, donde las transiciones y el aprendizaje se hace entre pares estado-acción. La regla de actualización derivada será entonces:
Q(st, at) Å Q(st, at) + α [rt+1 + γQ(st+1, at+1) - Q(st, at)] (2.14)
La cual se aplica luego de realizar una transición a partir de cualquier estado, st,y utiliza todos los elementos de la quíntupla de eventos (st,at,rt+1,st+1,at+1), asociados a la transición de un par estado-acción a otro. El algoritmo de diferencias temporales basado en este concepto se conoce como Sarsa, nombre que surge de la quíntupla mencionada anteriormente. El algoritmo Sarsa es mostrado en la Figura 2.9 [Sutton y Barto, 1998]. Con Sarsa, se estima Qπpara la política π, al mismo tiempo que πcambia de forma greedy
respecto a Qπ. Además de que Sarsa converge con probabilidad 1 a la política óptima a medida que los pares estado-acción son visitados un número infinito de veces y la política de selección tiende a ser greedy en el tiempo. Esto es, considerando una política de selección ∈-greedy, suponiendo por ejemplo que: ∈=1/t.
Inicializa Q(s, a) arbitrariamente Repite (para cada episodio):
Inicializa s
Selecciona unaαa partir de s usando la política dada por Q (e.g., ∈-greedy)
Repite (para cada paso del episodio): Realiza acción a, observa r, s’
Escoge a’ de s’ usando la política derivada de Q Q(s, a) Å Q(s, a) + α [r + γQ(s’, a’) - Q(s, a)] s Å s’, a Å a’;
Hasta que s sea Terminal
Figura 2. 9 Algoritmo SARSA.
Uno de los desarrollos más importantes en aprendizaje por refuerzo fue el desarrollo de un algoritmo “fuera-de-política” (off-policy) conocido como Q-learning [Watkins, 1989].
Q-Learning
Ahora bien, es posible hacer que Q se aproxime directamente aQ*, la función de valor para las acciones, independientemente de la política de selección adoptada. A este algoritmo se le conoce como Q-Learning [Watkins, 1989]. Q-Learning aprende las funciones de valor para las acciones-estados en lugar de la función de valor de los estados. En particular, se debe estimar Qπ(s,a)para la política π, para todos los estados s, y para las acciones a.
Principalmente éste algoritmo se define por la actualización de la función de valor mostrado en la ecuación 2.15:
(
st,at)
Q(
st,at)
[rt 1 maxQ(
st 1,at 1) (
Q st,at)
] Q ← + + + + + − α γ α (2.15)Un agente en un tiempo t localizado en un estado st∈S, elige una de las posibles acciones, ,
st
t A
a ∈ en el estado de acuerdo a una política de selección (p. ej. ∈-greedy). La ecuación 2.15, actualiza la función de evaluación para ese par estado-acción considerando el valor de recompensa obtenido, ,rt y la función de evaluación máxima para todas las posibles acciones en el estado futuro s'. Lo anterior se representa de acuerdo al diagrama de apoyo mostrado en la Figura 2.10.
Q-learning es uno de los métodos empleados con mayor frecuencia para la solución de problemas de aprendizaje por refuerzo, Esto se debe probablemente a su simplicidad y robustez que permite aplicarlos de forma rápida y eficiente con requerimientos mínimos de cómputo. Por otro lado, Q-learning es un algoritmo que cuenta con un sustento teórico, lo cual es importante debido a que su uso puede ser extendido a la solución de problemas de optimización. Por un lado, Q-learning estima la función de valor de un par estado-acción utilizando las estimaciones de las funciones de valor de otros pares estado-acción (bootstrap5), como en los métodos de programación dinámica, pero como los métodos de Monte Carlo, no requiere un modelo del ambiente. Estas dos propiedades, asociadas al hecho de que Q-learning puede aplicarse de forma incremental y aprender directamente de las iteraciones del agente con el ambiente, lo hace un algoritmo de aprendizaje por refuerzo sumamente atractivo [Mariano, 2001].
Figura 2. 10 Diagrama de apoyo para Q-Learning.
En ésta tesis se implementó el algoritmo de aprendizaje por refuerzo propuesto por Watkins (Q-learning), el cual se describe en la Figura 2.11.
Básicamente el objetivo de este algoritmo consiste en encontrar todos los estados posibles para ciertas acciones y llevar un registro de ellos. Por cada acción efectuada (a), se otorgará una recompensa (r), ya sea ésta favorable o negativa con el fin de que en las siguientes visitas a los mismos estados (s), se pueda determinar que acción es la más adecuada.
Inicializa Q(s, a) arbitrariamente Repite (para cada episodio):
Inicializa s
Repite (para cada paso del episodio):
Selecciona una a de s usando la política dada por Q (e.g., e-greedy)
Realiza acción a, observar, r,s’
Q(s, a)Å Q(s, a) + α [r + γ max’a Q(s’, a’) - Q(s, a)]
s Å s’;
Hasta que s sea terminal
Figura 2. 11 Algoritmo Q-learning.
Éste algoritmo (Q-learning) al igual que el de iteración de valor (value iteration) son implementados en ésta tesis tanto en ambientes simulados como en ambientes reales, en robots de tipo EyeBot.