【けーえるだいばーじぇんす】
KLダイバージェンス とは?
最終更新:
💡 向きを指定して、確率分布の違いを測る
同じ対象についての二つの確率分布を、向きを指定して比較する指標。相対エントロピーとも呼ばれ、一般に逆向きでは同じ値にならない。知識蒸留やVAEの学習にも使われる。
📌 このページのポイント
- 同じ事象についての確率分布PとQを比較する
- 0以上の値を取り、同じ分布なら0になる
- 一般に向きで値が変わり、数学的な距離とは異なる
- クロスエントロピーはH(P)とKL(P || Q)の和
何を比べる指標なの?
同じ事象についての二つの確率分布を比べるよ。離散的な場合は、各事象の 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だね
学習ではどう使われるの?
まとめ:ざっくりこれだけ覚えればOK!
「KLダイバージェンス」って出てきたら「向きを指定して確率分布の違いを測る指標」と思えばだいたいOK!
📖 おまけ:英語の意味
「Kullback-Leibler Divergence」 = カルバック・ライブラーの発散度
💬 KLはKullbackとLeiblerの名前に由来する略称だよ。相対エントロピーとも呼ばれるんだ