RLHF/DPO から始める始める強化学習入門
Akifumi Wachi / 和地 瞭良2024 年 6 月 22 日

1

なぜこの資料を作ったか？
ChatGPT の登場とともに、RLHF 1） や DPO 2） などの「言語モデルのアライメント」に注目が集まっている。私の書いた• DPO 解説スライド– https://speakerdeck.com/akifumi_wachi/neurips-23-can-jia-bao-gao-plus-dpo-jie-shuo• コラム 『RLHF/DPO 小話』– https://akifumi-wachi-4.github.io/website/jp.html
も想像以上の反響をいただき、（自称）強化学習研究者としてはありがたい限りである。私の周りでも 「RLHF/DPO の理解が深まった！」というご意見をいただくことが何回かあり、私の資料が役に立ったのであれば非常に嬉しい。
一方で、これまた何人かの方から「強化学習を理解した！」という風に言われた。これについてはちょっと複雑な気持ちになるわけで、RLHF や DPO を理解したくらいでは「強化学習」を理解したわけではないんだよなぁ、と思わずにはいられない。スタバでキャラメルマキアート飲んでいる人がコーヒーを理解しているわけではないよね、という気持ちに近い？キャラメルマキアート美味しいけどさ。
かといって、新規参入者に厳しいコミュニティが衰退の一途をたどるのはゲームやスポーツなど色々な業界を見ても明らかである。強化学習というとマルコフ決定過程（Markov decision Process,MDP）とか小難しい概念がいきなり登場して挫折しやすいわけである。でも、RLHF や DPO がこ
こまで話題ということは、言語モデルのアライメントという特定のタスクにおける強化学習の使われ方を理解している人が一定数いるというわけで、強化学習に入門するための土台がすでにある、
1） RLHF = Reinforcement Learning from Human Feedback。なお、本資料で RLHF という名前をつかうときは、[2]や [8] において提案されている手法のことを指す。本来は、文字通り人間のフィードバックで強化学習する一般的な用語だったはずなのだが、特殊ケースが一般名詞を乗っ取ってしまった。
。
。
2） DPO = Direct Preference Optimization1

ということになる。したがって、せっかく強化学習に興味を持ってくださっている方が多いこのタイミングで入門的な資料を作ろう、と思った次第である。

2

本資料の対象者• 強化学習に入門したい人• RLHF/DPO についてはそれなりに知っている人• 一般の強化学習 と RLHF/DPO の関係性についてはあまり分からない人
本資料においては、通常の強化学習の講義や書籍とは全く異なった形で議論を進めたいと思う。

具体的には、言語モデルのアライメントにおける RLHF や DPO はある程度理解している、という前提で強化学習の概念を解説するので悪しからず。

3

RLHF や DPO が解いていた問題とは
RLHF [2] や DPO [4] で解いていた問題は以下の通りである。 3）
max Ex∼ρ,y∼πθ (·|x) [ r(x, y) ] − βDKL [ πθ (y | x) k πref (y | x) ].
πθ(1)ただし、x ∈ X はプロンプト、y ∈ Y は言語モデル（Language Model, LM）の出力である。入力x は何らかの確率分布 ρ からサンプルされるとする。このとき、言語モデルは入力 x に対し出力y を返す方策とみなすことができる。いま、πref と πθ という２つの方策が (1) に存在するが、πθは θ によってパラメタライズされた学習中の方策、πref は元となるリファレンス方策を表す。
r : X × Y → R は、入力 x と出力 y のペアに対して、その良し悪しを実数値で返す関数で報酬関数と呼ばれる。最後に、DKL は Reverse KL divergence であり、(1) を簡潔に書くため、すでにEx∼ρ [·] の期待値が取られていることに留意されたい。
いま、新たな報酬関数 R : X × Y → R をR(x, y) := r(x, y) − β log

π(y | x)πref (y | x)(2)のように定義すると、(1) はmax Ex∼ρ,y∼πθ (·|x) [ R(x, y) ]πθというシンプルな形で書くことができる。

3.1 (3) の解釈(3) を詳細に解釈してみよう。

3） これは KTO や IPO でも同様である。詳細が気になる方は、コラム 『RLHF/DPO 小話』を参照のこと。

2(3)• まず、プロンプト x が ρ からサンプルされる。実際には人間がプロンプトを作成するわけだが、言語モデルの目線から見ると、プロンプト x はどこからともなく降ってくるものである。
• 言語モデルが方策 πθ にしたがって出力 y を生成する。
• 出力 y の生成は報酬関数 R を最大化することが至上命題である。
• 報酬関数は、プロンプト x と出力 y のペア (x, y) に対して定義されるので、– 人間がプロンプト作る → 言語モデルが回答を返すという一問一答に対し、報酬が定義されていることになる。
この問題の重要な特徴だけもう一度言うと、以下の通りである。
• プロンプトはどこからともなく降ってくるもの• プロンプトに対して回答を一回返して終わり

3.2 (1) や (3) は文脈付きバンディット問題
実は上の二個の特徴は、「一般の」強化学習が扱う問題と比較するとかなり簡略化されたものである。RLHF や DPO が解いている問題 (1) や (3) は、厳密には「文脈付きバンディット」という問題としてみなしたほうが適切である。 4）
文脈付きバンディット [1] は、推薦システム等でよく使われるのでご存知の方も多いかもしれな
い。文脈付きバンディット問題において、アルゴリズムは、文脈（context）x ∼ ρ を観測し、文脈x に対して、報酬 R(x, y) が最大となるようなアーム y を選ぶことを目指す。「文脈」は、文献によっては、特徴量（feature）と呼ばれることも多い。ショッピングサイトの例を挙げるならば、ユーザーの属性（年齢・性別など）が文脈 x である。アームというのは、アルゴリズム目線でみたときにユーザーの推薦しうるアイテムのことである。
このとき重要なのが、• アルゴリズムは、どのユーザーに対し推薦するかを自分では選べないので、文脈 x はどこからともなく降ってくるものであること• あるユーザーに対し、アイテムを一回推薦する状況しか考えていないことの二点であり、RLHF や DPO が解いていた問題の特徴と同じである。ただし、RLHF や DPO においては、• 文脈 → プロンプト• アーム → 回答というように推薦システムのときとは名称が変更されていることに留意されたい。すなわち、
RLHF や DPO の解いている問題は、文脈 x がプロンプト、アーム y が言語モデルの出力・回答にそれぞれ置き換えられた文脈付きバンディット問題とみなすことができる。以上をまとめると、
4） 後述するが、強化学習という名称を使っても別に間違いではない。

3

推薦アルゴリズム

どこからともなく降ってくる
文脈 𝑥

方策 𝜋

プロンプト 𝑥

アーム 𝑦

言語モデル

回答 𝑦

𝑅(𝑥, 𝑦)の最大化を目指す
図1

文脈付きバンディットのイメージ図

図 1 のようになる。

4

文脈付きバンディットから強化学習へ
強化学習と文脈付きバンディットの関係性を一言で言えば、強化学習 ⊃ 文脈付きバンディットである。まず、強化学習と文脈付きバンディットの最大の違いはなにか？文脈付きバンディットの用語を用いるならば、文脈 x が選択したアーム y によって変化する、ということである。文脈付きバンディットにおいてはどこからともなく降ってくるものであった文脈 x が、強化学習においては自らの行動選択に応じて（ある程度）制御可能である、ということを意味する。なお、強化学習においては、「文脈」や「アーム」という用語は用いず、それぞれ「状態 (state)」・「行動（action）」という用語を用いる。そのうえで、状態遷移確率 P (x0 | x, a) を定義して、ある状態 x ∈ X において行動 y ∈ Y を実行したときに、次の状態 x0 ∈ X に遷移する確率を表現する。

用語

文脈付きバンディット

強化学習

文脈 (context)・特徴量（feature）

状態 (state)

アーム (arm)

行動 (action)

報酬のみ

報酬 と 次の状態

自らの意思決定によって変化するもの
表1

文脈付きバンディットと強化学習における用語の対応関係

以上をまとめると対応関係は上記の通りである。強化学習においては、自らの行動によって次の状態が遷移する、という問題設定を扱うため、文脈付きバンディットと比較してより一般的かつ複雑な問題を解いていることになる。

4

4.1 強化学習のメリット： 損して得取れ
強化学習は、自らの行動選択が状態遷移にどのような影響を及ぼすかを考慮しながら方策を最適化する。 5）我々の日常生活を考えると、強化学習的な思考をしているのではないだろうか？例えば、甘いお菓子とか毎日食べないですよね？ 6）なぜでしょうか？健康に悪いから・太るからですよね？でも短期的にみれば、甘いものを食べるのは幸せなわけで、そんなすぐ体重が増加したり糖尿病になったりするわけでもないので、強化学習的な用語を使うと「（即時）報酬が大きい」わけである。つまり、自分の今の意思決定が、長期的に見てどのような影響を及ぼすかを考えているのが強化学習のが面白いところであり難しいポイント、ということになる。
囲碁や将棋などの AI（例： AlphaGo [5]）で強化学習が使われるのもまさしくこの特徴によるものです。短期的に見れば損とも思える手でも最終的な「勝ち」につながるのであれば指さないといけないのが、囲碁や将棋の面白いところであろう。

4.2 期待累積報酬
強化学習の最大の特徴が、「自らの行動選択が状態遷移にどのような影響を及ぼすかを考慮しながら方策を最適化すること」であるとして、目的関数はどのように定義すべきだろうか？強化学習の問題設定で (3) を最大化したとしたらどうなるだろうか？
• 状態遷移を色々考えた挙げ句、次の時刻の報酬関数だけを最大化するということになるのが分かるだろうか？さながら、「甘いもの食べたら太るな」とか「来月健康診断あるしな」とか脳内で色々シミュレーションしたあげく、「よし！食べたいからケーキ食べよう」っていうようなエージェントが出来上がるわけである。
したがって、強化学習において用いる目的関数は (3) のままではだめで、将来のことも視野に入れた目的関数を定義する必要がある。このとき用いられるのが、期待累積報酬という考え方で" H#XtEγ r(st , at ) π, P(4)t=0のように定義される。γ ∈ (0, 1] は割引率と呼ばれ、{0.9, 0.95, 0.99} 等の値を取ることが多い。なお、(4) は、有限区間 H における割引された期待累積報酬を考えているが、無限区間（H → ∞）や割引されない（すなわち γ = 1）期待累積報酬を考える場合もある。
(4) において、期待値の中を書き下してみると
r(s0 , a0 ) + γ · r(s1 , a1 ) + γ 2 · r(s2 , a2 ) + . . . + γ H · r(sH , aH )(5)

例えば、γ = 0.9 かつ H = 100 のとき、γ H ≈ 2.7 × 10−5 となり、実質 γ H · r(sH , aH ) は無視されることになる。つまり、遠い未来に得られるかもしれない報酬についてはそこまでアテにせずに今後
5） 状態遷移確率を陽に推定しながら方策を最適化するモデルベース強化学習とそうでないモデルフリー強化学習があるが、いずれも自らの行動で状態遷移することを考慮しているのは共通である。
6） 一部の人に刺さったら申し訳ない。一番わかり易いかなと思い・・・

5

の行動を決めよう、という思いが込められていることになる。
強化学習の設定においては、状態遷移が確率的であり、多くの場合方策も確率的である。したがって、状態 s も確率変数になるので、(4) で E [ · | π, P ] のように期待値がとられていることになる。

5 言語モデルのアライメントにおいて、文脈付きバンディットではなく（一般の）強化学習は必要なのか？
語弊を恐れずに野球で例えると、• 文脈付きバンディット： ストレートだけを毎回全力で投げる• 強化学習： 緩急織り交ぜながら打者を打ち取るのようなイメージを持っていただきたい。ロボットの制御等であれば、最終的な目標を達成するための事前動作のようなものが必要になるので、「損して得取る」ための（一般の）強化学習が必要になるだろう。
では、言語モデルのアライメントにおいて、一般の強化学習は必要なのだろうか？個人的な感想を言えば、「言語モデルにどのような挙動を求めているかによる」 が正解だと思う。まず、一般の強化学習的なアプローチが必要な状況について一つ述べよう。

5.1 自然な会話をさせたい場合
たとえば、ChatGPT との対話例を以下に示す。ChatGPT に慣れた我々からすると、「いい回答してるなぁ、さすが ChatGPT！！」 と思うかもしれないが、これ友人や恋人との会話と考えたらかなり不自然というか、喋りすぎというか、本気出しすぎなのである。
これが、コーディングに関する話題とかであれば、とてもありがたい回答をしゅつりょくしてくれるチャットボットであろう。しかし、おしゃべりすること自体が目的であったり、文章としてではなく会話として自然なチャットボットを作りたい場合には、「160km/h のストレートを全力で投げ続ける」文脈付きバンディット的アプローチでは限界がある、ということになる。

6


プロンプト



おすすめの旅行先は？

ChatGPT の回答

おすすめの旅行先は、あなたの好みや旅行の目的によって異なりますが、以下にいくつかの人気のある旅行先を紹介します。
自然を楽しみたい方へ
1. **ニュージーランド** - 壮大な自然景観、トレッキングコース、アウトドアアクティビティが豊富。- ミルフォードサウンドやトンガリロ国立公園など。
2. **アイスランド** - 火山、氷河、温泉などのユニークな自然景観。- ブルーラグーンやゴールデンサークルなどの観光スポット。
文化や歴史を楽しみたい方へ
1. **イタリア** - ローマの古代遺跡、フィレンツェのルネサンス美術、ベネチアの運河など。- 美食やワインも魅力。
2. **日本** - 京都の寺社や庭園、東京の現代文化、広島の歴史的遺産など。- 季節ごとの美しい風景も楽しめます（桜や紅葉）。
リラックスやリゾートを楽しみたい方へ
1. **モルディブ** - 美しいビーチとクリスタルクリアな海、豪華なリゾート。- シュノーケリ
ングやダイビングも人気。
2. **ハワイ** - オアフ島やマウイ島など、さまざまなアクティビティと美しい自然。- ビーチや火山、公園など。
都市観光を楽しみたい方へ
1. **ニューヨーク** - 多様な文化、エンターテイメント、ショッピングが充実。- タイムズス
クエア、セントラルパーク、ブロードウェイなど。
2. **パリ** - エッフェル塔、ルーヴル美術館、セーヌ川沿いの散策など。- 美食やファッションも楽しめます。
それぞれの旅行先には、それぞれの魅力がありますので、興味や目的に合わせて選んでみてください。また、現地の気候や季節も考慮するとより充実した旅行になるでしょう。


5.2 行動をトークンとみなしてあげると？
DPO 論文においては、文脈付きバンディットの設定を考えていて、• アーム = 言語モデルの回答と定義していた。しかし、• 行動 = 次トークン7と定義してあげるとする。一つの回答はたくさんのトークンの集まりなわけで、最終的な回答の質は複数の時刻ステップにわたる行動（=トークン）の系列によって決まるからである。「行動 = 次トークン」と定義してあげると、「意味はさほどもたないが、ないと文章として成立しない助詞を出力する」などの「損して得取る」行動が必要となる。まさしく強化学習的なアプローチが必要になるわけである。

5.3 次回予告
このように、文脈付きバンディットではなく一般の強化学習を考える、言い換えるならば「行動= トークン」とみなして言語モデルをアライメントする、という研究がここ数ヶ月登場している。
次回は以下のような論文を参考にしながら、トークンレベルの言語モデルのアライメントについて解説する。
• Rafael Rafailov, Joey Hejna, Ryan Park, and Chelsea Finn. From r to Q∗ : Your language model
is secretly a Q-function. arXiv preprint arXiv:2404.12358, 2024 [3]• Yongcheng Zeng, Guoqing Liu, Weiyu Ma, Ning Yang, Haifeng Zhang, and Jun Wang. Tokenlevel direct preference optimization. arXiv preprint arXiv:2404.11999, 2024. [6]• Han Zhong, Guhao Feng, Wei Xiong, Li Zhao, Di He, Jiang Bian, and Liwei Wang. DPO meets
PPO: Reinforced token optimization for RLHF. arXiv preprint arXiv:2404.18922, 2024. [7]

参考文献[1]Lihong Li, Wei Chu, John Langford, and Robert E Schapire. A contextual-bandit approach topersonalized news article recommendation. In Proceedings of the 19th international conference onWorld wide web, pages 661–670, 2010.
[2]Long Ouyang, Jeffrey Wu, Xu Jiang, Diogo Almeida, Carroll Wainwright, Pamela Mishkin, ChongZhang, Sandhini Agarwal, Katarina Slama, Alex Ray, et al. Training language models to follow
instructions with human feedback. Advances in Neural Information Processing Systems (NeurIPS),2022.
[3]Rafael Rafailov, Joey Hejna, Ryan Park, and Chelsea Finn. From r to qˆ∗: Your language model
is secretly a q-function. arXiv preprint arXiv:2404.12358, 2024.
[4]Rafael Rafailov, Archit Sharma, Eric Mitchell, Christopher D Manning, Stefano Ermon, andChelsea Finn. Direct preference optimization: Your language model is secretly a reward model.
Advances in Neural Information Processing Systems, 2024.
[5]David Silver, Julian Schrittwieser, Karen Simonyan, Ioannis Antonoglou, Aja Huang, Arthur Guez,
Thomas Hubert, Lucas Baker, Matthew Lai, Adrian Bolton, et al. Mastering the game of go without
human knowledge. nature, 550(7676):354–359, 2017.
[6]Yongcheng Zeng, Guoqing Liu, Weiyu Ma, Ning Yang, Haifeng Zhang, and Jun Wang. Token-level8direct preference optimization. arXiv preprint arXiv:2404.11999, 2024.
[7]Han Zhong, Guhao Feng, Wei Xiong, Li Zhao, Di He, Jiang Bian, and Liwei Wang. Dpo meets
ppo: Reinforced token optimization for rlhf. arXiv preprint arXiv:2404.18922, 2024.
[8]Daniel M Ziegler, Nisan Stiennon, Jeffrey Wu, Tom B Brown, Alec Radford, Dario Amodei, PaulChristiano, and Geoffrey Irving. Fine-tuning language models from human preferences. arXiv
preprint arXiv:1909.08593, 2019.

9