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

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

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

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

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

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

КритикАгент

Q критика Q-функции-ценности (S, A), который вы создаете использование rlQValueRepresentation

Детерминированный π агента политики (S), который вы создаете использование rlDeterministicActorRepresentation

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

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

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

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

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

Чтобы оценить политику и функцию ценности, агент DDPG обеспечивает четыре функциональных аппроксимации:

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

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

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

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

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

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

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

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

Можно создать и обучить агентов DDPG в MATLAB® командная строка или использование приложения Reinforcement Learning Designer.

Для получения дополнительной информации о создании агентов с помощью Reinforcement Learning Designer смотрите, Создают Агентов Используя Reinforcement Learning Designer.

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

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

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

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

  4. В случае необходимости задайте опции агента с помощью rlDDPGAgentOptions объект.

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

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

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

  2. Создайте критика, использующего rlQValueRepresentation объект.

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

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

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

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

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

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

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

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

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

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

    3. Сохраните опыт (S, A, R, S') в буфере опыта. Длина буфера опыта задана в ExperienceBufferLength свойство rlDDPGAgentOptions объект.

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

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

      yi=Ri+γQt(Si',πt(Si'|θt)|ϕt)

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

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

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

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

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

      θJ1Mi=1MGaiGπiGai=AQ(Si,A|ϕ)гдеA=π(Si|θ)Gπi=θπ(Si|θ)

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

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

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

Целевые методы обновления

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

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

    ϕt=τϕ+(1τ)ϕt(critic parameters)θt=τθ+(1τ)θt(actor parameters)

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

  • Периодическое Сглаживание — Обновление целевые параметры периодически со сглаживанием.

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

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

Ссылки

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

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

|

Похожие темы