Алгоритм глубокого детерминированного градиента политики (DDPG) является методом обучения без модели, онлайн, вне политики. Агент DDPG - это агент обучения по укреплению актера-критика, который ищет оптимальную политику, которая максимизирует ожидаемое совокупное долгосрочное вознаграждение.
Дополнительные сведения о различных типах агентов обучения усилению см. в разделе Агенты обучения усилению.
Агенты DDPG могут обучаться в средах со следующими пространствами наблюдения и действий.
| Пространство наблюдения | Пространство действий |
|---|---|
| Непрерывный или дискретный | Непрерывный |
Агенты DDPG используют следующие представления актёра и критика.
| Критик | Актер |
|---|---|
Критик Q (S, A) функции Q-value, созданный с помощью | Детерминированный политический субъект δ (S), который создается с помощью |
Во время обучения агент DDPG:
Обновляет свойства актера и критика на каждом временном шаге во время обучения.
Хранит прошлые переживания с помощью циклического буфера переживаний. Агент обновляет актера и критика, используя мини-партию переживаний, случайным образом отобранных из буфера.
Возмущает действие, выбранное политикой, используя стохастическую модель шума на каждом этапе обучения.
Для оценки политики и функции значения агент DDPG поддерживает четыре аппроксиматора функции:
Actor (S) - Актёр берёт наблюдение S и возвращает соответствующее действие, которое максимизирует долгосрочное вознаграждение.
Target actor λ '(S) - для повышения стабильности оптимизации агент периодически обновляет целевой актер на основе последних значений параметров актера.
Критик Q (S, A) - критик принимает наблюдение S и действие A в качестве входных данных и возвращает соответствующее ожидание долгосрочной награды.
Целевой критик Q '(S, A) - для улучшения стабильности оптимизации агент периодически обновляет целевой критик на основе последних значений параметров критика.
И Q (S, A), и Q '(S, A) имеют одну и ту же структуру и параметризацию, и как (S), так и (S) имеют одинаковую структуру и параметризацию.
После завершения обучения обученная оптимальная политика сохраняется в акторе (S).
Дополнительные сведения о создании актеров и критиков для аппроксимации функций см. в разделе Создание представлений политик и функций значений.
Можно создать агент DDPG с представлениями актера и критика по умолчанию на основе спецификаций наблюдения и действий из среды. Для этого выполните следующие действия.
Создайте спецификации наблюдения для среды. Если у вас уже есть объект интерфейса среды, вы можете получить эти спецификации с помощью getObservationInfo.
Создание спецификаций действий для среды. Если у вас уже есть объект интерфейса среды, вы можете получить эти спецификации с помощью getActionInfo.
При необходимости укажите количество нейронов в каждом обучаемом уровне или следует ли использовать уровень LSTM. Для этого создайте объект параметра инициализации агента с помощью rlAgentInitializationOptions.
При необходимости укажите параметры агента с помощью rlDDPGAgentOptions объект.
Создание агента с помощью rlDDPGAgent объект.
Кроме того, можно создавать представления актера и критика и использовать эти представления для создания агента. В этом случае убедитесь, что входные и выходные размеры представлений актера и критика соответствуют соответствующим спецификациям действия и наблюдения среды.
Создание актера с помощью rlDeterministicActorRepresentation объект.
Создание критика с помощью rlQValueRepresentation объект.
Укажите параметры агента с помощью rlDDPGAgentOptions объект.
Создание агента с помощью rlDDPGAgent объект.
Дополнительные сведения о создании актеров и критиков для аппроксимации функций см. в разделе Создание представлений политик и функций значений.
Агенты DDPG используют следующий обучающий алгоритм, в котором они обновляют свои модели актера и критика на каждом временном шаге. Чтобы настроить алгоритм обучения, укажите параметры с помощью rlDDPGAgentOptions объект.
Инициализируйте критик Q (S, A) случайными значениями параметров, и инициализируйте целевой критик теми же случайными значениями параметров,
Инициализируйте актера (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. В противном случае установите для него значение
θQ')
Целевой показатель функции стоимости представляет собой сумму вознаграждения Ri за опыт и будущего вознаграждения со скидкой. Чтобы указать коэффициент дисконтирования γ, используйте DiscountFactor вариант.
Чтобы вычислить совокупное вознаграждение, агент сначала вычисляет следующее действие, передавая следующее наблюдение Si 'из отобранного опыта целевому субъекту. Агент находит накопленное вознаграждение, передавая следующее действие целевому критику.
Обновите критические параметры, минимизировав потери L во всех отобранных переживаниях.
Ai 'startQ)) 2
Обновите параметры актера, используя следующий выборочный градиент политики, чтобы максимизировать ожидаемое вознаграждение со скидкой.
'θμ)
Здесь Гай является градиентом выходного сигнала критика относительно действия, вычисленного сетью акторов, а Gpcii является градиентом выходного сигнала актора относительно параметров актора. Оба градиента оцениваются для наблюдения Si.
Обновление параметров целевого исполнителя и критика в зависимости от метода целевого обновления. Дополнительные сведения см. в разделе Методы целевого обновления.
Для простоты, актёр и критик обновления в этом алгоритме показывают обновление градиента с использованием базового стохастического градиентного спуска. Фактический метод обновления градиента зависит от оптимизатора, указанного с помощью rlRepresentationOptions.
Агенты DDPG обновляют параметры целевого исполнителя и критика, используя один из следующих методов целевого обновления.
Сглаживание (Smoothing) - обновляет целевые параметры на каждом шаге времени с использованием коэффициента сглаживания, Чтобы задать коэффициент сглаживания, используйте TargetSmoothFactor вариант.
параметры актера)
Periodic - периодически обновлять целевые параметры без сглаживания (TargetSmoothFactor = 1). Чтобы указать период обновления, используйте TargetUpdateFrequency параметр.
Периодическое сглаживание (Periodic Smoothing) - периодическое обновление целевых параметров сглаживанием.
Чтобы настроить целевой метод обновления, создайте rlDDPGAgentOptions и задайте TargetUpdateFrequency и TargetSmoothFactor как показано в следующей таблице.
| Метод обновления | TargetUpdateFrequency | TargetSmoothFactor |
|---|---|---|
| Сглаживание (по умолчанию) | 1 | Меньше, чем 1 |
| Периодический | Больше, чем 1 | 1 |
| Периодическое сглаживание | Больше, чем 1 | Меньше, чем 1 |
[1] Лилликрап, Тимоти П., Джонатан Дж. Хант, Александр Притцель, Николя Хеесс, Том Эрез, Юваль Тасса, Дэвид Сильвер и Даан Верстра. «Непрерывный контроль с глубоким усилением обучения». ArXiv:1509.02971 [Cs, Stat], 9 сентября 2015 г. https://arxiv.org/abs/1509.02971.
rlDDPGAgent | rlDDPGAgentOptions