PPOとは

ピーピーオーProximal Policy Optimization略語 PPO別名 Proximal Policy Optimization、近接方策最適化

1行定義

PPOとは、更新の前後で方策が行動を選ぶ確率の比をクリップし、1回の更新で方策が大きく変わりすぎるのを防ぐ方策勾配法の一種のことです。

くわしく

PPOは、OpenAIのJohn Schulmanらが2017年に発表した強化学習の手法です。方策勾配法の一種で、方策と状態価値を同時に学ぶActor-Criticの形でよく使われます。

方策を少しずつ変える

方策勾配法は、よい結果につながった行動を選ぶ確率を上げるように、方策を直接更新します。ただし、1回の更新で方策を大きく変えすぎると、それまでの学習が崩れて、性能が急に落ちることがあります。

そこでPPOは、更新後と更新前の方策が同じ行動を選ぶ確率の比r = π_new(a|s) / π_old(a|s)に注目します。この比が1−εから1+εの範囲を超えても、目的関数がそれ以上よくならないようにクリップします。論文のロボット制御の実験では、ε = 0.2が最もよい結果でした。方策を大きく動かしても得をしないので、更新が穏やかになります。

TRPOとの関係

同じ目的の先行手法に、TRPO(信頼領域方策最適化)があります。TRPOは、更新前後の方策の違いをKL情報量で測り、一定以下に抑える制約を課しますが、計算が複雑です。PPOは、クリップという簡単な工夫でTRPOに近い安定性を得ています。同じデータで複数回の更新を繰り返せるので、データも効率よく使えます。実装しやすいことから、広く使われるようになりました。

主な利用例

論文では、ロボットの歩行のような連続値制御の課題と、Atariのゲームで評価しました。OpenAI Fiveは、PPOを使った大規模な自己対戦の強化学習で、Dota 2を学びました。また、InstructGPTのRLHFでは、報酬モデルの点数が高くなるように言語モデルを更新する段階で、PPOが使われました。

覚え方

「Proximal(近くの)=前の方策の近くで少しずつ更新」と覚えます。

G検定での出題

方策の急な変化を抑えて学習を安定させる仕組み、TRPOより実装が簡単な点、連続値の行動を扱える点、OpenAI FiveやInstructGPTのRLHFでの利用が問われます。

◯×チェック

  1. PPOでは、目的関数の中で、更新後と更新前の方策が同じ行動を選ぶ確率の比を、1を中心とした一定の範囲にクリップする。

    答えを見る

    答え ◯ 正しい

    論文のロボット制御の実験では、εを0.1、0.2、0.3で比べ、範囲を0.8〜1.2とするε=0.2が最もよい結果でした。比が範囲の外に出ても目的関数はそれ以上よくならないため、方策を大きく動かす動機がなくなります。

  2. PPOは、TRPOよりも方策の変化の制約を厳密に計算するため、実装は複雑になるが学習が安定する。

    答えを見る

    答え × 誤り

    逆です。PPOは、TRPOに近い安定性を保ちながら、勾配だけを使う簡単な計算で済むように工夫した手法です。実装しやすさが、広く使われる理由の1つです。

  3. PPOでは、環境から集めた同じデータを使って、ミニバッチによる更新を複数エポック繰り返す。

    答えを見る

    答え ◯ 正しい

    通常の方策勾配法では、集めたデータ1つにつき1回しか更新しません。PPOは方策の変化を抑えるので、同じデータで何度も更新でき、データを効率よく使えます。

練習問題

PPOの問題(4問)
  1. 連続値の行動を扱う手法選択
  2. PPOのクリップ付き目的関数
  3. RLHFの各段階の役割
  4. 既存の制御を生かす強化学習

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術29

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習