本文へ移動

G検定(ジェネラリスト検定)

ぴーぴーおー

PPO

PPO

Proximal Policy Optimization

PPOは、環境との対話によるデータ収集と、確率比をクリップした代理目的関数の最適化を交互に繰り返す方策勾配法の手法群です。TRPOの長所を保ちながら、実装がずっと単純になっています。

詳しい説明

既存の手法が抱えていた課題

PPO(Proximal Policy Optimization、近接方策最適化)は、強化学習の方策勾配法に属する新しい手法群として、Schulmanらが提案しました。論文は、それまでの代表的な手法に次の課題があったと述べています。関数近似を使うQ学習は、多くの単純な問題でうまくいかず、なぜうまくいかないのかもよく分かっていませんでした。素朴な方策勾配法は、データ効率と頑健性に乏しいという弱点がありました。TRPO(信頼領域方策最適化)はデータ効率がよく、性能も安定していますが、仕組みが比較的複雑です。さらにTRPOは、ドロップアウトのようにノイズを含む構造や、方策と価値関数の間でパラメータを共有する構造とは相性がよくありませんでした。

PPOは、TRPOのデータ効率と安定した性能を保ちながら、一次の最適化だけで済ませることを狙っています。

データ収集と代理目的関数の最適化を交互に行う

PPOは、2つの工程を交互に繰り返します。1つは、方策に従って環境と対話し、データを集める工程です。もう1つは、集めたデータを使い、代理目的関数(surrogate objective)を確率的勾配上昇で最適化する工程です。標準的な方策勾配法は、データサンプル1つにつき勾配更新を1回だけ行います。これに対してPPOは、同じデータで複数エポックのミニバッチ更新ができる目的関数を提案しました。論文は、PPOをTRPOと比べて、実装がずっと単純で、より汎用的で、実験で確かめた範囲ではサンプル効率もよいと述べています。

確率比とクリップ付き代理目的関数

PPOの核心は、確率比r_t(theta)です。これは、ある状態である行動を選ぶ確率について、現在の方策での値を更新前の方策での値で割ったものです。更新前の方策ではrは1になります。TRPOが最大化する代理目的関数L^CPIは、確率比とアドバンテージA_tの積の期待値です。これを制約なしにそのまま最大化すると、方策の更新が大きくなりすぎます。

そこでPPOでは、確率比が1から離れるような方策の変化を抑えるために、クリップ付きの目的関数L^CLIPを使います。確率比を1-epsilonから1+epsilonの範囲に切り詰め(クリップし)、クリップした場合としない場合の目的関数のうち小さい方を採ります。epsilonはハイパーパラメータで、論文では例としてepsilon=0.2を挙げています。小さい方を採るので、L^CLIPはクリップしない目的関数の下界、つまり悲観的な見積もりになります。

この仕組みの狙いは次のとおりです。確率比の変化が目的関数を改善する方向に働くときは、範囲を超えた分の変化を無視します。目的関数を悪化させる方向に働くときは、その変化を反映させます。これにより、確率比をこの範囲の外へ動かそうとする動機がなくなり、1回の更新で方策が大きく変わりすぎることを防げます。

実験で示された性能

論文は、シミュレーションによるロボットの移動やAtariのゲームなどのベンチマークでPPOを試しました。連続値制御のタスクでは、比較したアルゴリズムより良い性能を示しました。Atariでは、サンプル効率の点でA2Cより大きく優れ、ACERとは同程度でした。そのうえでPPOはACERよりずっと単純です。論文は、PPOがサンプル効率、単純さ、実際の計算時間のあいだで良い釣り合いをとっていると結論づけています。

試験で問われること

G検定

  • PPOが、環境との対話によるデータ収集と代理目的関数の最適化をどのように繰り返すのか、また標準的な方策勾配法と比べて更新の回数にどんな違いがあるのかを説明できますか。
  • PPOで使われる確率比r_t(theta)とは何か、更新前の方策ではどんな値になるのかを説明できますか。
  • クリップ付き代理目的関数L^CLIPで、確率比を1-epsilonから1+epsilonの範囲でクリップし、クリップの有無による2つの値の小さい方を採る理由を説明できますか。
  • TRPOが抱えていた課題(仕組みの複雑さ、ノイズを含む構造やパラメータ共有との相性の悪さ)と、PPOがそれをどう改善したかを説明できますか。

最終更新日: 2026/09/23