相対エントロピーから情報と物理を組み立てる 第1部 第6章 §1.6.1 ★★★ 通信路は確率行列 W W W 。相互情報量は「入力ごとの出力の分布」と「平均の出力の分布」の D D D の平均になる
雑音のある線を通して文字を送ると、受け手の手元には送った文字と少し違う文字が届くことがある。それでも、同じ内容を工夫して何回かに分けて送れば、誤りの確率をいくらでも小さくできるだろうか。できるとすれば、1回の使用あたり何ビットまでなら送れるだろうか。この章はこの問いに答える。答えの数が通信路容量 C C C で、Shannon が 1948 年の論文1 1 C. E. Shannon (1948), Bell System Technical Journal 27 , 379–423, 623–656. で定義し、その意味を通信路符号化定理 として示した。
この章で比べる2つの分布は、通信路の入力 X X X と出力 Y Y Y の結合分布 p X Y p_{XY} p X Y と、入力と出力を独立とみなした積 p X p Y p_Xp_Y p X p Y である。2つの D D D が相互情報量 I ( X ; Y ) = D ( p X Y ∥ p X p Y ) I(X;Y)=D(p_{XY}\,\|\,p_Xp_Y) I ( X ; Y ) = D ( p X Y ∥ p X p Y ) (相対エントロピーから情報と物理を組み立てる 第1部第3章 )で、入力の分布を選んでこれを最大にした値が通信路容量 C C C になる。この章で出てくる結果は4つある。第一に、C C C は通信路の各入力に対応する出力の分布を点とみなしたとき、それらすべてを含む最小の「D D D の球」の半径に等しい。この見方から、最適な入力の分布を判定する条件(Kuhn–Tucker の条件)と、容量の上界がすぐに出る。第二に、通信路符号化定理である。送る速さが C C C より小さければ誤りの確率をいくらでも小さくでき、C C C を超えると誤りの確率は下から押さえられる。後半(逆定理)は Fano の不等式とデータ処理不等式(相対エントロピーから情報と物理を組み立てる 第1部第4章 )から出る。第三に、容量を数値で求める Blahut–Arimoto の反復法である。この反復の各段は D ≥ 0 D\ge0 D ≥ 0 を2回使った交互の最大化になっている。第四に、連続の値をとる Gauss 通信路の容量 C = 1 2 ln ( 1 + P / N ) C=\frac12\ln(1+P/N) C = 2 1 ln ( 1 + P / N ) と、熱雑音のもとで1ビットを送るのに要るエネルギーの下限 k B T ln 2 k_{\mathrm B} T\ln2 k B T ln 2 である。
この章では対数は自然対数で、情報量の単位は nat である。ビットで述べる所だけ log 2 \log_2 log 2 と書くか、nat の値を ln 2 \ln2 ln 2 で割って「ビット」と添える(1 ビット = ln 2 =\ln2 = ln 2 nat)。
離散無記憶通信路
定義 1.6.1(離散無記憶通信路)
有限集合 X \mathcal X X (入力の文字)と Y \mathcal Y Y (出力の文字)と、各 x ∈ X x\in\mathcal X x ∈ X に対する Y \mathcal Y Y 上の確率分布 W ( ⋅ ∣ x ) W(\cdot\,|\,x) W ( ⋅ ∣ x ) の組を通信路 と呼ぶ。W ( y ∣ x ) ≥ 0 W(y\,|\,x)\ge0 W ( y ∣ x ) ≥ 0 、∑ y W ( y ∣ x ) = 1 \sum_yW(y\,|\,x)=1 ∑ y W ( y ∣ x ) = 1 で、W ( y ∣ x ) W(y\,|\,x) W ( y ∣ x ) は「x x x を送ったとき y y y が届く確率」を表す。行を x x x 、列を y y y とした行列 W W W は、各行の和が 1 1 1 の確率行列である。通信路を n n n 回続けて使うとき、文字の列 x n = ( x 1 , … , x n ) x^n=(x_1,\dots,x_n) x n = ( x 1 , … , x n ) に対して
W n ( y n ∣ x n ) = ∏ i = 1 n W ( y i ∣ x i ) (1.6.1) W^n(y^n\,|\,x^n)=\prod_{i=1}^nW(y_i\,|\,x_i)\tag{1.6.1} W n ( y n ∣ x n ) = i = 1 ∏ n W ( y i ∣ x i ) ( 1.6.1 )
が成り立つものを無記憶 であるという。各回の雑音が独立で、前の回の入力や出力に左右されないことを表す。
この章では x x x を送ったときの出力の分布 W ( ⋅ ∣ x ) W(\cdot\,|\,x) W ( ⋅ ∣ x ) を W x W_x W x と略して書く。W x W_x W x は Y \mathcal Y Y 上の確率分布で、行列 W W W の第 x x x 行にあたる。代表的な通信路を3つ挙げる(図 1.6.1 )。
2元対称通信路 BSC(ε \varepsilon ε ):X = Y = { 0 , 1 } \mathcal X=\mathcal Y=\{0,1\} X = Y = { 0 , 1 } で、送った文字が確率 ε \varepsilon ε で反転する。
2元消失通信路 BEC(ε \varepsilon ε ):X = { 0 , 1 } \mathcal X=\{0,1\} X = { 0 , 1 } 、Y = { 0 , e , 1 } \mathcal Y=\{0,\mathrm e,1\} Y = { 0 , e , 1 } で、確率 ε \varepsilon ε で文字が消えて記号 e \mathrm e e (消失)が届き、それ以外は正しく届く。
Z 通信路 Z(s s s ):0 0 0 は必ず 0 0 0 として届き、1 1 1 は確率 s s s で 0 0 0 に化ける。光の有無で 0 0 0 と 1 1 1 を送り、光子を取り逃がすことがあっても光の無い所に光子を数えることはない受信器が、この形になる。
図 1.6.1 代表的な3つの通信路。左が入力、右が出力で、矢印の数字が遷移の確率 W ( y ∣ x ) W(y\,|\,x) W ( y ∣ x ) 。BSC は2つの入力が同じだけ乱される。BEC は誤りの代わりに「消えた」ことが受け手に分かる。Z 通信路は入力 1 1 1 だけが乱される
相互情報量を行ごとの D D D に分ける
送り手が入力の文字を分布 p ( x ) p(x) p ( x ) で選ぶと、入力と出力の結合分布と出力の分布は
p X Y ( x , y ) = p ( x ) W ( y ∣ x ) , q ( y ) = ∑ x p ( x ) W ( y ∣ x ) (1.6.2) p_{XY}(x,y)=p(x)\,W(y\,|\,x),\qquad q(y)=\sum_{x}p(x)\,W(y\,|\,x)\tag{1.6.2} p X Y ( x , y ) = p ( x ) W ( y ∣ x ) , q ( y ) = x ∑ p ( x ) W ( y ∣ x ) ( 1.6.2 )
になる。行列で書けば出力の分布は q = p W q=pW q = p W (行ベクトル p p p に W W W を右から掛けたもの)である。相互情報量は、結合分布と、それを独立とみなした積 p ( x ) q ( y ) p(x)q(y) p ( x ) q ( y ) の D D D だった(相対エントロピーから情報と物理を組み立てる 第1部第3章 )。定義に式 (1.6.2) を入れ、p ( x ) p(x) p ( x ) を約すと
I ( X ; Y ) = D ( p X Y ∥ p X p Y ) = ∑ x , y p ( x ) W ( y ∣ x ) ln p ( x ) W ( y ∣ x ) p ( x ) q ( y ) = ∑ x p ( x ) D ( W x ∥ q ) (1.6.3) I(X;Y)=D(p_{XY}\,\|\,p_Xp_Y)=\sum_{x,y}p(x)W(y\,|\,x)\ln\frac{p(x)W(y\,|\,x)}{p(x)q(y)}=\sum_{x}p(x)\,D(W_x\,\|\,q)\tag{1.6.3} I ( X ; Y ) = D ( p X Y ∥ p X p Y ) = x , y ∑ p ( x ) W ( y ∣ x ) ln p ( x ) q ( y ) p ( x ) W ( y ∣ x ) = x ∑ p ( x ) D ( W x ∥ q ) ( 1.6.3 )
となる。W W W を決めておけば I ( X ; Y ) I(X;Y) I ( X ; Y ) は入力の分布 p p p だけの関数なので、この章では I ( p , W ) I(p,W) I ( p , W ) とも書く。
式 (1.6.3) の右辺は、入力 x x x を送ったときの出力の分布 W x W_x W x が、平均の出力の分布 q q q からどれだけ離れているかを D D D で測り、それを p ( x ) p(x) p ( x ) で平均したものである。受け手は y y y を見て x x x を推し量るので、入力ごとの出力の分布が互いに離れているほど、つまり平均 q q q から離れているほど、y y y から x x x を当てやすい。すべての行が同じ分布(W x = q W_x=q W x = q )なら、出力は入力と無関係で、I = 0 I=0 I = 0 になる。
式 (1.6.3) を ln W ( y ∣ x ) q ( y ) = − ln q ( y ) + ln W ( y ∣ x ) \ln\frac{W(y|x)}{q(y)}=-\ln q(y)+\ln W(y\,|\,x) ln q ( y ) W ( y ∣ x ) = − ln q ( y ) + ln W ( y ∣ x ) と分けて和をとると、教科書でよく見る形
I ( p , W ) = H ( Y ) − H ( Y ∣ X ) = H ( q ) − ∑ x p ( x ) H ( W x ) (1.6.4) I(p,W)=H(Y)-H(Y\,|\,X)=H(q)-\sum_xp(x)H(W_x)\tag{1.6.4} I ( p , W ) = H ( Y ) − H ( Y ∣ X ) = H ( q ) − x ∑ p ( x ) H ( W x ) ( 1.6.4 )
も出る。H ( Y ) H(Y) H ( Y ) は出力の不確かさ、H ( Y ∣ X ) H(Y\,|\,X) H ( Y ∣ X ) は入力を知っても残る不確かさ(雑音が足した分)で、その差が入力について分かる量になる。たとえば BSC(0.1 0.1 0.1 ) に入力 p = ( 0.7 , 0.3 ) p=(0.7,0.3) p = ( 0.7 , 0.3 ) を入れると q ( 1 ) = 0.7 ⋅ 0.1 + 0.3 ⋅ 0.9 = 0.34 q(1)=0.7\cdot0.1+0.3\cdot0.9=0.34 q ( 1 ) = 0.7 ⋅ 0.1 + 0.3 ⋅ 0.9 = 0.34 で、I = h b ( 0.34 ) − h b ( 0.1 ) ≈ 0.316 I=h_{\mathrm b}(0.34)-h_{\mathrm b}(0.1)\approx0.316 I = h b ( 0.34 ) − h b ( 0.1 ) ≈ 0.316 nat ≈ 0.456 \approx0.456 ≈ 0.456 ビットになる。
例題 1.6.1 消失通信路の相互情報量を行ごとの D D D で求める ★★
オリジナル BEC(ε \varepsilon ε ) に、入力 1 1 1 を確率 π \pi π 、入力 0 0 0 を確率 1 − π 1-\pi 1 − π で送る。
出力の分布 q q q を求めよ。
D ( W 0 ∥ q ) D(W_0\,\|\,q) D ( W 0 ∥ q ) と D ( W 1 ∥ q ) D(W_1\,\|\,q) D ( W 1 ∥ q ) を求めよ。
式 (1.6.3) から I ( p , W ) = ( 1 − ε ) h b ( π ) I(p,W)=(1-\varepsilon )\,h_{\mathrm b}(\pi) I ( p , W ) = ( 1 − ε ) h b ( π ) を示し、ε = 0.25 \varepsilon =0.25 ε = 0.25 ・π = 1 2 \pi=\frac12 π = 2 1 の値を nat とビットで求めよ。
解答 (1) q ( 0 ) = ( 1 − ε ) ( 1 − π ) q(0)=(1-\varepsilon )(1-\pi) q ( 0 ) = ( 1 − ε ) ( 1 − π ) 、q ( e ) = ε ( 1 − π ) + ε π = ε q(\mathrm e)=\varepsilon (1-\pi)+\varepsilon \pi=\varepsilon q ( e ) = ε ( 1 − π ) + ε π = ε 、q ( 1 ) = ( 1 − ε ) π q(1)=(1-\varepsilon )\pi q ( 1 ) = ( 1 − ε ) π 。
(2) W 0 = ( 1 − ε , ε , 0 ) W_0=(1-\varepsilon ,\varepsilon ,0) W 0 = ( 1 − ε , ε , 0 ) なので、q ( 1 ) q(1) q ( 1 ) の項は 0 ⋅ ln 0 = 0 0\cdot\ln0=0 0 ⋅ ln 0 = 0 として消え、
D ( W 0 ∥ q ) = ( 1 − ε ) ln 1 − ε ( 1 − ε ) ( 1 − π ) + ε ln ε ε = − ( 1 − ε ) ln ( 1 − π ) . D(W_0\,\|\,q)=(1-\varepsilon )\ln\frac{1-\varepsilon }{(1-\varepsilon )(1-\pi)}+\varepsilon \ln\frac{\varepsilon }{\varepsilon }=-(1-\varepsilon )\ln(1-\pi). D ( W 0 ∥ q ) = ( 1 − ε ) ln ( 1 − ε ) ( 1 − π ) 1 − ε + ε ln ε ε = − ( 1 − ε ) ln ( 1 − π ) .
同じく W 1 = ( 0 , ε , 1 − ε ) W_1=(0,\varepsilon ,1-\varepsilon ) W 1 = ( 0 , ε , 1 − ε ) から D ( W 1 ∥ q ) = − ( 1 − ε ) ln π D(W_1\,\|\,q)=-(1-\varepsilon )\ln\pi D ( W 1 ∥ q ) = − ( 1 − ε ) ln π 。消失 e \mathrm e e の確率はどちらの行でも q ( e ) q(\mathrm e) q ( e ) と等しいので、D D D に何も足さない。
(3) 式 (1.6.3) に入れると
I = ( 1 − π ) [ − ( 1 − ε ) ln ( 1 − π ) ] + π [ − ( 1 − ε ) ln π ] = ( 1 − ε ) [ − π ln π − ( 1 − π ) ln ( 1 − π ) ] = ( 1 − ε ) h b ( π ) . I=(1-\pi)\bigl[-(1-\varepsilon )\ln(1-\pi)\bigr]+\pi\bigl[-(1-\varepsilon )\ln\pi\bigr]=(1-\varepsilon )\bigl[-\pi\ln\pi-(1-\pi)\ln(1-\pi)\bigr]=(1-\varepsilon )\,h_{\mathrm b}(\pi). I = ( 1 − π ) [ − ( 1 − ε ) ln ( 1 − π ) ] + π [ − ( 1 − ε ) ln π ] = ( 1 − ε ) [ − π ln π − ( 1 − π ) ln ( 1 − π ) ] = ( 1 − ε ) h b ( π ) .
受け手は確率 1 − ε 1-\varepsilon 1 − ε で入力をそのまま見て、確率 ε \varepsilon ε で何も分からない。分かるときに得る量が入力のエントロピー h b ( π ) h_{\mathrm b}(\pi) h b ( π ) なので、平均で ( 1 − ε ) h b ( π ) (1-\varepsilon )h_{\mathrm b}(\pi) ( 1 − ε ) h b ( π ) になる。ε = 0.25 \varepsilon =0.25 ε = 0.25 、π = 1 2 \pi=\frac12 π = 2 1 では I = 0.75 ln 2 ≈ 0.520 I=0.75\ln2\approx0.520 I = 0.75 ln 2 ≈ 0.520 nat、ビットでは 0.75 0.75 0.75 ビットである。
1 C. E. Shannon (1948), Bell System Technical Journal 27 , 379–423, 623–656.
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com