MathLabs

応用数学と計算数学

情報理論

エントロピーを用いて情報量と通信の限界を定量化する理論で、クロード・シャノンが創始した。

直観推測ゲームと、メッセージが実際にどれだけの情報を伝えるか

誰かがコインを投げてその結果を教えてくれる場面を想像してほしい。コインが公正なら、毎回本当に意外なことを知ることになる — 表と裏は同じ確率なので、結果を前もって予想することはできない。コインがほとんどいつも表になるなら、「表」と聞いてもほとんど何も新しい情報は得られない(予想通りだから)が、稀な「裏」を聞くことはずっと多くの情報を運ぶ小さな驚きになる。情報理論は、この日常的な直感 — 稀で意外な結果は、予想通りで予測しやすい結果よりも多くの情報を運ぶ — を正確な数値に変える。

水平軸の中央でピークに達し、両端で低い値に落ちる下に開いた放物線で、両端でゼロになり確率2分の1で最大になる二値エントロピー関数の形を示している。
描画された曲線 y=−2x2+1y = -2x^2 + 1 は、二値エントロピー関数 H(p)H(p) と定性的に同じ形をしている:両端付近で小さく、中央でただ1つのピークに達する。H(p)H(p) 自体は p=0p=0 と p=1p=1 でゼロになり(驚きがない — 結果が確実)、p=0.5p=0.5 でピークになる(驚きが最大 — 公正なコイン)。

中高ビット、驚き、そしてエントロピーの公式

定義: シャノンエントロピー

確率 pip_i(i=1,…,ni = 1, \dots, n)で値 ii を取る確率変数 XX について、シャノンエントロピー H(X)H(X) は結果あたりの平均驚きビット数である:H(X)=−∑i=1npilog⁡2piH(X) = -\sum_{i=1}^n p_i \log_2 p_i。項 −log⁡2pi-\log_2 p_i は結果 ii の「驚き」であり、pip_i が小さい(稀で意外)ほど大きく、pi=1p_i = 1(確実で驚きなし)のとき 00 になる — H(X)H(X) は各結果が実際に起こる頻度で重み付けしてこの驚きを平均したものである。

H(X)=−∑i=1npilog⁡2piH(X) = -\sum_{i=1}^n p_i \log_2 p_i

ここで nn は起こり得る結果の数、pip_i は結果 ii の確率(∑ipi=1\sum_i p_i = 1)であり、底が 22 の対数は H(X)H(X) がビット単位で測られることを意味する。最も重要な特別な場合は、確率 pp と 1−p1-p を持つ2つの結果のコインである:H(p)=−plog⁡2p−(1−p)log⁡2(1−p)H(p) = -p\log_2 p - (1-p)\log_2(1-p)、これを二値エントロピー関数と呼ぶ。

H(p)=−plog⁡2p−(1−p)log⁡2(1−p)H(p) = -p\log_2 p - (1-p)\log_2(1-p)
いくつかの例の分布に対するエントロピー(ビット単位)
分布エントロピー H(X)H(X)
公正なコイン、p=(0.5, 0.5)p=(0.5,\,0.5)11 ビット(2つの結果に対して最大)
偏ったコイン、p=(0.9, 0.1)p=(0.9,\,0.1)≈0.469\approx 0.469 ビット
88 個の結果にわたる一様分布33 ビット(=log⁡28=\log_2 8)
決定論的、p=(1, 0)p=(1,\,0)00 ビット(驚きが全くない)

大学ギブスの不等式、最適符号、通信路容量

同じ nn 個の結果に対する2つの確率分布 pp と qq について、カルバック・ライブラー情報量 D(p∥q)D(p\|q) は、結果が実際には pp に従うのに qq に従うと仮定することでどれだけ「無駄」が生じるかを測る:D(p∥q)=∑ipilog⁡2piqiD(p\|q) = \sum_{i} p_i \log_2\frac{p_i}{q_i}。この量は、エントロピーがなぜそのように振る舞うのか、そしてなぜどの符号もエントロピーの限界を超えられないのかの根底にある — どちらも次の不等式の帰結である。

同じ nn 個の結果に対する任意の2つの確率分布 p=(p1,…,pn)p=(p_1,\dots,p_n) と q=(q1,…,qn)q=(q_1,\dots,q_n)(すべて pi,qi>0p_i, q_i > 0)について、D(p∥q)≥0D(p\|q) \ge 0 が成り立ち、等号 D(p∥q)=0D(p\|q) = 0 は p=qp = q のとき、かつそのときに限り成立する。

なぜ正しいのか?

対数は凹関数なので、「平均的に」その接線の下側にある。ギブスの不等式は、凹関数 log⁡2\log_2 に pp で重み付けしたイェンセンの不等式そのものである:対数の中の各比 qi/piq_i/p_i をその pp 重み付き平均(11 に等しい)で置き換えると和は増加するしかなく、そのため情報量は非負にならざるを得ない。

証明

すべての x>0x > 0 に対する初等的な不等式 ln⁡x≤x−1\ln x \le x - 1 から始める。等号は x=1x=1 のときのみ成立する(これは f(x)=ln⁡x−(x−1)f(x) = \ln x - (x-1) が f(1)=0f(1)=0、f′(x)=1/x−1f'(x) = 1/x - 1 を持ち、x<1x<1 で正、x>1x>1 で負であるため、ff が x=1x=1 に唯一の最大値を持つことからわかる)。ln⁡2\ln 2 で割ると log⁡2x≤(x−1)/ln⁡2\log_2 x \le (x-1)/\ln 2 となる。

これを各 ii について x=qi/pix = q_i/p_i に適用する:log⁡2(qi/pi)≤(qi/pi−1)/ln⁡2\log_2(q_i/p_i) \le (q_i/p_i - 1)/\ln 2。両辺に pi>0p_i > 0 を掛け(不等号の向きは変わらない)、ii について和をとる:∑ipilog⁡2(qi/pi)≤1ln⁡2∑i(qi−pi)=1ln⁡2(∑iqi−∑ipi)=1ln⁡2(1−1)=0\sum_i p_i \log_2(q_i/p_i) \le \frac{1}{\ln 2}\sum_i (q_i - p_i) = \frac{1}{\ln 2}\left(\sum_i q_i - \sum_i p_i\right) = \frac{1}{\ln 2}(1 - 1) = 0、なぜなら pp と qq はどちらも和が 11 の確率分布だからである。

左辺はまさに −D(p∥q)-D(p\|q) である(対数の中身が pi/qip_i/q_i ではなく qi/piq_i/p_i であることによる符号の反転に注意)ので、これは D(p∥q)≥0D(p\|q) \ge 0 を証明する。

すべてで等号が成り立つには、pi>0p_i > 0 であるすべての ii について ln⁡x≤x−1\ln x \le x-1 で等号が必要であり、それはそのようなすべての ii で qi/pi=1q_i/p_i = 1 のとき、すなわち p=qp = q のときにのみ起こる。

XX の結果を効率的に保存または送信するために、各結果 ii に長さ lil_i の2進符号語を割り当て、どの符号語も他の符号語の接頭辞にならないようにする(接頭符号)。これにより受信者は符号語の列を曖昧さなく即座に復号できる。どの長さのリストでも実現できるわけではない:接頭符号の長さはクラフトの不等式 ∑i=1n2−li≤1\sum_{i=1}^n 2^{-l_i} \le 1 を満たさなければならない。

∑i=1n2−li≤1\sum_{i=1}^n 2^{-l_i} \le 1

エントロピー H(X)H(X) を持つ情報源 XX について、任意の接頭符号は平均符号語長 LL が L≥H(X)L \ge H(X) を満たし、また H(X)≤L<H(X)+1H(X) \le L < H(X) + 1 を満たす接頭符号が存在する。

なぜ正しいのか?

下限は、エントロピーが厳格な下限であることを示している:どの可逆な接頭符号も、平均して記号あたり H(X)H(X) ビットを下回ることはできない。それを上回るには、符号によって誘導される分布が XX の真の分布と異なる必要があり、それはギブスの不等式が禁じているからである。上限は、この下限がほぼ達成可能であることを示している:各理想長 −log⁡2pi-\log_2 p_i を整数に切り上げても、平均して1ビット未満しか無駄にならない。

証明

下限については、lil_i を任意の接頭符号の長さとすると ∑i=1n2−li≤1\sum_{i=1}^n 2^{-l_i} \le 1 が成り立つ。Z=∑j2−lj≤1Z=\sum_j 2^{-l_j} \le 1 として qi=2−li/Zq_i = 2^{-l_i}/Z と定義すると、qq は確率分布になる。ギブスの不等式より、0≤D(p∥q)=∑ipilog⁡2(pi/qi)=∑ipilog⁡2pi−∑ipilog⁡2(2−li/Z)=−H(X)+∑ipili+log⁡2Z0 \le D(p\|q) = \sum_i p_i \log_2(p_i/q_i) = \sum_i p_i\log_2 p_i - \sum_i p_i \log_2(2^{-l_i}/Z) = -H(X) + \sum_i p_i l_i + \log_2 Z。Z≤1Z \le 1 より log⁡2Z≤0\log_2 Z \le 0 なので、0≤−H(X)+L+log⁡2Z≤−H(X)+L0 \le -H(X) + L + \log_2 Z \le -H(X) + L となり、これを整理すると L≥H(X)L \ge H(X) が得られる。

上限(達成可能性)については、各 ii に対して li=⌈−log⁡2pi⌉l_i = \lceil -\log_2 p_i \rceil を選ぶ(理想長を最も近い整数に切り上げる)。この長さはクラフトの不等式を満たす。なぜなら 2−li≤2−(−log⁡2pi)=pi2^{-l_i} \le 2^{-(-\log_2 p_i)} = p_i なので ∑i2−li≤∑ipi=1\sum_i 2^{-l_i} \le \sum_i p_i = 1 となるからである。クラフト・マクミラン構成により、このような長さは常に実際の接頭符号として実現できる(2分木の中でレベルごとに2進文字列を割り当てて符号を構築する)。

天井関数の定義より li<−log⁡2pi+1l_i < -\log_2 p_i + 1。これに pi≥0p_i \ge 0 を掛けて ii について和をとると L=∑ipili<∑ipi(−log⁡2pi+1)=H(X)+1L = \sum_i p_i l_i < \sum_i p_i(-\log_2 p_i + 1) = H(X) + 1 となる。

両方を合わせると、この構成は H(X)≤L<H(X)+1H(X) \le L < H(X) + 1 を達成する。

次に、メッセージが雑音のある通信路を通じて送られるとする:XX が送信されたとき受信者は YY を見て、雑音により記号が反転することがある。相互情報量 I(X;Y)=H(X)−H(X∣Y)I(X;Y) = H(X) - H(X\mid Y) は、平均してノイズを生き延びる XX に関するビット数を測る — XX のエントロピーから、YY を見た後に残る不確実性 H(X∣Y)H(X\mid Y) を引いたものである。通信路容量 C=max⁡p(x)I(X;Y)C = \max_{p(x)} I(X;Y) は、最良の入力分布 p(x)p(x) を選ぶことで達成できる相互情報量の最大値である。

I(X;Y)=H(X)−H(X∣Y)I(X;Y) = H(X) - H(X\mid Y)
C=max⁡p(x)I(X;Y)C = \max_{p(x)} I(X;Y)

最も単純な雑音のある通信路は二元対称通信路(BSC)である:送信された各ビットは交差確率 pp で独立に反転する。その容量は C=1−H(p)C = 1 - H(p) となり、前に出てきた同じ二値エントロピー関数 H(p)H(p) を用いる — 情報源符号化と通信路符号化という理論の2つの半分をきれいに結ぶ橋渡しである。

容量 CC を持つ離散無記憶通信路について、十分長いブロック符号を用いれば、R<CR < C を満たす任意の伝送レート RR(通信路使用あたりのビット数)で信頼性の高い通信(誤り確率 Pe→0P_e \to 0)が可能である。逆に、R>CR > C を満たす任意のレートで Pe→0P_e \to 0 を達成できる符号化方式は存在しない。

なぜ正しいのか?

容量は単に便利な公式であるだけでなく、真の壁である。その値より下では、十分に長いブロックにメッセージを広げることで、ランダムに見える符号語が雑音があっても区別可能なままとなり、誤りを0に近づけることができる。その値より上では、どんなに巧妙な符号を使っても、通信路は符号が保護できる速さよりも速く情報を破壊してしまう。

証明

**逆方向(R>C⇒Pe↛0R > C \Rightarrow P_e \not\to 0)。** ファノの不等式は、雑音のある出力が与えられたときの受信者のメッセージに関する残存不確実性を次のように抑える:H(X∣Y)≤1+Pelog⁡2(n−1)H(X\mid Y) \le 1 + P_e \log_2(n-1)、ここで nn は可能なメッセージ数である。一方、通信路のデータ処理構造により各使用ごとに I(X;Y)≤CI(X;Y) \le C が強制されるため、NN 回の通信路使用のブロック全体で受信者が抽出できる情報は高々 NCNC ビットである。真のレートが R>CR > C(1使用あたり)であれば、メッセージは NRNR ビットのエントロピーを持つが、通信路はそのうち約 NC<NRNC < NR ビットしか提供しない。ファノの不等式は、NN が大きくなっても PeP_e が 00 から離れたままであることを強制する。なぜなら残存不確実性 H(X∣Y)H(X\mid Y) を消し去ることができないからである。

**達成可能性の概略(R<C⇒Pe→0R < C \Rightarrow P_e \to 0)。** 容量を達成する入力分布 p(x)p(x) を固定し、長さ NN の符号語 2NR2^{NR} 個を p(x)Np(x)^N から独立にランダムに生成して符号帳を作る。復号の際、受信者は受信系列と同時典型的(統計的パターンが真の入力・出力対のように振る舞う)である唯一の符号語を探す。R<CR < C であるため、候補符号語の数(2NR2^{NR})は統計的に区別可能な通信路出力の数(≈2NC\approx 2^{NC})よりはるかに少なく、N→∞N \to \infty のとき、送信されていない他の符号語が偶然受信系列と同時典型的に見える確率は 00 に縮小し、復号誤り確率も、符号帳のランダムな選択について平均すると同様に縮小する — したがって、任意に小さい PeP_e を達成する符号帳が少なくとも1つ存在するはずである。

いくつかの標準的な離散通信路の容量
通信路容量 CC
無雑音二元通信路使用あたり 11 ビット
交差確率 pp の二元対称通信路C=1−H(p)C = 1 - H(p)
消去確率 pp の二元消去通信路C=1−pC = 1-p
p=0.5p=0.5(完全に雑音がある)二元対称通信路C=0C = 0(情報が全く通過しない)

大学実世界での応用と具体例

データを圧縮または伝送するあらゆるデジタル技術は、これら2つの定理に頼っている。情報源符号化は ZIP、JPEG、MP3 圧縮の基盤である(データのエントロピーに近づく)。通信路符号化は Wi-Fi、深宇宙通信、QR コードの基盤である(雑音に耐えるだけの冗長性を加えるが、CC が要求する以上には加えない)。

例: エントロピー限界にちょうど達する符号を作る

あるセンサーが確率 p=(0.5, 0.25, 0.125, 0.125)p=(0.5,\,0.25,\,0.125,\,0.125) で4つの状態のいずれかを報告する。H(X)H(X) を求め、クラフトの不等式を等号で満たす接頭符号の長さ lil_i を提案し、得られる平均長 LL がエントロピー限界と一致するかを確認せよ。

解答

まず公式から直接エントロピーを計算する:各項は −pilog⁡2pi-p_i\log_2 p_i であり、−0.5log⁡20.5=0.5-0.5\log_2 0.5 = 0.5、−0.25log⁡20.25=0.5-0.25\log_2 0.25 = 0.5、そして −0.125log⁡20.125=0.375-0.125\log_2 0.125 = 0.375 の項が2つ得られる。合計すると:H(X)=0.5+0.5+0.375+0.375=1.75H(X) = 0.5+0.5+0.375+0.375 = 1.75 ビット。

ここでの各確率は2のべき乗(2−1,2−2,2−3,2−32^{-1}, 2^{-2}, 2^{-3}, 2^{-3})であるため、理想的な符号語長 −log⁡2pi-\log_2 p_i はすでに整数である:l=(1,2,3,3)l = (1, 2, 3, 3)。クラフトの不等式を確認する:2−1+2−2+2−3+2−3=0.5+0.25+0.125+0.125=12^{-1}+2^{-2}+2^{-3}+2^{-3} = 0.5+0.25+0.125+0.125 = 1 で等号が成り立ち、これらとちょうど同じ長さを持つ接頭符号が存在する(例えば 0,10,110,1110, 10, 110, 111)。

平均符号語長は L=∑ipili=0.5(1)+0.25(2)+0.125(3)+0.125(3)=0.5+0.5+0.375+0.375=1.75L = \sum_i p_i l_i = 0.5(1) + 0.25(2) + 0.125(3) + 0.125(3) = 0.5+0.5+0.375+0.375 = 1.75 ビットである。

したがって L=H(X)=1.75L = H(X) = 1.75 がちょうど成り立ち、無雑音情報源符号化定理の下限に等号で達している — これは分布がダイアディック(すべての確率が2のべき乗)であるため、長さを整数に丸める際にビットが全く無駄にならないことによる。

例: 雑音のあるメモリチップにはどれだけの冗長性が必要か

あるフラッシュメモリのセルは、保存された各ビットについて生のビット反転確率 p=0.11p=0.11 を持ち、二元対称通信路としてモデル化される。通信路容量 CC を計算し、データを確実に読み出すために生の記憶容量のどれだけを誤り訂正の冗長性に費やす必要があるかを解釈せよ。

解答

まず p=0.11p=0.11 における二値エントロピーを計算する:−0.11log⁡20.11≈0.350-0.11\log_2 0.11 \approx 0.350、−0.89log⁡20.89≈0.150-0.89\log_2 0.89 \approx 0.150 なので、H(0.11)≈0.500H(0.11) \approx 0.500 ビットとなる。

容量は C=1−H(0.11)≈1−0.500=0.500C = 1 - H(0.11) \approx 1 - 0.500 = 0.500(生の記憶ビットあたり)ビットである。

これは、原理的には、誤り訂正の冗長性を加えた後、生の記憶容量のうち約半分しか信頼できる情報を運べないことを意味する — 生のセルあたり C≈0.5C \approx 0.5 ビットに近いレート RR が、この通信路上で誤り確率をゼロに近づけつつどんな誤り訂正符号でも達成できる最良の値である。それより高いレートを狙う符号は、どれほど巧妙に設計しても信頼性を持たせることはできない。

実際には、実際のフラッシュメモリコントローラは、この 0.50.5 ビットの理論上限より安全に低いレートで選ばれた BCH や LDPC などの誤り訂正符号を使用し、そのマージンの一部を実用的な復号の複雑さと有限ブロック長のために費やしている。

ある情報源は3つの等確率な結果を持つ、p=(1/3, 1/3, 1/3)p=(1/3,\,1/3,\,1/3)。H(X)H(X) はいくらか。

ギブスの不等式によれば、2つの確率分布 p,qp, q に対する D(p∥q)D(p\|q) の取りうる最小値は何か。

エントロピー H(X)H(X) を持つ情報源について、最適な接頭符号の平均長 LL に関してシャノンの無雑音情報源符号化定理が保証する記述はどれか。

交差確率 p=0.5p=0.5(各ビットがちょうど2分の1の確率で反転する)の二元対称通信路がある。その容量 CC はいくらか。

参考文献

  1. Claude E. Shannon (1948). A Mathematical Theory of Communication
  2. Thomas M. Cover, Joy A. Thomas (2006). Elements of Information Theory
  3. David J. C. MacKay (2003). Information Theory, Inference, and Learning Algorithms
  4. Erdal Arıkan (2009). Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels · arXiv:0807.3917