Что такое «повтор опыта» и каковы его преимущества?

19

Я читал статью Google DeepMind Atari и пытаюсь понять концепцию «воспроизведения опыта». Воспроизведение опыта встречается во многих других документах для подкрепления (в частности, в статье AlphaGo), поэтому я хочу понять, как это работает. Ниже приведены некоторые выдержки.

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

Затем документ разрабатывается следующим образом:

В то время как существуют другие устойчивые методы обучения нейронных сетей в условиях обучения подкрепления, такие как нейронная Q-итерация, эти методы включают повторное обучение сетей de novo сотнями итераций. Следовательно, эти методы, в отличие от нашего алгоритма, слишком неэффективны, чтобы успешно использоваться с большими нейронными сетями. Мы параметризуем функцию приближенного значения используя глубокую сверточную нейронную сеть, показанную на рис. 1, в которой являются параметрами (то есть весами) Q-сети на итерации . Для воспроизведения опыта мы сохраняем опыт агента на каждом временном шагеQ(s,a;θя)θяяеTзнак равно(sT,aT,рT,sT+1)Tв наборе данных . Во время обучения мы применяем обновления Q-learning к образцам (или мини-пакетам) опыта , равномерно отобранным случайным образом из пула сохраненных выборок. Обновление Q-learning на итерации использует следующую функцию потерь:DTзнак равно{е1,...,еT}(s,a,р,s')~U(D)я

Lя(θя)знак равноЕ(s,a,р,s')~U(D)[(р+γМаксимумa'Q(s',a';θя-)-Q(s,a;θя))2]

Что такое повторение опыта и каковы его преимущества с точки зрения непрофессионалов?

Райан Зотти
источник

Ответы:

25

Ключевая часть цитируемого текста:

Для воспроизведения опыта мы сохраняем опыт агента еTзнак равно(sT,aT,рT,sT+1)

Это означает, что вместо запуска Q-обучения для пар состояние / действие, когда они происходят во время симуляции или реального опыта, система сохраняет данные, обнаруженные для [состояние, действие, вознаграждение, следующее_стадия] - обычно в большой таблице. Обратите внимание, что в нем не хранятся связанные значения - это необработанные данные для последующего расчета в действии.

Затем этап обучения логически отделен от приобретения опыта и основан на взятии случайных выборок из этой таблицы. Вы по-прежнему хотите чередовать два процесса - действие и обучение - потому что улучшение политики приведет к другому поведению, которое должно исследовать действия, более близкие к оптимальным, и вы хотите извлечь уроки из них. Тем не менее, вы можете разделить это так, как вам нравится - например, сделать один шаг, учиться на трех случайных предыдущих шагах и т. Д. Цели Q-Learning при использовании повторения опыта используют те же цели, что и онлайн-версия, поэтому новой формулы для этого не существует. Данная формула потерь также является той, которую вы использовали бы для DQN без повторного опыта. Разница лишь в том, какие s, a, r, s ', a' вы в нее кормите.

В DQN команда DeepMind также поддерживала две сети и переключала, какая из них изучала, а какая из них использовала текущие оценки стоимости действия как «начальные загрузки». Это помогло в стабильности алгоритма при использовании нелинейного аппроксиматора функции. Вот что обозначает строка в - она ​​обозначает альтернативную замороженную версию весов.θя ¯

Преимущества опыта воспроизведения:

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

  • Лучшее поведение сходимости при обучении аппроксиматора функции. Частично это связано с тем, что данные больше похожи на данные iid, используемые в большинстве доказательств сходимости обучения под наблюдением.

Недостаток опыта воспроизведения:

  • Труднее использовать многошаговые алгоритмы обучения, такие как Q ( ), которые можно настроить, чтобы получить лучшие кривые обучения, балансируя между смещением (из-за начальной загрузки) и дисперсией (из-за задержек и случайности в долгосрочных результатах ). Многошаговый DQN с повторением опыта DQN - это одно из расширений, рассмотренных в статье « Радуга: объединение улучшений в обучении глубокому подкреплению» .λ

Подход, используемый в DQN, кратко описан Дэвидом Сильвером в некоторых частях этой видео-лекции (около 01:17:00, но стоит посмотреть разделы до него). Я рекомендую посмотреть всю серию, которая является курсом повышения квалификации по обучению подкреплению, если у вас есть время.

Нил Слэйтер
источник
Допустим, во время обучения мы находимся в одном штате, и мы предпринимаем действия в соответствии с эпсилон-жадной политикой, а вы попадаете в другой штат. Таким образом, вы получаете награды и следующее состояние. Здесь наградой может быть оценка игры, а состояниями - образцы пикселей на экране. И затем мы берем ошибку между нашей функцией aproximator и значением, которое мы получили из жадной политики, снова используя уже замороженный аппроксиматор функции. Но с повтором опыта при оптимизации аппроксиматора мы берем некоторый набор данных действия случайного состояния. Я прав ?
Шамане Сиривардхана
1
@ShamaneSiriwardhana: Да, я думаю, что вы правы. Это те же самые данные из реальной траектории, но вместо того, чтобы учиться только из самого последнего шага, вы сохраняете их в большую таблицу и выборку из этой таблицы (обычно несколько выборок, с возможностью выбора из тысяч предыдущих шагов на выбор). ). Если вам нужно больше разъяснений, то, возможно, задайте вопрос на сайте.
Нил Слэйтер
Да, я снова просмотрел газету. Он также говорит, что этот метод может улучшить обучение вне политики также. Потому что в Q обучение с действием в соответствии с эпсилон-жадной политикой, но обновление значений функционирует в соответствии с жадной политикой. Поэтому, когда каждый шаг по времени наши параметры нейронной сети обновляются статистикой мини-пакета, которая, что более важно, не связана с точной статистикой временного шага, но то, что произошло до этого, также помогает некоррелировать данные.
Шамане Сиривардхана
@Neil Slater, я просмотрел статью «Радуга» и не увидел никаких особых комментариев по поводу использования специального трюка для объединения воспроизведения опыта и многошагового метода. Также я слышал, что многошаговый метод изначально невозможно совместить с воспроизведением опыта, но почему бы не просто случайно выбрать n-последовательных опытов вместо 1 из воспроизведения опыта, а из воспроизведения так, чтобы между каждым n-опытом не было найдено корреляций? Разве это не многошаговое воспроизведение опыта?
StL
@NeilSlater Почему «сложнее использовать многошаговые алгоритмы обучения»? Что ты имел в виду?
Гульзар