強化学習: ポリシーの勾配

戦略勾配法の考え方

  以前はポリシーをテーブルの形式で表現していましたが、関数でポリシーを表現することもできるようになりました。以前に学習したすべての方法は値ベースと呼ばれ、次の方法はポリシーベースと呼ばれます。次に、戦略勾配法の考え方を見てみましょう。以前に学習した戦略はすべて、次のように表で表現されます。
ここに画像の説明を挿入
  次に、表を関数に変更し、次にπ ππの書き方も以下のように変わります。
ここに画像の説明を挿入
このうち、θ θθは、 π π を表すために使用できるベクトルです。関数πのパラメーター

  テーブルと関数の違いは、アクションを取得する確率です。テーブル形式はインデックスを介してテーブルを直接参照しますが、関数を使用するのは少し面倒です。インデックスに直接行くことはできず、対応する π ( 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 + 1Rt + 2... ) ; 無限数のステップを実行した後、s 0 s_0s0もうどうでもいいので最後にs 0 s_0を付けてくださいs0削除されました

  上で 2 つのスカラー目的関数の選択方法を紹介しました。次に、これら 2 つのスカラーについてさらに要約します。
  1. これらはすべて戦略π πです。πの関数
  2. 戦略π ππはパラメータがθ \thetaである関数の形式ですθ、異なるθ \thetaθ はさまざまな値を取得します
  3、最適なθ \thetaθ を使用してスカラー
   4、r ˉ π \bar r_πrˉpv ˉ π \bar v_πvˉpは同等であり、一方が最適化されると他方も最適化されます。割引係数ではγ < 1 γ < 1c<1です、r ˉ π = ( 1 − γ ) v ˉ π \bar r_π=(1-γ)\bar v_πrˉp=( 1c )vˉp

ポリシー勾配解決

   ポリシー スカラーを取得したら、その勾配を計算します。次に、勾配ベースの手法が最適化に適用されます。勾配の計算は最も複雑な部分の 1 つです。それは、まず第一に、異なるv ˉ π \bar v_πを区別する必要があるからです。vˉpr ˉ π \bar r_πrˉpv ˉ π 0 \bar v_π^0vˉ円周率0; 次に、割引済みと割引なしを区別する必要があります。勾配の計算について、ここで簡単に説明します。

ここに画像の説明を挿入
J ( θ ) J(\θ)J ( θ )はv ˉ π \bar v_πになります。vˉpr ˉ π \bar r_πrˉpv ˉ π 0 \bar v_π^0vˉ円周率0;
nηは分布確率または重みです。
「=」は厳密な等価、近似、または比例を表すことができます。

v ˉ π \bar v_πvˉpr ˉ π \bar r_πrˉpv ˉ π 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 ( 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_tbqt ( 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 ()は環境と対話してエピソードを取得し、このエピソードの各要素を確認する必要があります。次に、各要素を 2 つのステップに分けて操作します。最初のステップは、値の更新を行うことです。これは、モンテカルロ法を使用してqt q_tq,从( st , at ) (s_t,a_t)( sある)後で取得したすべての報酬を合計します。次のステップはポリシーの更新であり、取得されるqt q_tq式に代入してθ t θ_tを更新します、そして最終的に最終的なθ T θ_Tを取得します。T新たなθ k として θ_k反復的な更新を実行します。

おすすめ

転載: blog.csdn.net/qq_50086023/article/details/131397020