PPO

Proximal Policy Optimization

PPOとは

PPO(Proximal Policy Optimization)とは、2017年にOpenAIが提案した方策勾配法ベースの強化学習アルゴリズムです。方策の更新幅を制限することで学習の安定性を確保しつつ、実装がシンプルであることが特徴です。現在最も広く使われている強化学習アルゴリズムの一つであり、RLHFにも採用されています。

表:PPOの要点まとめ
ひとことで言うと方策が一度に大きく変わりすぎないよう制限した、安定した強化学習手法。
どこで使う現在の標準的な手法。ロボット制御、ゲームAI、RLHFでのLLM調整。
注意点クリップ幅などの設定が性能に効く。定番値(0.2前後)から始める。

クリッピングによる更新制限

PPOのClip版では、方策の更新比率 r_t(θ) = π_θ(a|s) / π_θ_old(a|s) を[1-ε, 1+ε]の範囲にクリッピングします。これにより、方策が急激に変化することを防ぎ、学習の安定性を確保します。ε(クリッピング幅)は通常0.1〜0.2に設定されます。

図:PPOが安定している理由
1経験を収集現在の方策で行動
▶
2改善方向を計算どう変えれば良いか
▶
3変化量を制限大きく動かさない
▶
4少しずつ更新同じデータで数回学習
▶
5安定して向上崩壊しにくい
↺ 1〜5をくり返す

TRPOとの比較

PPOの前身であるTRPO(Trust Region Policy Optimization)はKLダイバージェンスの制約を用いて方策の更新を制限しますが、二次最適化が必要で実装が複雑でした。PPOはクリッピングという単純な手法で同等以上の性能を達成し、実装の容易さからTRPOを置き換えました。

PPOの広範な応用

PPOはロボット制御、ゲームAI、自動運転、そして大規模言語モデルの人間フィードバックによる微調整(RLHF)まで、幅広い応用で標準的に使用されています。安定性、性能、実装の容易さのバランスに優れた実用的なアルゴリズムです。