Это 19-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления
BCQ
Адрес статьи источника БКК:Off-Policy Deep Reinforcement Learning without Exploration (arxiv.org)
Эта статья требует определенного понимания алгоритма DDPG, вы можете посмотреть мои предыдущие статьи:Введение в обучение с подкреплением 8 - Глубокое понимание DDPG (juejin.cn)
Введение
BCQ — это пакетное ограниченное глубокое Q-обучение. Алгоритм, предложенный в этой статье, добавляет ограничение пакетного ограничения на основе алгоритма вне политики, чтобы избежать ошибки экстраполяции, такой как ошибка экстраполяции.
Motivation
Каковы проблемы пакетного RL?
Extrapolation error.ошибка экстраполяции.
что может вызватьExtrapolation errorОшибка экстраполяции?
- Отсутствующие данные, то есть в наборе данных нет конкретных данных, то мы не можем точно оценить значение этой части.
- Смещение модели, т. е. может быть определенная, но данных мало, поэтому оценивается по выборкеСуществует определенная ошибка с реальной, которая приводит к оценочной ошибке.
- Traning Mismatch, То есть, если распределение данных отличается, будут возникать ошибки. То есть существует разница между распределением пакетных данных, полученных политикой обучения в процессе обновления, и распределением данных, отобранных текущей политикой в реальной среде, что приведет к ошибкам при оптимизации.
Extrapolation errorЧто вызовет проблему?
Например, для политики, которая отбирает действия, которых нет в наборе данных, она может не узнать функцию значения в следующий момент. Например, текущее состояние s, набор данных содержит s->a1, s->a2, но данных для s->a3 нет, но текущая стратегияФактическое предпочтение состоит в том, чтобы выбрать a3, однако набор данных не является руководством для выбора лучшего a3.
Для решения этой проблемы предлагается пакетный алгоритм глубокого Q-обучения. Ограничение партии означает, что стратегия выбирается с учетом ограничений партии.
Поток алгоритма
Общая идея: когда агент выбирает действие в состоянии, действие привязывается к области действия. Продолжая предыдущий пример, текущее состояние s, набор данных содержит s->a1, s->a2 и нет данных для s->a3, стратегияМы можем выбирать только между a1 и a2, то есть трудно оценить значение a3.Алгоритм BCQ должен ограничить нашу стратегию так, чтобы он не рассматривал a3 и выбирал только между a1 и a2 (a1, a2 легко оценить по стоимости).
Как ограничить масштаб этого действия?
В статье предлагается использовать VAE в качестве генеративной модели для генерации некоторых действий. Сначала сделайте выборку из пакета, а затем обучите VAE генерировать действия, аналогичные действиям в пакете. Данные, полученные VAE здесь, являются реальными пакетными данными.
Затем сделайте выборку из генератора и используйте сеть возмущений.Нарушайте значение действия и контролируйте вдиапазон. Ввести возмущенную сетьЦель состоит в том, чтобы улучшить разнообразие действия.
Наконец, обновите Q и Q-target.
На самом деле алгоритм улучшен на DDPG, и весь процесс фактически аналогичен DDPG. Мы можем комбинировать порождающую модель G и возмущенную модельОбъединенная как сеть политики, но она состоит из двух частей, одна часть отвечает за то, чтобы сгенерированные действия не отклонялись слишком далеко от действий в наборе данных, а другая часть отвечает за максимизацию совокупного вознаграждения. По сути, сеть возмущений можно рассматривать как Актера в DDPG, стратегиясостоит в том, чтобы совершить максимальное действие в этой области, что может быть выражено как:
Сеть возмущений обновляется следующим образом:
Тогда эту часть сети создания стоимости также можно рассматривать как критику DDPG. Единственное отличие состоит в том, что BCQ использует две сети Q при расчете значения Q. Здесь используется метод обучения усеченного двойного Q, и берется расчетное минимальное значение двух сетей Q. Возьмем выпуклую комбинацию выпуклую комбинацию.Берите больший вес (это усеченное двойное Q-обучение).
Итак, окончательная структура: всего 7 нейронных сетей, включая сеть генерации VAE, две Q-сети., возмущенная сетьи соответствующие им целевые сети.
Вот псевдокод:
Давайте сосредоточимся на обновлениях параметров:
- Параметры ВАЭобновляется реальными данными партии (потеря BC VAE)
- Параметры двух сетей Q обновляются реальными пакетными данными (то есть для оптимизации уравнения Беллмана).
- Параметры сети возмущенийОн обновляется действием, сгенерированным VAE.
Другой вопрос, как обеспечить сходимость?
В статье представлены четыре теоремы.
Во-первых,Теорема 1проверено на автономных наборах данныхВыполнение Q-обучения выше фактически ищет оптимальную стратегию на MDP, соответствующую набору данных.
Теорема 2Это показывает, что ошибка экстраполяции может быть устранена.
Теорема 3Сходимость BCQ гарантирована.
Теорема 4показывает, что BCQL может сходиться к набору данныхСоответствует оптимальной политике на этом MDP.
резюме
BCQ можно рассматривать как улучшение на основе DDPG.
Суть ограничения состоит в том, чтобы позволить пакетному RL не выбирать часть, не охваченную набором данных, чтобы выбирать среди хорошо оцененного значения Q.
BCQ учитывает ошибку экстраполяции, поэтому он может учиться на произвольных данных, будь то данные экспертов или общие неоптимальные данные.
Большинство методов, таких как BCQ, являются ограничениями политики, и есть метод, называемый CQL (Conservative Q-Learning), который вносит некоторые изменения в функцию Q. Ошибка экстраполяции может привести к завышению значения Q. Регуляризация добавлен член, так что изученная функция Q является нижней границей реальной функции Q, и доказано, что посредством непрерывной итерации значение Q, ограниченное снизу, может постоянно улучшать стратегию.
Ссылаться на