Почему для воспроизведения опыта требуется алгоритм вне политики?


12

В документе, представляющем DQN « Игра Atari с глубоким обучением подкреплению », упоминалось:

Обратите внимание, что при обучении с помощью повторного опыта необходимо учиться вне политики (поскольку наши текущие параметры отличаются от тех, которые используются для генерации образца), что мотивирует выбор Q-обучения.

Я не совсем понял, что это значит. Что если мы используем SARSA и запомним a'действие, которое мы должны выполнить в s'нашей памяти, а затем сэмплируем партии из него и обновим Q, как мы делали в DQN? И могут ли методы актера-критика (A3C, в частности) использовать воспроизведение опыта? Если нет, то почему?

Ответы:


2

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

При этом политика улучшается, когда мы обновляем нашу политику на основе последних наград. Здесь, в частности, они обновляют параметры NN, которые предсказывают значение определенного состояния / действия).

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

Значения Q оцениваются на основе будущих наград, которые вы получите от состояния в соответствии с текущей политикой агента.

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


Спасибо, но я все еще не понимаю этого: если я использую правило обновления TD (0), запоминаю переход (s, a, r, s')и извлекаю этот опыт для воспроизведения; Теперь предположим, что моя текущая политика говорит, что вы должны взять a'на себя s', тогда я отмечу, что Q(s, a)должен быть r + Q(s', a')и сделать градиентный спуск. Я думаю, что я делаю опыт воспроизведения по-политике. Есть ли проблема с процессом?
DarkZero

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

Так я могу сказать, что я делаю это вне политики здесь? Каков будет теоретический результат?
DarkZero

1
Так что, если я вас правильно понял, нужно либо использовать не связанные с политикой методы, такие как Q-learning, всегда выбирая max Q в качестве ожидаемой будущей награды. Неважно, что является текущим действием, потому что это свойство обучения Q, что если вы всегда выбираете максимальное значение Q для будущего, тогда Q будет сходиться к Q при оптимальной политике; Или же он должен откровенно следовать одной политике, выбирать каждое действие, включая будущие, с помощью этой политики и выполнять обновление по политике. Это правильно?
DarkZero

1
До сих пор я не могу понять, почему методы на основе политики хороши. Методы вне политики, кажется, имеют больше свободы, и они могут самостоятельно найти оптимальную политику. Не могли бы вы также ответить на stats.stackexchange.com/questions/265354/… ? Большое спасибо за все обсуждения.
DarkZero

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.