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

Алгоритм глубоко детерминированного градиента политики (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.

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

| |

Похожие темы