私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- easy-rl PDF版ノート構成 P5、P10~P12
- Joyrl比較補足 P11-P13
- OpenAI ドキュメントの整理 ⭐ https://spinningup.openai.com/en/latest/index.html
最新版PDFダウンロード
アドレス: https://github.com/datawhalecina/easy-rl/releases
国内の住所 (国内の読者に推奨):
リンク: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw 抽出コード: us6a
easy-rlオンライン版リンク(コードのコピー用)
参考リンク2:https://datawhalecina.github.io/joyrl-book/
他の:
[正誤記録リンク]
——————
5. 深層強化学習の基礎 ⭐️
オープンソース コンテンツ: https://linklearner.com/learn/summary/11
——————————
同一の戦略: 学習されるエージェントと環境と対話するエージェントは同じです。
異種戦略: 学習するエージェントと環境と対話するエージェントは異なります。
ポリシーの勾配: データのサンプリングに多くの時間が必要
同じ戦略 ⟹ 重要度のサンプリング ~~~overset{重要度のサンプリング}{Longrightarrow}~~~ ⟹重要度のサンプリング さまざまな戦略
PPO: あまりに異なる 2 つの分布は避けてください。 同じ戦略アルゴリズム
1.独自の最適化項目 J ( θ , θ ′ ) J(シータ,シータ^プライム)J(θ,θ′)
2. 制約項目: θ シータθ そして θ ′ シータ^プライムθ′ 出力アクションの KL 発散 ( θ シータθ そして θ ′ シータ^プライムθ′ 似ているほど良い)
PPO の前身は、信頼領域ポリシー最適化 (TRPO) です。
TRPOはKL発散制約を追加制約として扱い、目的関数に入れていないため扱いが難しく、計算が困難です。したがって、通常は TRPO ではなく PPO を使用します。 PPO と TRPO のパフォーマンスは似ていますが、PPO は TRPO よりも実装がはるかに簡単です。
KLダイバージェンス:作用距離。アクションを実行する確率分布 距離。
PPO アルゴリズムには、近接ポリシー最適化ペナルティ (PPO ペナルティ) と近接ポリシー最適化クリッピング (PPO クリップ) という 2 つの主なバリエーションがあります。
——————————
P10 報酬が少ない問題
1. 報酬をデザインする。 ドメインの知識が必要
関連する各アクションに最終的な報酬を割り当てるのはどうでしょうか?
2. 好奇心
本質的好奇心モジュール (ICM)
入力: 、 st a_t、s_tで1つのt,st
出力: s ^ t + 1 ハット s_{t+1}s^t+1
ネットワークの予測値 s ^ t + 1 ハット s_{t+1}s^t+1 真の価値を持って st + 1 s_{t+1}st+1 似ていないほど、 rti r_t^irt私 大きな方
rti r_t^irt私 : 将来の状態を予測するのが困難であればあるほど、そのアクションに対する報酬は大きくなります。冒険と探検を奨励します。
特徴抽出器
ネットワーク 2:
入力: ベクトル ϕ ( st ) {bm ファイ}(s_{t})ϕ(st) そして ϕ ( st + 1 ) {bm ファイ}(s_{t+1})ϕ(st+1)
アクションを予測する a ^ 帽子 a1つの^ 実際のアクションに近いほど良いです。
3. コース学習
簡単→難しい
逆カリキュラム学習:
最後の最も理想的な状態 [これをゴールド状態と呼びます] から始めて、次の状態に進みます。黄金状態に最も近い状態を見つけるエージェントに到達してもらいたい、段階的な「理想的な」状態として。もちろん、このプロセスでは、いくつかの極端な状態、つまり簡単すぎる状態や難しすぎる状態を意図的に削除します。
4. 階層型強化学習 (HRL)
エージェントの戦略は、高レベルの戦略と低レベルの戦略に分かれており、高レベルの戦略は、現在の状態に基づいて低レベルの戦略を実行する方法を決定します。
————————
P11 模倣学習
ご褒美シーンがよくわからない
模倣学習 (IL)
デモンストレーションから学ぶ
見習い学習
見て学ぶ
明確な報酬があります: ボードゲーム、ビデオゲーム
明確な報酬を与えることができない: チャットボット
専門家のデモンストレーションを収集: 人間の運転記録、人間の会話
逆に、専門家はどのような報酬関数でこれらの行動をとるのでしょうか?
逆強化学習というのは、まず報酬関数を求めます、報酬関数を見つけた後、強化学習を使用して最適なアクターを見つけます。
三人称模倣学習技術
————————
P12 深い決定論的政策勾配 (DDPG)
エクスペリエンスリプレイ戦略を使用する
アブレーション実験[変数制御法]解析あらゆる制約戦闘の結果に影響を与えます。
ジョワール:
必要としている確実戦略と継続的なアクション宇宙を前提とすると、このタイプのアルゴリズムは比較的安定したベースライン アルゴリズムになります。
継続的なアクション スペースの DQN
深い決定論的ポリシー勾配アルゴリズム (DDPG)
エクスペリエンス再生メカニズムにより、サンプル間の相関関係が低減され、サンプルの効果的な利用が向上し、トレーニングの安定性が向上します。
欠点:
1. 離散的な動作空間では使用できません
2、ハイパーパラメータに大きく依存する
3. 非常に敏感な初期条件。 アルゴリズムの収束とパフォーマンスに影響を与える
4. 局所最適に陥りやすい。
ソフト アップデートの利点は、よりスムーズで遅いため、急激すぎるウェイト アップデートによって引き起こされるショックを回避し、トレーニングの発散のリスクを軽減できることです。
二重遅延決定論的ポリシー勾配アルゴリズム
3 つの改善点: Double Q ネットワーク、遅延アップデート、ノイズ正則化
ダブルキューネットワーク : 2 つの Q ネットワーク。Q 値が小さい方を選択します。 Q値の過大評価問題に対処し、アルゴリズムの安定性と収束性を向上させます。
更新の遅延: アクターの更新頻度を批評家の更新頻度よりも低くします。
ノイズはもっと似ています正則化そのような方法で値関数の更新もっとスムーズ
OpenAIジムライブラリ_振り子_TD3
TD3 に関する OpenAI ドキュメント インターフェイスのリンク
強化学習で最もよく使用される PPO アルゴリズム
離散 + 連続
高速かつ安定しており、パラメータの調整が簡単
ベースラインアルゴリズム
PPO未定
実際には、クリップ制約がより単純で計算コストが低く、より良い結果が得られるため、一般に使用されます。
オフポリシーアルゴリズムでは、歴史的な経験を活かすために、通常はエクスペリエンスのリプレイを使用して、以前のエクスペリエンスを保存して再利用します。データ活用効率が高い。
PPO はポリシーに基づくアルゴリズムです
——————————————————
PPO: オンポリシー アルゴリズム。離散または連続アクション スペースに適しています。可能な局所最適値
PPO の動機は TRPO と同じです: 既存のデータを活用する方法戦略において可能な限り最大の改善ステップを踏み出すあまり変更せずに、誤ってパフォーマンスクラッシュを引き起こしていませんか?
TRPO は洗練された 2 次アプローチでこの問題を解決しようとしますが、PPO は他のトリックを使用して新しい戦略を古い戦略に近づける 1 次アプローチです。
PPO メソッドは実装がはるかに簡単で、経験的には少なくとも TRPO と同等のパフォーマンスを発揮します。
PPO には、PPO-ペナルティと PPO-クリップという 2 つの主なバリエーションがあります。
アルゴリズム: PPO クリップ
1: 入力: 初期戦略パラメータ θ 0 シータ_0θ0、初期値関数パラメータ ϕ 0 ファイ_0ϕ0
2: k = 0、1、2、…の場合、{bf for} ~ k=0、1、2、dots~ {bf do}のために け=0,1,2,… する:
3: ~~~~~~ 環境内でポリシーを実行することによって π k = π ( θ k ) pi_k=pi(theta_k)πけ=π(θけ) 軌道セットを収集する D k = { τ i } {cal D}_k={tau_i}だけ={τ私}
4: ~~~~~~ 報酬を計算する (今後の報酬) R ^ t は R_t~~~~~R^t ▢ R ^ t は R_tR^t 計算ルール
5: ~~~~~~ 現在値関数に基づいて利点の推定値を計算する V ϕ k V_{phi_k}五ϕけ の A ^ t は A_tあ^t (任意の優勢推定方法を使用します) ~~~~~ ▢ 現在の利点の推定方法は何ですか?
6: ~~~~~~ PPO-Clip 目的関数を最大化してポリシーを更新します。
~~~~~~~~~~~
θ k + 1 = arg max θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T min ( π θ ( at ∣ st ) π θ k ( at ∣ st ) A π θ k ( st 、 at ) 、 g ( ϵ 、 A π θ k ( st 、 at ) ) ) ~~~~~~~~~~~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)}{pi_{theta_k}(a_t|s_t)}A^{pi_{theta_k}}(s_t,a_t),g(epsilon,A^{pi_{theta_k}}(s_t,a_t))大きい) θけ+1=arグθ最大∣だけ∣T1τ∈だけ∑t=0∑T分(πθけ(1つのt∣st)πθ(1つのt∣st)あπθけ(st,1つのt),グ(ϵ,あπθけ(st,1つのt))) ~~~~~ ▢ 戦略更新式はどのように決定するか?
~~~~~~~~~~~
~~~~~~~~~~~ π θ 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=arグϕ分∣だけ∣T1τ∈だけ∑t=0∑T(五ϕ(st)−R^t)2
~~~~~~~~~~~
~~~~~~~~~~~ 一般的な勾配降下法
8: bf終了〜終了終わり のために
~~~~~~~~~~~~
$dots$
… ~~~ドット …
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA < 0 g(epsilon,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)+underbrace{r_t+gamma r_{t+1}+cdots+gamma^{T-t+1}r_{T-1}+gamma^{Tt}V(s_T)}_{textcolor{blue}{帽子 R_t???}}あ^t=−五(st)+R^t??? rt+γrt+1+⋯+γT−t+1rT−1+γT−t五(sT)
作る Δ t = rt + γ V ( st + 1 ) − V ( st ) Delta_t =r_t+gamma V(s_{t+1})-V(s_t)Δt=rt+γV(st+1)−五(st)
しかし rt = Δ t − γ V ( st + 1 ) + V ( st ) r_t=Delta_t - gamma V(s_{t+1})+V(s_t)rt=Δt−γV(st+1)+五(st)
代わりの A ^ t は A_tあ^t 表現
A ^ t = − V ( st ) + rt + γ rt + 1 + γ 2 rt + 2 + ⋯ + γ T − tr T − 2 + γ T − t + 1 r T − 1 + γ T − t V ( s T ) = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) = − V ( st ) + Δ t − γ V ( st + 1 ) + V ( st ) + γ ( Δ t + 1 − γ V ( st + 2 ) + V ( st + 1 ) ) + γ 2 ( Δ t + 2 − γ V ( st + 3 ) + V ( st + 1 ) ) + ⋯ + γ T − t ( Δ T − t − γ V ( s T − t + 1 ) + V ( s T − t ) ) + γ T − t + 1 ( Δ T − 1 − γ V ( s T ) + V ( s T − 1 ) ) + γ T − t V ( s T ) = Δ t + γ Δ t + 1 + γ 2 Δ t + 2 + ⋯ + γ T − t Δ T − t + γ T − t + 1 Δ T − 1ˆあt=−五(st)+rt+γrt+1+γ2rt+2+⋯+γT−trT−2+γT−t+1rT−1+γT−t五(sT)=−五(st)+rt+γrt+1+⋯+γT−t+1rT−1+γT−t五(sT)=−五(st)+ Δt−γ五(st+1)+五(st)+ γ(Δt+1−γ五(st+2)+五(st+1))+ γ2(Δt+2−γ五(st+3)+五(st+1))+ ⋯+ γT−t(ΔT−t−γ五(sT−t+1)+五(sT−t))+ γT−t+1(ΔT−1−γ五(sT)+五(sT−1))+ γT−t五(sT)=Δt+γΔt+1+γ2Δt+2+⋯+γT−tΔT−t+γT−t+1ΔT−1 あ^t=−五(st)+rt+γrt+1+γ2rt+2+⋯+γT−trT−2+γT−t+1rT−1+γT−t五(sT)=−五(st)+rt+γrt+1+⋯+γT−t+1rT−1+γT−t五(sT)=−五(st)+ Δt−γV(st+1)+五(st)+ γ(Δt+1−γV(st+2)+五(st+1))+ γ2(Δt+2−γV(st+3)+五(st+1))+ ⋯+ γT−t(ΔT−t−γV(sT−t+1)+五(sT−t))+ γT−t+1(ΔT−1−γV(sT)+五(sT−1))+ γT−t五(sT)=Δt+γΔt+1+γ2Δt+2+⋯+γT−tΔT−t+γT−t+1ΔT−1
クリッピングは、政策の大幅な変更に対するインセンティブを除去することで、規則化の役割を果たします。ハイパーパラメータ ϵ イプシロンϵ 新しい戦略と古い戦略の間の距離に対応します。
この種のクリッピングにより、最終的には古い戦略とはかけ離れた新しい戦略が生成される可能性は依然としてありますが、ここでの実装では特に単純な方法を使用します。早めにやめてください 。新しいポリシーと古いポリシーの平均 KL 乖離がしきい値を超える場合、勾配ステップの実行を停止します。
PPO 目的関数の単純な導出リンク
PPO-Clip の目的関数は次のとおりです。
~
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クリップ}Big(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)},1-epsilon, 1+epsilonBig)A^{theta_k}(s, a)Bigg)Bigg]らθけクリップ(θ)=s,1つの∼θけえ[分(πθけ(1つの∣s)πθ(1つの∣s)あθけ(s,1つの),クリップ(πθけ(1つの∣s)πθ(1つの∣s),1−ϵ,1+ϵ)あθけ(s,1つの))]
~
$underset{s, asimtheta_k}{rm E}$
E s , a ∼ θ k ~~~アンダーセット{s, asimtheta_k}{rm E} s,1つの∼θけえ
~
いいえ。 えーっけ 反復の戦略パラメータ θ k シータkθけ, ϵ イプシロンϵ 小さなハイパーパラメータです。
設定 ϵ ∈ ( 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)ふ(r,あ,ϵ)≐分(rあ,クリップ(r,1−ϵ,1+ϵ)あ)
いつ A ≥ 0 年齢q0あ≥0
F ( r , A , ϵ ) = min ( r A , クリップ ( r , 1 − ϵ , 1 + ϵ ) A ) = A min ( r , クリップ ( r , 1 − ϵ , 1 + ϵ ) ) = A min ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = A { min ( r , 1 + ϵ ) r ≥ 1 + ϵ min ( r , r ) r ∈ ( 1 − ϵ , 1 + ϵ ) min ( r , 1 − ϵ ) r ≤ 1 − ϵ } = A { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) rr ≤ 1 − ϵ } 右辺の範囲より = A min ( r , 1 + ϵ ) = min ( r A , ( 1 + ϵ ) A )begin{aligned}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{aligned}&1+epsilon~~&rgeq1+epsilon\ &r &rin(1-epsilon,1+epsilon)\ &1-epsilon &rleq1-epsilon\ end{aligned}right}Bigg)\ &=Aleft{分右}\ &=A左{right}~~~~~textcolor{blue}{右側の範囲による}\ &=Amin(r, 1+epsilon)\ &=minBigg(rA, (1+epsilon)ABigg) end{aligned} ふ(r,あ,ϵ)=分(rあ,クリップ(r,1−ϵ,1+ϵ)あ)=あ分(r,クリップ(r,1−ϵ,1+ϵ))=あ分(r,⎩ ⎨ ⎧1+ϵ r1−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫)=あ⎩ ⎨ ⎧分(r,1+ϵ) 分(r,r)分(r,1−ϵ)r≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫=あ⎩ ⎨ ⎧1+ϵ rrr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫ 右の範囲に応じて=あ分(r,1+ϵ)=分(rあ,(1+ϵ)あ)
~
いつ A < 0 A<0あ<0
F ( r , A , ϵ ) = min ( r A , クリップ ( r , 1 − ϵ , 1 + ϵ ) A ) = A max ( r , クリップ ( r , 1 − ϵ , 1 + ϵ ) ) = A max ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = A { max ( r , 1 + ϵ ) r ≥ 1 + ϵ max ( r , r ) r ∈ ( 1 − ϵ , 1 + ϵ ) max ( r , 1 − ϵ ) r ≤ 1 − ϵ } = A { r r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } 右辺の範囲に従って = A max ( r , 1 − ϵ ) = min ( r A , ( 1 − ϵ ) A )right}Bigg)\ &=Aleft{右}\ &=A左{right}~~~~~textcolor{blue}{右側の範囲による}\ &=Amax(r, 1-epsilon)\ &=textcolor{blue}{min}Bigg(rA,(1-epsilon) ABigg) 終わり{整列} ふ(r,あ,ϵ)=分(rあ,クリップ(r,1−ϵ,1+ϵ)あ)=あメートル1つのバツ(r,クリップ(r,1−ϵ,1+ϵ))=あ最大(r,⎩ ⎨ ⎧1+ϵ r1−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫)=あ⎩ ⎨ ⎧最大(r,1+ϵ) 最大(r,r)最大(r,1−ϵ)r≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫=あ⎩ ⎨ ⎧r r1−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫ 右の範囲に応じて=あ最大(r,1−ϵ)=メートル私ん(rあ,(1−ϵ)あ)
~
要約すると: 定義可能 g ( ϵ , A ) g(イプシロン,A)グ(ϵ,あ)
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA < 0 g(epsilon,A)=左{右。 グ(ϵ,あ)={(1+ϵ)あ (1−ϵ)ああ≥0あ<0
この定義により、新しい戦略が古い戦略から大きく逸脱することが防止されるのはなぜですか?
効果的な重要度のサンプリングには新しい戦略が必要 π θ ( a ∣ s ) π_theta(a|s) についてπθ(1つの∣s) そして古い戦略 π θ k ( a ∣ s ) pi_{theta_k}(a|s)πθけ(1つの∣s) 2 つの分布の差が大きすぎることはできません
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)ら(s,1つの,θけ,θ)=分(πθけ(1つの∣s)πθ(1つの∣s),1+ϵ)あπθけ(s,1つの)
利点関数: より多くの報酬を持つ特定の状態-アクションのペアを見つけます -> 状態-アクションのペアの重みを増加します。
状態とアクションのペアが ( s 、 a ) (s 、 a)(s,1つの) が肯定的な場合、アクションが ああ1つの 実行される可能性が高くなります。つまり、 π θ ( a ∣ s ) π_theta(a|s) についてπθ(1つの∣s) 増やせば目標も上がります。
この項目の min は、目的関数を特定の値までのみ増加するように制限します。
一度 π θ ( a ∣ s ) > ( 1 + ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)>(1+epsilon)pi_{theta_k}(a|s)πθ(1つの∣s)>(1+ϵ)πθけ(1つの∣s)、最小トリガー数、この項目の値を次のように制限します ( 1 + ϵ ) π θ k ( a ∣ s ) (1+イプシロン)pi_{theta_k}(a|s)(1+ϵ)πθけ(1つの∣s)。
新しいポリシーは、古いポリシーから大きく離れることで利益を得ることはありません。
新しい戦略は、古い戦略から離れても利益を得られません。
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)ら(s,1つの,θけ,θ)=最大(πθけ(1つの∣s)πθ(1つの∣s),1−ϵ)あπθけ(s,1つの)
状態とアクションのペアが ( s 、 a ) (s 、 a)(s,1つの) 利点がマイナスの場合、アクションが ああ1つの 可能性はさらに低い、つまり、 π θ ( a ∣ s ) π_theta(a|s)πθ(1つの∣s) 減少すると、目的関数は増加します。ただし、この項の最大値により、目的関数をどれだけ増加できるかが制限されます。
一度 π θ ( a ∣ s ) < ( 1 − ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)<(1-epsilon)pi_{theta_k}(a|s)πθ(1つの∣s)<(1−ϵ)πθけ(1つの∣s)、最大トリガー数、この項目の値を次のように制限します ( 1 − ϵ ) π θ k ( a ∣ s ) (1-イプシロン)pi_{theta_k}(a|s)(1−ϵ)πθけ(1つの∣s)。
繰り返しますが、新しいポリシーは、古いポリシーから大きく離れることによって利益を得るわけではありません。
新しい戦略は、古い戦略から離れても利益を得られません。
DDPG は優れたパフォーマンスを実現できる場合もありますが、ハイパーパラメーターやその他の種類のチューニングとなると不安定になることがよくあります。
一般的な DDPG 障害モードは、学習された Q 関数が Q 値を大幅に過大評価し始め、Q 関数のエラーを悪用するためにポリシーが壊れるというものです。
Twin Delayed DDPG (TD3) は、次の 3 つの主要な技術を導入することでこの問題を解決するアルゴリズムです。
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^primeleftarrowtheta_1、 theta_2^primeleftarrowtheta_2、 phi^primeleftarrow phiθ1′←θ1,θ2′←θ2,ϕ′←ϕ
再生バッファセットを初期化する BカロリーBB
t = 1 から T まで {bf について}~t=1 ~{bf から} ~T までのために t=1 に T :
~~~~~~ 探索ノイズのあるアクションを選択 a ∼ π ϕ ( s ) + ϵ , ϵ ∼ N ( 0 , σ ) asimpi_phi(s)+epsilon,~~epsilonsim {cal N}(0,sigma)1つの∼πϕ(s)+ϵ, ϵ∼いいえ(0,σ)、観察報酬 rrr そして新たなステータス s ′ s^プライムs′
~~~~~~ 遷移タプル ( s 、 a 、 r 、 s ′ ) (s、 a、 r、 s^プライム)(s,1つの,r,s′) に預ける BカロリーBB 真ん中
~~~~~~ から BカロリーBB 小さなバッチのサンプリング NNいいえ トランジション ( s 、 a 、 r 、 s ′ ) (s、 a、 r、 s^プライム)(s,1つの,r,s′)
a ~ ← π ϕ ′ ( s ′ ) + ϵ , ϵ ∼ clip ( N ( 0 , σ ~ ) , − c , c ) ~~~~~~widetilde aleftarrow pi_{phi^prime}(s^prime)+epsilon,~~epsilonsim{rm clip}({cal N}(0,widetilde sigma),-c,c) 1つの ←πϕ′(s′)+ϵ, ϵ∼クリップ(いいえ(0,σ ),−c,c)
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) ええ←r+γ私=1,2分質問θ私′(s′,1つの )
~~~~~~ 更新批評家 θ 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θ私←arグθ私分いいえ−1∑(ええ−質問θ私(s,1つの))2
~~~~~~ もし t % d {bf もし}~t~ % ~dもし t % d:
~~~~~~~~~~~ 決定論的なポリシー勾配による更新 ϕ ファイϕ
∇ ϕ J ( ϕ ) = N − 1 ∑ ∇ a Q θ 1 ( s 、 a ) ∣ a = π ϕ ( s ) ∇ ϕ π ϕ ( s ) ~~~~~~~~~~~~~~~~~nabla _phi J(phi)=N^{-1}合計nabla_aQ_{theta_1}(s、 a)|_{a=pi_phi(s)}nabla_phipi_phi(s) ∇ϕJ(ϕ)=いいえ−1∑∇1つの質問θ1(s,1つの)∣1つの=πϕ(s)∇ϕπϕ(s)
~~~~~~~~~~~ ターゲット ネットワークを更新します。
θ i ′ ← τ θ i + ( 1 − τ ) θ i ′ ~~~~~~~~~~~~~~~~~~theta_i^primeleftarrowtautheta_i+(1-tau)theta_i^prime~~~~~ θ私′←τθ私+(1−τ)θ私′ τ タウτ: 目標更新速度
ϕ ′ ← τ ϕ + ( 1 − τ ) ϕ ′ ~~~~~~~~~~~~~~~~~~~phi^primeleftarrowtauphi+(1-tau)phi^prime ϕ′←τϕ+(1−τ)ϕ′
終了if ~~~~~~{bf 終了 ~if} 終わり もし
終了 {bf 終了 ~for}終わり のために
ポリシーのエントロピーを最大化して、ポリシーをより堅牢にします。
決定的な戦略 同じ状態であれば、常に同じアクションを選択することを意味します
ランダム性戦略 これは、特定の状態で選択できるアクションが多数あることを意味します。
決定的な戦略 | ランダム性戦略 | |
---|---|---|
意味 | 同じ状態、同じ動作を実行 | 同じステータス、さまざまなアクションを実行する可能性があります |
アドバンテージ | 安定性と再現性 | 局所的な最適解に陥ることを回避し、グローバルな検索機能を向上させます。 |
欠点がある | 探索力に欠け、敵に捕まりやすい | これにより、戦略の収束が遅くなり、効率とパフォーマンスに影響を与える可能性があります。 |
実際の適用では、条件が許せば、使ってみてくださいランダム性戦略、A2C、PPO など、より柔軟で、より堅牢で、より安定しているためです。
最大エントロピー強化学習では、現在成熟したランダム性戦略、つまり AC などのアルゴリズムがあるにもかかわらず、最適なランダム性はまだ達成されていないと考えています。したがって、それは、情報エントロピーコンセプト、で政策のエントロピーを最大化しながら累積報酬を最大化する、戦略をより堅牢にし、最適なランダム性戦略を実現します。
——————————————————
OpenAI ドキュメント_SAC インターフェイス リンク
~
ソフトアクタークリティック: 確率的アクターによるオフポリシー最大エントロピー深層強化学習、Haarnoja et al、201808 ICML 2018
ソフトアクタークリティックアルゴリズムとアプリケーション、ハーノジャら、201901
深層強化学習による歩行学習、Haarnoja et al、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]π∗=arグπ最大τ∼πえ[t=0∑∞γt(R(st,1つのt,st+1)+αH(π(⋅∣st)))]
で α > 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]五π(s)=τ∼πえ[t=0∑∞γt(R(st,1つのt,st+1)+αH(π(⋅∣st))) s0=s]
最初のタイム ステップを除くすべてのタイム ステップのエントロピー報酬を含むアクション値関数 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]質問π(s,1つの)=τ∼πえ[t=0∑∞γt(R(st,1つのt,st+1)+αt=1∑∞H(π(⋅∣st))) s0=s,1つの0=1つの]
VπV^π五π そして QπQ^π (円周率)質問π 間の関係は次のとおりです。
V π ( s ) = E a ∼ π [ Q π ( s , a ) ] + α H ( π ( ⋅ ∣ s ) ) V^pi(s)=underset{asimpi}{rm E}[Q^pi(s, a)]+alpha H(pi(·|s))五π(s)=1つの∼πえ[質問π(s,1つの)]+αH(π(⋅∣s))
について QπQ^π (円周率)質問π ベルマン式は次のとおりです。
Q π ( s , a ) = E s ′ ∼ P a ′ ∼ π [ R ( s , a , s ′ ) + γ ( Q π ( s ′ , a ′ ) + α H ( π ( ⋅ ∣ s ′ ) ) ) ] = E s ′ ∼ P [ R ( s , a , s ′ ) + γ V π ( s ′ ) ] 質問π(s,1つの)=1つの′∼πs′∼ポえ[R(s,1つの,s′)+γ(質問π(s′,1つの′)+αH(π(⋅∣s′)))]=s′∼ポえ[R(s,1つの,s′)+γ五π(s′)]
SAC はポリシーを同時に学習します π θ π_シータπθ そして2つ QQ質問 関数 Q ϕ 1 、Q ϕ 2 Q_{phi_1}、Q_{phi_2}質問ϕ1,質問ϕ2。
現在、標準 SAC には 2 つのバリアントがあります。1 つは固定の SAC を使用します。エントロピー正則化係数 α アルファα、トレーニング中に変更することでもう1つ α アルファα エントロピー制約を強制します。
OpenAI のドキュメントでは、エントロピー正則化係数が固定されたバージョンが使用されていますが、実際にはそれが好まれることがよくあります。エントロピー制約変異体。
以下に示すように、 α アルファα 修正版では、明らかな利点がある最後の画像を除いて、他の画像にはわずかな利点しかなく、基本的には同じです。 α アルファα 学習バージョンは同じままです。 α アルファα 中央の 2 つの図では、学習バージョンに利点があることがより明らかです。
SAC
VSTD3
:
~
同じ点:
1. 両方の Q 関数は、単一の共有目標への回帰によって MSBE (平均二乗ベルマン誤差) を最小化することによって学習されます。
2. ターゲット Q ネットワークを使用して共有ターゲットを計算し、トレーニング プロセス中に Q ネットワーク パラメータに対してポリアック平均を実行して、ターゲット Q ネットワークを取得します。
3. 共有ターゲットは、切り詰められたダブル Q 手法を使用します。
~
違い:
1. SAC にはエントロピー正則化項が含まれています
2. SAC 目標で使用される次の状態アクションは次のものから来ます。現在の戦略、ターゲット戦略ではなく。
3. スムージングには明確な目標戦略がありません。 TD3 は、次の状態に向けたアクションを通じて決定論的なポリシーをトレーニングしますランダムノイズを追加する滑らかさを実現するために。 SAC はランダム ポリシーをトレーニングします。ランダム性によるノイズは同様の効果を達成するのに十分です。
アルゴリズム: ソフト アクター - 批評家 SAC
入力: θ 1 、 θ 2 、 ϕ theta_1、theta_2、phi~~~~~θ1,θ2,ϕ 初期化パラメータ
パラメータの初期化:
~~~~~~ ターゲット ネットワークの重みを初期化します。 θ ˉ 1 ← θ 1 、 θ ˉ 2 ← θ 2 バー theta_1leftarrowtheta_1、 バー theta_2leftarrowtheta_2θˉ1←θ1,θˉ2←θ2
~~~~~~ 再生プールは空になるように初期化されます。 D ← ∅ {cal D}左矢印空セットだ←∅
{bf のため}のために 各反復 する {bf する}する :
~~~~~~ {bf のため}のために 環境の各ステップ する {bf する}する :
~~~~~~~~~~~ ポリシーからのアクションの例: において ∼ π ϕ ( において ∣ st ) a_tsimpi_phi(a_t|s_t)~~~~~1つのt∼πϕ(1つのt∣st) ▢こちら π ϕ ( ∣ st ) pi_phi(a_t|s_t) についてπϕ(1つのt∣st) 定義方法は?
~~~~~~~~~~~ 環境からの遷移の例: st + 1 ∼ p ( st + 1 ∣ st 、 at ) s_{t+1} の p(s_{t+1}|s_t、a_t) が成り立つst+1∼p(st+1∣st,1つのt)
~~~~~~~~~~~ トランジションを再生プールに保存します。 D ← D ∪ { ( st 、 at 、 r ( st 、 at ) 、 st + 1 ) } {cal D}leftarrow{cal D}~cup~{(s_t、a_t、r(s_t、a_t),s_{t+1})}だ←だ ∪ {(st,1つのt,r(st,1つのt),st+1)}
~~~~~~ 終了 {bf 終了 ~for}終わり のために
~~~~~~ {bf のため}のために 各グラデーションステップ する {bf する}する :
~~~~~~~~~~~ 更新する QQ質問 関数パラメータ: の i ∈ { 1 , 2 } iin{1,2}私∈{1,2}, θ i ← θ i − λ Q ∇ ^ θ i JQ ( θ i ) theta_ileftarrowtheta_i-lambda_Qhat nabla_{theta_i}J_Q(theta_i)~~~~~θ私←θ私−λ質問∇^θ私J質問(θ私) ▢こちら JQ ( θ i ) J_Q(theta_i)J質問(θ私) 定義方法は?
~~~~~~~~~~~ 戦略の重みを更新します。 ϕ ← ϕ − λ π ∇ ^ ϕ J π ( ϕ ) phileftarrowphi-lambda_pihat nabla_phi J_pi (phi)~~~~~ϕ←ϕ−λπ∇^ϕJπ(ϕ) ▢こちら J π ( ϕ ) J_pi (ファイ)Jπ(ϕ) 定義方法は?
~~~~~~~~~~~ 温度を調整します: α ← α − λ ∇ ^ α J ( α ) alphaleftarrowalpha-lambdahatnabla_alpha J(alpha)~~~~~α←α−λ∇^αJ(α) ▢こちら J ( α ) J(アルファ)J(α) 定義方法は?ここの温度をどのように理解すればよいでしょうか?
~~~~~~~~~~~ ターゲット ネットワークの重みを更新します: i ∈ { 1 , 2 } iin{1,2}私∈{1,2}, θ ˉ i ← τ θ i − ( 1 − τ ) θ ˉ i バー theta_ileftarrow tau theta_i-(1-tau)バー theta_i~~~~~θˉ私←τθ私−(1−τ)θˉ私 ▢ これをどう理解するか τ タウτ ? ——>目標平滑化係数
~~~~~~ 終了 {bf 終了 ~for}終わり のために
終了 {bf 終了 ~for}終わり のために
出力: θ 1 、 θ 1 、 ϕ theta_1、theta_1、phi~~~~~θ1,θ1,ϕ 最適化されたパラメータ
∇ ^ ハットナブラ∇^: 確率的勾配
$emptyset$
∅ ~~~~空集合 ∅
深層強化学習による歩行学習 バージョン:
~
α
α
α は温度パラメータであり、エントロピー項と報酬の相対的な重要性を決定し、それによって最適な戦略のランダム性を制御します。
α アルファα 大: 探索する
α アルファα 小: エクスプロイト
J ( α ) = E at ∼ π t [ − α log π t ( at ∣ st ) − α H ˉ ] J(alpha)=underset{a_tsimpi_t}{mathbb E}[-alphalog pi_t(a_t|s_t)-alphabar{cal H}]J(α)=1つのt∼πtえ[−α見よグπt(1つのt∣st)−αHˉ]