🔰 交差エントロピーとは
交差エントロピーは、予測がどれだけ正解からズレているかを評価するための指標である。
特に、確率分布の間の距離を評価するのに用いられ、モデルが真の分布にどれだけ近い確率分布を出力しているかを数値化する。
深層学習では分類問題の損失関数として頻出であり、E資格でもほぼ毎回出題される。
✅ 情報理論の重要な3要素
-
①情報量(自己情報量):どれだけ起こりにくいか。起こりにくいことほど、情報量は大きい。
I(x) = -\log p(x)
-
➁エントロピー(平均情報量):情報量の期待値を表す。
H(p) = -\sum_x p(x) \log p(x)
-
③交差エントロピー:本当の正解 $p(x)$ に対して、モデルの予測 $q(x)$ がどれだけズレているかを見る指標。
H(p, q) = -\sum_x p(x) \log q(x)
☝️機械学習においては、本来の分布 $p$ が 正解ラベル、モデルの出力 $q$ が予測ラベルと見なせる
✅ KLダイバージェンス
✔ KLダイバージェンスの定義
\begin{align}
D_{\mathrm{KL}}(p \parallel q) &= \sum_x p(x) \log \frac{p(x)}{q(x)} \\
&= \sum_x p(x) \log p(x) - \sum_x p(x) \log q(x) \\
&= H(p, q) - H(p) \\
\end{align}
ただし、
\begin{cases}
p(x) & \text{:正解ラベル(真の分布)} \\
q(x) & \text{:モデルの予測(予測分布)} \\
H(p) & \text{:正解ラベルのエントロピー} \\
H(p, q) & \text{:正解ラベルと予測ラベルの交差エントロピー} \\
\end{cases}
✔ ポイント
-
KLダイバージェンスは、正解分布と予測分布のズレそのもの
-
KLダイバージェンス交差 $=$ 交差エントロピー $-$ エントロピー
-
機械学習では、エントロピー$H(p)$(正解側)は固定なので、交差エントロピーを最小化することは、KLダイバージェンスを最小化することと同じ
なぜ「log」を使うのか?
-
確率が小さいほど、大きなペナルティを与えたいから
-
logは、小さい数を大きく引き上げる(例:$\log(0.01) = -2$)
-
「ハズレを自信たっぷりで言ったとき」に、罰を大きくする
✔ 欠点
KLダイバージェンスには欠点がある:
-
非対称:$D_{\mathrm{KL}}(p \parallel q) \ne D_{\mathrm{KL}}(q \parallel p)$
-
値が無限大になることがある($q(x) = 0$ のとき)
→ これを改良したのがJSダイバージェンス!
✅ JSダイバージェンス
✔ JLダイバージェンスの定義
D_{\mathrm{JS}}(p \parallel q) = \frac{1}{2} D_{\mathrm{KL}}\left(p \parallel m\right) + \frac{1}{2} D_{\mathrm{KL}}\left(q \parallel m\right)
ただし、
- $m = \frac{1}{2}(p + q)$
✔ ポイント
-
対称性あり:$D_{\mathrm{JS}}(p \parallel q) = D_{\mathrm{JS}}(q \parallel p)$
-
値が常に有限:$0 \le D_{\mathrm{JS}} \le \log 2$
-
GAN(敵対的生成ネットワーク) の損失関数で登場する
🎯 まとめ
用語 | 数式 | 意味 |
---|---|---|
情報量 | $-\log p(x)$ | 事象の起こりにくさ |
エントロピー | $-\sum p(x)\log p(x)$ | 情報量の期待値 |
交差エントロピー | $-\sum p(x)\log q(x)$ | 予測と正解のズレの大きさ |
KLダイバージェンス | $\sum_x p(x) \log \frac{p(x)}{q(x)}$ | 分布と分布のズレの量 |
JLダイバージェンス | $\frac{1}{2} D_{\mathrm{KL}}\left(p \parallel m\right) + \frac{1}{2} D_{\mathrm{KL}}\left(q \parallel m\right)$ | KLダイバージェンスの改良版 |