Proximal Policy Optimization(PPO)は、環境内でインテリジェントエージェントに意思決定を訓練するために使用される強化学習(RL)アルゴリズムです。これは、期待報酬の勾配を推定することでポリシーを直接最適化する、ポリシー勾配法のファミリーに属します。PPOは、ポリシーが大規模なニューラルネットワークで表現される深層RLに特に適しており、その単純さ、安定性、サンプル効率のバランスから、多くのアプリケーションで標準的な選択肢となっています。
このアルゴリズムは2017年に、各更新でポリシーがどれだけ変化できるかを制限することで訓練を安定化させることを目的とした初期の手法であるTrust Region Policy Optimization(TRPO)の近似として導入されました。PPOは、クリップされた目的関数を使用することでこれを簡素化し、TRPOの二次法による計算オーバーヘッドを回避します。2018年以降、PPOはOpenAIでのデフォルトのRLアルゴリズムとなっており、ロボティクスからゲームプレイまで多様な領域に適用されています。
コアメカニズム
PPOはオンポリシーアルゴリズムであり、現在のポリシーのバージョンから収集されたデータを使用してポリシーを更新することを意味します。コアとなる考え方は、新しいポリシーが古いポリシーからあまり乖離しないようにしながら、ポリシーに対して複数ステップの勾配上昇を行うことです。これは、新しいポリシーと古いポリシーの間の確率比が大きすぎたり小さすぎたりする変更をペナルティする、クリップされた代理目的関数を通じて達成されます。
目的関数は、ポリシー改善の保守的な推定を提供するように設計されています。比をクリップすることで、PPOは訓練を不安定にする可能性のある過度に大きな更新を防ぎます。これはポリシー勾配法における一般的な問題です。このメカニズムは計算効率が高く、TRPOがヘッセ行列を使用するのとは異なり、一次最適化のみを必要とします。
TRPOとの関係
2015年に発表されたTRPOは、信頼領域法を使用して古いポリシーと新しいポリシーの間のKLダイバージェンスを制限することで、Deep Q-Network(DQN)などの初期のアルゴリズムの不安定性問題に対処しました。しかし、この制約を強制するには二次導関数のヘッセ行列の計算が必要であり、大規模な問題には非効率的でした。PPOは、ポリシー勾配をクリップすることでヘッセ行列の計算を回避する近似として開発されました。これにより、PPOは実装と調整がより簡単になり、多くのタスクで同等以上のパフォーマンスを達成します。
アプリケーション
PPOは研究と産業の両方で広く採用されています。OpenAIでは、さまざまな環境でエージェントを訓練するためのデフォルトのRLアルゴリズムとして使用されました。注目すべきアプリケーションの1つは、2019年にビデオゲームDota 2でプロプレイヤーを打ち負かしたシステムであるOpenAI Fiveです。PPOはまた、ロボットアームの制御、Atariゲームのプレイ、および逐次的意思決定を必要とする他の領域でも使用されています。その堅牢性と使いやすさから、強化学習問題に取り組む機械学習実践者にとって人気のある選択肢となっています。
バリアントと拡張
PPOのいくつかのバリアントが、特定の課題に対処するために提案されています。例えば、適応クリッピングを組み込んだバージョンや、異なるアドバンテージ推定技術を使用するバージョンがあります。PPOはまた、高次元の観測を処理するために深層学習アーキテクチャなどの他の方法と組み合わせられることがよくあります。このアルゴリズムの設計はその後のRL研究に影響を与えており、新しいアルゴリズムが比較されるベンチマークとして今もなお機能しています。