【深層学習】深層学習に必要な数学まとめ 【No.3 情報理論 編】

テクノロジー

こんにちは!

前回の『深層学習を学ぶシリーズ』では、確率理論についてまとめました。【深層学習】深層学習に必要な数学まとめ 【No.2 確率 編】

今回は、その確率理論の応用ともいえる、情報理論についてまとめます。

情報理論はあまり理学の人にはなじみがなく、どちらかといえば工学系の分野です。機械学習をやる上では不可欠となります。

情報理論

情報には質・量などのいくつかのパラメータがあるものの、生活のなかでは「良い情報」とはどういうものなのかを定量的に定義せずに使用している。情報理論は信号に含まれる「情報」を定量的に定義し、扱う理論体系である。

情報理論では、主に情報量の定義、情報の送受信の効率化、情報に含まれるノイズの除去を目的としている。統計理論を取り扱う機械学習では、この情報理論が必須である。

情報の定量化

情報を定量的に表現する前に、情報の特徴を直感的にあげる。

Ⅰ.起こりやすい事象は情報量が少ない。

Ⅱ.起こりにくい事象は情報量が多い。

Ⅲ.情報の大きさは、事象が起きると足し算で増える(数学的に扱いやすい)。

必ず起きるとわかっている事象には、情報としての価値がないことからⅠは理解できるだろう。また、反対に珍しい事象は情報として価値があることから、Ⅱも理解できる。また、Ⅲに関しては、確率は通常、事象が複数回起きた場合はその全体の確率は積で表されるが、情報量は確率に対して和で表したいという数学的ニーズがあるためである。

これらの性質を表すために、情報量として次の自己情報量を定義する。

    \[I(x) = -\log{P(x)} \eqno(3.1)\]

P(x) は事象 x が起きる確率である。事象 P_1 と事象 P_2 が同時に起きたときの確率 P の事象から得られる自己情報量は、式(3.1)により、

    \[I(x) = -\log{P} = -\log{P_1P_2} = -(\log{P_1} + \log{P_2}) \eqno(3.2)\]

となり、先ほどのⅢの性質を満たしていることが分かる。

自然対数の場合、自己情報量 I(x) の単位はナット(nats)である。一方、底が2の場合、単位はビット(bits)である。機械学習では、自然対数でナットが使われる。

自己情報量の例:

サイコロを1回だけ投げたとき、「奇数の目が出た」という情報1と、「1~4のうちどれかの目が出た」という情報2があるとする。このとき、情報1は3択にまで出た目が絞れるので、明らかに情報量が多いのは情報1である。それぞれの自己情報量を計算してみると、

    \[I_1 = -\log{\frac{3}{6}}\simeq 0.69\]

    \[I_2= -\log{\frac{4}{6}} \simeq 0.41\]

となり、情報1の方が情報量が多いことが分かる。

(計算例おわり)

情報エントロピー(シャノンエントロピー、平均情報量)

データ分布がある場合に、その分布からどれくらいの情報が得られるのかを知りたい場合がある。そのときに、我々は平均的な情報量として情報エントロピーを計算する。

情報エントロピーは次のように、自己情報量の期待値として定義される。

    \[H(x) = \mathbb{E}[I(x)] = -\mathbb{E}[\log{P(x)}] = -\sum_{x}P(x)\log{P(x)}\eqno(3.3)\]

エントロピーは、一様分布ではその値が大きくなり、局所的にピークをもつような分布では小さくなる。言い換えれば、情報エントロピーは情報の不確かさである。

すでに知っている情報が少ない状態ほど、情報エントロピーは大きくなる。

情報エントロピーの計算例:

サイコロを1回振るとき、出た目が 2, 4, 5 のいづれかであると知ったときの情報エントロピー(平均情報量)は

    \[\begin{split}H(x) &= -\sum^{3}_{x}P(x)\log{P(x)} \\&= -\frac{1}{6}\log{\frac{1}{6}}-\frac{1}{6}\log{\frac{1}{6}}-\frac{1}{6}\log{\frac{1}{6}} \\&\simeq 0.90 \end{split}\]

となる。出た目が 1, 2, 4, 5 のいづれかであると知っているときは、

    \[\begin{split}H(x) &= -\sum^{4}_{x}P(x)\log{P(x)} \\&= -\frac{1}{6}\log{\frac{1}{6}}-\frac{1}{6}\log{\frac{1}{6}}-\frac{1}{6}\log{\frac{1}{6}}-\frac{1}{6}\log{\frac{1}{6}} \\&\simeq 1.19 \end{split}\]

となり、すでに出目を絞れている場合の方が情報エントロピーは小さい(情報の不確かさは小さい)。

(計算例おわり)

二項分布の情報エントロピー (1-p)\log{(1-p)}-p\log{p} は次のようなグラフになる。

図3.1 二項分布の情報エントロピー

一様分布に近い  p = 0.5 ときに、情報エントロピーは最大になっていることがわかる。

相対エントロピー(カルバック・ライブラーダイバージェンス)

相対エントロピーを用いることで、確率分布の差を測ることができる。

相対エントロピーは情報エントロピーの差で表される。

    \[D(P||Q) = \mathbb{E}\left[\log{\frac{P(x)}{Q(x)}\right] = \mathbb{E}[\log{P(x)} - \log{Q(x)] \:\:\:\:\:\eqno(3.4)\]

相互情報量

相互情報量は不確実性(情報エントロピー)の減少量として定義されている。つまり、何かが分かると、どれだけ分からなさ(不確実性)が減るかという量である。

    \[I(B;C) = H(B) - H(B|C) \eqno(3.5)\]

記号については、 【深層学習】深層学習に必要な数学まとめ 【No.2 確率 編】 を参照したいが、簡潔にいえば、上式は事象 B の不確実性 H(B) から C が分かったあとの B の不確実性 H(B|C) を引いている。

BC が独立な場合、相互情報量は最小値0になる。

相互情報量の計算例:

サイコロをふることを考える。事象 B は「1~6の目が出る」ということにすると、 H(B)

    \[H(B) = -\sum^{6}\frac{1}{6}\log{\frac{1}{6} \simeq 1.79 \:\:\:\:\:\eqno(3.6)\]

である。

次に、I(B;C) を計算するために、 H(B|C) を求める。

ここで、事象  C の情報として「サイコロの目は偶数である」という情報(偶数か奇数かわかったという情報)が与えられるとする。

    \[H(B|C) = \sum_{odd,even}P(c_i)H(B|c_i) = P(odd)H(B|odd) + P(even)H(B|even) \eqno(3.7)\]

であり、また

    \[H(B|odd) = H(B|even) = -\sum^{3}\frac{1}{3}\log{\frac{1}{3}} \simeq =  1.10 \eqno(3.8)\]

となる。

したがって、式(3.7)に式(3.8)を代入して、 H(B|C) は1.10(nats)となる。したがって、相互情報量 I(B;C)

    \[I(B;C) = H(B) - H(B|C) = 1.79 - 1.10 = 0.69 \eqno(3.9)\]

と求められる。つまり、サイコロをふる場面において、サイコロの目が偶数であるとわかると、不確実さがこれだけ減少する。

(計算例終わり)


created by Rinker
¥5,060 (2019/12/15 09:49:42時点 楽天市場調べ-詳細)

情報理論編は以上です!間違い、ご指摘などありましたら、ご連絡いただけると幸いです。Twitter : ATS@ゆとりの生き残り

次回の『深層学習を学ぶシリーズ』では、【No.4】最適化計算編を掲載します。数値計算編では、機械学習で必要不可欠でかつ基本的な最適化手法について紹介します。


【参考文献】

・深層学習 (株式会社ドワンゴ)Ian Goodfellow, Yoshua Bengio, Aaron Courville 【著】、岩澤有祐、鈴木雅大、中山浩太郎、松尾豊【監訳】

・Logics of Blue https://logics-of-blue.com/information-theory-basic/

コメント

タイトルとURLをコピーしました