相対エントロピーから情報と物理を組み立てる 第1部 第6章 §1.6.4 ★★ 容量の計算を2つの最大化の交互の繰り返しに分ける。どちらの段も D ≥ 0 D\ge0 D ≥ 0 の等号条件で解け、毎回上界と下界が手に入る
一般の通信路では条件 (1.6.8) を手で解くことができない。Blahut と Arimoto は同じ年に、容量を数値で求める反復法を独立に発表した1 1 S. Arimoto (1972), IEEE Transactions on Information Theory 18 , 14–20;R. E. Blahut (1972), IEEE Transactions on Information Theory 18 , 460–473. 。この節では、その反復の各段が D ≥ 0 D\ge0 D ≥ 0 の等号条件そのものであることを示す。
補助の分布を入れて最大化を2つに分ける
入力 p p p を決めると、出力 y y y を見たあとの入力の事後分布 P ( x ∣ y ) = p ( x ) W ( y ∣ x ) / q ( y ) P(x\,|\,y)=p(x)W(y\,|\,x)/q(y) P ( x ∣ y ) = p ( x ) W ( y ∣ x ) / q ( y ) が決まる。この事後分布の代わりに、Y \mathcal Y Y の各値ごとに X \mathcal X X 上の任意の分布 Φ ( x ∣ y ) \Phi(x\,|\,y) Φ ( x ∣ y ) を入れた関数
F ( p , Φ ) = ∑ x , y p ( x ) W ( y ∣ x ) ln Φ ( x ∣ y ) p ( x ) (1.6.16) F(p,\Phi)=\sum_{x,y}p(x)W(y\,|\,x)\ln\frac{\Phi(x\,|\,y)}{p(x)}\tag{1.6.16} F ( p , Φ ) = x , y ∑ p ( x ) W ( y ∣ x ) ln p ( x ) Φ ( x ∣ y ) ( 1.6.16 )
を考える。Φ \Phi Φ を事後分布 P P P にすると、P ( x ∣ y ) p ( x ) = W ( y ∣ x ) q ( y ) \frac{P(x|y)}{p(x)}=\frac{W(y|x)}{q(y)} p ( x ) P ( x ∣ y ) = q ( y ) W ( y ∣ x ) なので F ( p , P ) = I ( p , W ) F(p,P)=I(p,W) F ( p , P ) = I ( p , W ) になる。
補題 1.6.13(2つの段はどちらも D ≥ 0 D\ge0 D ≥ 0 ★★)
(a) p p p を止めると F ( p , Φ ) = I ( p , W ) − ∑ y q ( y ) D ( P ( ⋅ ∣ y ) ∥ Φ ( ⋅ ∣ y ) ) F(p,\Phi)=I(p,W)-\sum_yq(y)\,D\bigl(P(\cdot\,|\,y)\,\big\|\,\Phi(\cdot\,|\,y)\bigr) F ( p , Φ ) = I ( p , W ) − ∑ y q ( y ) D ( P ( ⋅ ∣ y ) Φ ( ⋅ ∣ y ) ) 。したがって max Φ F ( p , Φ ) = I ( p , W ) \max_\Phi F(p,\Phi)=I(p,W) max Φ F ( p , Φ ) = I ( p , W ) で、最大は Φ = P \Phi=P Φ = P (事後分布)で達成される。
(b) Φ \Phi Φ を止め、c ( x ) = ∑ y W ( y ∣ x ) ln Φ ( x ∣ y ) c(x)=\sum_yW(y\,|\,x)\ln\Phi(x\,|\,y) c ( x ) = ∑ y W ( y ∣ x ) ln Φ ( x ∣ y ) 、Z = ∑ x e c ( x ) Z=\sum_x\mathrm{e}^{c(x)} Z = ∑ x e c ( x ) 、p ~ ( x ) = e c ( x ) / Z \tilde p(x)=\mathrm{e}^{c(x)}/Z p ~ ( x ) = e c ( x ) / Z とおくと、F ( p , Φ ) = ln Z − D ( p ∥ p ~ ) F(p,\Phi)=\ln Z-D(p\,\|\,\tilde p) F ( p , Φ ) = ln Z − D ( p ∥ p ~ ) 。したがって p p p についての最大は p = p ~ p=\tilde p p = p ~ で達成され、値は ln Z \ln Z ln Z である。
証明 (a) ln Φ p = ln P p − ln P Φ \ln\frac{\Phi}{p}=\ln\frac{P}{p}-\ln\frac{P}{\Phi} ln p Φ = ln p P − ln Φ P と分ける。第1項の和は I ( p , W ) I(p,W) I ( p , W ) 。第2項は p ( x ) W ( y ∣ x ) = q ( y ) P ( x ∣ y ) p(x)W(y\,|\,x)=q(y)P(x\,|\,y) p ( x ) W ( y ∣ x ) = q ( y ) P ( x ∣ y ) と書き直すと ∑ y q ( y ) ∑ x P ( x ∣ y ) ln P ( x ∣ y ) Φ ( x ∣ y ) \sum_yq(y)\sum_xP(x\,|\,y)\ln\frac{P(x|y)}{\Phi(x|y)} ∑ y q ( y ) ∑ x P ( x ∣ y ) ln Φ ( x ∣ y ) P ( x ∣ y ) になる。(b) F = ∑ x p ( x ) ( c ( x ) − ln p ( x ) ) = ∑ x p ( x ) ( ln Z + ln p ~ ( x ) − ln p ( x ) ) = ln Z − D ( p ∥ p ~ ) F=\sum_xp(x)\bigl(c(x)-\ln p(x)\bigr)=\sum_xp(x)\bigl(\ln Z+\ln\tilde p(x)-\ln p(x)\bigr)=\ln Z-D(p\,\|\,\tilde p) F = ∑ x p ( x ) ( c ( x ) − ln p ( x ) ) = ∑ x p ( x ) ( ln Z + ln p ~ ( x ) − ln p ( x ) ) = ln Z − D ( p ∥ p ~ ) 。
容量は C = max p max Φ F ( p , Φ ) C=\max_p\max_\Phi F(p,\Phi) C = max p max Φ F ( p , Φ ) と書けるので、Φ \Phi Φ についての最大化と p p p についての最大化を交互に行えばよい。p k p_k p k から始めて、(a) で Φ k = P k \Phi_k=P_k Φ k = P k (p k p_k p k の事後分布)とし、(b) で p k + 1 = p ~ p_{k+1}=\tilde p p k + 1 = p ~ とする。Φ k \Phi_k Φ k を (b) の c ( x ) c(x) c ( x ) に入れると、q k = p k W q_k=p_kW q k = p k W としてc ( x ) = ∑ y W ( y ∣ x ) ln p k ( x ) W ( y ∣ x ) q k ( y ) = ln p k ( x ) + D ( W x ∥ q k ) c(x)=\sum_yW(y\,|\,x)\ln\frac{p_k(x)W(y|x)}{q_k(y)}=\ln p_k(x)+D(W_x\,\|\,q_k) c ( x ) = ∑ y W ( y ∣ x ) ln q k ( y ) p k ( x ) W ( y ∣ x ) = ln p k ( x ) + D ( W x ∥ q k ) なので、2つの段は1つの式にまとまる。
定理 1.6.14(Blahut–Arimoto の反復 ★★)
すべての x x x で p 0 ( x ) > 0 p_0(x)>0 p 0 ( x ) > 0 となる入力から始め、
p k + 1 ( x ) = p k ( x ) e D ( W x ∥ q k ) ∑ x ′ p k ( x ′ ) e D ( W x ′ ∥ q k ) , q k = p k W (1.6.17) p_{k+1}(x)=\frac{p_k(x)\,\mathrm{e}^{D(W_x\|q_k)}}{\sum_{x'}p_k(x')\,\mathrm{e}^{D(W_{x'}\|q_k)}},\qquad q_k=p_kW\tag{1.6.17} p k + 1 ( x ) = ∑ x ′ p k ( x ′ ) e D ( W x ′ ∥ q k ) p k ( x ) e D ( W x ∥ q k ) , q k = p k W ( 1.6.17 )
を繰り返す。このとき
L k ≔ I ( p k , W ) ≤ C ≤ U k ≔ max x D ( W x ∥ q k ) , (1.6.18) L_k\coloneqq I(p_k,W)\ \le\ C\ \le\ U_k\coloneqq\max_xD(W_x\,\|\,q_k),\tag{1.6.18} L k : = I ( p k , W ) ≤ C ≤ U k : = x max D ( W x ∥ q k ) , ( 1.6.18 )
L k L_k L k は k k k について単調に増え、L k L_k L k と U k U_k U k はどちらも C C C に収束する。
証明の一部 式 (1.6.18) の左は容量の定義、右は式 (1.6.10) を r = q k r=q_k r = q k で使ったものである。単調性は、補題 1.6.13 の2つの段からL k + 1 = I ( p k + 1 , W ) = max Φ F ( p k + 1 , Φ ) ≥ F ( p k + 1 , Φ k ) = max p F ( p , Φ k ) ≥ F ( p k , Φ k ) = I ( p k , W ) = L k L_{k+1}=I(p_{k+1},W)=\max_\Phi F(p_{k+1},\Phi)\ge F(p_{k+1},\Phi_k)=\max_pF(p,\Phi_k)\ge F(p_k,\Phi_k)=I(p_k,W)=L_k L k + 1 = I ( p k + 1 , W ) = max Φ F ( p k + 1 , Φ ) ≥ F ( p k + 1 , Φ k ) = max p F ( p , Φ k ) ≥ F ( p k , Φ k ) = I ( p k , W ) = L k となって出る。C C C への収束の証明は Arimoto と Blahut の原論文にあり、ここでは使わない。
更新式 (1.6.17) は、条件 (1.6.8) と照らすと意味が分かる。平均の出力 q k q_k q k から遠い入力(D ( W x ∥ q k ) D(W_x\,\|\,q_k) D ( W x ∥ q k ) が大きい入力)の確率を増やし、近い入力の確率を減らす。すべての使う入力の D D D がそろったところ(Kuhn–Tucker 条件)が不動点になる。各段で上界 U k U_k U k と下界 L k L_k L k が同時に手に入るので、U k − L k U_k-L_k U k − L k が決めた許容値より小さくなったら止めればよい。答えの精度が計算の途中で保証されている点が、この方法の長所である。
図 1.6.3 3入力3出力の通信路 W = ( 0.7 0.2 0.1 0.1 0.8 0.1 0.3 0.3 0.4 ) W=\bigl(\begin{smallmatrix}0.7&0.2&0.1\\0.1&0.8&0.1\\0.3&0.3&0.4\end{smallmatrix}\bigr) W = ( 0.7 0.1 0.3 0.2 0.8 0.3 0.1 0.1 0.4 ) に一様な入力から Blahut–Arimoto の反復を当てたときの下界(青)と上界(赤)。反復で得た近似は実線、容量の値 C ≈ 0.3288 C\approx0.3288 C ≈ 0.3288 ビット(2 万回反復して上下の差が 10 − 10 10^{-10} 1 0 − 10 未満になった値)は点線。容量は上下の線の間に必ずある
図 1.6.3 の通信路では、最初の上下の幅は 0.082 0.082 0.082 nat あり、30 回の反復で 1.1 × 10 − 3 1.1\times10^{-3} 1.1 × 1 0 − 3 nat まで縮む。最適な入力は p ∗ ≈ ( 0.424 , 0.470 , 0.106 ) p^*\approx(0.424,\,0.470,\,0.106) p ∗ ≈ ( 0.424 , 0.470 , 0.106 ) で、雑音の多い第3の入力(行 ( 0.3 , 0.3 , 0.4 ) (0.3,0.3,0.4) ( 0.3 , 0.3 , 0.4 ) )は使うものの確率は小さい。3つの行までの D ( W x ∥ q ∗ ) D(W_x\,\|\,q^*) D ( W x ∥ q ∗ ) はどれも C ≈ 0.2279 C\approx0.2279 C ≈ 0.2279 nat にそろう。
例題 1.6.4 Blahut–Arimoto の1回を手で回す ★★
オリジナル 例題 1.6.2 の Z(1 2 \frac12 2 1 ) 通信路に、一様な入力 p 0 = ( 1 2 , 1 2 ) p_0=(\frac12,\frac12) p 0 = ( 2 1 , 2 1 ) から反復 (1.6.17) を1回当てる。
q 0 q_0 q 0 と D ( W 0 ∥ q 0 ) D(W_0\,\|\,q_0) D ( W 0 ∥ q 0 ) 、D ( W 1 ∥ q 0 ) D(W_1\,\|\,q_0) D ( W 1 ∥ q 0 ) を求めよ。
下界 L 0 L_0 L 0 と上界 U 0 U_0 U 0 を求め、容量 ln 5 4 ≈ 0.2231 \ln\frac54\approx0.2231 ln 4 5 ≈ 0.2231 nat を挟んでいることを確かめよ。
更新後の入力 1 1 1 の確率 π 1 \pi_1 π 1 を求めよ。次の段の L 1 , U 1 L_1,U_1 L 1 , U 1 は数値で 0.2201 0.2201 0.2201 、0.2640 0.2640 0.2640 nat になる。何が起きたか述べよ。
解答 (1) q 0 = ( 1 2 ⋅ 1 + 1 2 ⋅ 1 2 , 1 2 ⋅ 1 2 ) = ( 3 4 , 1 4 ) q_0=(\frac12\cdot1+\frac12\cdot\frac12,\ \frac12\cdot\frac12)=(\frac34,\frac14) q 0 = ( 2 1 ⋅ 1 + 2 1 ⋅ 2 1 , 2 1 ⋅ 2 1 ) = ( 4 3 , 4 1 ) 。D ( W 0 ∥ q 0 ) = ln 1 3 / 4 = ln 4 3 ≈ 0.2877 D(W_0\,\|\,q_0)=\ln\frac{1}{3/4}=\ln\frac43\approx0.2877 D ( W 0 ∥ q 0 ) = ln 3/4 1 = ln 3 4 ≈ 0.2877 。D ( W 1 ∥ q 0 ) = 1 2 ln 1 / 2 3 / 4 + 1 2 ln 1 / 2 1 / 4 = 1 2 ln 2 3 + 1 2 ln 2 = 1 2 ln 4 3 ≈ 0.1438 D(W_1\,\|\,q_0)=\frac12\ln\frac{1/2}{3/4}+\frac12\ln\frac{1/2}{1/4}=\frac12\ln\frac23+\frac12\ln2=\frac12\ln\frac43\approx0.1438 D ( W 1 ∥ q 0 ) = 2 1 ln 3/4 1/2 + 2 1 ln 1/4 1/2 = 2 1 ln 3 2 + 2 1 ln 2 = 2 1 ln 3 4 ≈ 0.1438 。
(2) L 0 = 1 2 ( 0.2877 + 0.1438 ) = 3 4 ln 4 3 ≈ 0.2158 L_0=\frac12(0.2877+0.1438)=\frac34\ln\frac43\approx0.2158 L 0 = 2 1 ( 0.2877 + 0.1438 ) = 4 3 ln 3 4 ≈ 0.2158 、U 0 = max ( 0.2877 , 0.1438 ) = 0.2877 U_0=\max(0.2877,0.1438)=0.2877 U 0 = max ( 0.2877 , 0.1438 ) = 0.2877 。0.2158 ≤ 0.2231 ≤ 0.2877 0.2158\le0.2231\le0.2877 0.2158 ≤ 0.2231 ≤ 0.2877 で容量を挟んでいる。
(3) 更新式から p 1 ∝ ( 1 2 e ln ( 4 / 3 ) , 1 2 e 1 2 ln ( 4 / 3 ) ) = 1 2 ( 4 3 , 4 / 3 ) p_1\propto\bigl(\frac12\mathrm{e}^{\ln(4/3)},\ \frac12\mathrm{e}^{\frac12\ln(4/3)}\bigr)=\frac12\bigl(\frac43,\ \sqrt{4/3}\bigr) p 1 ∝ ( 2 1 e l n ( 4/3 ) , 2 1 e 2 1 l n ( 4/3 ) ) = 2 1 ( 3 4 , 4/3 ) なので
π 1 = 4 / 3 4 / 3 + 4 / 3 ≈ 1.1547 2.4880 ≈ 0.4641. \pi_1=\frac{\sqrt{4/3}}{4/3+\sqrt{4/3}}\approx\frac{1.1547}{2.4880}\approx0.4641 . π 1 = 4/3 + 4/3 4/3 ≈ 2.4880 1.1547 ≈ 0.4641.
入力 1 1 1 は平均の出力 q 0 q_0 q 0 に近い(D D D が小さい)ので確率が減り、最適な 2 5 \frac25 5 2 の方へ動いた。その結果、下界は 0.2158 0.2158 0.2158 から 0.2201 0.2201 0.2201 へ上がり、上界は 0.2877 0.2877 0.2877 から 0.2640 0.2640 0.2640 へ下がって、幅が 0.072 0.072 0.072 から 0.044 0.044 0.044 nat に縮んだ。
1 S. Arimoto (1972), IEEE Transactions on Information Theory 18 , 14–20;R. E. Blahut (1972), IEEE Transactions on Information Theory 18 , 460–473.
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com