compcogneuro/web: information-theory
このページは外部資料の日本語訳です。原文の見出し順と本文順を保ち、コード・URL・出典表記はできるだけ原形のまま残しています。
出典とライセンス
原典: https://github.com/compcogneuro/web/blob/main/content/information-theory.md
ライセンス: Text: CC BY 4.0; code: BSD 3-Clause。このページは日本語翻訳であり、変更点は翻訳とサイト内整形です。
+++ Categories = [“Computation”] bibfile = “ccnlab.json” +++ 情報理論のフレームワークは、[[linear algebra]] のようなフレームワークで、ニューラル ネットワークの動作を理解するための中心的な概念を多数提供します。
information の基本的な数学的定義は、Claude Shannon ([[@Shannon48]]) によって、確率論的な文脈における uncertainty に相当する entropy の概念に関して与えられました。直観的には、不確実性が最大の状況は、その状況についてさらに学ぶことで「最も多くの情報を得る」ことができる状況でもあります。逆に、ある状況についてすでにすべてを知っている場合は、それ以上の情報を得ることができません。
したがって、メッセージに含まれる情報の量は、そのメッセージの受信によってもたらされる不確実性の低減レベルの関数です。
これは、数値が 1 と 0 で表されるバイナリ コードにも適用できます。たとえば、数字 5 は 101 です。最初の 2 進数字 1 は数字 4 を表し、2 番目の数字 (0) は数字 2 を表し、最後の数字は数字 1 を表すため、14 + 02 + 1*1 = 5 となります。3 桁のメッセージにこれらの数字のいずれかが表示されると、不確実性が 2 分の 1 に減少します。これは、3 で表される可能性のある 8 つの異なる数字があるためです。 2 進数 (0 = 000 ~ 7 = 111) であり、その数字の 1 つを見ることは、その数値を 2 で割ることと同じです。最初の数字が 0 であることがわかった場合、残りの不確実性は、たとえば 0 ~ 3 の間の値に限定されます。
値 4 も表す 4 番目の 2 進数字を導入した場合、この冗長な数字は新しい情報を追加しません。つまり、他の 3 桁をすべて知っている場合、この 4 番目の数字の値を学習しても不確実性は軽減されません。あなたはすでにその価値を知っているでしょう。
同様に、2 進数の各値がメッセージのセット全体で等しく発生する可能性が低い場合 (たとえば、3 を超える値、つまり 4 値の数字の 1 が得られることは非常にまれです)、そのようなメッセージ内の合計情報は、この数字に関連する不確実性が減少するため、実際には減少します。その数字の値が 0 であるメッセージを受け取るたびに、「ああ、それはもう知っていた」と言うだけで、それが 1 だった場合にのみ驚くでしょう。
レアな 1 を手に入れることに伴う驚きが、予想される他の退屈なケースすべてを上回るように思えるかもしれませんが、エントロピーの数学ではそうではないことが判明しています。最大の情報は、常に各オプションの可能性が等しい場合に得られます。
数学的には、entropy の式で上記のすべてが説明されます。
{id=”eq_entropy” title=”エントロピー”} \(H = - \sum_i p_i \log_2(p_i)\)
ここで、インデックス $i$ は、そのような可能性の数え切れないセットからのそれぞれの個別の可能な結果を表します。たとえば、0 または 1 のいずれかになる単一のバイナリ値の式は、$p$ が 1 になる確率は次のようになります。
{id=”eq_entropy-bit” title=”ビットのエントロピー”} \(H = - p \log_2(p) - (1-p) \log_2(1-p)\)
この式の最大値は $p = 0.5$ のときに発生することがわかります。つまり、0 または 1 である可能性が等しく、どちらの側でも対称的に減少します。 $p = 0.5$ におけるこの式の数値は 1 です。これは、$\log_2$ の底 2 (バイナリ) 対数を使用しているため、情報が 1 ビット_ あることを意味します。したがって、ビットが同じ確率で 0 と 1 の状態を持つ場合にのみ、そのビットに実際に 1 ビットの情報が含まれることになります。
エントロピー測定は、層内のニューロンの集団の情報内容を定量化するために適用すると便利です。各ニューロンがアクティブになる確率が 0.5 で、どのニューロン間にも相関がない場合、全体の情報量が最大になります。これは、[[neocortex]] でのニューロン活動とはまったく異なります。ほとんどのニューロンはほとんどの時間、基本的に非活動的ですが、著しく活動化される可能性は約 15% です。さらに、異なるニューロン間には強い相関関係があることがよくあります。これは、これらのニューロンが表現できる情報量を最大化していないことを示しており、したがって、これらの表現の性質を決定する他の重要な基準があるに違いありません。
たとえば、相関関係は関係性に関する情報を伝達するのに役立ち、これは推論に役立ちます。また、全体的なアクティビティ レベルが低いスパース コードはエネルギー効率が高く、多くのことが低い確率で発生する自然界の統計とよりよく一致します。
それにもかかわらず、[[principal components analysis]] の一種が脳内で動作している場合、ニューロン間の相関が減少し、ニューロンの発火の分散が増加する傾向があるため、おそらく複数の相反する力が働いており、私たちが観察しているのはそれらの力のバランスです。
相互情報
「相互情報」の概念は、一方の信号を受信した後に他方の信号に残る不確実性の量という観点から、2 つの信号間の関係を定量化するのに非常に役立ちます。これは、異なる層内のニューラル表現間の関係、または 1 つの層内のニューロン間の関係を分析するためによく使用されます。たとえば、独立成分分析 (ICA) ([[@JuttenHerault91]]) の計算には、相互情報量を最小限に抑えることが含まれており、これにより、各成分が最大限に独立した情報を得ることができるようになります。
数学的には、相互情報量は次のように定義されます。
{id=”eq_mi” title=”相互情報”} \(I(X;Y) = \sum_{x,y} p(x,y) \log \frac{p(x,y)}{p(x) p(y)}\)
ここで、$p(x,y)$ は、一緒に発生する 2 つのイベントの_結合確率_であり、各イベント自体の_独立した確率_によって正規化されています ($p(x) p(y)$)。直観的には、結合確率が独立確率と同じであれば、それらのイベント間に特別な相互情報はありません。しかし、結合確率が独立確率よりもはるかに高い場合、それらの相互情報量は高くなります。
分数の対数をとることは、分子の対数から分母を差し引くことと同じであることを思い出してください。分母の指数が -1 であるため、両方の値が同じであれば、比率の右側の因数は 0 になります。
KL ダイバージェンス (情報獲得)
[[abstract neural network]] モデルに広く適用されている情報理論のもう 1 つの中心的な概念は、カルバック-ライブラー発散です。これは、2 つの異なる確率分布 $p$ と $q$ を比較する方法です。
{id=”eq_kl” title=”KL ダイバージェンス”} \(KL(p,q) = \sum_x p(x) \log \frac{p(x)}{q(x)}\)
これは相互情報量と同様の形式であり、同じ用語で理解できます。$p$ と $q$ が分布内の x の値全体で基本的に同じである場合、ログ内の値は相殺され、差は 0 になります。
エラー駆動学習は KL 発散の観点から定式化されており、$p$ がターゲット、正しい確率分布、$q$ がネットワークによって生成された現在の確率分布であり、学習はこの 2 つの間の KL 発散を削減しようとします。