Алгоритм глубоко детерминированного градиента политики (DDPG) является онлайновым, методом обучения с подкреплением вне политики без моделей. Агент DDPG является агентом обучения с подкреплением критика агента, который вычисляет оптимальную политику, которая максимизирует долгосрочное вознаграждение.
Для получения дополнительной информации о различных типах агентов обучения с подкреплением смотрите Агентов Обучения с подкреплением.
Агенты DDPG могут быть обучены в средах со следующим наблюдением и пространствами действий.
Пространство наблюдений | Пространство действий |
---|---|
Непрерывный или дискретный | Непрерывный |
Во время обучения, агента DDPG:
Обновляет агента и свойства критика на каждом временном шаге во время изучения.
Прошлый опыт хранилищ с помощью кругового буфера опыта. Агент обновляет агента и критика, использующего мини-пакет событий, случайным образом произведенных от буфера.
Тревожит действие, выбранное политикой с помощью стохастической шумовой модели на каждом учебном шаге.
Чтобы оценить политику и функцию ценности, агент DDPG обеспечивает четыре функциональных аппроксимации:
Агент μ (S) — Агент берет наблюдение S и выводит соответствующее действие, которое максимизирует долгосрочное вознаграждение.
Целевой агент μ' (S) — Чтобы улучшить устойчивость оптимизации, агент периодически обновляет целевого агента на основе последних значений параметров агента.
Критик Q (S, A) — критик берет наблюдение S и действие A как вводы и выводы соответствующее ожидание долгосрочного вознаграждения.
Предназначайтесь для критика Q' (S, A) — Чтобы улучшить устойчивость оптимизации, агент периодически обновляет целевого критика на основе последних значений параметров критика.
Оба Q (S, A) и Q' (S, A) имеет ту же структуру и параметризацию, и и μ (S) и μ' (S) имеют ту же структуру и параметризацию.
Когда обучение завершено, обученная оптимальная политика хранится в агенте μ (S).
Для получения дополнительной информации о создании агентов и критиков для приближения функций, смотрите, Создают Представления Функции ценности и политика.
Создать агента DDPG:
Создайте агента с помощью anrlDeterministicActorRepresentation
объект.
Создайте критика, использующего rlQValueRepresentation
объект.
Задайте опции агента с помощью rlDDPGAgentOptions
объект.
Создайте агента с помощью rlDDPGAgent
объект.
Агенты DDPG используют следующий алгоритм настройки, в котором они обновляют своего агента и модели критика на каждом временном шаге. Чтобы сконфигурировать алгоритм настройки, задайте опции с помощью rlDDPGAgentOptions
.
Инициализируйте критика Q (S, A) со случайными значениями параметров θQ, и инициализируйте целевого критика теми же случайными значениями параметров: .
Инициализируйте агента μ (S) со случайными значениями параметров θμ и инициализируйте целевого агента теми же значениями параметров: .
Для каждого учебного временного шага:
Для текущего наблюдения S выберите действие A = μ (S) + N, где N является стохастическим шумом из шумовой модели. Чтобы сконфигурировать шумовую модель, используйте NoiseOptions
опция.
Выполните действие A. Наблюдайте вознаграждение R и следующее наблюдение S'.
Сохраните опыт (S, A, R, S') в буфере опыта.
Произведите случайный мини-пакет событий M (Si, Ai, Ri, S'i) от буфера опыта. Чтобы задать M, используйте MiniBatchSize
опция.
Если S'i является конечным состоянием, поставьте цель функции ценности yi к Ri. В противном случае установите его на:
Цель функции ценности является суммой вознаграждения опыта Ri и обесцененное будущее вознаграждение. Чтобы задать коэффициент дисконтирования γ, используйте DiscountFactor
опция.
Чтобы вычислить совокупное вознаграждение, агент сначала вычисляет следующее действие путем передачи следующего наблюдения Si' с произведенного опыта на целевого агента. Агент находит совокупное вознаграждение путем передачи следующего действия целевому критику.
Обновите параметры критика путем минимизации потери L через все произведенные события.
Обновите параметры агента с помощью следующего произведенного градиента политики, чтобы максимизировать ожидаемое обесцененное вознаграждение.
Здесь, Gai является градиентом критика выход относительно действия, вычисленного сетью агента, и Gμi является градиентом агента выход относительно параметров агента. Оба градиента оценены для наблюдения Si.
Обновите целевого агента и параметры критика в зависимости от целевого метода обновления. Для получения дополнительной информации см. Целевые Методы Обновления.
Для простоты агент и обновления критика в этом алгоритме показывают обновление градиента с помощью основного стохастического градиентного спуска. Фактический метод обновления градиента зависит от оптимизатора, заданного с помощью rlRepresentationOptions
.
Агенты DDPG обновляют своего целевого агента и параметры критика с помощью одного из следующих целевых методов обновления.
Сглаживание — Обновление целевые параметры на каждом временном шаге с помощью коэффициента сглаживания τ. Чтобы задать коэффициент сглаживания, используйте TargetSmoothFactor
опция.
Периодический — Обновление целевые параметры периодически, не сглаживая (TargetSmoothFactor = 1
). Чтобы задать период обновления, используйте TargetUpdateFrequency
параметр.
Периодическое Сглаживание — Обновление целевые параметры периодически со сглаживанием.
Чтобы сконфигурировать целевой метод обновления, создайте rlDDPGAgentOptions
объект и набор TargetUpdateFrequency
и TargetSmoothFactor
параметры как показано в следующей таблице.
Метод Update | TargetUpdateFrequency | TargetSmoothFactor |
---|---|---|
Сглаживание (значения по умолчанию) | 1
| Меньше, чем 1 |
Периодический | Больше, чем 1 | 1
|
Периодическое сглаживание | Больше, чем 1 | Меньше, чем 1 |
[1] Т. П. Лилликрэп, Дж. Дж. Хант, А. Прицель, Н. Хисс, Т. Эрез, И. Тасса, D. Серебро и Д. Вирстра. “Непрерывное управление с глубоким обучением с подкреплением”, Международная конференция по вопросам Изучения Представлений, 2016.
rlDDPGAgent
| rlDDPGAgentOptions