Пошаговый подход к пониманию Q-обучения
Предыдущие публикации в моей серии обучения с подкреплением:
- Краткое введение в RL
- Знакомство с марковским процессом
- Марковский процесс принятия решений (MDP)
- Поиск оптимальной политики с MDP
Теперь, когда мы рассмотрели MDP, пришло время обсудить Q-обучение. Чтобы углубить наши знания по этой теме, нам необходимо поэтапно понять:
- динамическое программирование (DP): представленный в нашем обсуждении MDP.
- Обучение методом Монте-Карло (MC): чтобы адаптироваться при недостатке информации
- Простейшее обучение временной разнице, TD (0): комбинация DP и MC.
После того, как мы рассмотрим метод Монте-Карло и изучение временной разницы, мы перейдем к более известному Q-обучению.
Давайте начнем!
MDP и динамическое программирование
В последних нескольких частях моей серии мы узнали, как решать проблемы с помощью Марковского процесса принятия решений (MDP). Для этого мы оцениваем заданную стратегию с помощью динамического программирования (DP) и приходим к функции оптимального значения посредством непрерывной итерации.
Давайте изложим и рассмотрим несколько ключевых терминов, которые помогут нам продолжить:
- динамическое программирование: разбиение большой проблемы на поэтапные шаги, чтобы можно было найти оптимальные решения подзадач на любом конкретном этапе.
- модель: математическое представление реального процесса (см. Обучение с Адамом в Части 3).
- Уравнение оптимальности Беллмана: дает нам средства для оценки оптимального значения каждого состояния (см. Часть 4)
Теперь важно отметить, что MDP работает только с известной моделью, в которой очевидны все пять кортежей (показанные ниже).
Начиная с этой статьи, мы приступим к решению проблемы MDP, когда часть модели неизвестна.
В этом случае наш агент должен извлекать уроки из окружающей среды, взаимодействуя с ней и собирая опыт или образцы. При этом агент выполняет оценку и итерацию стратегии и может получить оптимальную стратегию.
Поскольку теория, подтверждающая этот подход, исходит из метода Монте-Карло, давайте начнем с обсуждения обучения методом Монте-Карло.
Монте-Карло Обучение
Мы узнали, что вся проблема может быть преобразована в Марковский процесс принятия решений (MDP), который принимает решения с помощью пяти кортежей ‹s, P, a, R, γ›, указанных выше.
Когда мы знаем все пять, легко рассчитать оптимальную стратегию для получения максимального вознаграждения. Однако в реальном мире у нас почти никогда не бывает всей этой информации одновременно.
Например, вероятность перехода между состояниями (P) трудно определить, и без нее мы не сможем использовать приведенное ниже уравнение Беллмана для определения значений V и Q.
Но что, если нам нужно решить проблему, не зная P? Как мы можем превратить его в процесс принятия решений Маркова?
Во-первых, учтите, что, хотя мы не знаем, какова вероятность перехода состояния P, мы объективно знаем, что она существует. Поэтому нам просто нужно его найти.
Для этого мы можем запустить испытание нашего агента, постоянно собирая образцы, получая вознаграждения и тем самым оценивая функцию значения . Именно так работает метод Монте-Карло: попробуйте много раз, и окончательное расчетное значение V будет очень близко к реальному значению V.
Оценка Монте-Карло
Как уже упоминалось, метод Монте-Карло позволяет агенту учиться у окружающей среды, взаимодействуя с ней и собирая образцы. Это эквивалентно выборке из распределения вероятностей P (s, a, s ’) и R (s, a).
Однако оценка методом Монте-Карло (MC) предназначена только для обучения на основе проб. Другими словами, MDP без кортежа P может обучаться методом проб и ошибок через множество повторений.
В этом процессе обучения каждая «попытка» называется эпизодом, и все эпизоды должны заканчиваться. То есть должно быть достигнуто конечное состояние MDP. Значения для каждого состояния обновляются только на основе окончательного вознаграждения Gt, а не на оценках соседних состояний, как это происходит в уравнении оптимальности Беллмана.
MC учится на основе полных эпизодов и поэтому подходит только для того, что мы называем эпизодическим MDP.
Вот наша обновленная формула значения состояния:
В котором:
- V (St) - это значение состояния, которое мы собираемся оценить, которое может быть инициализировано случайным образом или с определенной стратегией.
- Gt рассчитано выше, T - время окончания.
- такой параметр, как скорость обучения. Это может повлиять на сходимость.
Различные методы получения V (St)
Учтите следующее: если состояние s появляется дважды в эпизоде во время t + 1 и время t + 2 соответственно, используем ли мы одно или как при расчете значения состояния s? А как часто обновляем V (St)? Наши ответы на эти вопросы приведут нас к различным подходам:
- Оценка правил Монте-Карло при первом посещении
С политикой (может быть случайной политикой, как мы использовали в предыдущих статьях) для каждого эпизода, только первый раз, когда агент прибывает в S, считается:
- Оценка правил Монте-Карло для каждого посещения
С политикой (может быть случайной политикой, как мы использовали в предыдущих статьях) для каждого эпизода каждый, когда агент достигает S, считается:
- Дополнительные обновления Монте-Карло
Для каждого состояния St в эпизоде существует награда Gt, и за каждый раз, когда появляется St, среднее значение состояния, V (St) рассчитывается по следующей формуле:
Обучение с временной разницей
Алгоритм обучения с подкреплением Монте-Карло преодолевает сложность оценки стратегии, вызванную неизвестной моделью. Однако недостатком является то, что стратегию можно обновить только после всего эпизода.
Другими словами, метод Монте-Карло не в полной мере использует структуру обучающих задач MDP. К счастью, именно здесь появляется более эффективный метод временной разницы (TD), полностью использующий структуру MDP.
Обучение с временной разницей: сочетание глубокого программирования и Монте-Карло
Как мы знаем, метод Монте-Карло требует дождаться конца эпизода, чтобы определить V (St). С другой стороны, метод Temporal-Difference или TD требует только дождаться следующего временного шага.
То есть в момент времени t + 1 метод TD использует наблюдаемое вознаграждение Rt + 1 и сразу же формирует цель TD R (t + 1) + V ( St + 1), обновляя V (St) с помощью ошибки TD (которую мы определим ниже).
Обратившись к недостаткам Монте-Карло, мы готовы продолжить обсуждение обучения с временной разницей. Знаменитый алгоритм Q-обучения относится к методу TD, но давайте начнем с самого простого, называемого TD (0).
TD (0)
В Монте-Карло Gt - это реальное возвращение из целого эпизода. Теперь, если мы заменим Gt расчетным доходом R (t + 1) + V (St + 1), то TD (0) будет выглядеть так:
Где:
- R (t + 1) + V (St + 1) называется целевым значением TD.
- R (t + 1) + V (St + 1) - V (St) называется ошибкой TD.
MC использует точный возврат Gt для обновления значения, в то время как TD использует уравнение оптимальности Беллмана для оценки значения, а затем обновляет оценочное значение целевым значением.
Резюме
Ты сделал это! Надеюсь, из этой статьи вы получили базовые знания о:
- MC: Обучение Монте-Карло
- TD: Обучение разнице во времени
- Простейшее обучение TD, TD (0)
В следующий раз мы представим более сложное TD-обучение, TD (), которое приведет нас непосредственно к Q-обучению.
Спасибо за внимание! Если вам понравилась эта статья, пожалуйста, нажмите кнопку хлопка столько раз, сколько сможете. Это будет много значить и побудит меня продолжать делиться своими знаниями.
Вопросы или мысли добавить? Буду рад услышать от вас в комментариях!
Подпишитесь на меня, чтобы увидеть мою следующую запись.