Давайте рассмотрим несколько концепций перед DDPG.

Детерминированный градиент политики (DPG)

Традиционно алгоритмы градиента политики используются со стохастической функцией политики π (. | S). Это означает, что функция политики π (. | S) представлена ​​как распределение по действиям. Для данного состояния будет распределение вероятностей для каждого действия в пространстве действий. В DPG вместо стохастической политики π используется детерминированная политика μ (. | S). Для данного состояния s будет детерминированное решение: a = μ (s) вместо распределения по действиям.

Целевая функция градиента алгоритма стохастического градиента политики может быть записана следующим образом:

Мы можем переписать уравнение детерминированной политики, заменив π на μ. До 2014 года детерминированная политика для алгоритма градиента политики невозможна. В статье [2] Дэвид Сильвер задумал идею DPG и представил доказательство.

Теперь мы можем переписать приведенное выше уравнение с помощью детерминированной политики, как показано ниже:

Q-обучение

обучение - это обучение с подкреплением, основанное на ценностях вне политики. Вне политики означает, что агент следует политике поведения для выбора действия для достижения следующего состояния s_t + 1 из состояния s_t. Начиная с s_t + 1, он использует политику π, отличную от политики поведения. В Q-обучении мы принимаем абсолютное жадное действие как политику π из следующего состояния s_t + 1.

Как мы обсуждали в функции «действие-значение», приведенное выше уравнение указывает, как мы вычисляем Q-значение для действия a, начиная с состояния s в Q-обучении. Это сумма немедленного вознаграждения за использование политики поведения (ϵ-мягкий, ϵ-жадный или softmax). Из состояния s_t + 1 он выполняет абсолютно жадное действие (выберите действие, которое имеет максимальное значение Q, по сравнению с другими действиями).

Важно упомянуть правило обновления в Q-Learning. Новое значение Q - это сумма старого значения Q и ошибки TD.

Ошибка TD вычисляется путем вычитания нового значения Q из старого значения Q.

Приведенное выше уравнение показывает подробный вид правила обновления.

Если вы хотите узнать больше об обучении Q, прочтите этот блог.

Актер-критик

Проще говоря, «субъект-критик» - это версия градиента политики с временной разницей (TD) [3]. У него две сети: актер и критик. Актер решил, какое действие следует предпринять, и критик проинформирует актера, насколько хорошо было действие и как его следует отрегулировать. Обучение действующего лица основано на подходе градиента политики. Для сравнения, критики оценивают действие, производимое актером, путем вычисления функции ценности.

Если вы хотите узнать больше, прочтите, пожалуйста, этот блог.

Глубокий детерминированный градиент политики (DDPG)

DDPG - это не модельный алгоритм критики субъектов вне политики, который сочетает в себе Deep Q Learning (DQN) и DPG. Orginal DQN работает в дискретном пространстве действий, а DPG расширяет его до непрерывного пространства действий, изучая детерминированную политику [1].

Поскольку это алгоритм вне политики, он использует две отдельные политики для исследования и обновления [5]. Он использует политику стохастического поведения для исследования и детерминированную политику для целевого обновления [5].

DDPG - алгоритм «актер-критик»; у него две сети: актер и критик. Технически актер производит действие, которое нужно исследовать. В процессе обновления актера используется ошибка TD от критика. Сеть критиков обновляется на основе ошибки TD, аналогично правилу обновления Q-Learning.

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

Если вам нравится моя статья, подпишитесь на меня в профилях Github, Linkedin и / или Medium.

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

  1. Https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html#dpg
  2. Http://proceedings.mlr.press/v32/silver14.pdf
  3. Https://en.wikipedia.org/wiki/Q-learning
  4. Https://www.analyticsvidhya.com/blog/2019/04/introduction-deep-q-learning-python/
  5. Https://cse.buffalo.edu/~avereshc/cse_demo_day_fall19/Vishva_Nitin_Patel_Leena_Manohar_Patil_poster.pdf
  6. Https://jmichaux.github.io/week4b/