24 votos

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

Últimamente he estado investigando mucho sobre Aprendizaje por Refuerzo. He seguido el libro de Sutton & Barto Reinforcement Learning: An Introduction para la mayor parte de esto.

Sé qué son los Procesos de Decisión de Markov y cómo la Programación Dinámica (DP), Monte Carlo y el aprendizaje de Diferencia Temporal (DP) pueden utilizarse para resolverlos. El problema que tengo es que no veo cuándo Monte Carlo sería la mejor opción sobre TD-learning.

La diferencia principal entre ellos es que TD-learning utiliza el bootstrapping para aproximar la función de valor de la acción y Monte Carlo utiliza un promedio para lograrlo. Simplemente no puedo pensar en un escenario en el que esta sea la mejor opción.

Supongo que podría tener algo que ver con el rendimiento, pero no puedo encontrar fuentes que lo demuestren.

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

30voto

Scott MacDougall Puntos 1

El principal problema con el aprendizaje por TD y DP es que las actualizaciones paso a paso están sesgadas en las condiciones iniciales de los parámetros de aprendizaje. El proceso de bootstrapping típicamente actualiza una función o busca Q(s,a) en un valor sucesor Q(s',a') utilizando las estimaciones actuales en este último. Claramente, al comienzo del aprendizaje, estas estimaciones no contienen información real de ninguna recompensa o transición de estado.

Si el aprendizaje funciona como se espera, entonces el sesgo disminuirá asintóticamente a lo largo de múltiples iteraciones. Sin embargo, el sesgo puede causar problemas significativos, especialmente para métodos fuera de política (por ejemplo, Q Learning) y al usar aproximadores de funciones. Esa combinación es tan propensa a no converger que se le llama el trío mortal en Sutton & Barto.

Los métodos de control de Montecarlo no sufren de este sesgo, ya que cada actualización se realiza utilizando una muestra real de lo que debería ser Q(s,a). Sin embargo, los métodos de Montecarlo pueden sufrir de alta varianza, 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 por TD parece aprender de manera más eficiente si se pueden superar los problemas con el trío mortal. Resultados recientes que utilizan repetición de experiencias y copias "congeladas" escalonadas de estimadores proporcionan soluciones alternativas que abordan problemas, por ejemplo, así es como se construyó el aprendiz DQN para los juegos de Atari.

También hay un punto intermedio entre el aprendizaje por TD y Montecarlo. Es posible construir un método generalizado que combine trayectorias de diferentes longitudes, desde TD de un solo paso hasta ejecuciones de episodios completos en Montecarlo, y combinarlos. La variante más común de esto es el aprendizaje TD($\lambda$), donde $\lambda$ es un parámetro de $0$ (efectivamente aprendizaje por TD de un solo paso) a $1$ (efectivamente aprendizaje Montecarlo, pero con la característica de poder usarse en problemas continuos). Típicamente, un valor entre $0$ y $1$ hace que el agente de aprendizaje sea más eficiente, aunque al igual que muchos hiperparámetros, el mejor valor a utilizar depende del problema.

Si estás utilizando un método basado en el valor (en lugar de uno basado en la política), entonces en la práctica se utiliza más el aprendizaje por TD, o un método de combinación TD/MC como TD(λ) puede ser incluso mejor.

En términos de "ventaja práctica" para Montecarlo, el aprendizaje de Montecarlo es conceptualmente simple, robusto y fácil de implementar, aunque a menudo es más lento que TD. Generalmente no lo usaría para un controlador de aprendizaje (a menos que esté apurado para implementar algo para un entorno simple), pero consideraría seriamente su uso para la evaluación de políticas para comparar múltiples agentes, por ejemplo, debido a que es una medida imparcial, lo cual es importante para las pruebas.

1voto

Predrag Punosevac Puntos 249

Básicamente depende de tu entorno.

TD aprovecha la propiedad de Markov, es decir, los estados futuros de un proceso dependen solo del estado actual, por lo que generalmente es más eficiente usar TD en entornos de Markov.

MC no aprovecha la propiedad de Markov, ya que basa las recompensas en todo el proceso de aprendizaje, lo que se presta para entornos no Markovianos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X