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での利用が問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
PPOでは、目的関数の中で、更新後と更新前の方策が同じ行動を選ぶ確率の比を、1を中心とした一定の範囲にクリップする。
答えを見る
答え ◯ 正しい
論文のロボット制御の実験では、εを0.1、0.2、0.3で比べ、範囲を0.8〜1.2とするε=0.2が最もよい結果でした。比が範囲の外に出ても目的関数はそれ以上よくならないため、方策を大きく動かす動機がなくなります。
-
PPOは、TRPOよりも方策の変化の制約を厳密に計算するため、実装は複雑になるが学習が安定する。
答えを見る
答え × 誤り
逆です。PPOは、TRPOに近い安定性を保ちながら、勾配だけを使う簡単な計算で済むように工夫した手法です。実装しやすさが、広く使われる理由の1つです。
-
PPOでは、環境から集めた同じデータを使って、ミニバッチによる更新を複数エポック繰り返す。
答えを見る
答え ◯ 正しい
通常の方策勾配法では、集めたデータ1つにつき1回しか更新しません。PPOは方策の変化を抑えるので、同じデータで何度も更新でき、データを効率よく使えます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目29 深層強化学習)
- John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov, Proximal Policy Optimization Algorithms (2017) (3 Clipped Surrogate Objective、6.1 Comparison of Surrogate Objectives)
- OpenAI (Christopher Berner et al.), Dota 2 with Large Scale Deep Reinforcement Learning (2019) (3 Training System)
- Long Ouyang et al., Training language models to follow instructions with human feedback (2022)