15 分で読了
このページの目次

KL発散と交差エントロピー

KL発散は「間違った分布で符号化した場合、平均してどのくらいのビットを余計に支払う必要があるか」であり、交差エントロピーは「真のエントロピー+このペナルティ」です。交差エントロピー損失の最小化は最尤推定と同等であり、これが情報論を深層学習の損失関数に直接結びつける線です。また、フォワード/リバースKLの非対称性は、モデルが「すべてのモードをカバーするか」、それとも「1つのモードに固定するか」を決定します。

導入: 間違った符号表

前章では、データが分布 p から生成される場合、それに最適化された符号の平均符号長はエントロピー H(p) になると述べました。

しかし現実には、真の p を得られないことがほとんどです。手元にあるのは近似 q だけです——モデルが推定したもの、あるいは仮定されたものです。そのため、q のために最適化された符号表を使って、実際に p から生成されたデータを圧縮せざるを得ません。

符号表を間違えるとどうなるでしょうか?メッセージごとに平均して少し余計なビットがかかります。この余分な部分が、本章の主人公です。

KL発散: 間違った分布のコスト

相対エントロピー / KL発散 (Kullback-Leibler divergence) は、この「余計なビット」を正確に計測します:

D_{KL}(p \parallel q) = \sum_x p(x) \log_2 \frac{p(x)}{q(x)}

前章の言葉で分解して見ると、非常に明確です。p の最適符号では平均符号長は H(p) ですが、q のために最適化された符号に替えると、平均符号長は交差エントロピー H(p,q) になります。この差がまさにKL発散です:

D_{KL}(p \parallel q) = H(p,q) - H(p)

この差額は純粋な無駄です——データも情報量も変わっていません。ただ符号表を間違えただけで、余計なコストを支払うことになります。

重要な性質として、D_{KL}(p \parallel q) \geq 0 (ギブス不等式) が成り立ち、等号成立は p=q のみです。これは「距離」のように見えますが、2つの分布がどれほど似ていないかを測るものです。しかし、⁠真の距離ではありません⁠——次の節で説明する非対称性がその理由です。

非対称性: D_{KL}(p \parallel q) \neq D_{KL}(q \parallel p)

これはKL発散で最も見落とされがちですが、影響が最も大きい性質です。pq を入れ替えると、数値も振る舞いも変わります。

根本原因は、和の重みにあります。D_{KL}(p \parallel q) = \sum_x p(x) \log \frac{p(x)}{q(x)} において、各項の重みは p(x) です。一方、D_{KL}(q \parallel p) の重みは q(x) です。どちらが重みになるかで、ペナルティがどこに課されるかが決まります:

  • D_{KL}(p \parallel q) は「p にはあるが q にはない」部分をペナルティ化します⁠。p(x)>0 だが q(x)\to 0 の箇所では、\log(p/q)\to\infty となり、コストは無限大になります。そのため、qp のサポート領域のどこにも隙間を作ることができず⁠、p の全質量をカバーせざるを得ません。
  • D_{KL}(q \parallel p) は「q にはあるが p にはない」部分をペナルティ化します⁠。q(x)>0 だが p(x)\to 0 の箇所では、コストは無限大になります。そのため、qp の高密度領域に留まることしかできず⁠、境界を越えるよりは、1つのピークに縮こまることを選びます。

この非対称性のため、「KLを最小化する」という表現は不十分です——どちらの分布が先に来るかを明確にする必要があります。これにより、次のフォワード/リバースの区別が導かれます。

具体的な数字で見てみましょう⁠。抽象的な議論に留まらないために、p=(0.5,\ 0.5)q=(0.9,\ 0.1) を取ります:

D_{KL}(p \parallel q) = 0.5\log_2\frac{0.5}{0.9} + 0.5\log_2\frac{0.5}{0.1} \approx 0.74\ \text{bit}

D_{KL}(q \parallel p) = 0.9\log_2\frac{0.9}{0.5} + 0.1\log_2\frac{0.1}{0.5} \approx 0.53\ \text{bit}

同じ分布のペアでも、2つの方向で全く異なります。これは丸め誤差ではなく、構造的な違いです。どちらが和の重みになるかで、ペナルティの向きが決まります。

交差エントロピーと最尤推定: 深層学習への接続線

さて、KLを分解してみましょう。深層学習への接続線が姿を現します。

交差エントロピー (cross-entropy) H(p,q) = -\sum_x p(x) \log_2 q(x) は、定義により以下のように分解できます:

H(p,q) = H(p) + D_{KL}(p \parallel q)

教師あり学習の文脈に当てはめてみましょう。ここで p はデータの真の分布(訓練セットで与えられ、H(p) は定数でモデルに依存しない)、q はモデルパラメータ \theta が予測する分布です。すると:

交差エントロピー損失の最小化 = D_{KL}(p \parallel q) の最小化⁠——定数項 H(p) は勾配に影響を与えないため、無視されます。

さらに一歩進みましょう。分類タスクでは、p は通常 one-hot(正解ラベルの確率が 1、他が 0)であり、このとき和は1項に収束します:H(p,q) = -\log q(\text{正解クラス})。データセット全体で合計すると:

\sum_i -\log q(y_i \mid x_i) = -\log \prod_i q(y_i \mid x_i)

右辺はまさに負の対数尤度です。これにより、3つのことが1つに固定されます:

交差エントロピー損失の最小化 ⟺ フォワードKLの最小化 ⟺ 最尤推定 (MLE)

これが、すべての分類モデルやすべてのLLMの事前学習で交差エントロピー損失が使われる理由です。これは適当に選ばれたエンジニアリングのトリックではなく、「モデルの分布をデータ分布にできるだけ近づける」という目標を、情報論的に正確に表現したものです。LLMが次のトークンの分布 q を予測し、正解トークンの one-hot p に対して交差エントロピーを計算する際にも、まさにこの論理が適用されています(詳細は LLMにおける情報論 を参照)。

公式意味
エントロピー H(p)-\sum p\log pp 自身の最適符号を使った平均符号長(理論的下界)
交差エントロピー H(p,q)-\sum p\log qq の符号で p のデータを圧縮した平均符号長
KL発散 D_{KL}(p \parallel q)\sum p\log(p/q)両者の差 = 間違った分布を使ったことで余計に支払うビット

フォワードKL vs リバースKL: カバーするか、それとも固定するか

非対称性は机上の空論ではなく、フィットされた分布の形状を決定します。

典型的な設定を考えましょう:p は固定された目標で、しばしば双峰型です。q は調整可能な近似で、しばしば制約があり(例えば単峰性のガウス分布など)、最適化時にフォワードかリバースのどちらを選ぶかで、フィットされる q の形状は全く異なります:

  • フォワードKL D_{KL}(p \parallel q) (mode-covering, カバー型): これは、qp に質量がある箇所で隙間を作った場合にペナルティを課します。そのため、q広がり、p のすべてのモードを覆い尽くす ことになります。その代償として、2つのピークの間の低密度領域に本来あるべきでない質量を置くことになります。これが最尤推定/教師あり学習の振る舞いです——データのあらゆるパターンをカバーしたいと望みます。
  • リバースKL D_{KL}(q \parallel p) (mode-seeking, 探索型): これは、qp の低密度領域に侵入した場合にペナルティを課します。そのため、q1つのモードに固定され、狭い分布に縮こまります⁠。他のピークは意図的に無視します。これが変分推論 (VI) のデフォルトの振る舞いであり、RLHFにおけるポリシー最適化の傾向でもあります——高い報酬のモードに確信を持って賭けることを好み、分散させることを嫌います。
同じ双峰のpでも、2つのKLで全く異なるqがフィットされる フォワードKL: D_KL(p‖q) mode-covering 2つのピークをカバー q(青)が広がり、p(灰色の破線)の2つのピークを覆う リバースKL: D_KL(q‖p) mode-seeking 1つのピークに固定 q(水色)が左のピークに縮こまり、右のピークを無視 どちらの方向を選ぶかで、「ぼやけていても見逃すよりはまし」か、「見逃してもぼやけさせてはいけない」のどちらを選ぶかが決まる

一言で覚えておきましょう:⁠フォワードKLは見逃すことを恐れる(そのため広がり)、リバースKLは間違えることを恐れる(そのため狭くなる)。RLHFでは、リバース方向のKL制約を使ってポリシーを参照モデルの近くに固定します。詳細は LLMにおける情報論 を参照してください。

Jensen-Shannon発散: 対称化のパッチ

時として、KLの非対称性は不便です——例えば、真の「分布間の距離」が欲しい場合など。

Jensen-Shannon発散 (JS divergence) はその対称化されたソリューションです。まず中点分布 m = (p+q)/2 を取り、両側のKLの平均を取ります:

\text{JS}(p,q) = \frac{1}{2} D_{KL}(p \parallel m) + \frac{1}{2} D_{KL}(q \parallel m)

これは対称性を持ち(\text{JS}(p,q)=\text{JS}(q,p))、有界です(底が 2 の場合、0 \leq \text{JS} \leq 1 bit)、さらに \sqrt{\text{JS}} は正当な距離度量となります。元のGANの識別器の目的関数は、本質的にJS発散の最小化を行っています。

しかしながら、「符号化コスト」という物理的な意味合いや、MLEとの対応が必要とされる場合、人々は依然としてKLを直接使用します。対称性は常に無償の恩恵というわけではありません。

参考文献

  • 教科書⁠: "Elements of Information Theory" (Cover & Thomas — 第2章 相対エントロピー、ギブス不等式の証明を含む)
  • 教科書⁠: "Pattern Recognition and Machine Learning" (Bishop — 10.1節 変分推論、フォワード/リバースKLの振る舞いの古典的な図解)
  • 論文⁠: "Generative Adversarial Nets" (Goodfellow et al., 2014 — 識別器の目的関数とJS発散の関連性)

キーワード: 相対エントロピー relative entropy, KL発散 KL divergence, 交差エントロピー cross-entropy, 非対称性 asymmetry, 最尤推定 MLE, フォワードKL, リバースKL, mode-covering, mode-seeking, Jensen-Shannon divergence, ギブス不等式