¿Cuándo se prefieren los métodos de Monte Carlo sobre los de diferencia temporal?

12

Últimamente he estado investigando mucho sobre el aprendizaje por refuerzo. Seguí el aprendizaje de refuerzo de Sutton y Barto : una introducción para la mayor parte de esto.

Sé qué son los procesos de decisión de Markov y cómo se puede utilizar el aprendizaje de programación dinámica (DP), Monte Carlo y diferencia temporal (DP) para resolverlos. El problema que tengo es que no veo cuándo Montecarlo sería la mejor opción sobre el aprendizaje de TD.

La principal diferencia entre ellos es que TD-learning usa bootstrapping para aproximar la función de valor de acción y Monte Carlo usa un promedio para lograr esto. Realmente no puedo pensar en un escenario en el que esta sea la mejor manera de hacerlo.

Supongo que podría tener algo que ver con el rendimiento, pero no puedo encontrar ninguna fuente que pueda probarlo.

¿Me estoy perdiendo algo o TD-learning es generalmente la mejor opción?

Anne-dirk
fuente

Respuestas:

8

El principal problema con el aprendizaje de TD y DP es que sus actualizaciones de pasos están sesgadas en las condiciones iniciales de los parámetros de aprendizaje. El proceso de arranque suele actualizar una función o búsqueda Q (s, a) en un valor sucesor Q (s ', a') utilizando las estimaciones actuales que se encuentran en este último. Claramente, al comienzo del aprendizaje, estas estimaciones no contienen información de recompensas reales o transiciones de estado.

Si el aprendizaje funciona según lo previsto, el sesgo se reducirá asintóticamente en múltiples iteraciones. Sin embargo, el sesgo puede causar problemas importantes, especialmente para los métodos fuera de la política (por ejemplo, Q Learning) y cuando se utilizan aproximadores de funciones. Es tan probable que esa combinación no converja que se llama la tríada mortal en Sutton y Bart.

Los métodos de control de Monte Carlo no sufren este sesgo, ya que cada actualización se realiza utilizando una muestra real de lo que Q (s, a) debería ser. Sin embargo, los métodos de Monte Carlo pueden sufrir una gran variación, lo que significa que se requieren más muestras para lograr el mismo grado de aprendizaje en comparación con TD.

En la práctica, el aprendizaje de TD parece aprender más eficientemente si se pueden superar los problemas con la tríada mortal . Los resultados recientes que utilizan la repetición de la experiencia y las copias "congeladas" de los estimadores brindan soluciones que abordan los problemas, por ejemplo, así es como se construyó el alumno DQN para los juegos de Atari.

λλ0 010 01

Si está utilizando un método basado en valores (en lugar de uno basado en políticas), el aprendizaje de TD generalmente se usa más en la práctica, o un método de combinación TD / MC como TD (λ) puede ser aún mejor.

En términos de "ventaja práctica" para MC? El aprendizaje de Monte Carlo es conceptualmente simple, robusto y fácil de implementar, aunque a menudo es más lento que el TD. Generalmente no lo usaría para un motor de controlador de aprendizaje (a menos que tenga prisa por implementar algo para un entorno simple), pero lo consideraría seriamente para la evaluación de políticas con el fin de comparar múltiples agentes, por ejemplo, eso se debe a que es un medida imparcial, que es importante para las pruebas.

Neil Slater
fuente
En primer lugar, gracias por la respuesta. Veo cómo, en teoría, un algoritmo imparcial podría preferirse a uno sesgado. Pero teniendo en cuenta la gran variación que Monte Carlo puede dar al comienzo del entrenamiento, no veo cómo esto realmente importa. Tanto Monte Carlo como TD comenzarán con aproximaciones inexactas y, por lo que he leído, TD convergerá mucho más rápido. Simplemente no puedo sacar una ventaja práctica de usar Monte Carlo. (Divertirse la tríada mortal se puede evitar)
Anne-dirk
1
@ Anne-Dirk Si está utilizando un método basado en el valor (en contraposición a una basada en la política), entonces el aprendizaje TD se utiliza generalmente más en la práctica, o un método TD / MC combinación como TD (λ) puede ser aún mejor. No estoy seguro de lo que quiere decir con "ventaja práctica"? El aprendizaje de Monte Carlo es conceptualmente simple, robusto y fácil de implementar. En general, no lo usaría para un motor de controlador de aprendizaje (a menos que tenga prisa por implementar algo para un entorno simple), pero lo consideraría seriamente para la evaluación de políticas con el fin de comparar múltiples agentes, por ejemplo.
Neil Slater
@Neul Slater Aaaah Ya veo ... Ese es el tipo de respuesta que estaba buscando :) ¡Gracias por su ayuda!
Anne-dirk
-1

Básicamente depende de su entorno.

TD explota la propiedad de Markov, es decir, los estados futuros de un proceso dependen únicamente del estado actual y, por lo tanto, generalmente es más eficiente usar TD en entornos de Markov.

MC no explota la propiedad de Markov, ya que basa las recompensas en todo el proceso de aprendizaje, que se presta a entornos que no son de Markov.

BigBadMe
fuente
No creo que esto sea correcto o, al menos, obvio de ver. La propiedad Markov, en el contexto de RL, está asociada con los estados. ¿Puede aclarar por qué los algoritmos de MC funcionarían mejor cuando la propiedad de Markov no estuviera satisfecha?
nbro
Para ser claros, me refería a la eficiencia. Si puede explotar la propiedad de Markov, entonces TD es ventajoso porque puede comenzar en cualquier estado, toma y acción, y el resultado siempre será el mismo, por lo que puede calcular el error de TD con altos niveles de certeza. Con no MDP si obtiene un estado que se observa parcialmente, entonces TD puede no ser muy eficiente. Eso no quiere decir que no pueda usar TD en no MDP, sí, pero puede ser ineficiente y puede tener un mejor éxito con TD lambda en lugar de TD (1).
BigBadMe
"Si puede explotar la propiedad de Markov, entonces TD es ventajoso porque puede comenzar en cualquier estado, acción y acción, y el resultado siempre será el mismo", será el mismo si el entorno es determinista. ¿Qué tiene esto que ver con la propiedad Markov? No entiendo tus reclamos. ¿Dónde leíste que TD será más ineficiente que MC en, por ejemplo, POMDP?
nbro
Literalmente tiene todo que ver con que sea Markov; si se encuentra en un entorno de Markov, una vez que establezca la acción a en estado a, conducirá indicará un 'con recompensa x; ese siempre será el caso en un entorno de Markov, por lo que no necesita evaluarlo y más: puede dar pasos más grandes y TD le permite explotar eso. Pero no será el caso en un POMDP porque puede tener exactamente el mismo estado, tomar la misma acción, pero terminar en estados y recompensas completamente diferentes.
BigBadMe
"si estás en un entorno de Markov, una vez que establezcas una acción en estado a, conducirá indicará a 'con recompensa x". No se . Esto solo es cierto si el entorno es determinista . El ambiente también puede ser estocástico . "ese siempre será el caso en un entorno de markov", No , este es un problema ortogonal a la propiedad de Markov.
nbro