Actor-CriticとPPO — 動く人と評価する人の分業

方策勾配法(前章)の最大の敵は分散でした。「動く人(Actor)」と「評価する人(Critic)」に役割を分け、さらに更新の行きすぎをクリップで防ぐ。この2つのアイデアが、現代RLの主力 PPO に結実します。

1. なぜ「二人組」にするのか — 方策勾配の弱点

REINFORCE は、エピソードを最後まで走らせて得た生のリターン G で方策を更新します。しかし G は「たまたま良い状態を通ったか」という運の成分を大量に含み、推定のばらつき(分散)が巨大です。分散が大きいと学習信号がノイズに埋もれ、学習率を上げられず、収束が遅くなります。

そこで発想を変えます。行動の良し悪しを、その場で見積もってくれる「批評家」を別に学習させればいい。これが Actor-Critic 法です。

2. Actor と Critic の分業 — データの流れを追う

1ステップの間に何が起こるかを、下のデモで追ってみましょう。環境は5マスの廊下で、右端のゴールに着くと報酬 +1 が入ります。Actor は各マスで「←か→か」の確率を持ち、Critic は各マスの価値 V(s) を持っています。

俳優と批評家 — 1ステップのデータフロー
青=Actor(方策)、紫=Critic(価値)、右=環境(5マスの廊下、★がゴール)。光る点がデータの流れ。①状態を観測 → ②Actorが行動を抽選 → ③環境が報酬を返す → ④CriticがTD誤差δを計算 → ⑤Criticを更新 → ⑥δの符号でActorを更新。高速学習を数回押すと、V(s) がゴール側から染み出し、π(→) が育っていきます。
POINT — 分業の本質 Actor は「どう動くか」だけを、Critic は「それがどれくらい良かったか」だけを担当する。Critic の採点は1ステップごとに出るので、エピソードの終わりを待つ REINFORCE より、はるかに低分散・低遅延の学習信号になる。
δ = r + γV(s′) − V(s) TD誤差。「予想より良い結果なら δ > 0、悪ければ δ < 0」— Criticの採点であり、アドバンテージの推定量でもある

3. アドバンテージ — 「平均よりどれだけ良いか」

Critic の採点の正体はアドバンテージ関数です。行動の絶対的な良さ Q(s,a) ではなく、その状態での平均 V(s) と比べてどれだけ良いかを使います。

A(s, a) = Q(s, a) − V(s) A > 0 ならその行動は平均より良い → 確率を上げる。A < 0 なら平均より悪い → 確率を下げる

なぜ平均を引くのか? 生のリターンは「状態自体の良さ」と「行動の良し悪し」が混ざっています。V(s) を引くことで状態の底上げ分が消え、行動の寄与だけが残るのです。下のデモで、ある状態の3つの行動を試してみてください。

アドバンテージの直感 — 平均線 V(s) との差で更新する
左:3つの行動のQ値バーと、方策のもとでの平均 V(s)(オレンジの線)。行動を試すと A = Q − V の符号で緑(強化)/赤(弱化)に光り、下の方策バー π が動きます。良い行動 a₂ を選び続けると π(a₂) が育ち、V(s) 自体もつり上がってアドバンテージが縮んでいくことに注目。右:生リターン G と A のばらつき比較。状態の底上げ分を引くだけで、学習信号のばらつきが激減します。
注意 — タダ飯ではない:バイアスとバリアンスの交換 Critic の V(s) は学習途中の推定値にすぎない。V が不正確なうちは δ に偏り(バイアス)が混入する。つまり Actor-Critic は「分散を減らす代わりに偏りを受け入れる」取引をしている。実務では GAE(Generalized Advantage Estimation)の λ でこのトレードオフを調整するのが定番。

4. PPO — 「行きすぎない」更新

Actor-Critic で分散は抑えられました。しかしもう1つ罠があります。方策勾配で一度に大きく更新しすぎると、方策が突然崩壊するのです。方策が変わるとデータの集まり方まで変わるため、一度崩れると悪いデータしか集まらなくなり、立ち直れません。

PPO(Proximal Policy Optimization)は、新旧方策の確率比 r(θ) = πnew(a|s) / πold(a|s) に注目し、これが 1 から離れすぎたら目的関数を頭打ち(クリップ)にすることで暴走を防ぎます。

LCLIP(θ) = Et[ min( rt(θ) Ât,  clip(rt(θ), 1−ε, 1+ε) Ât ) ] rt(θ) = πθ(at|st) / πθold(at|st)。ε は 0.1〜0.3 程度。min が「悲観的な方」を選ぶのがミソ
PPOのクリッピング — 目的関数のかたちを触る
横軸=確率比 r(1 が更新前)。水色の点線=クリップなしの目的 r·A、緑の実線=PPOの目的。A > 0 では r が 1+ε を超えると平ら(それ以上確率を上げても得しない)。A < 0 に切り替えると、平らになるのは r < 1−ε 側で、悪い行動の確率を上げる方向には罰が青天井——非対称な形になっています。
POINT — PPOの哲学:「小さく確実に、更新し続ける」 クリップは min と組み合わさることで悲観的な下界になる。「得する方向の行きすぎ」は頭打ちにし、「損する方向の逸脱」はそのまま罰する。だから同じデータで何エポックも安心して再利用でき、実装は勾配法そのまま。一発の大跳躍より、崩れない小さな一歩の積み重ねが PPO の思想。

5. 系譜と現在地 — A2C から PPO、そして RLHF へ

手法年核となるアイデア残った課題
REINFORCE1992生のリターンで方策勾配分散が巨大で不安定
A2C / A3C2016Criticのアドバンテージで低分散な更新。並列環境でデータ収集更新幅の制御がなく、大きな一歩で崩壊しうる
TRPO2015KL制約付きの「信頼領域」内でのみ更新し、単調改善を理論保証二次の制約付き最適化が重く、実装が難しい
PPO2017確率比のクリップだけで信頼領域を近似。一次の勾配法で済む理論保証は緩いが、単純・頑健で事実上の標準に

TRPO が「数学的に正しいが重い」解だったのに対し、PPO は「理論は少し緩めて、シンプルさと頑健さを取る」という工学的な割り切りで勝ちました。

一歩先へ — なぜ PPO が RLHF の標準になったのか ChatGPT などの LLM を人間の好みに合わせる RLHF(DNN編 第15章)では、報酬モデルという「不完全な採点者」を相手に方策(=言語モデル)を磨く。採点者の穴を突く暴走(reward hacking)を防ぐには、元の方策から離れすぎないことが死活的に重要で、これはまさに PPO の得意技。「巨大モデルでも安定」「実装が単純」「更新幅を制御できる」の三拍子で、PPO は RLHF の標準装備になった。

6. まとめ

次章では、行動する前に頭の中で先読みするアプローチ — モデルベースRLとMCTS — に進みます。