Это 6-й день моего участия в августовском испытании обновлений.Подробности о мероприятии:Испытание августовского обновления
Эта статья является восьмой в серии вводного обучения с подкреплением.Мы упоминали DDPG ранее, когда говорили об актере-критике. DDPG — это алгоритм, предложенный командой Google DeepMind для вывода детерминированных действий, который устраняет недостаток, связанный с тем, что нейронная сеть «Актер-Критик» имеет корреляции до и после каждого обновления параметра, в результате чего нейронная сеть принимает только односторонний взгляд на проблему. . В то же время это устраняет тот недостаток, что DQN нельзя использовать для непрерывных действий.
Deep Deterministic Policy Gradient
Введение
DDPG расшифровывается как алгоритм градиента глубокой детерминированной политики. Это также метод, который может решить проблему непрерывного управления. Он относится к методам без моделей, вне политики и методам, основанным на политике. Оригинал передачи:
- Сильвер, Дэвид и др. «Алгоритмы детерминированного градиента политики», ICML, 2014 г. (предыдущая работа).
- Lillicrap, Timothy P., et al. "Continuous control with deep reinforcement learning." arXiv preprint arXiv:1509.02971 (2015).
Мы можем разобрать DDPG, чтобы увидеть, Deep, что означает, что требуется нейросеть. Детерминированный означает, что в конечном итоге выводится только одно действие. Мы уже знаем, что градиент политики — это алгоритм градиента политики. DDPG можно рассматривать как расширенную версию DQN, разница в том, что предыдущий вывод DQN является вектором действия, а для DDPG в конечном итоге выводится только одно действие. Более того, DDPG позволяет расширить DQN на непрерывные пространства действий.
сетевая структура
Структурная форма DDPG похожа на Актер-Критик. DDPG можно разделить на две основные сети: сеть политик и сеть создания стоимости. DDPG продолжает идею фиксированной целевой сети в DQN, и каждая сеть подразделяется на целевую сеть и сеть реальности. Однако обновление целевой сети несколько отличается. Подробный анализ ниже.
Давайте сначала посмотрим на политику сети, которая является Актером. Выход Актера представляет собой детерминированное действие, и сеть, которая производит это детерминированное действие, определяется как. В прошлом в градиенте политики использовалась случайная стратегия, и каждое действие по сбору данных требовало выборки распределения текущей оптимальной стратегии, в то время как DDPG использовала детерминированную стратегию, которая напрямую передала функциюКонечно. Предполагаемая сеть актеров,Это параметры нейронной сети, и эта сеть оценки используется для вывода действий в реальном времени. Кроме того, у Актера есть целевая сеть с такой же структурой, но с другими параметрами, которая используется для обновления сети значений Критик. Обе сети являются выходными действиями.
Давайте посмотрим на сеть создания ценности, которой является Критик. Его роль состоит в том, чтобы соответствовать функции ценности. Существует также сеть оценки и целевая сеть. Обе сети выдают на выходе значение q-значения текущего состояния, а на входе различаются. Вход целевой сети Критика имеет два параметра: значение наблюдения текущего состояния и выход действия целевой сети Актера. Вход сети оценки Критика является действием действия выхода сети оценки текущего Актера. Целевая сеть используется для вычисления,
Ниже мы используем картинку, чтобы интуитивно понять весь процесс:
Мы видим, что обновление сети значений основано на градиентном спуске TD-ошибки.Как судья, Критик не знает, достаточно ли хорош результат действия Актера в начале.Ему также необходимо учиться шаг за шагом шаг, чтобы дать точную оценку, поэтому с помощью значения следующего момента в целевой сети, и реальный доход r, мы можем получить,позволятьминус текущийНайдите среднеквадратичную ошибку, затем вы можете построить Loss. Метод обновления фактически аналогичен DQN, с той лишь разницей, что параметры целевой сети медленно обновляются в алгоритме DDPG, вместо прямого копирования параметров существующей сети через каждые N шагов в DQN.
Обновление сети политик (актора) основано на градиентном восхождении, потому что цель актора — найти действие a, которое может максимизировать значение Q вывода, поэтому градиент сети политик оптимизации — максимизировать значение выхода сети стоимости.Это значение Q. Функция Loss добавляет отрицательный знак, чтобы минимизировать ошибку.
Стоит отметить, что DDQG также опирается на навыки DQN Experience Replay. DDPG также поставит последовательность времениХранится в пуле опыта. Для каждого обучения случайным образом отбирайте мини-партию из пула опыта для обучения.
Поток алгоритма
Псевдокод выглядит следующим образом:
Во-первых, инициализируйте Актера и Критика и их соответствующие целевые сети с 4 сетями и буфером воспроизведения пула опыта R.
Когда сеть Актера выводит действия, DDPG реализует исследование, добавляя случайный шум, что позволяет агенту лучше исследовать потенциальные оптимальные стратегии. Далее следует техника повторов опыта. Данные, которые взаимодействуют агента с окружающей средойХранить в Р. Затем каждое обучение случайным образом отбирает из него мини-партию.
При обновлении параметров сначала используйте целевую сеть Critic.для расчета целевого значения,использоватьСоздайте функцию потерь со среднеквадратической ошибкой текущего значения Q и обновите градиент. Для сети политик Актера на самом деле нужно заменить функцию детерминированного действия Актера Q-функцией, затем найти градиент и, наконец, обновить целевую сеть.
резюме
Вкратце: DQN+Актор-Критик => Глубокий детерминированный градиент политики (DDPG). На самом деле, DDPG ближе к DQN, но использует структуру, похожую на Actor-Critic. DDPG вбирает в себя преимущества одношагового обновления градиента политики в Actor-Critic, а также использует навыки DQN для оценки Q-значения. Самым большим преимуществом DDPG является то, что он может более эффективно обучаться последовательным действиям.
Ссылаться на
- Что такое DDPG — обучение с подкреплением | Mofan Python (mofanpy.com)
- Глава 12 Алгоритм градиента глубокой детерминированной политики (DDPG) (datawhalechina.github.io)
- [Обучение с подкреплением] Подробное объяснение алгоритма DDPG (глубокий детерминированный градиент политики) — техническое пространство шуры — блог CSDN — ddpg
- Заметки по глубокому обучению с подкреплением - принцип и реализация DDPG (pytorch) - Знание (zhihu.com)