1. 俳優と批評家の手法
アクターは、エージェントの動きを制御するために使用される戦略ネットワークです。それはアスリートとして捉えることができます。
クリティカルは値ネットワークであり、アクションを採点するために使用され、審判とみなすことができます。
戦略学習と価値学習について話す前に、これら 2 つのネットワークをトレーニングする方法を紹介しましょう。いわゆる「アクター・クリティック・メソッド」は、この 2 つを組み合わせたものです。
2. バリューネットワークと政策ネットワーク
まず、状態値関数を確認してみましょう。
2.1 状態値関数の近似
定義: 状態値関数。
• V π(s) = ∑ a π(a ∣ s) ⋅ Q π(s, a)。V_{\pi}(s)=\sum_{a}\pi(a\mid s) \cdot Q_{\pi}(s,a)。Vp( s )=∑あπ ( _∣s )⋅Qp( s 、a ) 。
π ( a ∣ s ) \pi(a\mid s)π ( _∣s )はポリシー関数であり、アクションの確率値を制御し、エージェントの移動を制御するために使用されます。
Q π ( s , a ) Q_{\pi}(s,a)Qp( s 、a )はアクション値関数であり、すべてのアクションaa現在の状態では。
残念ながら、これら 2 つの関数は不明なので、これらを近似するには 2 つのネットワークを使用する必要があります。次に、アクタークリティック法を使用してこれら 2 つのネットワークを学習します。
ポリシーネットワーク (アクター):
• ニューラルネットπ ( a ∣ s ; θ ) \pi(a|s;\;\theta) を使用します。π ( a ∣ s ;θ )を使用してπ ( a ∣ s ) \pi(a|s) をπ ( a ∣ s )。
•θ \シータθ : ニューラルネットのトレーニング可能なパラメータ。
値ネットワーク (批評家):
• ニューラル ネットワークq ( s , a ; w ) q(s,a;w) を使用します。q ( s ,; _w )を使用してQ π ( s , a ) Q_{\pi}(s,a) をQp( s 、a )。
•www : ニューラルネットのトレーニング可能なパラメータ。
次に、これら 2 つのネットワークを構築しましょう。
これら 2 つのネットワークを学習する目的は、選手の得点をどんどん高くし、審判の得点をより正確にすることです。
3. ニューラルネットワークをトレーニングする
定義:ニューラル ネットワークを使用して近似された状態値関数。
• V(s; θ, w) = ∑ a π(a ∣ s; θ) ⋅ q(s, a; w)。V(s;\theta,w)=\sum_{a}\pi(a|s;\theta) \cdot q(s,a;w)。V ( s ;私、w)=∑あπ ( a ∣ s ;私)⋅q ( s ,; _w )。
トレーニング:パラメータθ \thetaを更新しますθとwww。
• ポリシーネットワークπ ( a ∣ s ; θ ) \pi(a|s; \theta) を更新します。π ( a ∣ s ;θ )を増加させて状態値V ( s ; θ , w ) V(s; \theta,w)V ( s ;私、w )。
\;\;\;\;\;\;\;• 俳優のパフォーマンスが徐々に向上します。
\;\;\;\;\;\;\;• 監督は純粋に価値観ネットワーク(批評家)によるものです。
• 値ネットワークq ( s , a ; w ) q(s,a; w) を更新します。q ( s ,; _w )リターンをより正確に見積もるために。
\;\;\;\;\;\;\;• 批評家の判断がより正確になります。
\;\;\;\;\;\;\;• 監督は純粋に報酬によるものです。
ステップ:
- 状態st を観察します。s_{t}。sた。
- a_{t} でのアクションをランダムにサンプリングしますあるたπ ( ⋅ ∣ st ; θ t )による。\pi(·|s_{t}; \theta_{t})。π ( ⋅∣ sた;私た)。
- a_{t} で実行しますあるた新しい状態st + 1 s_{t+1}を観察しますst + 1そして報酬rt r_{t}rた。
- アップデートwww (値ネットワーク内) 時間差 (TD) を使用します。
- θ \thetaを更新しますポリシー勾配を使用したθ (ポリシー ネットワーク内)。
3.1 値ネットワークqqを更新するq TDを使用する
• q ( st , at ; wt ) q(s_{t},a_{t};w_{t}) を計算します。q ( sた、あるた;wた)およびq (st + 1 , at + 1 ; wt ) 。q(s_{t+1},a_{t+1};w_{t})。q ( st + 1、あるt + 1;wた)。
• TD ターゲット: yt = rt + γ ⋅ q ( st + 1 , at + 1 ; wt ) 。y_{t}=r_{t}+\gamma·q(s_{t+1},a_{t+1};w_{t})。yた=rた+γ ⋅q ( st + 1、あるt + 1;wた)。
• 損失: L ( w ) = 1 2 [ q ( st , at ; w ) − yt ] 2 。L(w)=\frac{1}{2}[q(s_{t},a_{t};w)-y_{t}]^{2}。L ( w )=21[ q ( sた、あるた;w)−yた]2.
• 勾配降下法: wt + 1 = wt − α ⋅ ∂ L ( w ) ∂ w ∣ w = wt 。w_{t+1}=w_{t}-\alpha·\frac{\partial L(w)}{\partial w}\mid_{w=w_{t}}。wt + 1=wた−α⋅ _∂w _∂ L ( w )∣w = wた。
3.2 ポリシーネットワークπ \piの更新ポリシー勾配を使用したπ
定義:ニューラル ネットワークを使用して近似された状態値関数。
• V(s; θ, w) = ∑ a π(a ∣ s; θ) ⋅ q(s, a; w)。V(s;\theta,w)=\sum_{a}\pi(a|s;\theta) \cdot q(s,a;w)。V ( s ;私、w)=∑あπ ( a ∣ s ;私)⋅q ( s ,; _w )。
ポリシー勾配: V ( st ; θ , w ) V(s_{t};\theta,w)の導関数V ( sた;私、w ) θ \thetaに対して私は。
• g (a, θ) = ∂ log π (a ∣ s, θ) ∂ θ ⋅ q (st, a ; w) とします。g(a,\theta)=\frac{\partial log\pi(a|s,\theta)}{\partial \theta}·q(s_{t},a;w)。g ( a ,私)=∂θ _∂ l o g π ( a ∣ s , θ )⋅q ( sた、; _w )。
• ∂ V (s ; θ , wt ) ∂ θ = EA [ g ( A , θ ) ] 。\frac{\partial V(s;\theta,w_{t})}{\partial \theta}=E_{A}[g(A,\theta)]。∂θ _∂ V ( s ; θ , wた)=Eあ[ g ( A ,i )] 。
アルゴリズム:確率的ポリシー勾配を使用してポリシー ネットワークを更新します。
• ランダムサンプリング: aaa ~π ( ⋅ ∣ st ; θ ) \pi(·|s_{t};\theta)。π ( ⋅∣ sた;私)。
• 確率的勾配上昇: θ t + 1 = θ t + β ⋅ g ( a , θ t ) 。\theta_{t+1}=\theta_{t}+\beta・g(a,\theta_{t})。私t + 1=私た+β ⋅g ( a ,私た)。
3.3 アルゴリズムの概要
- 状態st s_{t}を観察しますsたa_{t} でランダムにサンプリングしますあるた~ π ( ⋅ ∣ st ; θ t ) 。\pi(·|s_{t};\theta_{t})。π ( ⋅∣ sた;私た)。
- a_{t} で実行しますあるた; その後、環境は新しい状態st + 1 s_{t+1}を与えますst + 1そして報酬rt r_{t}rた。
- a ⃗ t + 1 \vec{a}_{t+1} をランダムにサンプリングしますあるt + 1~ π ( ⋅ ∣ st + 1 ; θ t ) 。\pi(·|s_{t+1};\theta_{t})。π ( ⋅∣ st + 1;私た)。( ⃗ t + 1 \vec{a}_{t+1} は実行しないでください。あるt + 1!)
- 値ネットワークを評価します: qt = q ( st , at ; wt ) q_{t}=q(s_{t},a_{t};w_{t})qた=q ( sた、あるた;wた)およびqt + 1 = q ( st + 1 , a ⃗ t + 1 ; wt ) 。q_{t+1}=q(s_{t+1},\vec{a}_{t+1};w_{t})。qt + 1=q ( st + 1、あるt + 1;wた)。
- TD 誤差を計算します: δ t = qt − ( rt + γ ⋅ qt + 1 ) 。\delta_{t}=q_{t}-(r_{t}+\gamma \cdot q_{t+1})。dた=qた−( rた+c⋅qt + 1)。
- 微分値ネットワーク: dw , t = ∂ q ( st , at , w ) ∂ w ∣ w = wt 。d_{w,t}=\frac{\partial q(s_{t},a_{t},w)}{\partial w}\mid_{w=w_{t}}。dw 、 t=∂w _∂ q ( sた、_た、w )∣w = wた。
- 値ネットワークを更新します: wt + 1 = wt − α ⋅ δ t ⋅ dw , t 。w_{t+1}=w_{t}-\alpha \cdot\delta_{t}\cdot d_{w,t}。wt + 1=wた−ある⋅dた⋅dw 、 t。
- ポリシー ネットワークを微分します: d θ , t = ∂ log π ( at ∣ st , θ ) ∂ θ ∣ θ = θ t 。d_{\theta,t}=\frac{\partial log\pi(a_{t}|s_{t},\theta)}{\partial \theta}\mid_{\theta=\theta_{t}}。d私、 t=∂θ _∂ l o g π ( aた∣ sた、私)。∣θ = θた。
- ポリシー ネットワークを更新します: θ t + 1 = θ t + β ⋅ qt ⋅ d θ , t 。\theta_{t+1}=\theta_{t}+\beta\cdot q_{t}\cdot d_{\theta,t}。私t + 1=私た+b⋅qた⋅d私、 t。