「シャノン・エントロピー」と「相対エントロピー」

ある確率分布 $p_i$が与えられた時、その情報量は、$ - \sum  p_i log(p_i)$ で与えられる(シャノンの情報量)。

(今回は、特に、説明しなかったのだが、「情報量」と「エントロピー」は、同じ概念である。)

ただ、どんな確率分布についても、アプリオリに一つの情報量が先の公式で天下り的に定まるということに、すこし違和感を持つ人がいるかもしれない。(僕は、そうだったのだが)

そういう人には、次の「相対的な情報量」という考え方の方が、納得が行きやすいと思う。得られる情報量は、絶対的な確定したものではなく、事前に知っていたこととの関係で決まる、相対的なものだと考えるのだ。

事前に知っていた(多分、それは正確な知識ではないかもしれないので「仮説」といってもいい)確率分布を$p_i$ としよう。実際に、観測して新しい確率分布 $q_i$ が得られた時の、 $p$に対する$q$の「相対的情報量」を、次の式で定義する。
$$ I(q,p) = \sum  q_i log (q_i / p_i)$$
$I(q,p)>=0$ で、 $I(q,p)=0$となるのは、$q=p$ の場合だけであることはすぐわかる。

明らかに、先のアプローチは、ベイジアンのものである。「相対的な情報量」というのは、アプリオリな「シャノンの情報量」を、ベイジアンの考え方で、相対化した情報量なのである。

情報量のこの相対的な解釈は、人間の認識で得られる情報量の解釈には、とても向いている。認識や学習のモデルを、この情報量を使って解釈できる。

例えば、先の$I(q,p)=0$の場合の解釈では、仮説$p$と実験結果$q$が一致した場合には、実験で得られた情報量は0 だと考えればいい。

認識の順番を$t$ で表してみよう。先の例では、事前の仮説$p(t-1)$が、実験によって、事後に $q(t)$ に置き換わるのだが、この実験で得られた情報は、$I(q(t), p(t-1))$ で表される。

ここで、$q(t)$を新たな$p(t)$ として、$I(q(t+1), p(t))$ を考える操作を繰り返すことができる。 これは、「認識の発展」のモデルと考えることができる。この「認識の発展」は、$I(q,p)=0$になるときに終わる。

逆に、もしも、最初から正しい分布$q$を、何らかの方法で我々が知っていて、実験$p(t)$を繰り返すのなら、$I(q, p(t))$ は、実測値$p(t)$から、正しい答え$q$に至るために「学習しなければいけない情報量」を表すことになる。($q$は、「常に正しい」と仮定しているので、それは時間には依存しない。$q$は、$t$を含まないことに注意。)

ここでは、$I(q,p(t))=0$ は、「もはや、学習すべき情報が残されていない」ことを意味して、その状態で、学習は終わる。

ディープラーニングでコスト関数として利用される「クロス・エントロピー」は、こうした「相対的情報量」の一種である。

「正しい」分布をq、実測値を pとしたとき、クロス・エントロピー $H(q,p)$は、次の式で定義される。
$$H(q,p) = - \sum q_i log (p_i)$$
先の i(q,p)の定義から、次のことがわかる。
$$I(q,p) = \sum q_i log (q_i / p_i) = \sum q_i log(q_1) - \sum q_i log (p_i) = - (qのシャノン・エントロピー) + H(q,p)$$
要するに、pに対するqの相対エントロピー $I(q,p)$は、$p$に対する$q$のクロス・エントロピー $H(q,p)$ から、$q$のエントロピーを引いたものである。

$q$が「正しい」とき、そのエントロピーは定数になるから、クロス・エントロピーと相対エントロピーとは、その定数分の差しかないことになる。ほぼ同じものである。

個人的には、シャノンのエントロピーの定義も、ぶっきらぼうだと思うのだが、クロス・エントロピーの定義は、もっとわかりにくいように感じているのだが。

ディープラーニングでの「学習」の直接の目的は、クロス・エントロピーを最小にすることなのだが、相対エントロピーの言葉で言えば、それは、「正しい」認識に至るために、「残された学習すべき情報を最小のものにすること」となる。

こちらの方がわかりやすい。

コメント

このブログの人気の投稿

TensorFlow Foldについて

TPU論文の翻訳(1)

可微分ニューラルコンピュータとは何か(1) 概論