Когда методы Монте-Карло предпочтительнее, чем временные?

12

В последнее время я много занимаюсь изучением подкрепления. Я следовал Sutton & Barto's Reinforcement Learning: Введение для большей части этого.

Я знаю, что такое Марковские процессы принятия решений и как для их решения можно использовать динамическое программирование (DP), метод Монте-Карло и временную разность (DP). У меня проблема в том, что я не вижу, когда Монте-Карло будет лучшим вариантом по сравнению с TD-обучением.

Основное различие между ними заключается в том, что TD-обучение использует начальную загрузку для аппроксимации функции « действие-значение», а Монте-Карло использует среднее значение для достижения этой цели. Я просто не могу придумать сценарий, когда это лучший путь.

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

Я что-то упустил или TD-обучение вообще лучший вариант?

Анн-кортик
источник

Ответы:

8

Основная проблема с обучением TD и DP состоит в том, что их шаговые обновления смещены на начальные условия параметров обучения. Процесс начальной загрузки обычно обновляет функцию или поиск Q (s, a) на последующем значении Q (s ', a'), используя любые текущие оценки в последнем. Очевидно, что в самом начале обучения эти оценки не содержат информации о каких-либо реальных вознаграждениях или переходах между состояниями.

Если обучение работает так, как задумано, то смещение будет асимптотически уменьшаться в течение нескольких итераций. Однако смещение может вызвать значительные проблемы, особенно для методов вне политики (например, Q Learning) и при использовании аппроксиматоров функций. Эта комбинация, скорее всего, не сможет сойтись, что называется Саттон и Барт смертельной триадой .

Методы контроля Монте-Карло не страдают от этого смещения, поскольку каждое обновление выполняется с использованием истинной выборки того, каким должен быть Q (s, a). Однако методы Монте-Карло могут страдать от высокой дисперсии, что означает, что для достижения той же степени обучения, что и TD, требуется больше образцов.

На практике, обучение TD кажется более эффективным, если можно преодолеть проблемы со смертельной триадой . Недавние результаты с использованием воспроизведения опыта и поэтапных «замороженных» копий оценщиков обеспечивают обходные пути, которые решают проблемы - например, именно так был построен ученик DQN для игр Atari.

Существует также золотая середина между ТД и Монте-Карло. Можно построить обобщенный метод, который объединяет траектории разной длины - от одношаговой ТД до полных серий эпизодов в Монте-Карло - и комбинировать их. Наиболее распространенным вариантом этого является TD ( ) обучение, где - это параметр от (фактически одношаговое обучение TD) до (эффективно обучение по методу Монте-Карло, но с приятной особенностью, которую можно использовать в непрерывном режиме). проблемы). Как правило, значение от до делает наиболее эффективным обучающим агентом - хотя, как и многие гиперпараметры, лучшее значение для использования зависит от проблемы.λ 0 1 0 1λλ0101

Если вы используете метод, основанный на значениях (в отличие от метода, основанного на политике), то обучение TD обычно используется на практике чаще, или метод комбинирования TD / MC, такой как TD (λ), может быть даже лучше.

С точки зрения «практического преимущества» для МС? Изучение Монте-Карло концептуально просто, надежно и легко реализуемо, хотя часто и медленнее, чем TD. Как правило, я бы не использовал его для механизма обучения контроллера (если не спешит реализовать что-то для простой среды), но я бы серьезно рассмотрел его для оценки политики, например, для сравнения нескольких агентов - потому что это непредвзятая мера, которая важна для тестирования.

Нил Слэйтер
источник
Прежде всего, спасибо за ответ. Я вижу, как в теории беспристрастный алгоритм может быть предпочтительнее необъективного. Но учитывая высокую дисперсию, которую Монте-Карло может дать в начале обучения, я не понимаю, как это действительно имеет значение. И Монте-Карло, и TD начнут с неточных приближений, и из того, что я прочитал, TD будет сходиться намного быстрее. Я просто не могу придумать практического преимущества использования Монте-Карло. (Забавной смертельной триады можно избежать)
Anne-dirk
1
@ Энн-кортик Если вы используете метод в основе стоимости (в отличие от одной на основе политик), то обучение TD является обычно используется более на практике, или TD / MC комбинированный метод , таких как TD (X) может быть даже лучше. Я не уверен, что вы подразумеваете под «практическим преимуществом»? Обучение в Монте-Карло концептуально просто, надежно и легко реализуемо. Как правило, я бы не использовал его для механизма обучения контроллера (если не спешил реализовать что-то для простой среды), но я бы серьезно рассмотрел его для оценки политики, чтобы сравнить, например, несколько агентов.
Нил Слэйтер
@Neul Slater А-а-а-а-а-а ... Вот такой ответ я искал :) Спасибо за вашу помощь!
Анн-Дирк
-1

По сути, это зависит от вашей среды.

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

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

BigBadMe
источник
Я не думаю, что это правильно или, по крайней мере, очевидно, чтобы увидеть. Свойство Маркова в контексте RL связано с состояниями. Не могли бы вы уточнить, почему алгоритмы MC будут работать лучше, когда свойство Маркова не будет выполнено?
nbro
Чтобы было понятно, я имел в виду эффективность. Если вы можете использовать свойство Markov, то TD является преимуществом, потому что вы можете начать в любом заданном состоянии, выполнять и действовать, и результат всегда будет одинаковым, поэтому вы можете вычислить ошибку TD с высоким уровнем достоверности. С не-MDP, если вы получаете состояние, которое частично наблюдается, то TD может быть не очень эффективным. Это не значит, что вы не можете использовать TD в не-MDP, но это может быть неэффективно и может иметь больший успех с TD лямбда, чем с TD (1).
BigBadMe
«Если вы можете использовать свойство Маркова, то TD имеет преимущество, потому что вы можете начать в любом заданном состоянии, выполнять и действовать, и результат всегда будет одинаковым», это будет то же самое, если среда является детерминированной. Какое это имеет отношение к свойству Маркова? Я не понимаю ваши претензии. Где вы читали, что TD будет более неэффективным, чем MC, например, в POMDP?
nbro
Это буквально все, что связано с тем, чтобы быть Марковым; если вы находитесь в марковской среде, то после того, как вы начнете принимать действие a в состоянии a, оно будет приводить к сообщению 'с наградой x - это всегда будет иметь место в среде markov, поэтому вам не нужно оценивать его заново и снова - вы можете делать большие шаги, а TD позволяет вам использовать это. Но это не будет иметь место в POMDP, потому что вы можете иметь одно и то же состояние, предпринимать одно и то же действие, но оказаться в совершенно разных состояниях и вознаграждениях.
BigBadMe
«если вы находитесь в марковской среде, то после того, как вы начнете принимать действие a в состоянии a, оно приведет к тому, что« с вознаграждением x ». Нет . Это верно только в том случае, если среда является детерминированной . Среда также может быть стохастической . «это всегда будет иметь место в среде Маркова». Нет , это ортогональный вопрос к свойству Маркова.
nbro