9 - Predicción con Monte Carlo

Lección 9 del curso Aprendizaje por Refuerzo Nivel Intermedio.

Introducción

En la lección anterior realizamos la segunda práctica del curso en donde implementamos los diferentes algoritmos de Programación Dinámica usando Open AI Gym y Python.

Como lo vimos en la sección anterior, para poder hacer uso de los algoritmos de Programación Dinámica se requiere un conocimiento de todos los elementos del Proceso de Decisión de Markov, incluyendo el modelo del entorno. Y esto es una gran limitación, porque en problemas reales la mayoría de las veces desconocemos varios de estos elementos.

En esta sección hablaremos de los Métodos de Monte Carlo, que no requieren el modelo del entorno, pues se trata de algoritmos a través de los cuales el Agente puede aprender a partir de la experiencia, es decir a partir de múltiples interacciones con el entorno.

En esta primera lección veremos el primer algoritmo, la predicción de Monte Carlo, que nos permite evaluar una Política, es decir estimar su correspondiente función estado-valor.

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Limitaciones de la Programación Dinámica

Como vimos en la sección anterior, los algoritmos de Programación Dinámica (Evaluación de la Política, Mejora de la Política, Iteración de la Política e Iteración de Valores) permiten entrenar un Agente resolviendo de forma iterativa las Ecuaciones de Bellman para las funciones estado-valor y acción-valor.

Pero si observamos en detalle estas Ecuaciones de Bellman, encontramos que para poderlas resolver los algoritmos de Programación Dinámica requieren el conocimiento de la totalidad de los elementos del Proceso de Decisión de Markov: el espacio de estados, el espacio de acciones, el factor de descuento y, más importante aún, el modelo del entorno (su función de transición y su función de recompensa).

Y es en esta última parte donde está la principal limitación de la Programación Dinámica, porque en la mayor parte de los problemas reales no resulta posible tener un “mapa” detallado del entorno, es decir no se conoce con antelación cómo reaccionará el entorno a una acción ejecutada por el Agente, ni tampoco resulta posible saber con antelación la recompensa que el Agente recibirá por sus acciones.

Los métodos de Monte Carlo resuelven este inconveniente usando un enfoque diferente a la Programación Dinámica.

La Programación Dinámica vs los Métodos de Monte Carlo

Así, si comparamos estos dos enfoques veremos que la Programación Dinámica permite calcular las funciones valor, mejorar y encontrar una política óptima partiendo del conocimiento completo del Proceso de Decisión de Markov asociado al problema de Aprendizaje por Refuerzo que estemos resolviendo.

Por otra parte, los Métodos de Monte Carlo permiten hacer esto mismo (es decir calcular las funciones valor y mejorar y encontrar una política óptima) pero a partir de la experiencia. Es decir que no es necesario conocer en particular el modelo del entorno y por el contrario con estos métodos el agente aprende a interactuar con el entorno interactuando muchas veces con el mismo.

Principio de funcionamiento de los métodos de Monte Carlo

En la Programación Dinámica el objetivo era resolver las Ecuaciones de Bellman, y esto, como lo hemos mencionado, requiere el conocimiento completo del Proceso de Decisión de Markov.

Como en los métodos de Monte Carlo no se requiere conocer todos los elementos de este proceso, en su lugar volveremos a la definición original de la función estado-valor que dimos en el curso de Aprendizaje por Refuerzo Nivel Básico

En Monte Carlo la idea es obtener una estimación de esta función a partir de la experiencia. En particular la idea es calcular múltiples retornos y posteriormente promediarlos, obteniendo así una estimación de la función estado-valor.

Y este mismo principio se puede aplicar no sólo para estimar las funciones valor (es decir para evaluar la política) sino también para la mejora de la política y la obtención de la política óptima.

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Bien, acabamos de ver cómo funciona el algoritmo de Predicción de Monte Carlo, que permite evaluar una política (es decir obtener una estimación de la función estado-valor).

Entonces en la próxima lección veremos los algoritmos de Control con Monte Carlo, que permiten evaluar y mejorar la política de forma iterativa hasta obtener una política óptima.

Ver todas las lecciones de este curso