【けーえるだいばーじぇんす】

KLダイバージェンス とは?

最終更新:
💡 向きを指定して、確率分布の違いを測る

同じ対象についての二つの確率分布を、向きを指定して比較する指標。相対エントロピーとも呼ばれ、一般に逆向きでは同じ値にならない。知識蒸留やVAEの学習にも使われる。

📌 このページのポイント
同じ事象の確率を、向きを決めて比較分布P分布Q75%晴れ25%雨50%晴れ50%雨KL(P || Q) ≈ 0.131 natKL(Q || P) ≈ 0.144 natこの例では、逆向きで値が変わる
晴れ・雨の二事象についての独自の数値例。左右の棒は同じ倍率で、自然対数のKLを小数第3位まで表示しています。図の横幅や棒の間隔がKLを表すわけではなく、逆向きで必ず異なる値になるとも限りません。
ひよこ ひよこ
何を比べる指標なの?
ペンギン先生 ペンギン先生
同じ事象についての二つの確率分布を比べるよ。離散的な場合は、各事象の P × log(P/Q) を足してKL(P || Q)を求める。例えば「晴れ・雨」の確率がPでは75%・25%、Qでは50%・50%という違いを数にできるんだ
ひよこ ひよこ
向きを逆にすると必ず違う値?
ペンギン先生 ペンギン先生
必ずではないよ。一般にはKL(P || Q)とKL(Q || P)が一致しない、という意味だね。同じ分布なら両方0で、異なる分布でも同じ値になる例はある。数学的な距離には必要な対称性などを満たさないので、向きを確かめて使おう
ひよこ ひよこ
クロスエントロピーとはどう違うの?
ペンギン先生 ペンギン先生
H(P,Q) = H(P) + KL(P || Q)という関係があるよ。Pを固定してQを学習するなら、H(P)は一定だから、クロスエントロピーを小さくすることとKLを小さくすることは同じ目的になる。両方の分布が変わるなら、何を小さくしたいかを考えて選ぶんだ
ひよこ ひよこ
確率が0だと計算できない?
ペンギン先生 ペンギン先生
Pが正でQが0の事象があると、KL(P || Q)は無限大になるよ。一方、Pが0の項は0として扱う。有限の値だけを想定して使うときは、この条件も確認しよう。対数の底もそろえ、自然対数なら単位はnat、底2ならbitだね
ひよこ ひよこ
学習ではどう使われるの?
ペンギン先生 ペンギン先生
知識蒸留では、教師の出力分布に生徒を近づける目的で使えるよ。Hintonらの論文は教師の確率を使うクロスエントロピーを説明していて、教師側が固定なら先ほどの関係が成り立つ。VAEでは、潜在変数の近似分布と事前分布を比べるKLの項が学習の目的に入るんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「KLダイバージェンス」って出てきたら「向きを指定して確率分布の違いを測る指標」と思えばだいたいOK!
📖 おまけ:英語の意味
「Kullback-Leibler Divergence」 = カルバック・ライブラーの発散度
💬 KLはKullbackとLeiblerの名前に由来する略称だよ。相対エントロピーとも呼ばれるんだ

参考資料

← 用語集にもどる