exponenta event banner

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

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

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

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

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

Агенты DDPG используют следующие представления актёра и критика.

КритикАктер

Критик Q (S, A) функции Q-value, созданный с помощьюrlQValueRepresentation

Детерминированный политический субъект δ (S), который создается с помощьюrlDeterministicActorRepresentation

Во время обучения агент 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 с представлениями актера и критика по умолчанию на основе спецификаций наблюдения и действий из среды. Для этого выполните следующие действия.

  1. Создайте спецификации наблюдения для среды. Если у вас уже есть объект интерфейса среды, вы можете получить эти спецификации с помощью getObservationInfo.

  2. Создание спецификаций действий для среды. Если у вас уже есть объект интерфейса среды, вы можете получить эти спецификации с помощью getActionInfo.

  3. При необходимости укажите количество нейронов в каждом обучаемом уровне или следует ли использовать уровень LSTM. Для этого создайте объект параметра инициализации агента с помощью rlAgentInitializationOptions.

  4. При необходимости укажите параметры агента с помощью rlDDPGAgentOptions объект.

  5. Создание агента с помощью rlDDPGAgent объект.

Кроме того, можно создавать представления актера и критика и использовать эти представления для создания агента. В этом случае убедитесь, что входные и выходные размеры представлений актера и критика соответствуют соответствующим спецификациям действия и наблюдения среды.

  1. Создание актера с помощью rlDeterministicActorRepresentation объект.

  2. Создание критика с помощью rlQValueRepresentation объект.

  3. Укажите параметры агента с помощью rlDDPGAgentOptions объект.

  4. Создание агента с помощью rlDDPGAgent объект.

Дополнительные сведения о создании актеров и критиков для аппроксимации функций см. в разделе Создание представлений политик и функций значений.

Алгоритм обучения

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

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

  • Инициализируйте актера (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' (Сай', μ' (Сай' | θμ) | θQ')

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

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

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

      L=1M∑i=1M (yi Q (Si, Ai 'startQ)) 2

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

      θμJ≈1M∑i=1MGaiGμiGai = AQ (Сай, 'θQ), где (Сай 'θμ) Gμi = ∇θμμ (Сай 'θμ)

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

    8. Обновление параметров целевого исполнителя и критика в зависимости от метода целевого обновления. Дополнительные сведения см. в разделе Методы целевого обновления.

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

Методы целевого обновления

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

  • Сглаживание (Smoothing) - обновляет целевые параметры на каждом шаге времени с использованием коэффициента сглаживания, Чтобы задать коэффициент сглаживания, используйте TargetSmoothFactor вариант.

    θQ' = τθQ + (1−τ) θQ' параметры критика) θμ '=τθμ + (1−τ) θμ' ( параметры актера)

  • Periodic - периодически обновлять целевые параметры без сглаживания (TargetSmoothFactor = 1). Чтобы указать период обновления, используйте TargetUpdateFrequency параметр.

  • Периодическое сглаживание (Periodic Smoothing) - периодическое обновление целевых параметров сглаживанием.

Чтобы настроить целевой метод обновления, создайте rlDDPGAgentOptions и задайте TargetUpdateFrequency и TargetSmoothFactor как показано в следующей таблице.

Метод обновленияTargetUpdateFrequencyTargetSmoothFactor
Сглаживание (по умолчанию)1Меньше, чем 1
ПериодическийБольше, чем 11
Периодическое сглаживаниеБольше, чем 1Меньше, чем 1

Ссылки

[1] Лилликрап, Тимоти П., Джонатан Дж. Хант, Александр Притцель, Николя Хеесс, Том Эрез, Юваль Тасса, Дэвид Сильвер и Даан Верстра. «Непрерывный контроль с глубоким усилением обучения». ArXiv:1509.02971 [Cs, Stat], 9 сентября 2015 г. https://arxiv.org/abs/1509.02971.

См. также

|

Связанные темы