моя контактная информация
Почтамезофия@protonmail.com
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.
——————————
Идентичная стратегия: агент, подлежащий обучению, и агент, взаимодействующий с окружающей средой, одинаковы.
Гетерогенные стратегии: агент, который обучается, и агент, взаимодействующий с окружающей средой, различны.
Градиент политики: требуется много времени для выборки данных.
та же стратегия ⟹ Выборка по важности ~~~overset{Выборка по важности}{Longrightarrow}~~~ ⟹выборка по важности разные стратегии
PPO: избегайте двух дистрибутивов, которые слишком сильно различаются. тот же алгоритм стратегии
1. Оригинальные элементы оптимизации J ( θ , θ ′ ) J(тета,тета^штрих)Дж.(θ,θ′)
2. Элементы ограничений: θ тетаθ и θ ′ тета^штрихθ′ Расхождение КЛ выходного воздействия ( θ тетаθ и θ ′ тета^штрихθ′ Чем больше похоже, тем лучше)
У PPO есть предшественник: оптимизация политики доверительного региона (TRPO).
С TRPO сложно справиться, поскольку оно рассматривает ограничение дивергенции KL как дополнительное ограничение и не помещается в целевую функцию, поэтому его трудно вычислить. Поэтому мы обычно используем PPO вместо TRPO. Производительность PPO и TRPO аналогична, но PPO гораздо проще реализовать, чем TRPO.
Дивергенция КЛ: расстояние действия.Распределение вероятностей совершения действия расстояние.
Существует два основных варианта алгоритма PPO: штраф за оптимизацию проксимальной политики (PPO-штраф) и отсечение оптимизации проксимальной политики (PPO-clip).
——————————
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. Легко попасть в локальный оптимум.
Преимущество мягкого обновления заключается в том, что оно происходит более плавно и медленно, что позволяет избежать потрясений, вызванных слишком быстрым обновлением веса, и снизить риск расхождения в тренировках.
Алгоритм детерминированного политического градиента с двойной задержкой
Три улучшения: сеть Double Q, отложенное обновление, регуляризация шума.
Двойная сеть Q : Две сети Q, выберите ту, у которой значение Q меньше. Решить проблему завышения значения Q и улучшить стабильность и сходимость алгоритма.
Отложенное обновление: пусть частота обновления актеров будет ниже, чем частота обновления критиков.
Шум больше похож наРегуляризациятаким образом, чтообновление функции значенияболеегладкий
Библиотека OpenAI Gym_Pendulum_TD3
Ссылка на интерфейс документа OpenAI о TD3
Ссылка на документ TD3 в формате PDF
Наиболее часто используемый алгоритм PPO в обучении с подкреплением.
Дискретный + непрерывный
Быстрый и стабильный, легко настраивать параметры
базовый алгоритм
Не определился с PPO
На практике обычно используются ограничения отсечения, поскольку они проще, требуют меньших вычислительных затрат и дают лучшие результаты.
Алгоритм вне политики можетиспользовать исторический опыт, обычно используйте воспроизведение опыта для хранения и повторного использования предыдущего опыта,Эффективность использования данных высокая。
PPO — это алгоритм, соответствующий политике.
——————————————————
Документация OpenAI
Ссылка на интерфейс Paper arXiv: Алгоритмы оптимизации проксимальной политики
PPO: алгоритм, основанный на политике, подходящий для дискретных или непрерывных пространств действий.Возможный локальный оптимум
Мотивация для PPO такая же, как и для TRPO: как использовать существующие данные.Сделайте максимально возможный шаг к улучшению своей стратегии., не меняя его слишком сильно и случайно не вызывая сбоя производительности?
TRPO пытается решить эту проблему с помощью сложного подхода второго порядка, в то время как PPO представляет собой подход первого порядка, который использует некоторые другие приемы, чтобы сохранить новую стратегию близкой к старой.
Метод PPO гораздо проще реализовать и, как показывает опыт, работает по крайней мере так же хорошо, как TRPO.
Существует две основные разновидности PPO: PPO-Penalty и 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 < 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+ϵ)А)
~
когда А < 0 А<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 < 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+ϵ)Аπθк(с,а)
Функция преимущества: найдите определенную пару состояние-действие с большим количеством наград -> увеличьте вес пары состояние-действие.
Когда пара состояние-действие (с, а) (с, а)(с,а) положительно, то если действие ааа с большей вероятностью будет выполнено, т.е. если π θ ( a ∣ s ) пи_тета(a|s)πθ(а∣с) Увеличивайте и цель увеличится.
min в этом пункте ограничивает целевую функцию увеличением только до определенного значения
один раз π θ ( a ∣ s ) > ( 1 + ϵ ) π θ k ( a ∣ s ) пи_тета(a|s)>(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 ) < ( 1 − ϵ ) π θ k ( a ∣ s ) пи_тета(a|s)<(1-эпсилон)пи_{тета_k}(a|s)πθ(а∣с)<(1−ϵ)πθк(а∣с), максимальное количество триггеров, ограничивающее значение этого элемента до ( 1 − ϵ ) π θ k ( a ∣ s ) (1-эпсилон)пи_{тета_k}(a|s)(1−ϵ)πθк(а∣с)。
Опять же: новая политика не выиграет от отхода далеко от старой политики.
Новая стратегия не выиграет от отхода от старой стратегии.
Хотя DDPG иногда может достигать превосходной производительности, он часто нестабильен, когда дело касается гиперпараметров и других типов настройки.
Распространенный режим сбоя DDPG заключается в том, что изученная функция Q начинает значительно переоценивать значение Q, что затем приводит к сбою политики, поскольку она использует ошибку в функции Q.
Twin Delayed DDPG (TD3) — это алгоритм, который решает эту проблему, используя три ключевых метода:
1、Усеченное двойное Q-обучение。
2、Задержка обновления политики。
3. Сглаживание целевой стратегии.
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 конец ~для}конец для
Максимизируйте энтропию политики, тем самым делая политику более устойчивой.
детерминированная стратегия Это означает, что в одном и том же состоянии всегда выбирают одно и то же действие.
стратегия случайности Это означает, что существует множество возможных действий, которые можно выбрать в данном состоянии.
детерминированная стратегия | стратегия случайности | |
---|---|---|
определение | То же состояние, выполнить то же действие | тот же статус,Может выполнять разные действия |
преимущество | Стабильный и повторяемый | Избегайте попадания в локальные оптимальные решения и улучшайте возможности глобального поиска. |
недостаток | Отсутствие возможности исследования и легкость быть пойманными противниками. | Это может привести к медленной сходимости стратегии, что повлияет на эффективность и производительность. |
В реальном применении, если позволяют условия, мыПопробуй использоватьстратегия случайности, например A2C, PPO и т. д., потому что он более гибкий, более надежный и более стабильный.
Обучение с подкреплением с максимальной энтропией предполагает, что, хотя в настоящее время у нас есть зрелые стратегии случайности, а именно такие алгоритмы, как AC, мы все еще не достигли оптимальной случайности.Поэтому он вводитинформационная энтропияконцепция, вМаксимизируйте совокупное вознаграждение, одновременно максимизируя энтропию политики., что делает стратегию более надежной и обеспечивает оптимальную стратегию случайности.
——————————————————
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)+αЧАС(π(⋅∣ст)))]
в α > 0 альфа > 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=а]
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
входить: θ 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−τ)θˉя ▢ Как это понять τ тауτ ? ——>Целевой коэффициент сглаживания
~~~~~~ конец для {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}]Дж.(α)=ат∼πтЭ[−αвотгπт(ат∣ст)−αЧАСˉ]