集中学習ノート-0910 近似によるオンポリシー法

前の章で説明した強化学習手法はすべて、値関数をv(s)テーブルとしてモデル化し、s状態を通じて特定の状態の値をクエリします。しかし、状態アクション空間が巨大で、ほとんどの状態アクションが意味を持たない場合、このテーブル クエリの効率は非常に低くなります。

したがって、このセクションでは、値関数はパラメータ モデル としてモデル化されますv(s|w)。ここで、 はw値推定モデルのパラメータ、状態sは値推定モデルの出力であり、状態の値推定はモデルを通じて出力されます。 。

1.教師あり学習

このモデルをどのように学習するかというと、モデルは主にフィッティング状態の値にあり、これは最適なアクションの決定の下で最適な利益として表現できますG_\pi(s)この関数に適合させるために、教師あり学習の方法を使用して、次の学習損失予測目標 (VE) を定義します。

\bar{VE}(w)=\sum_s \mu (s)[G_\pi (s)-v(s|w)]^2

上式において、は1 エピソードにおける状態 s私たちのの平均出現回数を表し、状態 s が初期状態で出現する確率を表す\sum_s \mu(s)=1として、を満たす状態 s の出現確率を表します。一つのエピソードの。\eta(s)時間

\eta(s)=h(s)+\sum_{ {s}'}\eta (s')\sum_a \pi(a|s')p(s,r|s',a)

\mu(s)=\frac{\eta (s)}{\sum_{s'}\eta(s')}

2. 確率的勾配法と半勾配法

ソリューションモデルのパラメータは、SGD を使用して最適化されます。

w_{t+1}=w_t - \frac{1}{2}\alpha \partial_w[G_\pi(s)-v(s|w)]^2=w_t + \alpha[G_\pi(s) -v(s|w)]\partial_w v(s|w)

上式では、決定関数における状態値をG_\pi(s)表しており、サンプリングにより累積報酬を得るMC法を利用して計算することができます。\pi

もう 1 つの方法は、TD または DP アルゴリズムと同様のブートストラップ法を使用して、私たち)実際のサンプルの累積収入を推定値に置き換えることですG_\pi(s)このアプローチは半勾配法と呼ばれます。

  • 動的プログラミング:U_t(s) = \sum_{s'} [r + \gamma v(s'|w)] \sum_a \pi(a|s')p(s, r|s',a)
  • TD(0):U_t(s)=r_{t+1} + \gamma v(s_{t+1}|w)
  • TD(n):U_t(s)=\sum_{i=0}^{n-1}\gamma^{i} r_{t+i+1} + \gamma^{n} v(s_{t+n}|w)

3. エピソード的半勾配制御

モデルを通じて価値関数を推定する方法について説明しました。次に、GPI 戦略を簡単に組み合わせて、価値推定とポリシー改善の 2 段階の強化学習プロセス TD(0) オンポリシー サルサを構築できます。

一方、TD(n) オンポリシーサルサは以下のように表現でき、主に元のテーブル方式における値の更新を価値推定モデルにおけるパラメータの更新に置き換えていることがわかりますQ(s,a)

4. 平均報酬: 継続的なタスク 

 以前の累積所得を解くときにG_t、割引係数が導入されました\ガンマ。これには主に 2 つの理由があります。1 つは累積所得値の非収束を避けるため、もう 1 つは最近の所得の影響が大きいことを考慮するためです。ただし、連続的なアクション シーン (開始状態も最終状態もなし) に直面した場合、後者の仮定には問題があり、特に特定の平衡スイング状態では、割引を追加すると将来の状態情報が失われます。そこで、累積報酬値の不収束を回避できる平均報酬という別の方法もあります。

まず、\pi決定に基づく平均報酬を定義します。

r(\pi)=\sum_s \mu_{\pi}(s)\sum_a\pi(a|s)\sum_{s'}p(s,r|s',a)r

さらに、差分累積収益は次のように定義されますG_t

G_t=r_{t+1}-r(\pi)+r_{t+2}-r(\pi)+... = \sum_{i=1} (r_{t+i}-r(\ピ))

TD(n) 形式は次のように定義できます。

G_t=\sum_{i=1}^n(r_{t+i}-r(\pi))+v(s_{t+n}|w)

\delta_t(s_t)=G_t(s)-v(s|w)=\sum_{i=1}^n(r_{t+i}-r(\pi))+v(s_{t+n} |w)-v(s_t|w)

平均収益は次のように繰り返すことができます。

r_{t+1}(\pi)=\frac{1}{t+1}\sum_i^{t+1} r_i =r_{t}(\pi) + \frac{1}{t+1} (r_t-r_{t}(\pi))\\ =r_{t}(\pi) + \beta (\sum_{i}^n[r_t - r_{t}(\pi)]+v(s_ {t+n}|w)-v(s_t|w))

このとき、TD(n) に基づくオンポリシー Sarsa のアルゴリズムは次のように記述されます。

おすすめ

転載: blog.csdn.net/tostq/article/details/131185674