戦略勾配法の考え方
以前はポリシーをテーブルの形式で表現していましたが、関数でポリシーを表現することもできるようになりました。以前に学習したすべての方法は値ベースと呼ばれ、次の方法はポリシーベースと呼ばれます。次に、戦略勾配法の考え方を見てみましょう。以前に学習した戦略はすべて、次のように表で表現されます。
次に、表を関数に変更し、次にπ ππの書き方も以下のように変わります。
このうち、θ θθは、 π π を表すために使用できるベクトルです。関数πのパラメーター
テーブルと関数の違いは、アクションを取得する確率です。テーブル形式はインデックスを介してテーブルを直接参照しますが、関数を使用するのは少し面倒です。インデックスに直接行くことはできず、対応する π ( a ∣ s , θ ) π(a | s,\θ)π ( a ∣ s ,私)
テーブル表現と関数表現の違いは、ポリシーの更新方法にもあります。テーブル内のテーブルの値を直接変更できます。パラメータ化された関数として表現される場合、ポリシーπ ππ はパラメータθ \thetaθをクリックしてポリシーを更新します。
戦略
勾配法の考え方:
関数で表すと、あるスカラー目的関数J ( θ ) J(\theta)を確立します。J ( θ )、戦略π ππ は次のように最適値に達します。
スカラー目的関数の選択
上記で、スカラー目的関数を確立する必要があることがわかりました。では、スカラー目的関数とは何でしょうか? 一般に、2 種類のスカラー目的関数をよく使用します。
最初の値は状態値の平均値、または単に平均値と呼ばれます。これは実際には次のように状態値の加重平均です。
v ˉ \bar vvˉは状態値d ( s ) d(s)の加重平均です。
d ( s )は状態sssが選択される
上記の形式は、次の 2 つのベクトルの内積である、より簡潔な形式で記述することもできます
。
では、d ( s ) d(s)はどのように選択すればよいのでしょうか。d ( s )はどうでしょうか?状況は 2 つあり、1 つはddd和πpπは関係ない、ddd和πpπが関係してきます。
いつ_d和πpπに関係がない場合は、それぞれd 0 d_0d0和π ˉ 0 \bar π_0円周率ˉ0これは、一様分布d 0 ( s ) = 1 / ∣ S ∣ = 1 / n d_0(s)=1/|S|=1/n も取れることを意味します。d0( s )=1/∣ S ∣=1/ n、特定の状態がより重要な場合は、その重みを増やすことができます。
いつ_d和πpπに関係がある場合、一般的に使用される方法は、次のように安定した分布を選択することです:2 番目は、
次
のような瞬間報酬の加重平均である瞬間報酬の平均値です
上記は最初の報酬の形式ですが、次のような別の報酬の形式もよく見られます。 その中で
、与えられた戦略に従って軌道を生成し、一連の報酬を得ることができると仮定します( R t + 1 , R t + 2 , … … ) (R_{t+1},R_{t+2},……)( Rt + 1、Rt + 2、... ) ; 無限数のステップを実行した後、s 0 s_0s0もうどうでもいいので最後にs 0 s_0を付けてくださいs0削除されました
。
上で 2 つのスカラー目的関数の選択方法を紹介しました。次に、これら 2 つのスカラーについてさらに要約します。
1. これらはすべて戦略π πです。πの関数
2. 戦略π ππはパラメータがθ \thetaである関数の形式ですθ、異なるθ \thetaθ はさまざまな値を取得します
3、最適なθ \thetaθ を使用してスカラー
4、r ˉ π \bar r_πrˉp与v ˉ π \bar v_πvˉpは同等であり、一方が最適化されると他方も最適化されます。割引係数ではγ < 1 γ < 1c<1です、r ˉ π = ( 1 − γ ) v ˉ π \bar r_π=(1-γ)\bar v_πrˉp=( 1−c )vˉp
ポリシー勾配解決
ポリシー スカラーを取得したら、その勾配を計算します。次に、勾配ベースの手法が最適化に適用されます。勾配の計算は最も複雑な部分の 1 つです。それは、まず第一に、異なるv ˉ π \bar v_πを区別する必要があるからです。vˉp,r ˉ π \bar r_πrˉp,v ˉ π 0 \bar v_π^0vˉ円周率0; 次に、割引済みと割引なしを区別する必要があります。勾配の計算について、ここで簡単に説明します。
J ( θ ) J(\θ)J ( θ )はv ˉ π \bar v_πになります。vˉp,r ˉ π \bar r_πrˉp,v ˉ π 0 \bar v_π^0vˉ円周率0;
nηは分布確率または重みです。
「=」は厳密な等価、近似、または比例を表すことができます。
v ˉ π \bar v_πvˉp,r ˉ π \bar r_πrˉp,v ˉ π 0 \bar v_π^0vˉ円周率0対応する勾配式は次のとおりです:
.
勾配式分析:
上記の式は次のように記述できます。
S は η 分布に従う S は η 分布に従うS はη分布に従う;A は π ( A ∣ S , θ ) 分布に従う A は π(A|S,\theta) 分布に従うAはπ ( A ∣ S ,θ )分布
なぜこのような式が必要なのでしょうか? これは、実際の勾配には予想されるEE が含まれているためです。E ,而期望 E E Eは不明なので、次のように最適化のためのサンプリングによって近似できます。
補足:ln π ( a ∣ s , θ ) lnπ(a|s,\theta) を
計算する必要があるためl nπ ( a ∣ s ,θ )、したがって、要件π( a ∣ s , θ ) > 0 π(a|s,\theta)>0π ( a ∣ s ,私)>0 、すべてのπ πを保証する方法すべてのaaはπaはすべて0より大きいですか?次のように、正規化にはソフトマックス関数を使用します。
それで、pπの式は
h ( s , a , θ ) h(s,a,\theta)h ( s 、、_θ )は別の関数で、通常はニューラル ネットワークによって取得されます。
勾配上昇と強化
勾配上昇アルゴリズムの基本的な考え方は、実際の勾配には期待されるEEがあるということです。Eなので、実際の勾配はランダムな勾配で置き換えられますが、q π ( s , a ) q_π(s,a)qp( s 、a) 即策略 π π πに対応する実際のアクション値は不明ですが、同様にq π q_πを近似する方法を使用します。qpサンプリングの場合は、次のように MC —— 強化を組み合わせて行う方法です。
実際の勾配の代わりにランダムな勾配を使用します。では、確率変数 ( S , A ) (S,A) を作成するにはどうすればよいですか?( S 、A )サンプリングについてはどうですか? まずはSSSはη 分布に従うため、S がサンプリングS はη分布に従うが、これには大量のデータが必要であり、現実には安定な状態を実現することが困難であるため、実際には一般に考慮されない。AAはどうですかAサンプリングについてはどうですか?A は π ( A ∣ S , θ ) 分布に従うため、Aはπ ( A ∣ S ,θ )分布、したがってst s_tsた戦略π ( θ ) π(\theta)に従っている必要がありますπ ( θ )对at a_tあるたサンプルを採取してください。ここでのすべてのポリシー勾配は、オンポリシー アルゴリズムに属します。
アルゴリズムの理解にはα β t \alpha\beta_t
が必要ですab _たが小さい場合、 β t \beta_tであることがわかります。bたアルゴリズムの発見とデータ利用のバランスをとることができます。なぜならβ t \beta_tbた与qt ( st , at ) q_t(s_t,a_t)qた( sた、あるた)は比例するため、qt ( st , at ) q_t(s_t,a_t)qた( sた、あるた)の方が大きいβ t \beta_tbたも比較的大きくなります。つまり、π t ( st , at ) π_t(s_t,a_t)円周率た( sた、あるた)が選ばれる確率が高くなります。β t \beta_tbた与π ( at ∣ st , θ t ) π(a_t|s_t,\theta_t)π ( _た∣ sた、私た)は反比例するため、β t \beta_tbた较大時刻π (at ∣ st , θ t ) π(a_t|s_t,\theta_t)π ( _た∣ sた、私た) は比較的小さくなります。つまり、π t ( st , at ) π_t(s_t,a_t)円周率た( sた、あるた)が比較的小さいため、次の瞬間にそれを選択する確率が高くなります。
現在β t > 0 \beta_t>0bた>0のとき、これはπ ( ∣ st , θ ) π(a_t|s_t,θ)π ( _た∣ sた、θ )勾配上昇アルゴリズムには次のものがあります:β t < 0 \beta_t<0
の場合bた<0のとき、これはπ ( ∣ st , θ ) π(a_t|s_t,θ)π ( _た∣ sた、θ )勾配降下法アルゴリズムには、次のものがあります
。
強化アルゴリズム
qt ( st , at ) q_t(s_t,a_t) を使用します。qた( sた、あるた)を近似的にq π ( st , at ) q_π(s_t,a_t)qp( sた、あるた),qt ( st , at ) q_t(s_t,a_t)qた( sた、あるた)はモンテカルロ法、つまり( st , at ) (s_t,a_t)( sた、あるた)エピソードの取得を開始し、このエピソードのリターンをqt q_tqた、これが強化アルゴリズムです。
強化
アルゴリズム、その擬似コードは
次のとおりです。k回の反復では、最初に初期状態 state現在の戦略に従った状態π ( θ k ) π(\theta _k )p (私k)は環境と対話してエピソードを取得し、このエピソードの各要素を確認する必要があります。次に、各要素を 2 つのステップに分けて操作します。最初のステップは、値の更新を行うことです。これは、モンテカルロ法を使用してqt q_tqた,从( st , at ) (s_t,a_t)( sた、あるた)後で取得したすべての報酬を合計します。次のステップはポリシーの更新であり、取得されるqt q_tqた式に代入してθ t θ_tを更新します私た、そして最終的に最終的なθ T θ_Tを取得します。私T新たなθ k として θ_k私k反復的な更新を実行します。