AI-Nativeシリーズ・強化学習
The Probability Forge
1分でわかる要点
方策勾配はモデルに事実を教え込むものではない——それは確率質量を移動させるだけだ。うまくいったものの確率を押し上げれば、それ以外のすべてがわずかに下がる。この一文だけで、このアルゴリズム一族全体の見通しがよくなる。なぜなら、それらすべてが争っている唯一の論点をあぶり出すからだ。その論点とは、どれほど驚くべきことだったのか? 幸運な軌跡に報酬を与えれば、幸運はより起こりやすくなる。先に期待値を差し引けば、予測を上回った部分だけに報酬を与えることになる。REINFORCEは何も差し引かない。RLOOはきょうだいの平均を差し引く。actor-criticは第二のモデルで期待値を学習し、GRPOはそのモデルを外して代わりにグループを使う。 ベースラインを取り除いても推定量が間違いになるわけではない——不偏性は保たれる。変わるのはコストのほうだ。そして分散の問題はエラーとして現れない。まさにそれゆえに、この分野は一朝一夕ではなく何年もかかったのだ。
些末な技術的問題に聞こえて、実は主題そのものであることがある。
方策勾配の更新は、モデルに事実をインストールするわけではない。それは確率質量を再配分するのだ。ロールアウトがうまくいけば、それを生んだトークンの確率を上げる——そして分布の合計は依然として1でなければならないので、他のすべてが少しずつ下がる。
この捉え方は、すぐさまこの分野の最も古い問題を生み出す。あるモデルが十回に一回だけ正しく解けたとして、その成功例で訓練したとする。それは必ずしも手法を教えたことにはならない。単にその特定の幸運な経路をより起こりやすくしただけかもしれない。
唯一のアイデア:期待すべきだったものを差し引く
この回で扱うことはすべて、一つの修正を五通りに適用したものにすぎない。
この結果は、我々が期待していたよりも良かったのか?
生の収益に報酬を与えれば、幸運に報酬を与えることになる。収益とその期待値の差に報酬を与えれば、予測を上回った部分だけに報酬を与えることになる。この差には名前がある——アドバンテージだ——そして以下の各アルゴリズムは、その期待値がどこから来るのかという問いに対する、それぞれ異なる答えである。
REINFORCE [1] は何も差し引かない。不偏で、素直で、その分揺れる。 RLOO [2] は同じプロンプトに対して複数の補完をサンプリングし、他の補完の平均を期待値として使う——きょうだいの平均がベースラインになる。 actor-critic は第二のネットワークに期待値を予測させる。 GRPO [3]はその第二のネットワークを外し、グループに立ち返る。メモリ面では安上がりだが、第4話で見るように、新種の失敗を呼び込むことにもなる。
五つの名前。一つの項。
一段深く見る仕組み:問題はバイアスではなく、分散だ
ここは私が長らく誤解していた部分であり、正確に語る価値がある。
ベースラインを取り除いても誤りにはならない。行動に依存しない量を引く限り、推定量は不偏のままだ——期待される更新量は変わらない。変わるのは分散のほうだ。
そして分散の問題は、表立って姿を現さない。エラーもNaNも、失敗したassertionも出ない。得られるのは、滑らかであるはずの学習曲線がギザギザになる、二つの乱数シードの結果が食い違う、同じ地点に到達するのに四倍のサンプルが必要になる——といった現象だけだ。そのどれもが「運が悪かった」か「ハイパーパラメータが悪かった」ように見える。だからこそ、この修正には研究分野全体で数時間ではなく、何年もかかったのだ。
読み進める前に、まず予測せよ
簡単なタスクで方策勾配を二回走らせる——一回は平均ベースラインあり、もう一回はなし。シードもそれ以外の条件もすべて同じにする。ベースラインなしのほうはどうなるだろうか?
(a) 学習に失敗する。(b) より悪い最終スコアに落ち着く。(c) 同じ地点に到達するが、より遅く、より不安定に。
答えは(c)であり、これが厄介なところだ。なぜなら不偏だがノイズの多い手法は、うまくいっている手法のように見えてしまうからだ——特に、力任せに解けてしまうほど小さな問題ではそうなる。この回のラボはそれを可視化する。見るべきは最終的な数値ではなく、分散の帯だ。
速度制限装置:PPOが存在する理由
アドバンテージを推定できるようになると、第二の問題が現れる。行動のサンプルは古い方策から取られたものであり、それをもとに複数回の更新を行いたい。しかし最初の更新の後には、データを生成した方策はもはや、いま改善しようとしている方策ではなくなっている。
重要度サンプリング比は、両者がどれだけ乖離したかを測る指標だ。PPOがもたらしたのは速度制限装置だというものだ。その比をクリップし、一つのバッチが信頼領域の許す範囲を超えて方策を押し動かせないようにする。それだけだ。クリップされた代理目的関数とは、放っておけば自分自身の古びたデータで空回りしてしまう機械に取り付けられた調速機にほかならない。
頭字語の使われ方の違いに目を向けてみよう。REINFORCE、RLOO、GRPOが議論しているのは期待値についてであり、PPOが議論しているのは一回の更新がどこまで進んでよいかについてである。両者は競合しているのではなく、別々のボルトなのだ。
犠牲になっているもの——正直に言おう
「一つの引き算」というフレームは圧縮であり、実際に重要なものを取りこぼしている。
GAEはこの中に含まれていない。 一般化アドバンテージ推定(GAE)は時間ステップをまたぐバイアスとバリアンスのダイヤルであり、それを「期待値」に単純化すると、GAEが本来あらわにするはずのトレードオフが見えなくなる。
二種類のKLが混同されている。 旧方策と参照方策はそれぞれ別の役割を担う別物だ——一方は更新の幅を制限し、もう一方は出発点となったモデルからのズレを制限する。両方を「KL」と呼んでしまうと、見当違いのものに正則化をかけかねない。
そして、不偏であることと安全であることは別問題だ。 推定量が不偏であっても、評価が追いつくよりも早く、確率をたまたま当たった領域に集中させてしまうことはあり得る。
自分の手で動かしてみよう——所要時間はおよそ15分
このラボでは、同じタスク・同じシードのもとで三つのアームを走らせる——ベースラインなし、平均ベースラインあり、そして拡張すれば学習型ベースラインありだ。プロットするのはリターンだけでなく、更新のバリアンスである。
自分で拡張する際の注意を一つ。これはこのラボに限った話ではない。三つのシードでアームを比較して差が見えなかったとしても、それはベースラインについて何かを学んだのではなく、自分の予算について何かを学んだにすぎない。 バリアンスに関する主張には、その効果を検出するのに十分な数のシードが必要だ。実行する前に、何個のシードが必要かを書き出しておこう。
この先どこへ向かうのか
ここに挙げたアルゴリズムはどれも、誰かが選んだ数値を最適化しているにすぎない。その数値を追いかけることが正しかったのかどうかは、どのアルゴリズムも教えてはくれない。
エピソード3のテーマは、スコアボードそのものが間違っていたらどうなるかだ——そして、ある経済学者が1975年、報酬モデルが訓練されるようになる半世紀も前に、その失敗モードをすでに記述していたという事実についても扱う。
全5回中の第2回/シリーズ:Intelligence Engineering Adventures, Season 1 — The Consequence Engine。このシリーズの原典における主張は、定義・導出・エビデンス・エンジニアリング上の選択・未解決の問い、というクラスごとにタグ付けされている。また、メタファーは主張を導入することはあっても、その主張を裏付けるエビデンスとして機能することは決してない。各エピソードにはCPUで実行可能なラボが付属する。本記事にはいかなる雇用主・クライアントの資料も含まれていない。——Paul Jialiang Wu · agentic-portfolio-lovat.vercel.app
参考文献
- Williams, R. J. (1992). Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine Learning誌。REINFORCEの原論文である。 link.springer.com/article/10.1007/BF00992696
- Ahmadian, A. et al. (2024). Back to Basics: Revisiting REINFORCE Style Optimization for Learning from Human Feedback in LLMs. LLMのフィードバック学習向けleave-one-outベースラインを提案している。 arxiv.org/abs/2402.14740
- Shao, Z. et al. (2024). DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. GRPOを導入した論文。 arxiv.org/abs/2402.03300
- Schulman, J. et al. (2017). Proximal Policy Optimization Algorithms. クリップ付きサロゲート目的関数を提案している。 arxiv.org/abs/1707.06347
- Schulman, J. et al. (2015). High-Dimensional Continuous Control Using Generalized Advantage Estimation. GAE、そしてバイアスと分散のダイヤルを扱った論文。 arxiv.org/abs/1506.02438
- Sutton, R. & Barto, A. (2018). Reinforcement Learning: An Introduction, 第2版 incompleteideas.net/book/the-book-2nd.html