Глава 5 Серия:
- Часть 1 — Прогноз Монте-Карло
- Часть 2 — Контроль Монте-Карло
- Часть 3 — MC без изучения стартов
- Часть 4 — Вне политики посредством выборки по важности
Код: 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 с помощью методов МК, о проблеме поддержания разведки и о том, как ее можно решить с помощью стартов разведки, и, наконец, о том, как методы МК можно использовать для управления. В следующей статье мы узнаем, как можно избавиться от предположения о начале исследования.