KLダイバージェンス(Kullback-Leibler Divergence)は、2つの確率分布の「隔たり(近さ)」を表す指標として使用されます。
KLダイバージェンスは以下の式で定義されます。

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

交差エントロピー $H(p, q)$ との関係性として、以下のように分解することができます。

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

Deep Learning の KLダイバージェンス

KLダイバージェンス $D_{\text{KL}}(p \parallel q)$ は、基準である真の分布 $p$ をモデルの分布 $q$ に置き換えことによりどれだけ情報量が失われるかを計算する指標です。

真の分布 $p$ が固定されている Deep Learning においては、交差エントロピーを最小化することは、KLダイバージェンスを最小化すること(予測分布を正解分布に近づけること)と同義になります

  • $p(x)$(真の分布):教師データ(正解ラベル)の分布
  • $q(x)$(モデルの分布):モデルが出力した予測(Softmax等を通した確率)の分布

$- \log q_t(k)$ の導出

交差エントロピー $H(p_t, q_t)$ は、情報理論において以下のように分解できます。

\[H(p_t, q_t) = H(p_t) + D_{\text{KL}}(p_t \parallel q_t)\]
  • $p_t$ : 教師データ(正解ラベル)の分布
  • $q_t$ : モデルが出力した予測(Softmax等)の分布
  • $H(p_t)$ : 教師データ自体が持つエントロピー(不確実性)
  • $D_{\text{KL}}(p_t \parallel q_t)$ : 2つの分布の「隔たり(ズレ)」を表す KLダイバージェンス

Deep Learning の目的は、予測分布 $q_t$ を正解分布 $p_t$ に近づける(=KLダイバージェンスを最小化する)ことです。

正解ラベルが one-hot ベクトルの場合、数式はシンプルになります。

1. 正解データのエントロピー $H(p_t)$ が 0 になる

正解が完全に固定されている(不確実性がゼロ)ため、教師データ自体のエントロピーは $0$ になります。

\[H(P_t) = - \sum_{i=1}^{V} p_t(i) \log p_t(i) = - (1 \cdot \log 1) = 0\]

これを分解式に代入すると、以下の関係が成り立ちます。

\[H(p_t, w_t) = 0 + D_{\text{KL}}(p_t \parallel q_t) = D_{\text{KL}}(p_t \parallel q_t)\]

交差エントロピーを計算すること自体が、そのままKLダイバージェンスを計算することと同義になります。

2. 計算が正解トークンだけの一項に絞られる

交差エントロピーの定義式に one-hot ベクトル の性質を当てはめます。

\[L_t = - \sum_{i=1}^{V} p_t(i) \log q_t(i)\]

$i \neq k$ のときは $p_t(i) = 0$ となるため、正解インデックス $k$ 以外の項はすべて消滅します。

\[\begin{aligned} L_t &= - \Big( 0 \cdot \log q_t(1) + \dots + 1 \cdot \log q_t(k) + \dots + 0 \cdot \log q_t(V) \Big) \\ &= - \log q_t(k) \end{aligned}\]

KLダイバージェンスが直接必要になるケース

逆に、正解ラベルが one-hot ではない(100%の正解が1つとは限らない)タスクでは、数式を省略できないため、KLダイバージェンスの式をそのまま使って分布ごと近づける必要があります。

1. 知識蒸留(Knowledge Distillation)

  • 概要: 巨大なモデル(親)の持つ知識を、軽量なモデル(子)に継承させる技術。
  • 理由: 子モデルは「正解が1のOne-Hot」ではなく、親モデルが出力した [犬: 0.7, 猫: 0.2, 狐: 0.1] というなだらかな確率分布(ソフトターゲット)を真似るように学習します。正解(親の出力)が確率分布そのものであるため、KLダイバージェンスを直接計算する必要があります。

2. ラベルスムージング(Label Smoothing)

  • 概要: 過学習を防ぐために、正解を 1.0 ではなく 0.9 に落とし、残りの 0.1 を他のクラスに均等に配る(例: [0.9, 0.05, 0.05])正則化テクニック。
  • 理由: この場合も正解分布 $P_t$ に 0 以外の値が含まれるため、単純な一項だけの省略ができず、分布全体の近さを制御する土台としてKLダイバージェンスの概念が必要となります。

要約

  • 通常のOne-Hot学習: 本質的に目指しているのは「分布のズレ(KL)の最小化」だが、数式の性質上、正解トークンの確率を最大化する($- \log q_t(k)$) ことと同じになる。
  • 正解が確率分布の学習: 省略ができないため、KLダイバージェンスの数式をそのまま適用して、分布の「形」そのものを近づける。