Введение в обучение с подкреплением 8 - Глубокое понимание DDPG

обучение с подкреплением

Это 6-й день моего участия в августовском испытании обновлений.Подробности о мероприятии:Испытание августовского обновления

Эта статья является восьмой в серии вводного обучения с подкреплением.Мы упоминали DDPG ранее, когда говорили об актере-критике. DDPG — это алгоритм, предложенный командой Google DeepMind для вывода детерминированных действий, который устраняет недостаток, связанный с тем, что нейронная сеть «Актер-Критик» имеет корреляции до и после каждого обновления параметра, в результате чего нейронная сеть принимает только односторонний взгляд на проблему. . В то же время это устраняет тот недостаток, что DQN нельзя использовать для непрерывных действий.

Deep Deterministic Policy Gradient

Введение

DDPG расшифровывается как алгоритм градиента глубокой детерминированной политики. Это также метод, который может решить проблему непрерывного управления. Он относится к методам без моделей, вне политики и методам, основанным на политике. Оригинал передачи:

Мы можем разобрать DDPG, чтобы увидеть, Deep, что означает, что требуется нейросеть. Детерминированный означает, что в конечном итоге выводится только одно действие. Мы уже знаем, что градиент политики — это алгоритм градиента политики. DDPG можно рассматривать как расширенную версию DQN, разница в том, что предыдущий вывод DQN является вектором действия, а для DDPG в конечном итоге выводится только одно действие. Более того, DDPG позволяет расширить DQN на непрерывные пространства действий.

сетевая структура

Структурная форма DDPG похожа на Актер-Критик. DDPG можно разделить на две основные сети: сеть политик и сеть создания стоимости. DDPG продолжает идею фиксированной целевой сети в DQN, и каждая сеть подразделяется на целевую сеть и сеть реальности. Однако обновление целевой сети несколько отличается. Подробный анализ ниже.

Давайте сначала посмотрим на политику сети, которая является Актером. Выход Актера представляет собой детерминированное действие, и сеть, которая производит это детерминированное действие, определяется какa=μθ(s)a=\mu_{\theta}(s). В прошлом в градиенте политики использовалась случайная стратегия, и каждое действие по сбору данных требовало выборки распределения текущей оптимальной стратегии, в то время как DDPG использовала детерминированную стратегию, которая напрямую передала функциюμ\muКонечно. Предполагаемая сеть актеровμθ(s)\mu_{\theta}(s),θ\thetaЭто параметры нейронной сети, и эта сеть оценки используется для вывода действий в реальном времени. Кроме того, у Актера есть целевая сеть с такой же структурой, но с другими параметрами, которая используется для обновления сети значений Критик. Обе сети являются выходными действиями.

Давайте посмотрим на сеть создания ценности, которой является Критик. Его роль состоит в том, чтобы соответствовать функции ценностиQю(s,a)Q_{\omega}(s,a). Существует также сеть оценки и целевая сеть. Обе сети выдают на выходе значение q-значения текущего состояния, а на входе различаются. Вход целевой сети Критика имеет два параметра: значение наблюдения текущего состояния и выход действия целевой сети Актера. Вход сети оценки Критика является действием действия выхода сети оценки текущего Актера. Целевая сеть используется для вычисленияQtargetQ_{target},

Ниже мы используем картинку, чтобы интуитивно понять весь процесс:

在这里插入图片描述

Мы видим, что обновление сети значений основано на градиентном спуске TD-ошибки.Как судья, Критик не знает, достаточно ли хорош результат действия Актера в начале.Ему также необходимо учиться шаг за шагом шаг, чтобы дать точную оценку, поэтому с помощью значения следующего момента в целевой сетиQюQ_{\omega}, и реальный доход r, мы можем получитьQtargetQ_{target},позволятьQtargetQ_{target}минус текущийQQНайдите среднеквадратичную ошибку, затем вы можете построить Loss. Метод обновления фактически аналогичен DQN, с той лишь разницей, что параметры целевой сети медленно обновляются в алгоритме DDPG, вместо прямого копирования параметров существующей сети через каждые N шагов в DQN.

Обновление сети политик (актора) основано на градиентном восхождении, потому что цель актора — найти действие a, которое может максимизировать значение Q вывода, поэтому градиент сети политик оптимизации — максимизировать значение выхода сети стоимости.Это значение Q. Функция Loss добавляет отрицательный знак, чтобы минимизировать ошибку.

Стоит отметить, что DDQG также опирается на навыки DQN Experience Replay. DDPG также поставит последовательность времени(s,a,r,s')(s,a,r,s')Хранится в пуле опыта. Для каждого обучения случайным образом отбирайте мини-партию из пула опыта для обучения.

Поток алгоритма

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

在这里插入图片描述

Во-первых, инициализируйте Актера и Критика и их соответствующие целевые сети с 4 сетями и буфером воспроизведения пула опыта R.

Когда сеть Актера выводит действия, DDPG реализует исследование, добавляя случайный шум, что позволяет агенту лучше исследовать потенциальные оптимальные стратегии. Далее следует техника повторов опыта. Данные, которые взаимодействуют агента с окружающей средой(st,at,rt,st+1)(s_t,a_t,r_t,s_{t+1})Хранить в Р. Затем каждое обучение случайным образом отбирает из него мини-партию.

При обновлении параметров сначала используйте целевую сеть Critic.Q'Q'для расчета целевого значенияyiy_i,использоватьyiy_iСоздайте функцию потерь со среднеквадратической ошибкой текущего значения Q и обновите градиент. Для сети политик Актера на самом деле нужно заменить функцию детерминированного действия Актера Q-функцией, затем найти градиент и, наконец, обновить целевую сеть.

резюме

Вкратце: DQN+Актор-Критик => Глубокий детерминированный градиент политики (DDPG). На самом деле, DDPG ближе к DQN, но использует структуру, похожую на Actor-Critic. DDPG вбирает в себя преимущества одношагового обновления градиента политики в Actor-Critic, а также использует навыки DQN для оценки Q-значения. Самым большим преимуществом DDPG является то, что он может более эффективно обучаться последовательным действиям.

Ссылаться на

  1. Что такое DDPG — обучение с подкреплением | Mofan Python (mofanpy.com)
  2. Глава 12 Алгоритм градиента глубокой детерминированной политики (DDPG) (datawhalechina.github.io)
  3. [Обучение с подкреплением] Подробное объяснение алгоритма DDPG (глубокий детерминированный градиент политики) — техническое пространство шуры — блог CSDN — ddpg
  4. Заметки по глубокому обучению с подкреплением - принцип и реализация DDPG (pytorch) - Знание (zhihu.com)