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

Алгоритм глубоко детерминированного градиента политики (DDPG) является онлайновым, методом изучения укрепления вне политики без моделей. Агент DDPG является агентом изучения укрепления критика агента, который вычисляет оптимальную политику, которая максимизирует долгосрочное вознаграждение.

Для получения дополнительной информации о различных типах агентов изучения укрепления смотрите, что Укрепление Изучает Агенты.

Агенты DDPG могут быть обучены в средах со следующими пробелами наблюдения и действия.

Пространство наблюденийПробел действия
Непрерывный или дискретныйНепрерывный

Во время обучения, агента DDPG:

  • Обновляет агента и свойства критика на каждом временном шаге во время изучения.

  • Прошлый опыт хранилищ с помощью кругового буфера опыта. Агент обновляет агента и критика, использующего мини-пакет событий, случайным образом выбранных от буфера.

  • Тревожит действие, выбранное политикой с помощью стохастической шумовой модели на каждом учебном шаге.

Агент и функция критика

Чтобы оценить политику и функцию значения, агент DDPG поддерживает четыре функции approximators:

  • Агент μ (S) — Агент берет наблюдение S и выводит соответствующее действие, которое максимизирует долгосрочное вознаграждение.

  • Целевой агент μ' (S) — Чтобы улучшить устойчивость оптимизации, агент периодически обновляет целевого агента на основе последних значений параметров агента.

  • Критик Q (S, A) — критик берет наблюдение S и действие A как вводы и выводы соответствующее ожидание долгосрочного вознаграждения.

  • Предназначайтесь для критика Q' (S, A) — Чтобы улучшить устойчивость оптимизации, агент периодически обновляет целевого критика на основе последних значений параметров критика.

Оба Q (S, A) и Q' (S, A) имеет ту же структуру и параметризацию, и и μ (S) и μ' (S) имеют ту же структуру и параметризацию.

Когда обучение завершено, обученная оптимальная политика хранится в агенте μ (S).

Для получения дополнительной информации о создании агентов и критиков для приближения функций, смотрите, Создают политику и Представления Функции Значения.

Создание агента

Создать агент DDPG:

  1. Создайте объект представления агента.

  2. Создайте объект представления критика.

  3. Задайте опции агента с помощью функции rlDDPGAgentOptions.

  4. Создайте агент с помощью функции rlDDPGAgent.

Для получения дополнительной информации смотрите rlDDPGAgent и rlDDPGAgentOptions.

Учебный алгоритм

Агенты DDPG используют следующий учебный алгоритм, в котором они обновляют своего агента и модели критика на каждом временном шаге. Чтобы сконфигурировать учебный алгоритм, задайте опции с помощью rlDDPGAgentOptions.

  • Инициализируйте критика Q (S, A) со случайными значениями параметров θQ, и инициализируйте целевого критика с теми же случайными значениями параметров: θQ'=θQ.

  • Инициализируйте агента μ (S) со случайными значениями параметров θμ и инициализируйте целевого агента с теми же значениями параметров: θμ'=θμ.

  • Для каждого учебного временного шага:

    1. Для текущего наблюдения S выберите действие A = μ (S) + N, где N является стохастическим шумом из шумовой модели. Чтобы сконфигурировать шумовую модель, используйте опцию NoiseOptions.

    2. Выполните действие A. Наблюдайте вознаграждение R и следующее наблюдение S'.

    3. Сохраните опыт (S, A, R, S') в буфере опыта.

    4. Выберите случайный мини-пакет событий M (Si, Ai, Ri, S'i) от буфера опыта. Чтобы задать M, используйте опцию MiniBatchSize.

    5. Если S'i является терминальным состоянием, поставьте цель функции значения yi к Ri. В противном случае установите его на:

      yi=Ri+γQ'(Si',μ'(Si'|θμ)|θQ')

      Цель функции значения является суммой вознаграждения опыта Ri и обесцененное будущее вознаграждение. Чтобы задать коэффициент дисконтирования γ, используйте опцию DiscountFactor.

      Чтобы вычислить совокупное вознаграждение, агент сначала вычисляет следующее действие путем передачи следующего наблюдения Si' с выбранного опыта на целевого агента. Агент находит совокупное вознаграждение путем передачи следующего действия целевому критику.

    6. Обновите параметры критика путем минимизации потери L через все выбранные события.

      L=1Mi=1M(yiQ(Si,Ai|θQ))2

    7. Обновите параметры агента с помощью следующего выбранного градиента политики, чтобы максимизировать ожидаемое обесцененное вознаграждение.

      θμJ1Mi=1MGaiGμiGai=AQ(Si,A|θQ) where A=μ(Si|θμ)Gμi=θμμ(Si|θμ)

      Здесь, Gai является градиентом критика вывод относительно действия, вычисленного сетью агента, и Gμi является градиентом агента вывод относительно параметров агента. Оба градиента оценены для наблюдения Si.

    8. Обновите целевого агента и критика в зависимости от целевого метода обновления (сглаживание или периодический). Чтобы выбрать метод обновления, используйте опцию TargetUpdateMethod.

      θQ'=τθQ+(1τ)θQ'θμ'=τθμ+(1τ)θμ'(сглаживание)θQ'=θQθμ'=θμ(периодический)

      По умолчанию агент использует целевое сглаживание и обновляет целевого агента и критика при каждом использовании временного шага, сглаживающем факторный τ. Чтобы задать фактор сглаживания, используйте опцию TargetSmoothFactor. Также можно периодически обновлять целевого агента и критика. Чтобы задать количество эпизодов между целевыми обновлениями, используйте опцию TargetUpdateFrequency.

Для простоты этот агент и обновления критика в этом алгоритме показывают обновление градиента с помощью основного стохастического спуска градиента. Фактический метод обновления градиента зависит от оптимизатора, заданного с помощью rlRepresentationOptions.

Ссылки

[1] Т. П. Лилликрэп, Дж. Дж. Хант, А. Прицель, Н. Хисс, Т. Эрез, И. Тасса, D. Серебро и Д. Вирстра. “Непрерывное управление с глубоким изучением укрепления”, Международная конференция по вопросам Изучения Представлений, 2016.

Смотрите также

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте