情報理論:KLダイバージェンス
エントロピーと交差エントロピーを理解したら、KLダイバージェンスはほぼ式の変形でしかない。ただし、それが意味することや特性を理解しておかないと論文などで出てきたときに躓く理由になる。
この記事では、以下を重点に解説する。
KLとは何を意味するのか
KLダイバージェンスとは
確率分布の類似性とは
変分オートエンコーダとの関連
KLとは何を意味するのか
KLとはKullback-Leiblerの略。Solomon KullbackとRichard A. Leiblerのの名前が由来。
この二人がKLダイバージェンスを1951年に導入した。
よって、カルバック・ライブラー・ダイバージェンスと呼ばれることもある。ただし、長いのでKLダイバージェンスと呼ぶのが通常。時にはKLDと略される。
あと、相対エントロピーとも呼ばれる。これは後で説明するが、その意味を考えるとよくわかる。
KLダイバージェンスとは
KLダイバージェンスは二つの確率分布の違いを数量化したもの。
見方を少し変えると、ある確率分布Qがターゲットの確率分布Pをどのくらい忠実に近似しているかを数値として表している。
計算の仕方は簡単で、交差エントロピーから情報エントロピーを引くだけ。
$$
D_{KL}(P \| Q) = H(P, Q)-H(P)
$$
H(P,Q)は交差エントロピーで、H(P)は情報エントロピー。
$$
\begin{align*}
H(P, Q) &= \mathbb{E}_{x \sim P}[-\log Q(x)] \\\\
H(P) &= \mathbb{E}_{x \sim P}[-\log P(x)]
\end{align*}
$$
交差エントロピーは予測された情報量の平均をターゲットの確率分布Pで計算したもので、予測が完璧であれば、確率分布Pから計算できるエントロピーに等しくなる。
よって、交差エントロピーから情報エントロピーを引いたものは相対的(余分)な情報量の平均とも言える。よって相対エントロピーとも呼ばれる。
確率分布Qによる確率分布Pの近似が良ければ、KLダイバージェンスは小さくなり0に近づく。
KLダイバージェンスを期待値の形で表すと、
$$
\begin{align*}
D_{KL}(P\|Q) &= \mathbb{E}_{x \sim P}[-\log Q(x)]-\mathbb{E}_{x \sim P}[-\log P(x)] \\
\\
&= \mathbb{E}_{x \sim P}[-\log Q(x)-(-\log P(x))] \\
\\
&= \mathbb{E}_{x \sim P}[-\log Q(x)+\log P(x)] \\
\\
&= \mathbb{E}_{x \sim P}[\log P(x)-\log Q(x)] \\
\\
&= \mathbb{E}_{x \sim P}\left[\log \frac{P(x)}{Q(x)}\right]
\end{align*}
$$
となる。
離散分布ならば、以下のような総和になる。
$$
D_{KL}(P\|Q) = \sum\limits_i P_i \log \dfrac{P_i}{Q_i}
$$
連続分布ならば、以下のような積分になる。
$$
D_{KL}(P\|Q) = {\displaystyle \int_{-\infty}^{\infty} P(x) \log \dfrac{P(x)}{Q(x)} dx }
$$
上記の式をKLダイバージェンスの定義として何の説明もなく導入する記事やテキストがあるが、中身が分かっていれば何の不思議もない。
非負生
KLダイバージェンスは常に0以上となる。
$${P=Q}$$の場合は、$${\log \frac{P}{Q} = \log 1 = 0}$$ なので$${D_{KL}(P\|Q) = 0}$$
$${P \ne Q}$$の場合は、情報エントロピーは最小値なので$${D_{KL}(P \| Q) > 0}$$
要するに、確率分布Pに従う情報のエントロピーは、理論上の最小平均圧縮データ長になるので、交差エントロピーと情報エントロピーの際は差は0以上になる。
こうしてみると、KLダイバージェンスは距離の概念に似ている。しかし、距離とは違ってKLダイバージェンスは非対称である。
非対称性
ところで、$${D_{KL}(P \| Q)}$$では、なぜ2本の縦線$${\|}$$を使っているのか。
Solomon KullbackとRichard A. Leiblerはこの記号を使っていないのでその起源はよくわからない。
よく見る説明は、
というもの。
‖を使わない人もいるが、‖を使うことで非対称性を表すというのはそうしないよりは良いアイデアだと思う。
情報エントロピー、交差エントロピー、KLダイバージェンスは、全て期待値を計算している。期待値を計算する際の確率分布が異なると期待値も異なってくるのだが、$${{H(Q,P)}$$や$${D_{KL}}$$などの短い記号を使っていると、ついつい忘れがち。
交差エントロピーの記事で触れたが、一般に、
$$
H(P, Q) \ne H(Q, P)
$$
である。
よって、一般に、
$$
D_{KL}(P\|Q) \ne D_{KL}(Q\|P)
$$
となる。
繰り返しになるが、期待値を計算するときの確率分布がPからQに変わるので、一般には$${D_{KL}}$$の値はPとQに関して非対称になる。偶然に値が一致する場合が全くないとは言えないが。
もちろん、確率分布PとQが同じならば等号が成り立ち、
$$
\begin{align*}
P \equiv Q \quad\rightarrow\quad D_{KL}(P\|Q)
&= D_{KL}(Q\|P) \\
&=D_{KL}(P\|P) \\
&=0
\end{align*}
$$
となる。
非対称性は重要なので図で直感的な説明をする。
仮にこんな確率分布Pがあったとする。
これを正規分布Q(下図の青線部)で近似したいとする。
この場合、KLダイバージェンスは、正規分布Qで確率分布Pを近似した場合の効率の悪さの度合いを示す。
$$
D_{KL}(P\|Q) = \mathbb{E}_{x \sim P}\left[\log \dfrac{P(x)}{Q(x)}\right]
$$
もし、PとQを入れ替えると、グラフの見方が変わる。
この場合、KLダイバージェンスは確率分布Pで確率分布Qを近似した場合の効率の悪さの度合いになる。
$$
D_{KL}(Q\|P) = \mathbb{E}_{x \sim Q}\left[\log \dfrac{Q(x)}{P(x)}\right]
$$
両方とも確率分布の類似性を計算しているが一般に結果は異なるので注意が必要だ。
ただし、次に見るように両方のアプローチともに有益ではある。
確率分布の類似性
確率分布の類似性がわかると何が嬉しいのか。
モデルの有効性
世の中にある確率分布をよく知られた確率分布で近似するというのはよく行われる。
例えば、正規分布などをモデルとして採用した場合に、全体像が分からない真の確率分布Pをどの程度近似できているのかは、
$$
D_{KL}(P\|Q)=\mathbb{E}_{x \sim P}\left[\log \dfrac{P(x)}{Q(x)} \right]
$$
と表され、Pの実際の分布を知らなくとも、ここからさらに理論的考察を重ねていくことができる。
変分オートエンコーダ
変分オートエンコーダの話は、KLダイバージェンスの理解に必要なわけではないので、ピンと来ない方はこのセクションは飛ばして欲しい。
気になる方は、変分オートエンコーダ①紹介編を参照してください。
詳しい解説は省くが、変分オートエンコーダでは訓練により、入力画像を多変数の正規分布へとエンコーディングすることができる。よって、その正規分布からのランダムな潜在変数(ベクトル値)を入力としてデコーダがその潜在変数に対応する最もらしい画像を出力するという仕組みになっている。
画像を潜在的な空間にエンコード(圧縮)する際に生じる潜在変数の確率分布を我々は完全に把握することはできない。
よって、変分オートエンコーダでは、正規分布Qによって真の確率分布Pとの近似を次のように表す。
$$
D_{KL}(Q\|P)=\mathbb{E}_{x \sim Q}\left[\log \dfrac{Q(x)}{P(x)} \right]
$$
$${x}$$がここでは潜在変数だとしている。
このKLダイバージェンスを損失関数に含め正則化の役割を果たすように使うことで、変分オートエンコーダのエンコーダが出力する確率分布が入力画像に依存した正規分布に従うようになる。そうなるような正規分布のパラメータを訓練を通して見つけている。
正規分布を使っていると言っても多変数であるし、入力画像に依存して平均と分散が変わるので全体としては潜在空間における複雑な分布を表現できるようになる。
数学的なポイント
いくつか数学的に想定していたポイントを厳密な証明なしでここに記す。
$${\log p}$$は$${p}$$が0に近づこと負の無限に近づくが、$${p \log p}$$は0に近づく。
$$
\lim\limits_{p \rightarrow 0} p \log p = 0
$$
確率分布Pの値が正のところで確率分布Qの値が0だったら、KLダイバージェンスは無限大になる。
言い換えると、もし$${P(X=x) > 0}$$のところで$${Q(X=x) = 0}$$だったら、$${D_{KL}(P\|Q) = \infty}$$になってしまう。これはQが分母にあるのが理由。
KLダイバージェンスが非負である理由
$$
\begin{align*}
D_{KL}(P\|Q) &= \mathbb{E}_{x \sim P}\left[ \log \dfrac{P(x)}{Q(x)} \right] \\ &= \mathbb{E}_{x \sim P}\left[-\log \dfrac{Q(x)}{P(x)} \right] \end{align*}
$$
ここで、$${−\log}$$はconvex(凸性)なのでイェンセンの不等式(Jensen’s inequality)により、
$$
\begin{align*}
D_{KL}(P\|Q) &\ge -\log\left(\mathbb{E}_{x \sim P} \left[ \dfrac{Q(x)}{P(x)} \right]\right) \\
\\
&= -\log\left( {\displaystyle \int P(x) \frac{Q(x)}{P(x)} dx }\right) \\
\\
&= -\log\left( {\displaystyle \int Q(x) dx }\right) \\ \
\\
&= -\log(1) \\
\\
&= 0
\end{align*}
$$
となりKLダイバージェンスが非負(0以上)であることになる。
関連記事
この記事が気に入ったらチップで応援してみませんか?