KLダイバージェンスについて勉強したので、それの備忘メモ。
前提
- 2つの前提がある。この2つを前提に交差エントロピーが定義される。
- 前提①:期待値の計算方法の定義
- 前提②:自己情報量の定義
前提①:期待値の計算方法の定義
- 確率密度関数を $p(x)$ とする。
- まずは簡単なところからいくと、平均の期待値は、
$$
E[x] = \int p(x) \times xdx
$$
- 分散の期待値は、
$$
V[x] = \int p(x) \times (x-\mu)^2dx
$$
- 一般化すると、「確率密度関数 $p(x)$ の影響下において、ある関数 $f(x)$ の期待値は以下のように計算できる」ということ。
$$
E[f(x)] = \int p(x) \times f(x) dx
$$
- そして、KLダイバージェンスを理解するに当たって重要なのだが、この定義に従うと次のことができる。
- それは2つの関数の期待値の差分の計算である。
- いま、以下の3つの関数があったとする。
- 確率密度関数: $p(x)$
- 関数1: $f(x)$
- 関数2: $g(x)$
- $f(x)$ と $g(x)$の期待値の差分を計算しようとしたら、以下のように計算できる。
\begin{aligned}
"g(x)とf(x)の期待値の差分"
&= \int p(x) \times g(x) dx - \int p(x) \times f(x) dx \\
&= \int p(x) \times \{ g(x) - f(x) \} dx
\end{aligned}
後述するKLダイバージェンスの結論を先に言えば、 $g(x) = -log(q(x))$、 $f(x) = -log(p(x))$ とすることで、KLダイバージェンスの式となる。
前提②:自己情報量
-
情報量の定義としては、驚きの大きさであったり、分散の大きさ(予測しづらさ)、乱雑さなどがあるが、これを定量化するための定義式が、以下である。
- ある確率密度関数 $p(x)$ の自己情報量は、
$$
自己情報量 = -log(p(x))
$$- 確率密度関数 $p(x)$ はあくまでも確率密度関数であり、確率そのものではないため、 $0<= p(x)$ である。1以下という制限はない。
- 関数形からわかるように、 p(x) が小さいなるほど、 $-log(p(x))$ は大きい。p(x) が大きいなるほど、 $-log(p(x))$ は小さい。
- こうすることで、以下の定義に従う指標ができあがった。
- 高確率で起きる事象は情報量が少ない。⇒ 驚きが小さい
- 低確率で起きる事象は情報量が多い。 ⇒ 驚きが大きい
- これを自己情報量、と定義している。
エントロピーの定義とKLダイバージェンス
エントロピーの定義
-
上記の前提①②を組み合わせて、ある確率 $p(x)$ の情報量の期待値を計算することができる。
- $f(x) = -log(p(x))$ と置けば、
- 期待値の定義式(前提①)を使って、 $p(x)$ の情報量の期待値は、
\begin{aligned} p(x)の情報量の期待値 &= \int p(x) \times f(x) dx \\ &= \int p(x) \times \{-log(p(x))\} dx \end{aligned}
- これが、エントロピーである。
KLダイバージェンス
- KLダイバージェンスが開発されたモチベーションは、『ある確率 $p(x)$ を別の確率( $q(x)$)で置き換えたい!でも近似したときに、元の確率分布 $p(x)$ からどれくらい情報が無くなってしまうのか、定量化できないか?』というところから始まった。
- ある確率を別の確率で近似したい!となるシチュエーションがそもそもどういう時なのか?という疑問があるかもしれない。
- 実際にある。例えば、ベイズ推論で事後確率分布を直接求めることが難しいので、変分推論(変分近似)と呼ばれる方法で確率密度を計算しやすい分布で近似することはよく行われている。
- 上記のモチベーションを考えると、以下の①②を考えれば良さそうだとなる。
- ①元の $p(x)$ の影響下で、
- ② $p(x)$ と $q(x)$ のそれぞれの情報量がどれくらい失われるか?
- ①②の結論の前に、 $p(x)$ の影響下で $p(x)$の情報量、 $q(x)$ の情報量がそれぞれどのように定義されるかを考えてみると、
- $p(x)の情報量 = -log(p(x))$ である。これが $p(x)$ の影響下で、という条件がつけば、 $p(x)の情報量"の期待値" = \int p(x) \times {-log(p(x)) } dx$
- 同様に、$q(x)の情報量 = -log(q(x))$ である。これが $p(x)$ の影響下で、という条件がつけば、 $q(x)の情報量"の期待値" = \int p(x) \times {-log(q(x)) } dx$
- と定義される。
- したがって、これらの情報量(の期待値)の欠損を考えると、以下のように定義できる。
\begin{aligned}
"q(x)とp(x)の情報量の期待値の差分"
&= \int p(x) \times \{-log(q(x))\} dx - \int p(x) \times \{-log(p(x))\} dx \\
&= \int p(x) \times \{ \{-log(q(x))\} - \{-log(p(x))\} \} dx \\
&= \int p(x) \times \{ \{-log(q(x))\} + \{log(p(x))\} \} dx \\
&= \int p(x) \times log \frac{p(x)}{q(x)} dx
\end{aligned}
- これがまさにKLダイバージェンスの定義である。