KLダイバージェンスとは?
KLダイバージェンスは、情報理論における概念で、「同じ事象を表現する2つの確率分布が、どれだけ異なっているか」を測るための指標です。機械学習、特に生成モデルや強化学習の分野で非常に重要な役割を果たします。
- 自己情報量: 「驚きの度合い」
-
確率が低い(珍しい)事象が起きたとき、私たちはより多くの「情報」を得たと感じます(驚きます)。この「驚きの度合い」を数値化したものが自己情報量です。
$$ I(x) = \log \frac{1}{P(x)} = -\log P(x) $$
- エントロピー H(P): 「平均的な驚き」
-
分布Pにおける、すべての事象の自己情報量の期待値(平均値)です。これは、その確率分布が持つ「不確実性」や「予測の難しさ」を表します。エントロピーが高いほど、次に何が起こるか予測しにくいことを意味します。
$$ H(P) = \sum_{i} P(x_i) I(x_i) = -\sum_{i} P(x_i) \log P(x_i) $$
- 交差エントロピー H(P, Q): 「間違った予測での平均的な驚き」
-
真の分布がPであるにもかかわらず、私たちが「分布はQだ」と誤って信じている場合に感じる「平均的な驚き」の大きさです。もしQがPと全く同じなら、交差エントロピーはエントロピーH(P)と等しくなります。
$$ H(P, Q) = -\sum_{i} P(x_i) \log Q(x_i) $$
- KLダイバージェンス D_KL(P || Q): 「間違った予測による、余分な驚き」
-
交差エントロピーから、本来のエントロピーを引いたものです。これは、「分布Qという間違ったモデルを使ったことで、本来知るべきだった情報量よりもどれだけ余分にコスト(情報量)がかかったか」を示します。この値が0に近いほど、分布Qは分布Pをうまく近似できていると言えます。
$$ D_{KL}(P \parallel Q) = H(P, Q) - H(P) = \sum_{i} P(x_i) \log \frac{P(x_i)}{Q(x_i)} $$
KLダイバージェンスの非対称性
KLダイバージェンスは距離のようですが、\( D_{KL}(P \parallel Q) \) と \( D_{KL}(Q \parallel P) \) は等しくならない**非対称性**という重要な性質があります。これは、どちらを「真の分布」とみなすかで結果が変わることを意味します。
Forward KL: \( D_{KL}(P \parallel Q) \)
P(x)が高い場所でQ(x)が低いと、ペナルティが非常に大きくなります。結果として、モデルQは真の分布Pの全体をカバーしようとします(Mode-covering)。
Reverse KL: \( D_{KL}(Q \parallel P) \)
Q(x)が高い場所でP(x)が低いと、ペナルティが非常に大きくなります。結果として、モデルQはPが最も高い確率を持つ場所(ピーク)に集中しようとします(Mode-seeking)。