強化学習 PPO: 近接ポリシー最適化アルゴリズムの解釈

PPO アルゴリズムは、Policy Gradient 強化学習法の一種です。古典的な Policy Gradient は、パラメーター化された意思決定モデルを使用して状態に応じてアクションを決定し、そのパラメーターは次の式によって更新されます\pi(a|s,\theta )s

\theta_{t+1} = \theta_{t} + \alpha \partial_{\theta_{t}} J(\theta_t)

J(\シータ_t)意思決定モデルの長所と短所を測定するために使用され、意思決定モデルの最適化の目標は、意思決定の全体的な価値を最大化する最適な意思決定を見つけることです。

\text{max}_{\pi}\ J(\theta) = E_{s,a\sim \pi}[\pi(a|s,\theta)Q_{\pi}(s,a)]

 最適な決定は\pi不明であるため、単純なアイデアは、\pi_\シータ現在のパラメーター モデルを直接最適化することです。バニラ ポリシー グラデーションと呼ばれます。

1. バニラポリシーの勾配

Vanilla Policy Gradient は、最適化目標を次のように定義します。

\text{max}_{\theta }\ J(\theta) \\= E_{s,a\sim {\pi_{\theta }}}[\pi(a|s,\theta)A(s, a)]\\=\sum_\tau \sum_{t=0}^T \sum_a\pi(a|s_t,\theta)A(s_t,a)

  • \ できるエピソードを示し、tエピソード内の特定の瞬間を示し、Tエピソードの最終状態を示します。
  • A(s_t,a_t)=Q(s_t,a_t)-v(s_t|w)=G(s_t,a_t)-v(s_t|w)これは、利点推定と呼ばれます。元の推定Q(s_t,a_t)から平均状態値推定を減算しますv(s_t|w)。これを行う利点は、異なる状態値間の偏差を修正し、モデルの収束を高速化することです。詳細については、この記事を参照してください。

勾配の計算式:

\partial J(\theta) \\ =\sum_\tau \sum_{t=0}^T \sum_a\partial_{\theta}\pi(a|s_t,\theta)A(s_t,a) \\= \sum_\tau \sum_{t=0}^T \sum_a \pi(a|s_t,\theta) A(s_t,a) \frac{\partial_{\theta}\pi(a|s_t,\theta) }{\pi(a|s_t,\theta)} \\\doteq \sum_\tau \sum_{t=0}^TA(s_t,a_t) \frac{\partial_{\theta}\pi(a_t|s_t ,\theta)}{\pi(a_t|s_t,\theta)} \\=\sum_\tau \sum_{t=0}^T \sum_a \pi(a|s_t,\theta) A(s_t,a ) \frac{\partial_{\theta}\pi(a|s_t,\theta)}{\pi(a|s_t,\theta)} \\\doteq \sum_\tau \sum_{t=0}^TA (s_t,a_t) \partial_{\theta}\text{In}(\pi(a_t|s_t,\theta))

パラメータ更新式:

\theta_{t+1}=\theta + \alpha\partial_{\theta} J(\theta_t)

さらに、平均状態値推定はv(s_t|w)VE 損失を通じて最適化され、ポリシー勾配更新は AC のフレームワークに従って 2 段階で更新されます。

2. トラストリージョンポリシーの最適化

上で説明した Vanilla Policy Gradient アルゴリズムは、トレーニングを複数のエポックに分割するもので、各エポックは現在の意思決定モデルに従って複数のエピソードをサンプリングしてバッチを形成し、エポック内のバッチに対して複数ラウンドのトレーニングを実行します。

このエポック ラウンドのトレーニング データは、エポックの最後のラウンドのモデルに従ってサンプリングされるため、更新された意思決定モデルは、現時点でのサンプリング意思決定モデルと一致しない可能性があります。この不一致とオフによって引き起こされる問題は、 - ポリシーも同様であり、モデル トレーニングのバイアスを引き起こす可能性があります。

Vanilla Policy Gradient アルゴリズムはオンポリシーですが、バッチ上で複数ラウンドのトレーニングが行われるため、実際にはターゲット ポリシーと動作ポリシーの間に不一致の問題が発生します。したがって、信頼領域ポリシー最適化 (TRPO) は、オフポリシーに従って、元の最適化ターゲットに重要度サンプリングを追加します。

J(\theta) = E_{s,a\sim {\pi_{\theta^k }}}[\frac{\pi(a|s,\theta)}{\pi(a|s,\theta^ k)}A^{\theta^k}(s,a)]

上式では、\θ^k最終回のモデルのパラメータを表しますが、同時に、ターゲットポリシー\pi(a|s,\theta )と動作ポリシーが大きく変更\pi(a|s,\theta^k )され、最適化ターゲットの分散が大きくなるのを避けるために、また、KL 発散制約を使用して、小さな変化と比較して変化領域を制限することも必要です\pi(a|s,\theta )いわゆる信頼領域と呼ばれます。\pi(a|s,\theta^k )\pi(a|s,\theta )

D_{KL}(\pi(a|s,\theta )||\pi(a|s,\theta^k )) \leq \delta

上記の目標と制約に基づいて直接最適化することは困難であるため、TRPO は特定の式を簡略化しました。

\text{max}_{\theta}\ J(\theta) \about E_{s,a\sim {\pi_{\theta^k }}}[\pi(a|s,\theta)A^{ \theta^k}(s,a)][\theta - \theta^k]=g[\theta - \theta^k] \\ st \ D_{KL} \about \frac{1}{2}[ \theta - \theta^k]^TH[\theta - \theta^k] \leq \delta

同時に、\アルファ^jKL 発散制約を制御するために使用される決定パラメータの更新式を提供します。ここでは、複数の\アルファ^j因子を設定し、制約を満たすように学習中に因子を継続的に選択するバックトラッキング ライン探索技術が使用されます。最大勾配も同時に更新されます。

\theta_{t+1}=\theta_{t} + \alpha^j \sqrt{\frac{2\delta }{g^T_tH^{-1}g_t}}H^{-1}g

3. 近接ポリシーの最適化 

TRPO の大きな問題は、その KL 制約がペナルティ項目を通じて最適化目標に追加されるため、ペナルティ項目の重みパラメータはハイパーパラメータであり、その設定は全体的なトレーニング効果に影響を与えることです。TRPO はバックトラッキング ライン探索テクノロジを使用しますが、ハイパーパラメータを適応的に選択できますが、それでも全体的なトレーニング効果に悪影響を及ぼします。

したがって、KL 制約は変化が大きくないという\pi(a|s,\theta )制約であり、最適化目標にはすでにこれら 2 つの項目が含まれているため、この制約を最適化目標に追加してはいかがかと PPO は考えます。変動は、KL 発散制約と同様の効果を達成するために、\pi(a|s,\theta^k )切り捨てによって特定の範囲内に制約されます。r(\シータ |\シータ_k)

r(\theta |\theta_k)=\frac{\pi(a|s,\theta)}{\pi(a|s,\theta_k)}

J(\theta) = E_{s,a\sim {\pi_{\theta^k }}}(min[r(\theta|\theta_k)A^{\theta^k}(s,a), クリップ(r(\theta|\theta_k),1-\epsilon, 1+\epsilon)A^{\theta^k}(s,a)])

この論文はまた、実験を通じて、PPOアルゴリズムサンプリングのクリップ方法が、固定KL制約パラメータおよび適応KL制約パラメータの方法よりも優れていることを示しています。 

おすすめ

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