用語集 · 強化学習
近接方策最適化
別名:PPO、Proximal Policy Optimization、近位方策最適化
広く使われている強化学習のアルゴリズムです。1回の更新で方策が動ける幅を制限し、小さく安全な歩幅で方策を改善します。
PPO(Schulman et al. 2017)は方策勾配法の一種です。次の2つの段階を繰り返します。
- 収集。 現在の確率的方策を、環境のたくさんのコピーで動かし、経験のまとまり、つまりロールアウトを集めます。
- 更新。 そのまとまりを使って勾配降下法を何回か回し、良い行動を選ばれやすく、悪い行動を選ばれにくくします。
クリップ付きの目的関数
ステップ2の危険は、1回分のデータで方策を変えすぎることです。データは古い方策で集めたものなので、大きく違う新しい方策についてはほとんど何も教えてくれません。そして大きな悪い更新が1回あるだけで、良い方策が台無しになることがあります。PPOは、比率とクリップで変化を制限します。
比率は、新しい方策がある行動をとる確率を、古い方策の確率と比べたものです。
PPOは次を最大化します。
ここで はアドバンテージです。ある行動の確率が良い方向へ (ふつう0.2)より大きく動くと、クリップがそれ以上の得をなくすので、さらに押し進める理由がなくなります。
全体の損失ではクリティックも学習させ、ふつうは探索を残すためのエントロピーボーナスも加えます。
なぜ人気なのか
PPOは単純で、離散的な行動にも連続的な行動にも使え、設定にもあまり敏感ではありません。サンプル効率が最も良いアルゴリズムではありませんが、たくさんの環境を並列に動かせる速いシミュレータでは、それはあまり問題になりません。シミュレーションで学習する脚ロボットの歩行の研究のほとんどが、PPOを使っています。
このプロジェクトでは
このサイトの方策はすべてPPOで学習しています。、各バッチに8回のパスを512のミニバッチで行い、オプティマイザはAdamです。エントロピーボーナスの代わりに、CAPS正則化を損失に加えています。さらに別の項で、行動の平均を の中に保っています(行動クリッピングを参照)。収集と更新は、分離型PPOを使って重ねて行っています。