Глава 5 Серия:

Код: https://github.com/nums11/rl

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

Оценка ценности действий

Зачем нам нужно оценивать значения действий (Q) с помощью методов MC?

  • Из-за отсутствия идеальной модели окружающей среды

Тот факт, что мы знаем значения состояний, не означает, что мы знаем лучшие действия для достижения состояний с наивысшей ценностью, поскольку вероятности перехода неизвестны.

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

Оценка qπ(s,a) такая же, как и v, но теперь мы должны получить оценку для каждой пары состояние-действие, а не только для каждого состояния.

Ведение исследования

Вспомните, что методы MC изучают политику на основе опыта, и часто эта политика является детерминированной (всегда принимает одно и то же действие от состояния). Это усложняет поддержание исследования:

  • В детерминированной политике будут выбраны не все пары состояние-действие.

Мы можем справиться с этим, предполагая начало изучения:

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

Контроль Монте-Карло

Мы видели, как методы MC можно использовать для прогнозирования (оценки функций состояния-значения), но как их можно использовать для управления (улучшение политики для приближения к оптимальной)?

  • Мы можем сделать это, используя ту же итерацию политики, которую мы использовали в DP (оценка политики с последующим улучшением).
  • Мы можем начать с произвольной политики π и функции ценности q
  • Оценка политики выполняется путем прогона нескольких эпизодов после π до тех пор, пока q не будет усреднено для всех пар s,a.
  • Улучшение политики выполняется путем превращения π жадного по отношению к q
  • Мы можем улучшать политику от эпизода к эпизоду, поэтому нам не нужно ждать завершения оценки политики, прежде чем улучшать политику.

Чтобы это работало, мы должны сохранить ранее определенное предположение о начале исследования.

Ниже приведен псевдокод для Контроля Монте-Карло с началом исследования.

  • По сути, это то же самое, что и алгоритм прогнозирования, только с заменой V на Q и добавлением последней строки для улучшения политики.

Выполнение

Ниже приведена реализация управления MC на Python с началом исследования для простого мира сетки 4x4, определенного в предыдущей главе. Реализации вспомогательных функций можно найти на GitHub.

При запуске в мире сетки 4x4 более 100 000 эпизодов генерируется следующая политика. Выученная политика не совсем оптимальна:

В этой статье мы узнали о том, почему мы должны оценивать значения Q с помощью методов МК, о проблеме поддержания разведки и о том, как ее можно решить с помощью стартов разведки, и, наконец, о том, как методы МК можно использовать для управления. В следующей статье мы узнаем, как можно избавиться от предположения о начале исследования.