Заставить агентов помнить о важных вещах

Начиная вещи

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

1. Приоритетное воспроизведение опыта (PER)

Контекст: изначально разработан для алгоритма Double DQN для повышения эффективности выборки, но естественно адаптируется к любому алгоритму RL.

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

Не все опыты одинаковы

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

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

где альфа - настраиваемый параметр от 0 до 1. Мы также определяем переменную:

Обратите внимание, чем ниже значения альфа, тем ближе мы приближаемся к равномерной выборке. Следовательно, мы можем рассматривать альфа как настройку параметра, «насколько мы хотим отдавать приоритет переходам с более высокими ошибками TD».

Есть одна проблема. Обучение агента с помощью этих приоритетных выборок может привести к ошибке смещения, что приведет к возможной нестабильности обучения. Мы исправляем это, умножая обновление градиента перехода на вес, определенный как:

где N - количество выборок в воспроизведении, а бета - настраиваемый гиперпараметр. Бета - это значение от 0 до 1, которое представляет степень, в которой мы хотим компенсировать ошибку смещения. В документе [1] рекомендуется отжиг бета-версии к одной, потому что объективные обновления более важны в конце цикла обучения, чем в начале. Авторы также рекомендуют делить каждый вес на максимум всех весов обновления для эффекта «нормализации».

1.5. Распределенное приоритетное воспроизведение опыта

Контекст: подходы к распределенному обучению с подкреплением (как синхронному, так и асинхронному). Хотя изначально он был предложен для распределенных вариантов DQN и DPG под названием Ape-X, он, естественно, подходит для любых алгоритмов под тем же зонтом.

Кстати, у PER есть вариант, адаптированный для распределенных настроек! Обычно распределенные алгоритмы имеют несколько экземпляров одной и той же среды. Пока мы обучаем одного агента, мы даем каждой из этих сред копию агента. Затем опыт всех этих сред объединяется в один повтор. Наконец, мы делаем выборку из приоритетного воспроизведения (аналогично PER) и обучаем обучающего агента, время от времени обновляя каждую из копий с использованием обновленных параметров оригинала.

Таким образом, мы можем собрать больше опыта, используя разные стратегии. Хотя в Ape-X [2] есть [много] других нюансов, идея использования единого общего воспроизведения опыта дает много преимуществ в обучении.

2. Воспроизведение ретроспективного опыта (HER)

Контекст: в первую очередь предназначен для решения проблем с редкими наградами, поощряя более значимые исследования, а не бесцельные блуждания. Выбор алгоритма RL для его сопряжения является произвольным.

Предположим, что агенту дана задача с некоторой целью g. Затем предположим, что каждый переход, который не приводит к нашему целевому состоянию, имеет награду -1 и 1 в противном случае . Это среда с редкими вознаграждениями (или среды, в которых подавляющее большинство переходов выглядят одинаково с точки зрения отдачи). Для обычных алгоритмов RL обучение в такой среде невероятно сложно. ОНА пытается решить эту проблему.

Допустим, мы обучили политики и функции оценки, которые не только принимали состояние, но и также являлись целью. Мы определяем функцию вознаграждения, возвращая отрицательное вознаграждение r, если цель не достигнута и некоторая произвольно более высокая награда в противном случае. Тогда переход, сохраненный в воспроизведении опыта, будет выглядеть следующим образом:

Однако у нас все еще есть проблема разреженности! Если мы редко достигаем своей цели, мы редко видим изменение вознаграждения. Вот идея, лежащая в основе HER: используйте подцели, чтобы разделить задачу. Другими словами, вместо сохранения только перехода с общей целью g, мы также сохраняем тот же переход, но заменяем цель g некоторыми другие подцели g '! Таким образом, агент чаще видит разницу в вознаграждении.

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

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

В документе предлагается выбрать k подцелей g ’ вместо цели g. В документе [3] предлагаются различные методы выбора этих подцелей:

  • final: используйте single final состояние в серии
  • future: пример k состояний из текущего и следующих выпусков
  • эпизод: пример k состояний из текущего эпизода
  • случайный: выборка k состояний из всех наблюдаемых на данный момент эпизодов.

Другими словами, весь процесс сохранения переходов в воспроизведении опыта выглядит примерно так:

  1. Собирайте переходы из эпизода
  2. Сохраните все переходы из этого эпизода, используя исходную цель g
  3. Выберите k подцелей, используя одну из схем, описанных выше.
  4. Для каждого перехода эпизода сохраните новые переходы, заменив g каждой из k подцелей.

При тестировании эффектов HER в контексте передвижения руки робота результаты для каждой из этих схем выбора показаны на графике выше.

3. Акцент на недавнем опыте (ERE)

Контекст: изначально был разработан для повышения скорости конвергенции Soft Actor Critic (SAC). Возможно, может быть применен к большинству алгоритмов и задач, которые по своей сути получают выгоду от более быстрого изучения недавнего опыта (например, задачи с несколькими частями)

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

Предположим, что на этапе обновления мы отбираем K мини-пакетов. Затем обновите параметры нашей модели для каждой мини-партии. ERE предлагает схему, в которой мы отбираем только подмножество воспроизведения опыта, а не целиком. Другими словами, для мини-пакета kth мы выбираем единообразно из самых последних точек c_k:

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

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

В статье [4] предполагается, что установка nu на .996 была хорошим значением для всех сред. Кроме того, по мере обучения рекомендуется отжигать значение nu до единицы. Это используется для ускорения обучения на ранних этапах и поощрения более медленного и осторожного обучения на более поздних этапах.

Некоторые могут спросить: а почему бы просто не использовать PER? Оба эти метода, похоже, делают схожие вещи, обучение на данных, от которых агент получит наибольшую выгоду. Красота ERE заключается в его простоте. В то время как PER требует дополнительных реализаций (специальные структуры данных для вычислительной эффективности), ERE - нет. Несмотря на то, что было показано, что объединение PER и ERE в целом дает лучшие результаты, использование только ERE дает аналогичные или лишь незначительно худшие результаты.

4. Повторение повторного опыта.

Контекст: изначально разработан для повторяющихся распределенных агентов, особенно тех, которые предполагают частичную наблюдаемость. Однако его можно применять к подавляющему большинству алгоритмов, основанных на значениях, независимо от того, является ли он распределенным.

Обычно во многих методах мы можем обучать Q-значения с помощью n -шаговых опережающих просмотров. В классическом Q-обучении цели создаются с помощью одношагового просмотра вперед; мы заглянули в будущее на один шаг. Если n больше единицы, мы собираем опыт в группах по n и «разворачиваем» переход, получая более явное целевое значение для нашего обновления значения.

В этой статье [5] предлагается, чтобы агент сохранял последовательности фиксированной длины (m = 80) наблюдений состояние-действие-вознаграждение. Кроме того, мы накладываем:

  • Смежные последовательности могут перекрываться только на сорок временных шагов.
  • Последовательности не могут пересекать эпизодические границы

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

Однако как нам вообще отобрать эти последовательности? Этот метод вдохновлен приоритетным воспроизведением опыта (PER), но настраивает критерии, используя взвешенную сумму двух разных значений. Предполагая, что мы используем значение n меньше, чем m, первым членом будет max абсолютная n -шаговая ошибка TD. содержится в последовательности длиной m. Второй - это среднее абсолютное n -шаговое TD ошибки:

где nu - настраиваемый гиперпараметр от 0 до 1. В статье [5] предлагается установить nu равным .9, что дает более агрессивный метод выборки. Интуитивно имеет смысл ошибаться на более жадной стороне, поскольку усреднение имеет тенденцию сводить на нет и сглаживать более крупные ошибки, что затрудняет выделение ценных переходов.

Заключительные примечания

Конечно, есть много других схем выборки и вариантов воспроизведения. Хотя мы здесь лишь обрисовываем некоторые из них, всегда есть другие версии, лучше приспособленные к определенным условиям, чем другие. Нам просто нужно экспериментировать, исследовать и анализировать. Несмотря на то, что воспроизведение опыта не является обязательным условием, оно может сыграть большую роль в оптимальности, надежности и конвергентных свойствах наших RL-агентов. Определенно стоит уделить этому немного нашего внимания.

использованная литература

[1] Т. Шауль, Дж. Куан, И. Антоноглу, Д. Сильвер, Воспроизведение приоритетного опыта (2016).

[2] Д. Хорган, Дж. Куан, Д. Бадден, Дж. Барт-Марон, М. Хессель, Х. Хасселт, Д. Сильвер, Воспроизведение распределенного опыта (2018).

[3] М. Андрыхович, Ф. Вольски, А. Рэй, Дж. Шнайдер, Р. Фонг, П. Велиндер, Б. Макгрю, Дж. Тобин, П. Аббель, В. Заремба, Повтор задним числом (2017 г. ).

[4] К. Ван, К. Росс, Повышение роли мягкого актера-критика: акцент на недавнем опыте, не забывая о прошлом (2019).

[5] С. Каптуровски, Г. Островски, Дж. Куан, Р. Мунос, В. Дабни, Повторение опыта в распределенном обучении с подкреплением (2019).

От классических до современных, вот статьи по теме, в которых обсуждается как многоагентное, так и одноагентное обучение с подкреплением: