深度强化学习(DRL)简介与常见算法(DQN,DDPG,PPO,TRPO,SAC)分类

简单介绍深度强化学习的基本概念,常见算法、流程及其分类(持续更新中),方便大家更好的理解、应用强化学习算法,更好地解决各自领域面临的前沿问题。欢迎大家留言讨论,共同进步。

(PS:如果仅关注算法实现,可直接阅读第3和4部分内容。)

1. 强化学习

Reinforcement Learning (RL):强化学习
强化学习属于机器学习的一种,不同于监督学习和无监督学习,通过智能体与环境的不断交互(即采取动作),进而获得奖励,从而不断优化自身动作策略,以期待最大化其长期收益(奖励之和)。强化学习特别适合序贯决策问题(涉及一系列有序的决策问题)。

在实际应用中,针对某些任务,我们往往无法给每个数据或者状态贴上准确的标签,但是能够知道或评估当前情况或数据是好还是坏,可以采用强化学习来处理。例如,下围棋(Go),星际争霸II(Starcraft II),等游戏。

1.1 强化学习的定义

Agent interacts with its surroundings known as the environment. Agent will get a reward from the environemnt once it takes an action in the current enrivonment. Meanwhile, the environment evolves to the next state. The goal of the agent is to maximize its total reward (the Return) in the long run.

智能体与环境的不断交互(即在给定状态采取动作),进而获得奖励,此时环境从一个状态转移到下一个状态。智能体通过不断优化自身动作策略,以期待最大化其长期回报或收益(奖励之和)。

エージェントと環境間の相互作用の概略図

1.2 强化学习的相关概念

(1)状態 状態 (S): エージェントによる環境の観察。
(2)アクションアクション(A):エージェントが環境と対話するアプローチ。
(3)奖励報酬 ( R t R_tR): エージェントが環境内で指定されたタイム ステップttでアクションを実行したときに得られるボーナスt .
Return (Return) は、エージェントが獲得した報酬の合計です。
(4) 遷移確率 遷移確率 ( P ): 環境がある状態から別の状態に進化する遷移の可能性. 環境のある状態から別の状態への遷移は、決定論的な遷移プロセスである可能性があります。たとえば、 S t + 1 =
f( S t , A t ) S_{t+1} = f(S_t, A_t)St + 1=f ( S)のように、S t + 1 〜 p ( S t + 1 ∣ S t , A t ) S_{t+1} \sim p\left( S_{t+1}| などのランダム転送プロセスにすることもできますS_t、A_t \right)St + 1p( St + 1S
(5) 割引率 割引率 (γ \gammaγ ): 現在の状態でのエージェントに対する将来の報酬の重要性を測定する
(6) 軌跡は一連の状態、アクション、報酬であり、次のように表すことができます:
τ = ( S 0 , A 0 , R 0 , S 1 , A 1 , R 1 , . . . ) \tau = \left( S_0, A_0, R_0, S_1, A_1, R_1, ... \right)t=( S00R0S11R1... )

軌道τ \tauを使用しますτ は、エージェントが環境とどのように対話するかを記録します。軌道の初期状態は、開始状態の分布からランダムにサンプリングされます。トラックはエピソード (エピソード) またはラウンドと呼ばれることもあり、初期状態 (ゲームの開始などの初期状態) から最終状態 (ゲームの死や勝利などの終了状態) までのシーケンスです。 )。
(7) Exploration-Exploitation Tradeoff (Exploration-Exploitation Tradeoff)
ここで、探索とは、エージェントが環境と対話することによってより多くの情報を取得することを意味し、利用とは、現在知られている情報を使用してエージェントを最適に実行させることを意味します。たとえば、貪欲戦略。同時に、2 つのうち 1 つしか選択できません。したがって、長期的な利益を最大化するために探索と利用のバランスをどのように取るかは、強化学習において非常に重要な問題です。

したがって、(S、A、P、R、γ \gamma)を使用できます。γ ) 強化学習プロセスを説明します。

1.3 強化学習のための数学的モデリング

(1) マルコフ過程 (MP) は、マルコフ特性を持つ離散ランダム過程です。

マルコフ プロパティは次の状態S t + 1 S_{t+1}を参照します。St + 1現在の状態S t S_tにのみ依存しますS

p ( S t + 1 ∣ S t ) = p ( S t + 1 ∣ S 0 , S 1 , S 2 , … , S t ) p\left(S_{t+1}|S_t\right) = p\ left(S_{t+1}|S_0,S_1,S_2,\ldots,S_t\right)p( St + 1S=p( St + 1S0S1S2S

有限状態集合S \mathcal{S}が使用可能Sと状態遷移行列P \mathbf{P}P はMP プロセスが< S , P > <\mathcal{S}, \mathbf{P}> である<P>

(2) マルコフ報酬プロセス(マルコフ報酬プロセス、MRP)

環境のフィードバック報酬をエージェントに記述できるようにするために、マルコフ報酬プロセスは上記の MP を< S , P > <\mathcal{S}, \mathbf{P}>から変更します。<P> < S , P , R , γ > <\mathcal{S}, \mathbf{P}, R, \gamma> に展開<P R c>ここで、RRR は報酬関数を表し、γ \gammaγ は報酬割引係数を表します。

R t = R ( S t ) R_t = R(S_t)R=R ( S

リターン (Return) は、軌道上のエージェントの累積報酬です。割引収益は次のように定義されます。

G t = 0 : T = R ( τ ) = ∑ t = 0 T γ t R t G_{t=0:T}=R(\tau)=\sum\limits_{t=0}^{T}\ガンマ^tR_tGt = 0 : T=R ( τ )=t = 0TctR _

値関数V ( s ) V(s)V ( s )は状態ssのエージェントです期待収益 (期待収益)。
V π ( s ) = E [ R ( τ ) ∣ S 0 = s ] V^{\pi}(s) = \mathbb E [R(\tau)|S_0 = s]Vπ ()=E [ R ( τ ) S0=] _

(3) マルコフ決定プロセス (Markov Decision Process、MDP)
MDP は、経済学、サイバネティクス、キュー理論、ロボット工学、ネットワーク分析などの多くの分野で広く使用されています。
マルコフ決定プロセスに対する即時報酬 (報酬、RR)R ) は状態とアクションに関連します。MDP を使用できます< S , A , P , R , γ > <\mathcal{S},\mathcal{A}, \mathbf{P}, R, \gamma><P R c>特徴づける。
\数学{A}A は限定された行動の集合を表し、このときの即時報酬は
R t = R ( S t , A t ) R_t = R(S_t, A_t)となります。R=R ( S

ポリシー (Policy) は、エージェントが環境観察に基づいてアクションを実行する方法を記述するために使用されます。ポリシーは状態s ∈ S s \in \mathcal{S}からのものですsS和动作 a ∈ A a \in \mathcal{A} あるアクションの確率分布π ( a ∣ s ) \pi(a|s)π(as)的映射, π ( a ∣ s ) \pi(a|s) π ( a s )は状態sss、アクションを実行しますaaπ ( a ∣ s ) = p ( A t = a ∣ S t = s ) , ∃ t \pi(a|s) = p(A_t = a |S_t = s), \exists t
π ( a s )=p ( A=a S=s ) ∃t _

期待リターン (期待リターン) は、特定の戦略の下で可能なすべての軌跡の期待リターン値を指し、次のように表すことができます。
J ( π ) = ∫ τ p ( τ ∣ π ) R ( τ ) = E τ 〜 π [ R ( τ ) ] J(\pi) = \int_{\tau}p(\tau|\pi)R(\tau) = \mathbb{E}_{\tau \sim \pi} [R(\tau )]J ( p )=tp ( τ π ) R ( τ )=Eτ π[ R ( τ )]

ここで、p ( τ ∣ π ) p(\tau|\pi)p ( τ π )は、与えられた初期状態分布ρ 0 \rho_0r0そして戦略π \piπ 、マルコフ決定プロセスのTTTステップτ \tauτの発生確率は次のとおりです。

p ( τ ∣ π ) = ρ 0 ( s 0 ) ∏ t = 0 T − 1 p ( S t + 1 ∣ S t , A t ) π ( A t ∣ S t ) ] p(\tau|\pi) = \rho_0(s_0) \prod\limits_{t=0}^{T-1}p(S_{t+1}|S_t, A_t)\pi(A_t|S_t)]p ( τ π )=r0( s0t = 0T 1p ( St + 1S) p ( AS)]

強化学習の最適化問題は、期待される報酬を最大化するための最適化手法によってポリシーを改善します。最適なポリシーπ ∗ \pi^*円周率∗ は次のように表すことができます

π ∗ = arg ⁡ max ⁡ π J ( π ) \pi^* = \arg \max\limits_{\pi} J(\pi)円周率=arg _円周率マックスJ ( p )

与えられた戦略π \piπ、値関数V ( s ) V(s)V ( s )、特定の状態での期待収益は次のように表すことができます。

V π ( s ) = E τ 〜 π [ R ( τ ) ∣ S 0 = s ] = EA t 〜 π ( ⋅ ∣ S t ) [ ∑ t = 0 ∞ γ t R ( S t , A t ) ∣ S 0 = s ] V^{\pi}(s) = \mathbb{E}_{\tau \sim \pi} [R(\tau)|S_0 = s] = \mathbb{E}_{A_t \sim \pi(\cdot | S_t)} \left[ \sum\limits_{t=0}^{\infty} \gamma^tR(S_t, A_t)|S_0 = s \right]Vπ ()=Eτ π[ R ( τ ) S0=] _=Eπ ( S)[t = 0ct R(S) S0=] _

MDP では、アクションが与えられると、状態とアクションの期待される戻り値に基づくアクション値関数 (アクション値関数) が存在します。次のように定義されます。

Q π ( s , a ) = E τ 〜 π [ R ( τ ) ∣ S 0 = s , A 0 = a ] = EA t 〜 π ( ⋅ ∣ S t ) [ ∑ t = 0 ∞ γ t R ( S t , A t ) ∣ S 0 = s , A 0 = a ] Q^{\pi}(s, a) = \mathbb{E}_{\tau \sim \pi} [R(\tau)|S_0 = s, A_0 = a] = \mathbb{E}_{A_t \sim \pi(\cdot | S_t)} \left[ \sum\limits_{t=0}^{\infty} \gamma^tR(S_t , A_t)|S_0 = s, A_0 = a \right]Qπ (s,_=Eτ π[ R ( τ ) S0=_0=] _=Eπ ( S)[t = 0ct R(S) S0=_0=] _

上記の定義によれば、次のようになります。
V π ( s ) = E a 〜 π [ Q π ( s , a ) ] V^{\pi}(s) = \mathbb{E}_{a \sim \ pi} [ Q^{\pi}(s, a)]Vπ ()=Ea〜π _ _[ Qπ (s,) ]

2. 深層強化学習

深層学習 + 強化学習 = 深層強化学習 (DRL)
深層学習 DL は強力な抽象化および表現機能を備えており、特に RL での値関数のモデリングに適しています。例: action value function Q π ( s , a ) Q^\pi \left (s、\right)Q円周率( s a )
この 2 つを組み合わせることで、RL の適用範囲が大幅に広がります。

3. 一般的な深層強化学習アルゴリズム

深層強化学習には多くのアルゴリズムがあり、一般的なアルゴリズムは、DQN、DDPG、PPO、TRPO、A3C、SAC などです。
(各アルゴリズムの簡単な処理は後ほど補足します)

3.1 ディープ Q ネットワーク(DQN)

DQN ネットワークは、Q ラーニングと深層学習を組み合わせたもので、ニューラル ネットワークなどの非線形関数近似器を使用してアクション値関数 Q ( s , a ) Q(s,a )を表す問題を解決する 2 つの新しい手法を導入しています。Q ( s ,a )結果として生じる不安定性の問題:
テクニック1 ◯ {\textcircled{\small{1}}}\normalsize1 : エクスペリエンス リプレイ バッファー (Replay Buffer): エージェントが取得したエクスペリエンスをキャッシュに保存し、Q-Learning 更新用にキャッシュから小規模なバッチ サンプルを一律に採用 (または優先順位に基づくサンプリングを考慮) するテクノロジー 2 ◯
{\ textcircled{\small{2}}}\normalsize2 : ターゲット ネットワーク: Q ラーニング ターゲットを生成するために必要な Q ネットワークを置き換える独立したネットワークを導入し、ニューラル ネットワークの安定性をさらに向上させます。

ここで、テクニック1 ◯ {\textcircled{\small{1}}}\normalsize1サンプルの使用効率を向上させ、サンプル間の相関を減らし、学習プロセスをスムーズにすることができます。テクノロジー2 ◯ {\textcircled{\small{2}}}\normalsize2目標値が最新パラメータの影響を受けず、乖離やショックがかなり少ない可能性があります。

Atari のさまざまなゲームでテストしたところ、DQN アルゴリズムは優れたパフォーマンスを示しました。

DQN アルゴリズムの具体的な説明は次のとおりです。

1.ハイパーパラメータ: 再生キャッシュ容量BBB、報酬割引係数γ \gammaγ、ターゲット ネットワーク更新遅延ステップ サイズCCC ;
2.入力: 再生バッファB \mathcal{B}B、行動価値関数ネットワークQ ( s , a ∣ θ Q ) Q(s,a|\theta^Q) をQ ( s ,a θQ )、ターゲット ネットワークQ ' ( s , a ∣ θ Q ' ) Q^{\prime} (s,a|\theta^{ { Q}^\prime})Q' (s,a θQ' )$;
3.\qquadターゲットネットワークパラメータを初期化しますQ ' Q^\primeQ' :θ Q ' ← θ Q \theta^{Q^\prime} \leftarrow \theta^{Q}QQ
4.エピソード = 1 , ⋯ , M エピソード = 1, \cdots, Mエピソデ_ _ _ _ _=1 M は 5を行います\qquad
環境を初期化します;
6. \qquad初期状態はS 0 S_0S0
7. \qquadt = 1 , ⋯ , Tの場合 t = 1,\cdots, Tt=1 8.\qquad\qquadを実行します
確率ϵ \epsilonϵランダムなアクションを選択しますA t A_t; それ以外の場合は、アクションを選択しますA t = arg ⁡ max ⁡ a Q ( S t , a ∣ θ Q ) A_t = \arg \max\limits_{a} Q\left(S_t, a|\theta^Q \right)=arg _あるマックスQ( Sa θQ )
9.\qquad\qquadアクションA t A_tを実行報酬を得るR t R_tR、次の状態S t + 1 S_{t+1}を観察します。St + 1
10. \qquad\qquad状態遷移サンプルを保存( S t , A t , R t , S t + 1 ) \left(S_t, A_t, R_t, S_{t+1}\right)( SRSt + 1)からB \mathcal{B}B
11.\qquad\qquadキャッシュB から \mathcal{B}Bのランダム サンプリングNNN个状態态转移( S i , A i , R i , S i + 1 ) \left(S_i, A_i, R_i, S_{i+1}\right)( S私は私はR私はS+ 1)
12.\qquad\qquad設定Y i = R i + γ max ⁡ a Q ' ( S i + 1 , a ∣ θ Q ' ) Y_i = R_i + \gamma \max\limits_{a}Q^{\prime}\left({S_{ i+1}, a| \theta^{Q^{\prime}} }\right)Y私は=R私は+cあるマックスQ( S+ 1a θQ' )
13.\qquad\qquad損失関数( s , a ∣ θ Q ) Q(s,a|\theta^Q) を最小化してネットワーク Q を更新します。Q ( s ,a θQ )
14.\qquad\qquad L = 1 N ∑ i ( Y i − Q ( S i , A i ∣ θ Q ) ) 2 L = \frac{1}{N}\sum_i \left( Y_i - Q(S_i, A_i|\theta^Q) ) \右)^2L=N1私は( Y私はQ ( S私は私はθ質問2
15.\qquad\qquadCCあたりステップC、ターゲット ネットワークQ ' ( s , a ∣ θ Q ' ) Q^{\prime} (s,a|\theta^{ { Q}^\prime})Q' (s,a θQ' )同期するには:
16.\qquad\qquad θ Q ' ← θ Q \theta^{Q^\prime} \left arrow \theta^{Q}QQ
17.\qquad
18で終了。


: ここではランダムなアクションの選択確率ϵ \epsilonϵ は通常、反復エピソードとタイム ステップの増加に伴って徐々に減少します。その目的は、ランダム戦略の影響を軽減し、エージェントのアクション選択に対する Q ネットワークの影響を徐々に改善することです。

14 行目は単純な方程式です:
θ Q ← θ Q + β ∑ i ∈ N ∂ Q ( s , a ∣ θ Q ) ∂ θ Q [ yi − Q ( s , a ∣ θ Q ) ] . \theta ^ Q \leftarrow \theta^Q + \beta\sum\limits_{i\in \mathcal{N}}\frac{\partial Q(s,a|\theta^Q)}{\partial \theta^Q} [ y_i-Q(s,a|\theta^Q)]QQ+bi N∂θ _QQ ( s ,a θ質問[ y私はQ ( s ,a θQ )]
その中で、集合N \mathcal{N}NのミニバッチのNNN( S t , A t , R t , S t + 1 ) \left(S_t, A_t, R_t, S_{t+1}\right)( SRSt + 1)体験サンプルセット、β \betaβ は、 1 つの勾配反復における反復ステップ サイズを表します。

参考文献:
[1] V. Mnih et al.、「深層強化学習による人間レベルの制御」、Nature、vol. 2 518、いいえ。7540、101-1ページ 529–533、2 月 2015年。

3.2 深い決定論的政策勾配(DDPG)

DDPG アルゴリズムは、Deterministic Policy Gradient (DPG) アルゴリズムと、連続アクション空間における前述のディープ Q ネットワーク (DQN) の拡張であるディープ ニューラル ネットワークの組み合わせとみなすことができます。

DDPGはQ値機能(Critic)と戦略機能(Actor)を同時に確立します。ここで、Critic は DQN と同じで TD 法を使用して更新されますが、Actor は Critic の推定値を使用して戦略勾配法を使用して更新されます。

DDPG アルゴリズムは具体的には次のように説明されます。

1.ハイパーパラメータ: ソフト更新係数ρ \rhoρ、報酬割引係数γ \gammaγ ;
​​ 2.入力: 再生バッファB \mathcal{B}B、クリティカル ネットワークQ ( s , a ∣ θ Q ) Q(s,a|\theta^Q) をQ ( s ,a θQ )アクター関数( s ∣ θ π ) \pi(s|\theta^{\pi})π ( s θπ )
3__ターゲットネットワークQ ' Q^\primeQπ」\pi^\素数円周率 4.
\qquadターゲットネットワークパラメータを初期化しますQ ' Q^\primeQπ」 \pi^\prime円周率'
5.\qquad θ Q ' ← θ Q \theta^{Q^\prime} \left arrow \theta^{Q}QQ ,θ π '' ← θ π \theta^{\pi^\prime} \leftarrow \theta^{\pi}円周率π
6.エピソード = 1 , ⋯ , M エピソード = 1, \cdots, Mエピソデ_ _ _ _ _=1 M は 7を行います\qquad
ランダムプロセスN \mathcal{N}を初期化しますN、アクションに探索を追加するために使用されます。
8.\qquad初期状態はS1S_1ですS1
9. \qquadt = 1 , ⋯ , Tの場合 t = 1,\cdots, Tt=1 10を実行します。\qquad\qquad
A t = π ( S t ∣ θ π ) + N t A_t = \pi(S_t|\theta^\pi) + \mathcal{N}_t とします=π ( Sθp )+N
11. \qquad\qquadアクションA t A_tを実行報酬を得るR t R_tR、次の状態S t + 1 S_{t+1}を観察します。St + 1
12. \qquad\qquad状態遷移サンプルを保存( S t , A t , R t , S t + 1 ) \left(S_t, A_t, R_t, S_{t+1}\right)( SRSt + 1)からB \mathcal{B}B
13.\qquad\qquadキャッシュB から \mathcal{B}Bのランダム サンプリングNNN个状態态转移( S i , A i , R i , S i + 1 ) \left(S_i, A_i, R_i, S_{i+1}\right)( S私は私はR私はS+ 1
14.\qquad\qquad設定Y i = R i + γ Q ' ( S i + 1 , π ' ( S i + 1 ∣ θ π ' ) ∣ θ Q ' ) Y_i = R_i + \gamma Q^{\prime}\left({S_ {i+1}, \pi^{\prime}(S_{i+1}|\theta^{\pi^{\prime}}) | \theta^{Q^{\prime}} }\right)Y私は=R私は+γQ _( S+ 1円周率( S _+ 1θ円周率' )θQ' )
15.\qquad\qquad損失関数を最小化して Critic ネットワークを更新します。
16. \qquad\qquadL = 1 N ∑ i ( Y i − Q ( S i , A i ∣ θ Q ) ) 2 L = \frac{1}{N}\sum_i \left( Y_i - Q(S_i, A_i|\theta^Q) ) \右)^2L=N1私は( Y私はQ ( S私は私はθ質問2
13.\qquad\qquadポリシー勾配をサンプリングしてアクター ネットワークを更新します。
14. \qquad\qquad ∇ θ π J ≈ 1 N ∑ i ∇ a Q ( s , a ∣ θ Q ) ∣ s = S i , a = π ( S i ) ∇ θ π π ( s ∣ θ π ) ∣ S i \nabla_{\ theta^\pi}J \about \frac{1}{N}\sum_i{\nabla_aQ(s, a|\theta^Q)|_{s=S_i, a = \pi(S_i)}\nabla_{\シータ^{\pi}} \pi(s|{\theta^{\pi}})|_{S_i}}pJN1私はQ ( s ,a θQ )s = S私はa = π ( S私は)pπ ( s θ)_S私は
15. \qquad\qquadターゲット ネットワークを更新します:
16. \qquad\qquad θ Q ' ← ρ θ Q + ( 1 − ρ ) θ Q ' \theta^{Q^\prime} \leftarrow \rho\theta^{Q} + (1-\rho)\theta^{Q^{\プライム}}Q_Q+( 1r ) iQ17. \
\qquad θ π '' ← ρ θ π + ( 1 − ρ ) θ π '' \theta^{\pi^\prime} \leftarrow \rho\theta^{\pi} + (1- \rho)\theta^{\pi ^{\プライム}}円周率_円周率+( 1r ) i円周率
18.\qquad
19終了。

元の論文では、追加されたノイズ項N \mathcal{N}としてオーンシュタイン・ウーレンベック過程 (OU 過程) が使用されました。N、時間非相関ゼロ平均ガウス ノイズも使用できます (関連する実践では、その効果も非常に優れていることが示されています)。

参考文献:
[1] Lillicrap, Timothy P., et al. “Continuous control with deep reinforcement learning”,arXiv preprint, 2015, online: https://arxiv.org/pdf/1509.02971.pdf

3.3 近接ポリシーの最適化(PPO)

PPO アルゴリズムは、信頼領域ポリシー最適化 (TRPO) を改良したもので、よりシンプルで効果的な方法を使用してポリシー π θ \pi _{\ theta}を適用します。円周率θ ' \pi_{\theta}^{\prime }円周率たとえば
、TRPO の電圧範囲は
max ⁡ π θ ' L π θ ( π θ ' ) s です。t E s 〜 ρ π θ [ DKL ( π θ ∣ ∣ π θ ' ) ] ≤ δ \max\limits_{\pi_{\theta}^{\prime}} \mathcal{L}_{\pi_{\theta} }\left(\pi_{\theta}^{\prime}\right)\\st\mathbb{E}_{s\sim \rho_{\pi_{\theta}}}\left[D_{KL}\ left ( \pi_{\theta}||\pi_{\theta}^{\prime}\right)\right] \le \delta円周率マックスL円周率( ps Es ρ円周率[ DKL _( p∣∣ π) ]δ
と PPO アルゴリズムは、上記の問題の通常バージョンを直接最適化します。つまり、次のようになります。

max ⁡ π θ ′ L π θ ( π θ ′ ) − λ E s 〜 ρ π θ [ DKL ( π θ ∣ ∣ π θ ′ ) ] \max\limits_{\pi_{\theta}^{\prime}} ; \mathcal{L}_{\pi_{\theta}}\left(\pi_{\theta}^{\prime}\right) - \lambda\mathbb{E}_{s \sim \rho_{\pi_ { \theta}}}\left[D_{KL}\left(\pi_{\theta}||\pi_{\theta}^{\prime}\right)\right]円周率マックスL円周率( pλE _s ρ円周率[ DKL _( p∣∣ π) ]

ここで、λ \lambdaλは正則化係数で、TRPO 最適化問題の各δ \deltaδには、対応するλ \lambdaがあります。λなので、上記の 2 つの最適化問題は同じ解になります。ただし、λ \lambdaλの値はπ θ \pi_\thetaに依存します円周率したがって、PPO では、動的に調整可能なλ \lambdaを使用する必要があります。ラムダ具体的には、次の 2 つの方法があります。
KL 発散値を確認してλ \lambdaλが増加するか減少するかに関係なく、このバージョンの PPO アルゴリズムは PPO-ペナルティと呼ばれます;
(2) ポリシー勾配に使用される目的関数を直接切り捨てて、より保守的な更新を取得するこの方法は、PPO-クリップと呼ばれます。

PPO-Clip アルゴリズムの具体的な説明は次のとおりです。

1.ハイパーパラメータ: 切り捨て係数ϵ \epsilonϵ、部分反復の数M 、BM、BMさんB ;
2.入力: 初期化戦略パラメータθ \thetaθ、初期値パラメータϕ \phiϕ
3.for k = 1 , ⋯ k= 1, \cdotsk=1 4.\qquadを実行します
環境内でポリシーπ θ k \pi_{\theta_k}を適用します円周率、そして軌道セットD k = { τ i } \mathcal{D}_k = \left\{\tau_i\right\} を保存します。D={ v私は}
5.\qquadG ^ t \hat{G}_tが受け取る報酬を計算しますG^
6. \qquad現在値関数V ϕ k V_{\phi_k}に基づくVϕ、アドバンテージ関数A ^ t \hat{A}_tを計算します。^(オッズを推定する任意の方法を使用);
7. \qquadm = 1 , ⋯ , Mの場合 m= 1,\cdots, Mメートル=1 M は 8を実行します。\qquad\qquad
ℓ t ( θ ′ ) = π θ ( A t ∣ S t ) π θ old ( A t ∣ S t ) \ell_t(\theta^{\prime})=\frac{\pi_{\theta}(A_t| S_t)}{\pi_{\theta_{old}}(A_t|S_t)}(私は _=円周率古い_ _( AS円周率( AS)
9. \qquad\qquadAdam の確率的勾配上昇アルゴリズムを使用して PPO-Clip の目的関数を最大化し、戦略を更新します。
10. \qquad\qquad θ k + 1 = arg ⁡ max ⁡ θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T f ( θ ′ ) \theta_{k+1} = \arg \max\limits_{\theta}{ ; \frac{1}{|\mathcal{D}_k|T}}\sum\limits_{\tau \in \mathcal{D}_k}\sum\limits_{t=0}^{T}f(\シータ ^{\プライム})k + 1=arg _マックス∣D _T1τ Dt = 0Tf (' )
11.\qquad
12で終了。\qquadb = 1 , ⋯ , Bの場合 b = 1, \cdots, Bb=1 B は 13 を実行します\qquad
\qquad勾配降下法を使用して平均二乗誤差を最小化することで値関数を学習します:
14. \qquad\qquad ϕ k + 1 = arg ⁡ max ⁡ θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T ( V ϕ ( S t ) − G ^ t ) 2 \phi_{k+1} = \arg \ max\limits_{\theta}{\frac{1}{|\mathcal{D}_k|T}}\sum\limits_{\tau \in \mathcal{D}_k}\sum\limits_{t=0} ^{T}\left(V_{\phi}(S_t)-\hat{G}_t \right)^2ϕk + 1=arg _マックス∣D _T1τ Dt = 0T( Vϕ( SG^2
15.\qquad
16の終了。その


f ( θ ' ) = min ⁡ ( ℓ t ( θ ' ) A π θ old ( S t , A t ) , Clip ( ℓ t ( θ ' ) , 1 − ϵ , 1 + ϵ ) A π θ old ( S t , A t ) ) f(\theta^{\prime}) = \min\left(\ell_t(\theta^{\prime})A^{\pi_{\theta_{ old}}}(S_t, A_t)、clip(\ell_t(\theta^{\prime}),1-\epsilon, 1+\epsilon)A^{\pi_{\theta_{old}}}(S_t, A_t)\右)f ( _=( (私は' )A円周率古い_ _( Sクリップ _ _ _(私は_1ϵ 1+ϵ ) A円周率古い_ _( S) )

たとえば、Clip ( x , 1 − ϵ , 1 + ϵ ) Clip(x,1-\epsilon, 1+\epsilon)クリップ( x , _ _ _1ϵ 1+ϵ )はxxを意味しますx は[ 1 − ϵ , 1 + ϵ ] [1-\epsilon, 1+\epsilon]で切り捨てられます[ 1ϵ 1+ϵ ]中。

参考文献:
[1] Schulman, J. et al. 「近接ポリシー最適化アルゴリズム」、arXiv プレプリント、2017 年、オンライン: https://arxiv.org/pdf/1707.06347.pdf
[2] Schulman J、Levine S、Abbeel P、他。「信頼領域ポリシーの最適化」、機械学習に関する国際会議。PMLR、2015: 1889-1897、オンライン: http://proceedings.mlr.press/v37/schulman15.pdf

4. 深層強化学習アルゴリズムの分類

深層強化学習アルゴリズムには多くの分類基準があり、一般的な分類方法と特定のカテゴリは次のように要約されます。

4.1 エージェントのトレーニングとテストで使用される戦略が一貫しているかどうかによる

4.1.1 オフポリシー(オフトラック戦略、オフライン戦略)

エージェントがトレーニング (データ生成) 中に使用する戦略π 1 \pi_1円周率1エージェントでテストするときに使用される戦略 (メソッドの評価とプロモーション) π 2 \pi_2円周率2一貫性がありません。

たとえば、DQN アルゴリズムでは、トレーニング中に通常、ϵ −greedy \epsilon-greedyが使用されます。ϵ上手戦略。パフォーマンスや実際の使用状況をテストするときは、a ∗ = arg max ⁡ a Q π ( s , a ) a^* = arg \max\limits_{a} Q^{\pi}\left ( s、\右)ある=a r gあるマックスQ円周率( s a )戦略。

一般的なアルゴリズムは、DDPG、TD3、Q ラーニング、DQN などです。

4.1.2 オンポリシー (同一トラック戦略、オンライン戦略)

エージェントがトレーニング (データ生成) 中に使用する戦略とテスト (メソッドの評価とプロモーション) 中に使用する戦略は同じ戦略ですπ \pip

一般的なアルゴリズムには、Sarsa、Policy Gradient、TRPO、PPO、A3C などが含まれます。

4.2 戦略を最適化するさまざまな方法

4.2.1 値ベースのアルゴリズム (値ベースのアルゴリズム)

値ベースのメソッドは通常、アクション値関数Q π ( s , a ) Q^{\pi}(s,a)を意味します。Qπ (s,a )最適化、最適な戦略は関数Q π ( s , a ) Q^{\pi}(s,a) をQπ (s,a )最大値に対応するアクション、つまりπ ∗ ≈ arg ⁡ max ⁡ π Q π ( s , a ) \pi^* \about \arg \max\limits_{\pi}Q^{\pi} (s、a)円周率arg _円周率マックスQπ (s,a )、ここでは、≈ \ほぼは関数の近似誤差によって引き起こされます。

値ベースのアルゴリズムには、サンプリング効率が比較的高く、値関数の推定分散が小さいという利点があり、局所最適に陥りにくいという利点がありますが、欠点は、通常、連続アクション空間問題を処理できないことです。決定的な戦略。

一般的なアルゴリズムには、離散アクション空間に適した Q 学習、DQN、Double DQN などが含まれます。このうち、DQN アルゴリズムは状態アクション関数Q ( s , a ) Q(s,a)に基づいています。Q ( s ,a )最適なアクションを選択します。

4.2.2 ポリシーベースのアルゴリズム(ポリシーベースのアルゴリズム)

戦略ベースの手法では、戦略を直接最適化し、通関を通じて戦略を繰り返し更新して、累積報酬(リターン)を最大化します。シンプルなポリシーのパラメータ化と高速な収束という利点があり、連続または高次元のアクション スペースに適しています。

ポリシー勾配法 (Policy Gradient Method、PGM) は、ポリシー最適化のための勾配降下法 (最小化問題の場合は勾配降下法) を通じて期待リターンを直接ターゲットにする強化学習法のクラスです。行動空間における価値最大化の最適化問題を解く必要がないため、連続的かつ高次元の行動空間により適しており、ランダムな戦略も自然にモデル化することができます。

PGM メソッドは、勾配上昇法を通じてニューラル ネットワークのパラメーターに基づいてエージェントの戦略を直接最適化します。

関連する理論によれば、期待リターンJ ( π θ ) J(\pi_{\theta})J ( f)パラメータθ \thetaθの勾配は次のように表すことができます。

∇ θ J ( π θ ) = E τ 〜 π θ [ ∑ t = 0 TR t ∇ θ ∑ t ′ = 0 T log ⁡ π θ ( A t ′ ∣ S t ′ ) ] = E τ 〜 π θ [ ∑ t ′ = 0 T ∇ θ log ⁡ π θ ( A t ′ ∣ S t ′ ) ∑ t = 0 TR t ] \nabla_{\theta}J(\pi_{\theta})=\mathbb{E}_{ \tau \sim \pi_{\theta}}\left[ \sum\limits_{t=0}^{T}R_t\nabla_{\theta}\sum\limits_{t^{\prime}=0}^{ T}\log{\pi_{\theta}(A_{t^\prime}|S_{t^{\prime}})}\right] = \mathbb{E}_{\tau \sim \pi_{\ theta}}\left[ \sum\limits_{t^{\prime}=0}^{T}\nabla_{\theta}\log{\pi_{\theta}(A_{t^\prime}|S_{ t^{\prime}})}\sum\limits_{t=0}^{T}R_t \right]J ( f=Eτ π[t = 0TRt' =0Tログ_円周率( AtSt) ]=Eτ π[t' =0Tログ_円周率( AtStt = 0TR

T → ∞ T\rightarrow \inftyTの場合、上記の式は次のように表すことができます。

∇ θ J ( π θ ) = E τ 〜 π θ [ ∑ t ′ = 0 ∞ ∇ θ log ⁡ π θ ( A t ′ ∣ S t ′ ) γ t ′ ∑ t = t ′ ∞ γ t − t ′ R t ] \nabla_{\theta}J(\pi_{\theta})= \mathbb{E}_{\tau \sim \pi_{\theta}}\left[ \sum\limits_{t^{\prime} =0}^{\infty}\nabla_{\theta}\log{\pi_{\theta}(A_{t^\prime}|S_{t^{\prime}})}\gamma^{t^{ \prime}}\sum\limits_{t=t^{\prime}}^{\infty}\gamma^{tt^{\prime}}R_t \right]J ( f=Eτ π[t' =0ログ_円周率( AtStctt = tct t R」]
実際には、γ t '' \gamma^{t^{\prime}} はct軌道の初期状態が過度に強調される問題を回避するためです。

上記の方法は、勾配推定のためのより大規模な方法を使用する傾向があります (報酬R t R_tRのランダム性は、軌道の長さ L とともに指数関数的に増加する可能性があります。このため、ベンチマーク関数b ( S i ) b(S_i)を導入するのが一般的な方法です。b ( S私は)S i S_iS私は関数。上記のグラデーションは次のように変更できます。

∇ θ J ( π θ ) = E τ 〜 π θ [ ∑ t ′ = 0 ∞ ∇ θ log ⁡ π θ ( A t ′ ∣ S t ′ ) ( ∑ t = t ′ ∞ γ t − t ′ R t − b ( S t ′ ) ) ] \nabla_{\theta}J(\pi_{\theta})= \mathbb{E}_{\tau \sim \pi_{\theta}}\left[ \sum\limits_{ t^{\prime}=0}^{\infty}\nabla_{\theta}\log{\pi_{\theta}(A_{t^\prime}|S_{t^{\prime}})}\ left(\sum\limits_{t=t^{\prime}}^{\infty}\gamma^{tt^{\prime}}R_t-b(S_{t^{\prime}}) \right)\右]J ( f=Eτ π[t' =0ログ_円周率( AtSt(t = tct t R」b ( St) ) )

一般的な PGM アルゴリズムには、REINFORCE、PG、PPO、TRPO などが含まれます。

4.2.3 アクター-クリティックアルゴリズム(アクター-クリティック法)

Actor-Critic 法は、前述の値ベースの方法とポリシーベースの方法を組み合わせ、値ベースの方法を使用して Q 値関数または状態値関数 V を学習し、サンプリング効率 (Critic) を向上させます。ポリシー関数 (Actor) を学習するためのポリシーベースの方法なので、連続または高次元のアクション空間に適しています。その欠点は 2 つの欠点も引き継いでおり、たとえば、Critic には過大評価の問題があり、Actor には過小評価の問題があります。

一般的なアルゴリズムには、DDPG、A3C、TD3、SACなどが含まれており、連続的かつ高次元のアクション空間に適しています。

4.3 パラメータの更新方法が異なります

パラメータ更新メソッド

4.3.1 モンテカルロ法

モンテカルロ法: 軌道τ k \tau_kを待つ必要がありますt(真の値) が生成されるまで更新できません。

一般的なアルゴリズムには、Policy Gradient、TRPO、PPO などが含まれます。

4.3.2 時間差法

時間差法:アクション実行の各ステップでブートストラップ(推定値)を時間内に更新できます。

一般的なアルゴリズムは、DDPG、Q ラーニング、DQN などです。

おすすめ

転載: blog.csdn.net/b_b1949/article/details/128997146