On-Policy vs. Off-Policy Monte Carlo, con Visualizaciones

On-Policy vs. Off-Policy Monte Carlo, con Visualizaciones

Viene con código de plug-and-play que incorpora el muestreo de importancia

Foto de aceofnet en Unsplash

En Aprendizaje por Reforzamiento, utilizamos estimaciones de Monte Carlo (MC) o aprendizaje de Diferencia Temporal (TD) para establecer el retorno ‘objetivo’ a partir de episodios de muestra. Ambos enfoques nos permiten aprender de un entorno en el cual las dinámicas de transición son desconocidas, es decir, p(s',r|s,a) es desconocido.

MC utiliza los retornos completos de un par estado-acción hasta que se alcance el estado terminal. Tiene una alta varianza pero es imparcial cuando las muestras son independientes e identicamente distribuidas.

Guardaré las comparaciones entre MC y TD para otro día, para ser respaldadas por códigos. Hoy, el enfoque se centra en MC en sí mismo. Hablaré sobre la diferencia entre MC basado en la política y MC basado fuera de la política, sustentado con resultados concretos de código de plug-and-play que puedes probar con diferentes entradas.

Resumen

Al final de este artículo, apreciarás la diferencia entre los enfoques basado en la política y fuera de la política más allá de las discusiones cuantitativas realizadas sin códigos. Además, tendrás las herramientas para

  1. explorar diferentes combinaciones de Mundo de Rejilla con Viento, que se pueden ajustar fácilmente a tus preferencias,
  2. entrenar mediante MC basado en la política o fuera de la política con muestreo de importancia incorporado, y
  3. visualizar el valor de las acciones resultantes y la política que se ha aprendido.

El entorno

Aquí se considera un clásico Mundo de Rejilla con Viento. La transición es estocástica porque hay una probabilidad igual a self.wind, de que el agente se mueva aleatoriamente (debido al viento) en lugar de en su dirección prevista.

Definimos G como la meta, que le otorga al agente una alta recompensa al aterrizar y también es un estado terminal. T son trampas, que hacen que el agente sufra una recompensa negativa sustancial. Cualquier otro paso conlleva una recompensa de -1. El agente no puede moverse fuera del espacio definido.

from copy import deepcopyimport numpy as npfrom tqdm import tqdmimport matplotlib.pyplot as pltimport matplotlib.patches as patchesimport matplotlib.colors as mcolorsfrom matplotlib.cm import ScalarMappableclass…