Обмен технологиями

# [0705] Task06 Алгоритм DDPG, алгоритм PPO, алгоритм SAC [только теория]

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • PDF-версия easy-rl организация примечаний P5, P10 - P12
  • Приложение для сравнения joyrl P11-P13
  • Организация документов OpenAI ⭐ https://spinningup.openai.com/en/latest/index.html

Вставьте сюда описание изображения

Вставьте сюда описание изображения

Последняя версия PDF скачать
Адрес: https://github.com/datawhalechina/easy-rl/releases
Внутренний адрес (рекомендуется для отечественных читателей)
Ссылка: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw Код извлечения: us6a

Ссылка на онлайн-версию easy-rl (для копирования кода)
Ссылка 2: https://datawhalechina.github.io/joyrl-book/

другой:
[Ссылка на запись об ошибках]
——————
5. Основы глубокого обучения с подкреплением ⭐️
Содержимое с открытым исходным кодом: https://linklearner.com/learn/summary/11.
——————————

Вставьте сюда описание изображения
Источник изображения

Оптимизация проксимальной политики (PPO)

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

Градиент политики: требуется много времени для выборки данных.

та же стратегия ⟹ Выборка по важности ~~~overset{Выборка по важности}{Longrightarrow}~~~   выборка по важности    разные стратегии

PPO: избегайте двух дистрибутивов, которые слишком сильно различаются. тот же алгоритм стратегии
1. Оригинальные элементы оптимизации J ( θ , θ ′ ) J(тета,тета^штрих)Дж.(θ,θ)
2. Элементы ограничений: θ тетаθ и θ ′ тета^штрихθ Расхождение КЛ выходного воздействия ( θ тетаθ и θ ′ тета^штрихθ Чем больше похоже, тем лучше)

У PPO есть предшественник: оптимизация политики доверительного региона (TRPO).
С TRPO сложно справиться, поскольку оно рассматривает ограничение дивергенции KL как дополнительное ограничение и не помещается в целевую функцию, поэтому его трудно вычислить. Поэтому мы обычно используем PPO вместо TRPO. Производительность PPO и TRPO аналогична, но PPO гораздо проще реализовать, чем TRPO.

Дивергенция КЛ: расстояние действия.Распределение вероятностей совершения действия расстояние.

Существует два основных варианта алгоритма PPO: штраф за оптимизацию проксимальной политики (PPO-штраф) и отсечение оптимизации проксимальной политики (PPO-clip).

Вставьте сюда описание изображения

Аналогичная производительность, проще реализовать
Оптимизация стратегии доверительной зоны ( оптимизация политики доверительного региона (TRPO)
Оптимизация проксимальной стратегии ( оптимизация проксимальной политики, ППО
Штраф за оптимизацию проксимальной политики ( PPO-штраф)
Адаптация проксимальной стратегии оптимизации ( PPO-клип)

——————————
P10 Проблема скудного вознаграждения
1. Дизайнерские награды. Требуется знание предметной области
Как насчет назначения окончательной награды за каждое соответствующее действие?

2. Любопытство
Модуль внутреннего любопытства (ICM)
входить: в , ст а_т,с_тат,ст
Выход: с ^ т + 1 шляпа с_{т+1}с^т+1
Прогнозируемая ценность сети с ^ т + 1 шляпа с_{т+1}с^т+1 с истинной ценностью ст + 1 с_{т+1}ст+1 Чем более они непохожи, тем рти р_т^иртя Больший

рти р_т^иртя : Чем сложнее предсказать будущее состояние, тем больше награда за действие. Поощряйте приключения и исследования.

  • Индикатор слишком одинок, и вы можете узнать только бесполезные вещи.

экстрактор функций

Сеть 2:
Вход: вектор ϕ ( ст ) {бм фи}(с_{т})ϕ(ст) и ϕ ( ст + 1 ) {бм фи}(с_{т+1})ϕ(ст+1)

Прогнозирование действий а ^ шляпа аа^ Чем ближе к реальным действиям, тем лучше.

Вставьте сюда описание изображения

3. Курсовое обучение

Легко -> Сложно

Обратное обучение по учебной программе:
Начиная с последнего, наиболее идеального состояния (мы называем его золотым состоянием), перейдите кНайдите штат, наиболее близкий к золотому штату Как поэтапное «идеальное» состояние, которого вы хотите достичь от агента. Конечно, мы намеренно удалим в этом процессе некоторые крайние состояния, то есть состояния, которые слишком легки или слишком сложны.

4. Иерархическое обучение с подкреплением (HRL)
Стратегия агента делится на стратегии высокого уровня и стратегии низкого уровня. Стратегия высокого уровня определяет, как выполнять стратегию низкого уровня на основе текущего состояния.

————————
P11 Имитационное обучение
Не уверен насчет сцены с наградой

Имитационное обучение (ИЛ)
обучение на демонстрации
Обучение
учусь, наблюдая

Есть четкие награды: настольные игры, видеоигры.
Невозможно дать четкое вознаграждение: чат-бот

Соберите экспертные демонстрации: записи вождения людей, человеческие разговоры.

И наоборот, какую функцию вознаграждения выполняет эксперт за эти действия?
Обучение с обратным подкреплением — этоСначала найдите функцию вознаграждения, после нахождения функции вознаграждения, используйте обучение с подкреплением, чтобы найти оптимального актера.

Технология обучения с имитацией от третьего лица

————————
P12 Глубокий детерминированный политический градиент (DDPG)

Вставьте сюда описание изображения

Используйте стратегию воспроизведения опыта

Эксперимент по абляции [метод контролируемой переменной] Анализкаждое ограничениевлияние на исход боя.


джойрл:

ДДПГ_непрерывный

в нуждеуверенностьстратегия инепрерывное действиеВ условиях пространства этот тип алгоритма будет относительно стабильным базовым алгоритмом.

DQN для пространств непрерывного действия

Алгоритм глубокого детерминированного политического градиента (DDPG)

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

недостаток:
1. Невозможно использовать в пространстве дискретных действий.
2、Сильно зависит от гиперпараметров
3. Высокочувствительные начальные условия. Влияет на сходимость и производительность алгоритма.
4. Легко попасть в локальный оптимум.

  • Из-за принятия детерминированной стратегии алгоритм может попасть в локальный оптимум и затруднить поиск глобальной оптимальной стратегии. Чтобы повысить разведку, необходимо принять некоторые меры, такие как добавление стратегий шума или использование других методов разведки.

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

Алгоритм детерминистического градиента политики с двойной задержкой (DDPG с двойной задержкой, TD3)

Алгоритм детерминированного политического градиента с двойной задержкой

Три улучшения: сеть Double Q, отложенное обновление, регуляризация шума.
Двойная сеть Q : Две сети Q, выберите ту, у которой значение Q меньше. Решить проблему завышения значения Q и улучшить стабильность и сходимость алгоритма.

Отложенное обновление: пусть частота обновления актеров будет ниже, чем частота обновления критиков.

  • Подумай дважды

Шум больше похож наРегуляризациятаким образом, чтообновление функции значенияболеегладкий

Библиотека OpenAI Gym_Pendulum_TD3

Ссылка на интерфейс документа OpenAI о TD3

Ссылка на документ TD3 в формате PDF

PPO_Пространство непрерывного/дискретного действия [OpenAI 201708]

Наиболее часто используемый алгоритм PPO в обучении с подкреплением.
Дискретный + непрерывный
Быстрый и стабильный, легко настраивать параметры
базовый алгоритм

Не определился с PPO

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

Алгоритм вне политики можетиспользовать исторический опыт, обычно используйте воспроизведение опыта для хранения и повторного использования предыдущего опыта,Эффективность использования данных высокая

PPO — это алгоритм, соответствующий политике.

  • Хотя в части выборки по важности используются выборки из старой выборки актеров, мыЭти образцы не используются напрямую для обновления стратегии. , но используйте выборку по важности, чтобы сначала исправить ошибки, вызванные различным распределением данных, даже если разница между двумя распределениями выборки максимально уменьшена.Другими словами, можно понять, что хотя выборки после выборки по важности получаются путем выборки по старой стратегии, они могутПримерно получено из обновленной политики, то есть актер, которого мы хотим оптимизировать, и актер, который мы выбираем, одинаковы.

——————————————————

—— Документация OpenAI_PPO

Документация OpenAI
Ссылка на интерфейс Paper arXiv: Алгоритмы оптимизации проксимальной политики

PPO: алгоритм, основанный на политике, подходящий для дискретных или непрерывных пространств действий.Возможный локальный оптимум

Мотивация для PPO такая же, как и для TRPO: как использовать существующие данные.Сделайте максимально возможный шаг к улучшению своей стратегии., не меняя его слишком сильно и случайно не вызывая сбоя производительности?
TRPO пытается решить эту проблему с помощью сложного подхода второго порядка, в то время как PPO представляет собой подход первого порядка, который использует некоторые другие приемы, чтобы сохранить новую стратегию близкой к старой.
Метод PPO гораздо проще реализовать и, как показывает опыт, работает по крайней мере так же хорошо, как TRPO.

Существует две основные разновидности PPO: PPO-Penalty и PPO-Clip.

  • PPO-Penalty примерно решает обновления ограничений KL, как TRPO, но штрафует KL-расхождение в целевой функции вместо того, чтобы делать его жестким ограничением, и автоматически корректирует штрафной коэффициент во время обучения, чтобы он масштабировался соответствующим образом.
  • PPO-Clip не имеет KL-дивергенции и ограничений на целевую функцию. Вместо этого он полагается на специальную настройку целевой функции, чтобы устранить стимулы для новой стратегии отходить от старой стратегии.
    PPO-Clip (основной вариант, используемый OpenAl).

Вставьте сюда описание изображения

Псевдокод алгоритма PPO-Clip

Вставьте сюда описание изображения

Алгоритм: PPO-Клип
1: Входные данные: начальные параметры стратегии. θ 0 тета_0θ0, параметры функции начального значения ϕ 0 фи_0ϕ0
2: для k = 0, 1, 2, … сделать {bf для} ~ k=0,1,2,точки~ {bf сделать}для к=0,1,2, делать
3:        ~~~~~~       Запустив политику в среде π k = π ( θ k ) pi_k=pi(theta_k)πк=π(θк) Собрать набор траекторий D k = { τ i } {cal D}_k={tau_i}Дк={τя}
4:        ~~~~~~       Рассчитать вознаграждения (вознаграждения к использованию) Р ^ т хат Р_т~~~~~р^т      Р ^ т хат Р_тр^т правила расчета
5:        ~~~~~~       Вычислить оценку преимущества на основе функции текущего значения V ϕ к V_{phi_k}Вϕк из А ^ т хат А_тА^т (Используйте любой метод оценки доминирования)       ~~~~~       ▢ Каковы современные методы оценки преимуществ?
6:        ~~~~~~       Обновите политику, максимизировав целевую функцию PPO-Clip:
            ~~~~~~~~~~~            
θ k + 1 = arg ⁡ max ⁡ θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T min ⁡ ( π θ ( в ∣ st ) π θ k ( в ∣ st ) A π θ k ( st , в ) , g ( ϵ , A π θ k ( st , в ) ) ) ~~~~~~~~~~~theta_{k+1}=argmaxlimits_thetafrac{1}{|{cal D}_k|T}sumlimits_{tauin{cal D}_k}sumlimits_{t=0}^TminBig(frac{pi_{theta} (a_t|s_t)}{пи_{theta_k}(a_t|s_t)}A^{pi_{theta_k}}(s_t,a_t),g(эпсилон,A^{pi_{theta_k}}(s_t,a_t))Большой)           θк+1=аргθМаксДкТ1τДкт=0Тмин(πθк(атст)πθ(атст)Аπθк(ст,ат),г(ϵ,Аπθк(ст,ат)))       ~~~~~       ▢ Как определить формулу обновления стратегии?
            ~~~~~~~~~~~            
            ~~~~~~~~~~~             π θ k пи_{тета_k}πθк : Вектор параметров стратегии перед обновлением. Выборка по важности. Выборка из старых стратегий.
            ~~~~~~~~~~~            
            ~~~~~~~~~~~            Общий стохастический градиентный подъем + Адам
7:        ~~~~~~       среднеквадратическая ошибкафункция подобранного значения регрессии:
            ~~~~~~~~~~~            
ϕ k + 1 = arg ⁡ min ⁡ ϕ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T ( V ϕ ( st ) − R ^ t ) 2 ~~~~~~~~~~~~phi_{k+1}=arg minlimits_phifrac{1}{|{cal D}_k|T}sumlimits_{tauin{cal D}_k}sumlimits_{t=0}^TBig(V_phi(s_t)-hat R_tBig)^2           ϕк+1=аргϕминДкТ1τДкт=0Т(Вϕ(ст)р^т)2
            ~~~~~~~~~~~            
            ~~~~~~~~~~~            Общий градиентный спуск
8: конец для bf конец ~дляконец для
             ~~~~~~~~~~~~             

$dots$ … ~~~точки   

g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA &lt; 0 g(эпсилон,A)=влево{(1+ϵ)А    А0(1ϵ)АА<0верно. г(ϵ,А)={(1+ϵ)А    (1ϵ)АА0А<0

Вставьте сюда описание изображения

в газетеОценка преимущества:

A ^ t = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) ⏟ R ^ t ? ? ? шляпа A_t=-V(s_t)+нижняя скобка{r_t+гамма r_{t+1}+cdots+гамма^{T-t+1}r_{T-1}+гамма^{Tt}V(s_T)}_{textcolor{blue}{шляпа R_t???}}А^т=В(ст)+р^т??? рт+γрт+1++γТт+1рТ1+γТтВ(сТ)

Вставьте сюда описание изображения

делать Δt = rt + γ V ( st + 1 ) − V ( st ) Дельта_t =r_t+гамма V(s_{t+1})-V(s_t)Δт=рт+γV(ст+1)В(ст)
но rt = Δ t − γ V ( st + 1 ) + V ( st ) r_t=Delta_t - gamma V(s_{t+1})+V(s_t)рт=ΔтγV(ст+1)+В(ст)

Заменять А ^ т хат А_тА^т выражение

A ^ t = − V ( ст ) + rt + γ rt + 1 + γ 2 rt + 2 + ⋯ + γ T − tr T − 2 + γ T − t + 1 r T − 1 + γ T − t V ( с Т ) = − V ( ст ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( с Т ) = − V ( ст ) + Δ t − γ V ( ст + 1 ) + V ( ст ) + γ ( Δ t + 1 − γ V ( ст + 2 ) + V ( ст + 1 ) ) + γ 2 ( Δ t + 2 − γ V ( ст + 3 ) + V ( ст + 1 ) ) + ⋯ + γ T − t ( Δ T − t − γ V ( с Т − t + 1 ) + V ( с Т − t ) ) + γ T − t + 1 ( Δ T − 1 − γ V ( с Т ) + V ( с Т − 1 ) ) + γ T − t V ( с Т ) = Δ t + γ Δ t + 1 + γ 2 Δ t + 2 + ⋯ + γ T − t Δ T − t + γ T − т + 1 Δ Т − 1ˆАт=В(ст)+рт+γрт+1+γ2рт+2++γТтрТ2+γТт+1рТ1+γТтВ(сТ)=В(ст)+рт+γрт+1++γТт+1рТ1+γТтВ(сТ)=В(ст)+       ΔтγВ(ст+1)+В(ст)+       γ(Δт+1γВ(ст+2)+В(ст+1))+       γ2(Δт+2γВ(ст+3)+В(ст+1))+       +       γТт(ΔТтγВ(сТт+1)+В(сТт))+       γТт+1(ΔТ1γВ(сТ)+В(сТ1))+       γТтВ(сТ)=Δт+γΔт+1+γ2Δт+2++γТтΔТт+γТт+1ΔТ1 А^т=В(ст)+рт+γрт+1+γ2рт+2++γТтрТ2+γТт+1рТ1+γТтВ(сТ)=В(ст)+рт+γрт+1++γТт+1рТ1+γТтВ(сТ)=В(ст)+       ΔтγV(ст+1)+В(ст)+       γ(Δт+1γV(ст+2)+В(ст+1))+       γ2(Δт+2γV(ст+3)+В(ст+1))+       +       γТт(ΔТтγV(сТт+1)+В(сТт))+       γТт+1(ΔТ1γV(сТ)+В(сТ1))+       γТтВ(сТ)=Δт+γΔт+1+γ2Δт+2++γТтΔТт+γТт+1ΔТ1

Вставьте сюда описание изображения

Отсечение действует как регуляризатор, устраняя стимулы для радикальных изменений в политике.гиперпараметры ϵ эпсилонϵ Соответствует расстоянию между новой стратегией и старой стратегией.

Все еще возможно, что такое отсечение в конечном итоге приведет к созданию новой стратегии, далекой от старой. В данной реализации мы используем особенно простой метод:Остановитесь раньше . Если среднее KL-расхождение новой политики от старой политики превышает пороговое значение, мы прекращаем выполнение шага градиента.

Простая ссылка на вывод целевой функции PPO
Целевой функцией ППО-Клип является:
  ~  
L θ k CLIP ( θ ) = E s , a ∼ θ k [ min ⁡ ( π θ ( a ∣ s ) π θ k ( a ∣ s ) A θ k ( s , a ) , clip ( π θ ( a ∣ s ) π θ k ( a ∣ s ) , 1 − ϵ , 1 + ϵ ) A θ k ( s , a ) ) ] L^{rm CLIP}_{theta_k}(theta)=underset{s, asimtheta_k}{rm E}Bigg[minBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}A^{theta_k}(s, a), {rm клип}Большой(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)},1-эпсилон, 1+эпсилонБольшой)A^{theta_k}(s, a)Большой)Большой]ЛθкКЛИП(θ)=с,аθкЭ[мин(πθк(ас)πθ(ас)Аθк(с,а),клип(πθк(ас)πθ(ас),1ϵ,1+ϵ)Аθк(с,а))]
  ~  
$underset{s, asimtheta_k}{rm E}$ E s , a ∼ θ k ~~~underset{s, asimtheta_k}{rm E}   с,аθкЭ
  ~  
Нет. ккк Параметры стратегии для итераций θ к тета_кθк ϵ эпсилонϵ — небольшой гиперпараметр.
настраивать ϵ ∈ ( 0 , 1 ) эпсилонин(0,1)ϵ(0,1), определение
F ( r , A , ϵ ) ≐ min ⁡ ( r A , clip ( r , 1 − ϵ , 1 + ϵ ) A ) F(r,A,epsilon)doteqminBigg(rA,{rm clip}(r,1-epsilon,1+epsilon)ABigg)Ф(р,А,ϵ)мин(рА,клип(р,1ϵ,1+ϵ)А)
когда А ≥ 0 Возрастq0А0
F ( р , А , ϵ ) знак равно мин ⁡ ( р А , клип ( р , 1 - ϵ , 1 + ϵ ) А ) знак равно А мин ⁡ ( р , клип ( р , 1 - ϵ , 1 + ϵ ) ) = А мин ⁡ ( р , { 1 + ϵ р ≥ 1 + ϵ rr ∈ ( 1 - ϵ , 1 + ϵ ) 1 - ϵ р ≤ 1 - ϵ } ) знак равно А { мин ⁡ ( р , 1 + ϵ ) р ≥ 1 + ϵ мин ⁡ ( р , р ) р ∈ ( 1 - ϵ , 1 + ϵ ) мин ⁡ ( р , 1 - ϵ ) р ≤ 1 - ϵ } знак равно А { 1 + ϵ р ≥ 1 + ϵ rr ∈ ( 1 - ϵ, 1 + ϵ) rr ≤ 1 - ϵ } В соответствии с диапазоном справа знак равно А мин ⁡ ( р , 1 + ϵ ) знак равно мин ⁡ ( р А , ( 1 + ϵ ) А )begin{align}F(r,A,epsilon)&=minBigg(rA,{rm clip}(r,1-epsilon,1+epsilon)ABigg)\ &=AminBigg(r,{rm clip}(r,1-epsilon,1+epsilon)Bigg)\ &=AminBigg(r,left{begin{align}&1+epsilon~~&rgeq1+epsilon\ &r &rin(1-epsilon,1+epsilon)\ &1-epsilon &rleq1-epsilon\ end{align}вправо}Бигг)\ &=Aлевый{минвправо}\ &=Aвлево{right}~~~~~textcolor{blue}{согласно диапазону справа}\ &=Amin(r, 1+epsilon)\ &=minBigg(rA, (1+epsilon)ABigg) end{aligned} Ф(р,А,ϵ)=мин(рА,клип(р,1ϵ,1+ϵ)А)=Амин(р,клип(р,1ϵ,1+ϵ))=Амин(р, 1+ϵ  р1ϵр1+ϵр(1ϵ,1+ϵ)р1ϵ )=А мин(р,1+ϵ)  мин(р,р)мин(р,1ϵ)р1+ϵр(1ϵ,1+ϵ)р1ϵ =А 1+ϵ  ррр1+ϵр(1ϵ,1+ϵ)р1ϵ      По диапазону справа=Амин(р,1+ϵ)=мин(рА,(1+ϵ)А)
  ~  
когда А &lt; 0 А&lt;0А<0
F ( р , А , ϵ ) знак равно мин ⁡ ( р А , клип ( р , 1 - ϵ , 1 + ϵ ) А ) знак равно А Макс ⁡ ( р , клип ( р , 1 - ϵ , 1 + ϵ ) ) = А макс ⁡ ( р , { 1 + ϵ р ≥ 1 + ϵ rr ∈ ( 1 - ϵ , 1 + ϵ ) 1 - ϵ р ≤ 1 - ϵ } ) знак равно А { макс ⁡ ( р , 1 + ϵ ) р ≥ 1 + ϵ макс ⁡ ( р , р ) р ∈ ( 1 - ϵ , 1 + ϵ ) макс ⁡ ( р , 1 - ϵ ) р ≤ 1 - ϵ } знак равно А { р р ≥ 1 + ϵ rr ∈ ( 1 - ϵ , 1 + ϵ ) 1 - ϵ r ≤ 1 - ϵ } Согласно диапазону справа знак равно А макс ⁡ ( р , 1 - ϵ ) знак равно мин ⁡ ( р А , ( 1 - ϵ ) А )вправо}Бигг)\ &=Aлевый{вправо}\ &=Aвлево{right}~~~~~textcolor{blue}{согласно диапазону справа}\ &=Amax(r, 1-эпсилон)\ &=textcolor{blue}{min}Bigg(rA,(1-эпсилон) ABigg) конец {выровнено} Ф(р,А,ϵ)=мин(рА,клип(р,1ϵ,1+ϵ)А)=АмаИкс(р,клип(р,1ϵ,1+ϵ))=АМакс(р, 1+ϵ  р1ϵр1+ϵр(1ϵ,1+ϵ)р1ϵ )=А Макс(р,1+ϵ)  Макс(р,р)Макс(р,1ϵ)р1+ϵр(1ϵ,1+ϵ)р1ϵ =А р  р1ϵр1+ϵр(1ϵ,1+ϵ)р1ϵ      По диапазону справа=АМакс(р,1ϵ)=мян(рА,(1ϵ)А)
  ~  
Подводя итог: определимо g ( ϵ , A ) g(эпсилон,A)г(ϵ,А)
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA &lt; 0 g(эпсилон,A)=влево{верно. г(ϵ,А)={(1+ϵ)А    (1ϵ)АА0А<0
Вставьте сюда описание изображения

Почему это определение не позволяет новой стратегии слишком далеко отклониться от старой?
Эффективные методы выборки по важности требуют новых стратегий π θ ( a ∣ s ) пи_тета(a|s)πθ(ас) и старые стратегии π θ k ( a ∣ s ) пи_{тета_k}(a|s)πθк(ас) Разница между двумя распределениями не может быть слишком большой.

1. Когда преимущество положительное

L ( s , a , θ k , θ ) = min ⁡ ( π θ ( a ∣ s ) π θ k ( a ∣ s ) , 1 + ϵ ) A π θ k ( s , a ) L(s,a,theta_k, theta)=minBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}, 1+epsilonBigg)A^{pi_{theta_k}}(s, a)Л(с,а,θк,θ)=мин(πθк(ас)πθ(ас),1+ϵ)Аπθк(с,а)
Функция преимущества: найдите определенную пару состояние-действие с большим количеством наград -&gt; увеличьте вес пары состояние-действие.

Когда пара состояние-действие (с, а) (с, а)(с,а) положительно, то если действие ааа с большей вероятностью будет выполнено, т.е. если π θ ( a ∣ s ) пи_тета(a|s)πθ(ас) Увеличивайте и цель увеличится.
min в этом пункте ограничивает целевую функцию увеличением только до определенного значения
один раз π θ ( a ∣ s ) &gt; ( 1 + ϵ ) π θ k ( a ∣ s ) пи_тета(a|s)&gt;(1+эпсилон)пи_{тета_k}(a|s)πθ(ас)>(1+ϵ)πθк(ас), минимальные триггеры, ограничивающие значение этого элемента до ( 1 + ϵ ) π θ k ( a ∣ s ) (1+эпсилон)пи_{тета_k}(a|s)(1+ϵ)πθк(ас)
новая политика не выигрывает от значительного отхода от старой политики.
Новая стратегия не выиграет от отхода от старой стратегии.

2. Когда преимущество отрицательное

L ( s , a , θ k , θ ) = max ⁡ ( π θ ( a ∣ s ) π θ k ( a ∣ s ) , 1 − ϵ ) A π θ k ( s , a ) L(s,a,theta_k, theta)=maxBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}, 1-epsilonBigg)A^{pi_{theta_k}}(s, a)Л(с,а,θк,θ)=Макс(πθк(ас)πθ(ас),1ϵ)Аπθк(с,а)

Когда пара состояние-действие (с, а) (с, а)(с,а) Преимущество отрицательное, то если действие ааа еще менее вероятно, то есть, если π θ ( a ∣ s ) π_theta(a|s)πθ(ас) уменьшится, целевая функция увеличится. Но максимум в этом термине ограничивает, насколько можно увеличить целевую функцию.
один раз π θ ( a ∣ s ) &lt; ( 1 − ϵ ) π θ k ( a ∣ s ) пи_тета(a|s)&lt;(1-эпсилон)пи_{тета_k}(a|s)πθ(ас)<(1ϵ)πθк(ас), максимальное количество триггеров, ограничивающее значение этого элемента до ( 1 − ϵ ) π θ k ( a ∣ s ) (1-эпсилон)пи_{тета_k}(a|s)(1ϵ)πθк(ас)

Опять же: новая политика не выиграет от отхода далеко от старой политики.
Новая стратегия не выиграет от отхода от старой стратегии.

ТД3_только подряд: Двойной глубокий детерминированный политический градиент с задержкой [ICML 2018 (Канада) Университет Макгилла]

Вставьте сюда описание изображения
Источник изображения

Документация OpenAI_TD3
Бумажная ссылка

Хотя DDPG иногда может достигать превосходной производительности, он часто нестабильен, когда дело касается гиперпараметров и других типов настройки.
Распространенный режим сбоя DDPG заключается в том, что изученная функция Q начинает значительно переоценивать значение Q, что затем приводит к сбою политики, поскольку она использует ошибку в функции Q.
Twin Delayed DDPG (TD3) — это алгоритм, который решает эту проблему, используя три ключевых метода:
1、Усеченное двойное Q-обучение

  • TD3 изучает две функции Q вместо одной (отсюда и «близнец») и использует меньшее из двух значений Q для формирования цели в функции потери ошибок Беллмана.

2、Задержка обновления политики

  • TD3 обновляет политику (и целевую сеть) реже, чем функция Q. В документе рекомендуется обновлять политику каждый раз, когда функция Q обновляется дважды.

3. Сглаживание целевой стратегии.

  • TD3 добавляет шум к целевому действию, усложняя политику использование ошибок в функции Q путем сглаживания Q при изменениях действий.

TD3 — это алгоритм вне политики, его можно использовать только с ним;непрерывныйОкружение пространства действия.

Псевдокод алгоритма TD3

Вставьте сюда описание изображения

Алгоритм: TD3
Используйте случайные параметры θ 1 , θ 2 , ϕ тета_1, тета_2, фиθ1,θ2,ϕ Инициализировать сеть критиков Q θ 1 , Q θ 2 Q_{theta_1},Q_{theta_2}Вθ1,Вθ2и сеть актеров π ϕ пи_фиπϕ
Инициализировать целевую сеть θ 1 ′ ← θ 1 , θ 2 ′ ← θ 2 , ϕ ′ ← ϕ theta_1^primleftarrowtheta_1, theta_2^primleftarrowtheta_2, phi^primleftarrow phiθ1θ1,θ2θ2,ϕϕ
Инициализировать набор буферов воспроизведения Б кал ББ
для t = 1 до T {bf для}~t=1 ~{bf до} ~Tдля т=1 к Т
       ~~~~~~       Выберите действие с шумом исследования a ∼ π ϕ ( s ) + ϵ , ϵ ∼ N ( 0 , σ ) asimpi_phi(s)+epsilon,~~epsilonsim {cal N}(0,sigma)аπϕ(с)+ϵ,  ϵН(0,σ), награда за наблюдение ррр и новый статус s ′ s^простое числос
       ~~~~~~       Кортеж перехода ( s , a , r , s ′ ) (s, a,r, s^простое)(с,а,р,с) внести депозит в Б кал ББ середина
       ~~~~~~       от Б кал ББ Отбор проб небольшими партиями ННН переходы (с, а, р, с ′) (с, а, р, с^штрих)(с,а,р,с)
a ~ ← π ϕ ′ ( s ′ ) + ϵ , ϵ ∼ клип ( N ( 0 , σ ~ ) , − c , c ) ~~~~~~широкая тильда стрелка влево pi_{phi^prime}(s^prime)+epsilon,~~epsilonsim{rm клип}({cal N}(0,широкая тильда сигма),-c,c)      а πϕ(с)+ϵ,  ϵклип(Н(0,σ ),с,с)
y ← r + γ min ⁡ i = 1 , 2 Q θ i ′ ( s ′ , a ~ ) ~~~~~~yleftarrow r+gamma minlimits_{i=1,2}Q_{theta_i^prime}(s^prime,widetilde a)      ур+γя=1,2минВθя(с,а )
       ~~~~~~       Обновление критиков θ i ← arg ⁡ min ⁡ θ i N − 1 ∑ ( y − Q θ i ( s , a ) ) 2 theta_ileftarrowargminlimits_{theta_i}N^{-1}sum(y-Q_{theta_i}(s, a))^2θяаргθяминН1(уВθя(с,а))2
       ~~~~~~        если т % д {бф если}~т~ % ~десли т % г
            ~~~~~~~~~~~            Обновление с помощью градиента детерминированной политики ϕ фиϕ
∇ ϕ J ( ϕ ) = N − 1 ∑ ∇ a Q θ 1 ( s , a ) ∣ a = π ϕ ( s ) ∇ ϕ π ϕ ( s ) ~~~~~~~~~~~~~~~~~~~набла _фи J(phi)=N^{-1}сумма_блаз_Q_{theta_1}(s, a)|_{a=пи_фи(s)}набла_фипи_фи(s)                 ϕДж.(ϕ)=Н1аВθ1(с,а)а=πϕ(с)ϕπϕ(с)
            ~~~~~~~~~~~            Обновить целевую сеть:
θ i ′ ← τ θ i + ( 1 − τ ) θ i ′ ~~~~~~~~~~~~~~~~~~theta_i^primeleftarrowtautheta_i+(1-tau)theta_i^prime~~~~~                 θяτθя+(1τ)θя      τ тауτ: Целевая частота обновления
ϕ ′ ← τ ϕ + ( 1 − τ ) ϕ ′ ~~~~~~~~~~~~~~~~~~~фи^штрихлеваястрелкатауфи+(1-тау)фи^штрих                 ϕτϕ+(1τ)ϕ
конец если ~~~~~~{bf конец ~если}      конец если
конец для {bf конец ~для}конец для

Мягкий актер-критик: SAC_Continious/Discrete Action Space [Google Brain, последняя версия 201906]

Вставьте сюда описание изображения

Источник изображения

Максимизируйте энтропию политики, тем самым делая политику более устойчивой.

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

детерминированная стратегиястратегия случайности
определениеТо же состояние, выполнить то же действиетот же статус,Может выполнять разные действия
преимуществоСтабильный и повторяемыйИзбегайте попадания в локальные оптимальные решения и улучшайте возможности глобального поиска.
недостатокОтсутствие возможности исследования и легкость быть пойманными противниками.Это может привести к медленной сходимости стратегии, что повлияет на эффективность и производительность.

В реальном применении, если позволяют условия, мыПопробуй использоватьстратегия случайности, например A2C, PPO и т. д., потому что он более гибкий, более надежный и более стабильный.

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

——————————————————

—— Документация OpenAI_SAC

OpenAI Documentation_SAC Интерфейсная ссылка
  ~  
Мягкий актер-критик: нестандартное обучение с максимальной энтропией и подкреплением с помощью стохастического актера, Хаарноя и др., 201808 ICML 2018
Мягкие алгоритмы актера-критика и их применение, Хаарноя и др., 201901
Обучение ходьбе с помощью глубокого обучения с подкреплением, Хаарноя и др., 201906 RSS2019

Soft Actor Critic (SAC) оптимизирует случайные стратегии вне политики.

DDPG + оптимизация стохастической стратегии

Не является прямым преемником TD3 (выпущенного примерно в то же время).

Он включает в себя трюк с усеченным двойным Q, и из-за присущей стратегии SAC случайности, он также в конечном итоге выигрывает отсглаживание целевой политики

Основной особенностью SAC является энтропийная регуляризация энтропийная регуляризация
Политика обучена максимизировать компромисс между ожидаемым вознаграждением и энтропией.Энтропия – это мера случайности политики.
Это тесно связано с компромиссом между разведкой и эксплуатацией: увеличение энтропии приводит кЕще больше интересного,хорошоУскорьте последующее обучение .Ничего страшногоПредотвратить преждевременное сближение политики с плохим локальным оптимумом.

Его можно использовать как в пространстве непрерывного действия, так и в пространстве дискретного действия.

существовать Энтропийно-регуляризованное обучение с подкреплением, агент получает иЭнтропия политики на этом временном шагеПропорциональное вознаграждение.
На данный момент проблема RL описывается так:

π ∗ = arg ⁡ max ⁡ π E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ] pi^*=argmaxlimits_pi underset{tausimpi}{rm E}Big[sumlimits_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})textcolor{blue}{+alpha H(pi(·|s_t))}Big)Big]π=аргπМаксτπЭ[т=0γт(р(ст,ат,ст+1)+αЧАС(π(ст)))]

в α &gt; 0 альфа &gt; 0α>0 – коэффициент компромисса.
Функция значения состояния, включая вознаграждение за энтропию на каждом временном шаге V π V^пиВπ для:

V π ( s ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s ] V^pi(s)=underset{tausimpi}{rm E}Big[sumlimits_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})+alpha H(pi(·|s_t))Big)Big|s_0=sBig]Вπ(с)=τπЭ[т=0γт(р(ст,ат,ст+1)+αЧАС(π(ст))) с0=с]

Функция ценности действия, которая включает вознаграждение энтропии за каждый временной шаг, кроме первого. Q π Q^пиВπ:

Q π ( s , a ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α ∑ t = 1 ∞ H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s , a 0 = a ] Q^pi(s,a)=underset{tausimpi}{rm E}Big[sumlimits_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})+alpha sumlimits_{t=1}^infty H(pi(·|s_t))Big)Big|s_0=s,a_0=aBig]Вπ(с,а)=τπЭ[т=0γт(р(ст,ат,ст+1)+αт=1ЧАС(π(ст))) с0=с,а0=а]

  • некоторые документы Q π Q^пиВπ Содержит награду энтропии за первый временной шаг.

V π V^пиВπ и Q π Q^пиВπ Отношения между собой:

V π ( s ) = E a ∼ π [ Q π ( s , a ) ] + α H ( π ( ⋅ ∣ s ) ) V^pi(s)=underset{asimpi}{rm E}[Q^pi(s, a)]+альфа H(pi(·|s))Вπ(с)=аπЭ[Вπ(с,а)]+αЧАС(π(с))

о Q π Q^пиВπ Формула Беллмана:

Qπ(s,a) = Es′∼Pa′∼π[R(s,a,s′) + γ(Qπ(s′,a′) + αH(π(⋅∣s′)))] = Es′∼P[R(s,a,s′) + γVπ(s′)] Вπ(с,а)=аπспЭ[р(с,а,с)+γ(Вπ(с,а)+αЧАС(π(с)))]=спЭ[р(с,а,с)+γВπ(с)]

SAC одновременно изучает политику π θ π_тетаπθ и два ККВ функция Q ϕ 1 , Q ϕ 2 Q_{phi_1}, Q_{phi_2}Вϕ1,Вϕ2
В настоящее время существует два варианта стандартного SAC: один использует фиксированныйКоэффициент энтропийной регуляризации α альфаα, другой путем изменения во время тренировки α альфаα для обеспечения соблюдения энтропийных ограничений.
В документации OpenAI используется версия с фиксированным коэффициентом регуляризации энтропии, но на практике ей часто отдают предпочтение.ограничение энтропиивариант.

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

Вставьте сюда описание изображения
Источник изображения

SAC ПРОТИВTD3:
  ~  
Тот же момент:
1. Обе функции Q изучаются путем минимизации MSBE (среднеквадратичной ошибки Беллмана) путем регрессии к одной общей цели.
2. Используйте целевую Q-сеть для расчета общей цели и выполните усреднение полей по параметрам Q-сети во время процесса обучения, чтобы получить целевую Q-сеть.
3. Общая цель использует метод усеченного двойного Q.
  ~  
разница:
1. SAC содержит член энтропийной регуляризации.
2. Следующее действие состояния, используемое в цели SAC, происходит отТекущая стратегия, а не целевую стратегию.
3. Нет четкой целевой стратегии сглаживания. TD3 тренирует детерминированную политику, переходя к следующему состоянию.Добавить случайный шум добиться гладкости. SAC обучает случайной политике, и шума от случайности достаточно для достижения аналогичных эффектов.

Псевдокод алгоритма SAC

Вставьте сюда описание изображения

Алгоритм: Мягкий актер-критик SAC
входить: θ 1 , θ 2 , ϕ тета_1,тета_2,фи~~~~~θ1,θ2,ϕ      Параметры инициализации
Инициализация параметров:
       ~~~~~~       Инициализируйте веса целевой сети: θ ˉ 1 ← θ 1 , θ ˉ 2 ← θ 2 полоса theta_1leftarrowtheta_1, полоса theta_2leftarrowtheta_2θˉ1θ1,θˉ2θ2
       ~~~~~~       Пул воспроизведения инициализируется как пустой: D ← ∅ {cal D}leftarrowemptysetД
для {бф для}для каждая итерация делать {бф делать}делать
       ~~~~~~        для {бф для}для Каждый шаг среды делать {бф делать}делать
            ~~~~~~~~~~~            Примеры действий из политики: в ∼ π ϕ ( в ∣ st ) a_tsimpi_phi(a_t|s_t)~~~~~атπϕ(атст)      ▢Здесь π ϕ ( в ∣ ст ) пи_фи(a_t|s_t)πϕ(атст) Как определить?
            ~~~~~~~~~~~            Примеры переходов из окружения: ст + 1 ∼ р ( ст + 1 ∣ ст , в ) s_{t+1}сим p(s_{t+1}|s_t,a_t)ст+1п(ст+1ст,ат)
            ~~~~~~~~~~~            Сохраняем переход в пул воспроизведения: D ← D ∪ { ( ст , в , р ( ст , в ) , ст + 1 ) } {cal D}leftarrow{cal D}~чашка~{(s_t,a_t,r(s_t,a_t),s_{t+1})}ДД  {(ст,ат,р(ст,ат),ст+1)}
       ~~~~~~        конец для {bf конец ~для}конец для
       ~~~~~~        для {бф для}для Каждый шаг градиента делать {бф делать}делать
            ~~~~~~~~~~~            возобновлять ККВ Параметры функции: для i ∈ { 1 , 2 } iв{1,2}я{1,2} θ i ← θ i − λ Q ∇ ^ θ i JQ ( θ i ) тета_илефтастрелкатета_i-лямбда_Qхат набла_{тета_i}J_Q(тета_i)~~~~~θяθяλВ^θяДж.В(θя)      ▢Здесь JQ ( θ i ) J_Q(theta_i)Дж.В(θя) Как определить?
            ~~~~~~~~~~~            Обновить веса стратегии: ϕ ← ϕ − λ π ∇ ^ ϕ J π ( ϕ ) phileftarrowphi-lambda_pihat nabla_phi J_pi (phi)~~~~~ϕϕλπ^ϕДж.π(ϕ)      ▢Здесь J π ( ϕ ) J_пи (фи)Дж.π(ϕ) Как определить?
            ~~~~~~~~~~~            Отрегулируйте температуру: α ← α − λ ∇ ^ α J ( α ) альфалеваястрелкаальфа-лямбдахатабла_альфа J(альфа)~~~~~ααλ^αДж.(α)      ▢Здесь J ( α ) J(альфа)Дж.(α) Как определить?Как понять температуру здесь?
            ~~~~~~~~~~~             Обновить целевые веса сети: для i ∈ { 1 , 2 } iв{1,2}я{1,2} θ ˉ i ← τ θ i − ( 1 − τ ) θ ˉ i бар тета_левый_угол_стрелка тау тета_i-(1-тау)бар тета_i~~~~~θˉяτθя(1τ)θˉя      ▢ Как это понять τ тауτ ? ——&gt;Целевой коэффициент сглаживания
       ~~~~~~        конец для {bf конец ~для}конец для
конец для {bf конец ~для}конец для
Выход: θ 1 , θ 1 , ϕ тета_1,тета_1,фи~~~~~θ1,θ1,ϕ     Оптимизированные параметры

∇ ^ хэт набла^: стохастический градиент

$emptyset$ ∅ ~~~~пустойнабор    

Вставьте сюда описание изображения

Вставьте сюда описание изображения

Обучение ходьбе с помощью глубокого обучения с подкреплением Версия в:
  ~  
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения

α α α — температурный параметр, который определяет относительную важность энтропийного члена и вознаграждения, тем самым контролируя случайность оптимальной стратегии.
α альфаα Большой: Исследуйте
α альфаα Маленький: эксплуатировать

J ( α ) = E при ∼ π t [ − α log ⁡ π t ( при ∣ st ) − α H ˉ ] J(альфа)=underset{a_tsimpi_t}{mathbb E}[-альфаlog pi_t(a_t|s_t)-альфаbar{cal H}]Дж.(α)=атπтЭ[αвотгπт(атст)αЧАСˉ]