«On-Policy vs. Off-Policy Monte Carlo, с визуализациями»

On-Policy vs. Off-Policy Monte Carlo with visualizations

Поставляется с готовым кодом, включающим в себя важное выборочное воспроизведение

Фото aceofnet на Unsplash

В обучении с подкреплением мы либо используем оценки Монте-Карло (MC), либо метод временных разностей (TD) для определения “целевого” возврата из образцовых эпизодов. Оба подхода позволяют нам учиться из среды, в которой неизвестна динамика перехода, то есть p(s', r|s, a) неизвестна.

MC использует полный возврат из пары состояние-действие до достижения терминального состояния. У него высокая дисперсия, но он несмещенный, когда выборки являются независимыми и одинаково распределенными.

Сравнение между MC и TD я оставлю на другой день, чтобы подкрепить их кодами. Сегодня фокус будет исключительно на MC. Я расскажу о разнице между MC с политикой внутри и MC с политикой вне, подкрепленной конкретными результатами от готового кода, с которым вы можете попробовать разные входные данные.

Выводы

К концу этой статьи вы оцените разницу между подходами с политикой внутри и с политикой вне, не ограничиваясь только количественными обсуждениями без кодов. Кроме того, у вас будет инструментарий для

  1. исследования различных комбинаций “Ветреного сетчатого мира”, которые можно легко настроить под ваши предпочтения,
  2. обучения с использованием MC с политикой внутри или с политикой вне и включением важного выборочного воспроизведения, и
  3. визуализации полученного значения действия и политики, которые были изучены.

Окружающая среда

Здесь рассматривается классический “Ветреный сетчатый мир”. Переход является стохастическим, потому что существует вероятность, равная self.wind, что агент перемещается случайным образом (из-за ветра), а не в заданном направлении.

Мы определяем G как цель, которая дает агенту высокое вознаграждение при посадке и также является терминальным состоянием. T – это ловушки, которые заставляют агента получать существенное отрицательное вознаграждение. Любой другой шаг приводит к вознаграждению -1. Агент не может выйти за пределы определенного пространства.

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…