AI資格ドリル
資格を選ぶ

用語比較

クロスエントロピーとKLダイバージェンスの違い|エントロピー分だけずれる2つの指標(G検定・損失関数)

クロスエントロピーは、真の分布Pの下で、モデルの分布Qの対数の平均にマイナスを付けた値です。KLダイバージェンスは、2つの分布がどれだけ違うかを表す値で、クロスエントロピーからPのエントロピーを引いた分に等しくなります。

関係は「クロスエントロピー=エントロピー+KLダイバージェンス」の1本です。Pが固定なら、エントロピーは動かないので、クロスエントロピーを小さくすることとKLダイバージェンスを小さくすることは同じ意味になります。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。

クロスエントロピーとKLダイバージェンスの要点

クロスエントロピー

H(P,Q)=−E[log Q(x)](xはPに従う)。Pの下で、Qの対数の平均にマイナスを付けた値。Pのエントロピーより小さくならない。

KLダイバージェンス

D_KL(P‖Q)=E[log P(x)−log Q(x)]。PをQで近似したときの、余分な情報量。0以上で、PとQが同じ分布のときだけ0。

つなぐ式

H(P,Q)=H(P)+D_KL(P‖Q)。Qについて最小にするなら、H(P)は関係しないので両者の最小化は同じ(Deep Learning 3.13節)。

違いを表で確認

比較軸クロスエントロピーKLダイバージェンス
式クロスエントロピー:H(P,Q)=−E[log Q(x)]KLダイバージェンス:D_KL(P‖Q)=E[log P(x)−log Q(x)]。Pのエントロピーを引く項がある
最小値クロスエントロピー:最小でもPのエントロピーH(P)。Pが確定的(正解が1つ)なら0KLダイバージェンス:最小は0。PとQが同じ分布のときだけ0になる
2つの分布を入れ替えたときクロスエントロピー:H(P,Q)とH(Q,P)は一般に違うKLダイバージェンス:D_KL(P‖Q)とD_KL(Q‖P)は一般に違う(非対称なので距離ではない)
損失関数としてクロスエントロピー:分類の損失関数として使う。このときPはデータの正解ラベルの分布KLダイバージェンス:Pが固定なら、最小化はクロスエントロピーの最小化と同じ。2つの分布を近づける場面で名前が出る
値の読み方クロスエントロピー:「Qで符号化したときの平均の長さ」に近い意味。Pのエントロピーが底上げになるKLダイバージェンス:底上げを引いた「余分な分」。分布が一致したかどうかを0かどうかで判断できる

どこで迷っているかを切り分ける

01

損失関数がクロスエントロピーなのに、KLの話も出てきて混乱した人

正解ラベルが1つに決まっている分類では、Pのエントロピーが0です。このとき、クロスエントロピーとKLダイバージェンスは同じ値になります。数値例の1つ目で確認します。

02

KLダイバージェンスを「2つの分布の距離」と覚えた人

0以上で、同じ分布のときだけ0になるので距離のように扱われます。ただし、PとQを入れ替えると値が違うので、距離とは呼べません。数値例の2つ目で、入れ替えた値を確認します。

03

クロスエントロピーの値が0にならなくて不安になった人

Pが確定的でなければ、Pのエントロピーが0より大きいので、クロスエントロピーはその値を下回れません。0に近づくかどうかは、KLダイバージェンスの側で見ます。

04

どちらを最小化しても同じだと聞いたのに、数値が違う人

最小になるQは同じですが、値はエントロピーの分だけずれます。数値例の2つ目では、クロスエントロピーが約0.916、KLダイバージェンスが約0.223で、差は約0.693です。

具体例で使い分ける

例 1

正解が1つに決まっている3クラス分類(架空のデータ)

画像が3クラスのうち1番目と分かっていて、正解の分布は P=(1, 0, 0) です。モデルの出力は Q=(0.7, 0.2, 0.1) でした。対数は自然対数を使います。

  • Pは確定的なので、Pのエントロピーは0です。
  • クロスエントロピーは、−1×ln0.7=約0.357です。0の確率の項は掛け算で消えます。
  • KLダイバージェンスは、1×ln(1÷0.7)=約0.357です。H(P)+D_KL=0+0.357で、関係式のとおりです。

結論: 正解が1つなら、クロスエントロピーとKLダイバージェンスは同じ値の約0.357です。分類の損失関数にクロスエントロピーを使うことが、KLを小さくすることと同じになっています。

例 2

確率に幅のある2クラスの分布で比べる(架空のデータ)

P=(0.5, 0.5)、モデルは Q=(0.8, 0.2) とします。

  • Pのエントロピーは、ln2=約0.693です。
  • クロスエントロピーは、−0.5×ln0.8−0.5×ln0.2=約0.112+約0.805=約0.916です。
  • KLダイバージェンスは、0.5×ln(0.5÷0.8)+0.5×ln(0.5÷0.2)=約0.223です。0.693+0.223=0.916で、関係式と合います。
  • 分布を入れ替えたD_KL(Q‖P)は、0.8×ln(0.8÷0.5)+0.2×ln(0.2÷0.5)=約0.193です。

結論: D_KL(P‖Q)は約0.223、D_KL(Q‖P)は約0.193で、入れ替えると値が変わります。クロスエントロピーの約0.916は、エントロピーの約0.693を含んだ値です。

問題文から答えを選ぶ手順

  1. 1

    どちらの分布が真の側かを決める

    式の中で、平均を取る側のPが真の分布(正解ラベル側)、Qがモデルの出力です。

  2. 2

    Pが確定的かどうかを見る

    正解が1つに決まっているなら、Pのエントロピーは0で、クロスエントロピーとKLは同じ値です。

  3. 3

    目的が学習か、比較かを決める

    モデルを学習させる損失ならクロスエントロピー。2つの分布が一致したかを見るならKLダイバージェンスです。

  4. 4

    値の最小値を確認する

    クロスエントロピーの最小値はPのエントロピー、KLダイバージェンスの最小値は0です。

試験での見分け方

  • 1クロスエントロピー=エントロピー+KLダイバージェンス。
  • 2Pが固定なら、Qについての最小化は両者で同じ。
  • 3KLダイバージェンスは0以上で、一致したときだけ0。PとQを入れ替えると値が変わる。
  • 4正解が1つに決まっている分類では、2つの値は同じになる。

誤答しやすい選択肢

クロスエントロピーとKLダイバージェンスを、常に同じ値だと考える

修正: 同じ値になるのは、Pのエントロピーが0のときだけです。数値例の2つ目は、0.916と0.223で、差が約0.693(Pのエントロピー)です。

KLダイバージェンスを、PとQの入れ替えに関係なく同じ値だと考える

修正: Deep Learningは、KLダイバージェンスが対称でないと述べます。数値例で約0.223と約0.193に分かれました。

クロスエントロピーが0にならないことを、学習の失敗だと考える

修正: Pが確定的でなければ、クロスエントロピーはPのエントロピーより小さくなりません。分布が一致したかどうかはKLダイバージェンスで見ます。

確認問題

Q1H(P,Q)=H(P)+D_KL(P‖Q) のとき、Pが固定なら、Qについてクロスエントロピーを最小化することは何を最小化することと同じ?

答え: KLダイバージェンス

H(P)はQに関係しないので、動くのはD_KLの項だけです。Deep Learning 3.13節が同じ説明をしています。

Q2正解が1つに決まっている分類(Pが確定的)で、クロスエントロピーとKLダイバージェンスの関係は?

答え: 同じ値になる

Pのエントロピーが0なので、H(P,Q)=0+D_KL(P‖Q)です。

Q3KLダイバージェンスが距離と呼べない理由は?

答え: 対称でないから

D_KL(P‖Q)とD_KL(Q‖P)は、一般に違う値になります。

到達チェック

  • クロスエントロピー=エントロピー+KLの関係を言える
  • Pが確定的なら2つが同じ値になると言える
  • KLダイバージェンスが非対称だと言える

同じ資格で次に知りたいこと

よくある質問

QKLダイバージェンスは、何と読む?

A

カルバック・ライブラー・ダイバージェンスと読みます。教科書『Deep Learning』はKullback-Leibler (KL) divergenceと書きます。

Qクロスエントロピーを小さくすると、何が起きる?

A

Pが固定のとき、Qについてクロスエントロピーを小さくすることは、KLダイバージェンスを小さくすること、つまりモデルの分布Qを真の分布Pに近づけることと同じです(教科書『Deep Learning』3.13節)。

QG検定にこの違いは出る?

A

公式シラバスにクロスエントロピーとKLダイバージェンスの違いが個別に挙がっているかは、当サイトでは確かめていません。損失関数と確率分布を理解する補足として読んでください。

次に見る比較

執筆: AI資格ドリル編集部(運営者情報を見る)