Upload
suurist
View
850
Download
0
Embed Size (px)
Citation preview
確率推論問題• X1, · · · ,XN ∈ X:確率変数• p(x1, · · · , xN):同時密度関数
確率推論問題X1, · · · ,XN のうち,Xn+1, · · · ,XNの観測値 an+1, · · · , aN が与えられたとき,以下を計算する問題.
p(Xi|Xn+1 = an+1, · · · ,XN = aN), i = 1, · · · , n (1)
• 例えば,X1ならば,以下を計算する.
α∑
x2,··· ,xn
p(X1 = x, x2, · · · , xn, an+1, · · · , aN), x ∈ X (2)
(αは正規化定数)3 / 54
確率推論問題
例X1:風邪かどうか, X2:インフルエンザかどうか, X3:体温,X4:喉の痛みの有無,X5:筋肉痛の有無
p(x1, x2, x3, x4, x5)は既知と仮定.
「体温が 37℃,喉の痛みがある,筋肉痛がある」とき,風邪である確率は?⇒ p(X1 = 1|X3 = 37,X4 = 1,X5 = 1)を求めれば良い.
4 / 54
問題の困難なところ
• 計算したいもの:∑
{∼xi}p(x1, · · · , xn, an+1, · · · , aN) =
∑
{∼xi}f (x1, · · · , xn)
• {∼ xi}は xi以外の変数での和を表す.• f (x1, · · · , xn) ! p(x1, · · · , xn, an+1, · · · , aN)とおいた.
• まともに計算すると nの指数オーダーの計算量(Xが連続のときは積分計算が困難)• 誤り訂正符号の復号問題では nは数千
5 / 54
分配法則を利用した効率化
f (x1, · · · , xn)が構造を持てば,効率的に計算可能な場合がある.
例: f (x1, · · · , x5) = fA(x1)fB(x2)fC(x1, x2, x3)fD(x3, x4)fE(x3, x5)のように因数分解できたとする.このとき,
∑
{∼x1}f (x1, · · · , x5) = fA(x1) ×
∑
x2,x3
(fB(x2)fC(x1, x2, x3)
×(∑
x4
fD(x3, x4))×
(∑
x5
fE(x3, x5)))
⇒ O(|X|4)の計算がO(|X|2)に.他の変数についても同様に効率化可能.
6 / 54
ファクターグラフファクターグラフ [Kschischang+ 2001]関数の因数分解構造を表した 2部グラフ• ある変数がある関数の引数になっている時に,対応するノード間にエッジが存在.
例 f (x1, · · · , x5) = fA(x1)fB(x2)fC(x1, x2, x3)fD(x3, x4)fE(x3, x5)
7 / 54
Sum-Product(SP)アルゴリズムSum-Productアルゴリズム [Kschischang+ 2001]各ノードでメッセージ(関数)を計算する.• 変数ノード xiから関数ノード fa:
µi→a(xi) =∏
c∈N(i)\aνc→i(xi)
• N(i)は変数ノード xiに隣接する関数ノードの集合• 変数ノードが葉の時には µi→a(xi) = 1
• 関数ノード faから変数ノード xi:
νa→i(xi) =∑
xa\xi
⎛⎜⎜⎜⎜⎜⎜⎝fa(xa)
∏
j∈N(a)\iµj→i(xj)
⎞⎟⎟⎟⎟⎟⎟⎠
• xaは faの引数• N(a)は関数ノード faに隣接する変数ノードの集合• 関数ノードが葉の時には νa→i(xi) = fa(xi)
8 / 54
Sum-Product(SP)アルゴリズム例
f (x1, · · · , x5) = fA(x1)fB(x2)×fC(x1, x2, x3)fD(x3, x4)fE(x3, x5)
νA→1(x1)νC→1(x1) = fA(x1)∑
x2,x3
(fC(x1, x2, x3)µ2→C(x2)µ3→C(x3))
= fA(x1)∑
x2,x3
(fC(x1, x2, x3)νB→2(x2)νD→3(x3)νE→3(x3)
)
= fA(x1)∑
x2,x3
(fC(x1, x2, x3)fB(x2)
∑
x4
(fD(x3, x4)µ4→D(x4)
)∑
x5
(fE(x3, x5)µ5→E(x5)
))
= fA(x1)∑
x2,x3
(fB(x2)fC(x1, x2, x3)
∑
x4
(fD(x3, x4)
)∑
x5
(fE(x3, x5)
))
9 / 54
SPアルゴリズムの問題点とLoopy BP
• SPアルゴリズムで必ず周辺化計算が行えるか?• No.ファクターグラフに閉路が存在しない場合のみ,正しく計算可能.
• グラフに閉路が存在する場合は?• 正しい周辺化計算が行える保証はないが,アルゴリズムを適用することはできる.
⇒ Loopy Belief Propagation (BP)• Loopy BPの性能は?
• 実験的には上手くいくことも多い.• 誤り訂正符号 (LDPC符号)の復号や圧縮センシングでは,性能の理論解析が盛んに行われている.• Density Evolution,State Evolution
10 / 54
誤り訂正符号とは
データの通信や記録を行う際,物理現象に伴う雑音によりデータに誤りが生じる場合がある.
誤り訂正符号通信(記録)を行う前に,予めデータを符号化しておくことで誤りを訂正することが可能.
11 / 54
応用例:QRコード
テキスト情報をバイナリで記録する 2次元コード
QRコードの容量• 数字のみ:最大 7089文字• 英数:最大 4296文字• バイナリ:2953バイト
約 30%の誤りを訂正可能.
12 / 54
誤り訂正符号の数理モデル• 送信(記録)したい情報:b = b1b2 · · · bK ∈ {0, 1}K
• 情報系列と呼ぶ.• 符号化された系列:x = x1x2 · · · xN ∈ C ⊂ {0, 1}N
• Cを符号,x ∈ Cを符号語と呼ぶ.• 通信路は確率モデルとして定義する.
• 入力に対して出力が確率的に決定される.
13 / 54
通信路モデルの例• 二元対称通信路
(Binary SymmetricChannel:BSC)• 入出力が {0, 1}• 確率 pで 0と 1が反転
• 二元消失通信路 (BinaryErasure Channel:BEC)• 出力が {0, 1, ?}.?は消失シンボル.
• 確率 pで 0と 1が消失.
14 / 54
簡単な符号化・復号の例 (q回反復符号)符号化法:各情報記号を q回繰り返す(qは奇数).
復号法:各情報記号に対して多数決により復号.
各符号語に対して,誤りの数が q/2より小さければ正しく復号可能.
15 / 54
誤り訂正符号の評価基準• 符号化比率
• 情報系列長 K÷符号長 N• 通信速度の評価(記録容量の効率)• q回反復符号の符号化比率:1/q
• 復号誤り率• 復号後の誤り率
• 系列単位:ブロック誤り率 Pr(x̂ ! x)• 記号単位:シンボル誤り率 Pr(x̂i ! xi), i = 1, · · · ,N
• 信頼性の評価• BSCにおける q回反復符号のブロック誤り率は
q∑
i=⌈q/2⌉qCipi(1 − p)q−i
• 符号化・復号にかかる計算量
16 / 54
反復符号の復号性能p = 0.1の場合
• 反復回数を増やせば誤り率は 0に近づく
• その代わり,符号化比率も0に近づく
誤り率を 0に近づけようとすると,符号化比率を 0しないといけない?⇒No.
17 / 54
通信路符号化定理
通信路符号化定理 [Shannon 1948]通信路に対して定義される通信路容量 Cに対し,符号化比率が Cよりも小さければ,N → ∞でブロック誤り率を任意に小さくできる符号が存在する.逆に符号化比率が通信路容量 C以上であれば,そのような符号は存在しない.
• 1つの限界を示す定理.• 存在証明であり,具体的な符号化法・復号法を示しているわけではない⇒具体的な方式の探求(誤り訂正符号の理論)
18 / 54
通信路容量を達成する符号と復号
最近の研究では,多項式時間で符号化・復号が可能で通信路容量を達成する方法が見つかっている.• Expandar符号+線形計画復号• Polar符号+Successive復号• 空間結合 LDPC符号+Sum-Product復号
※通信路にもよる.
LDPC符号はWiMAXやデジタルテレビの衛星通信などで実用的にも使われている.
20 / 54
LDPC符号の概要パリティ検査行列• 符号語の満たすべき条件を行列表記したもの.
例:3回反復符号の場合
パリティ検査行列の決定≒符号の決定(正則)LDPC符号パリティ検査行列の行重み dc(各行の 1の数)や列重み dv(各列の 1つの数)が,dc, dv << N.
22 / 54
符号の復号と確率推論通信路モデル:
• 符号語 xと受信語 yは確率変数⇒復号問題は,受信語 yを観測したもとで,xを推定する問題.⇒ p(x, y)の構造が決まれば,SPアルゴリズムが適用できる.(Sum-Product復号法)
23 / 54
符号の復号と確率推論• p(x, y) = p(x)p(y|x)と分解.•
p(x) ={ 1|C| if x ∈ C0 otherwise
=1|C|
m∏
j=1
Ij(x)
• Ij(x):パリティ検査行列の j行目の制約条件を満たしていれば1,そうでなければ 0をとる関数.
• m:パリティ検査行列の行数.• p(y|x) =
∏Ni=1 p(yi|xi)
• 例えば誤り率 pの BSCならば p(yi|xi) = pxi⊕yi(1 − p)1−xi⊕yi
24 / 54
復号問題のファクターグラフ表現
p(x, y) =1|C|
m∏
j=1
Ij(x)N∏
i=1
p(yi|xi)
例:3回反復符号の場合
パリティ検査行列と,変数ノード・チェックノード間の接続関係が一対一に対応.
25 / 54
アルゴリズムの簡略化• ファクターグラフが描けたので,SPアルゴリズムが適用できる.• 適当な式変形によりアルゴリズムを簡略化できる.
BECの場合:
受け取ったメッセージが全て消失メッセージ⇒消失メッセージを送る.受け取ったメッセージに消失以外のメッセージ⇒そのメッセージを送る.
26 / 54
アルゴリズムの簡略化• ファクターグラフが描けたので,SPアルゴリズムが適用できる.• 適当な式変形によりアルゴリズムを簡略化できる.
BECの場合:
受け取ったメッセージに消失メッセージを含む⇒消失メッセージを送る.受け取ったメッセージが全て消失以外⇒受け取ったメッセージの排他的論理和を送る.
27 / 54
SP復号の誤り率解析
• LDPC符号+SP復号の誤り率を理論的に求めたい.⇒反復符号+多数決復号のように簡単には計算出来ない.
誤り率解析のポイント:アンサンブル解析:1つの符号の誤り率を求めるのではなく,符号のクラスを考えて,平均的な振る舞いを解析.Density Evolution (DE):ファクターグラフが部分的に木であると仮定して,エッジを流れるメッセージの確率分布を求める.
28 / 54
Density EvolutionSPアルゴリズムを L回繰り返した後,あるエッジを流れるメッセージの確率分布を計算.⇒求めたいエッジを頂点にして,タナーグラフに沿って,深さ 2Lの木を描く.(Computation Graph)
30 / 54
Density EvolutionComputation Graphが tree-like(グラフ内に同一ノードを含まない)ならば,メッセージの確率分布を帰納的に計算可能.例:BECの場合は,消失メッセージである確率を計算.
31 / 54
Density EvolutionComputation Graphが tree-like(グラフ内に同一ノードを含まない)ならば,メッセージの確率分布を帰納的に計算可能.例:BECの場合は,消失メッセージである確率を計算.
32 / 54
Density EvolutionComputation Graphが tree-like(グラフ内に同一ノードを含まない)ならば,メッセージの確率分布を帰納的に計算可能.例:BECの場合は,消失メッセージである確率を計算.
33 / 54
Density Evolution
BECに対する密度発展方程式 [Richardson+ 2001]
x(−1) = 1x(t) = p(1 − (1 − x(t−1))dc−1)dv−1
(dc:行重み,dv:列重み)• 深さ 2LのComputation Graphが tree-likeであるとき,反復回数 Lにおいて,変数ノードからチェックノードへのメッセージが消失メッセージである確率は x(L)となる.
• ソケットモデルのアンサンブルを考えると,ComputationGraphが tree-likeにならない確率は N → ∞で 0に収束.
34 / 54
Density Evolution
• DEの不動点を解析することで,通信路の消失確率 pがいくつ以下ならば復号誤り率を 0に近づけられるかが分かる(BP閾値).• dc = 6, dv = 3の正則 LDPC符号の場合,0.429...
• 消失確率 pの消失通信路の通信路容量は 1 − p.• p = 0.43の消失通信路の通信路容量は 0.57.• dc = 6, dv = 3の正則 LDPC符号の符号化比率は基本的には 0.5.
⇒正則 LDPC符号で,通信路容量を達成するとは言えない.• 空間結合MacKay-Neal符号は消失通信路で通信路容量を達成することが証明可能.[Kasai+ 2011]• ポテンシャル関数を用いた解析が有効.[Yedla+ 2012]
38 / 54
符号理論への応用のまとめ
• 符号の復号問題を確率推論の問題と見ることができる.• LDPC符号に対して Sum-Productアルゴリズムを用いた復号を適用すると良い性能が得られる.
• LDPC符号に対する SP復号の性能を解析する方法としてDensity Evolutionがある.
• DEにより通信路容量を達成することが証明可能な符号が存在.
39 / 54
圧縮センシングの問題設定
• 原信号:x ∈ Rn
• 観測行列:Φ ∈ Rm×n(m < n)• 観測信号:y = Φx
問題設定yを観測したもとで,xを復元する問題.(Φは既知.)⇒ m < nなので,何の仮定もなければ xを一意に復元することはできない.
xが疎であることがわかっているときに,その疎性を利用して解を導く.応用:MRI,通信,機械学習 (LASSO), etc.
40 / 54
行列の制約等長性 (RIP)
観測行列の性質が復元可能かどうかの鍵.行列ΦのRIP定数 δs(1 ≤ s ≤ n)∀T ⊂ {1, · · · , n}, |T | ≤ s, c ∈ R|T |
(1 − δ)||c||2 ≤ ||ΦTc||2 ≤ (1 + δ)||c||2
が成り立つ最小の正実数 δ.(ΦT は Tで指定される列から構成されるΦの部分行列.)
• δ = 0⇒ ΦT は正規直交系⇒ δs:部分行列が正規直交系に近いかを示す指標
41 / 54
RIP定数と ℓ0復元
ℓ0復元の成功条件 [Candes & Tao 2005]T = supp(x)とする(xの非 0位置).δ2s < 1,|T | ≤ sならば,
minx̃∈Rn||x̃||0 subject to y = Φx̃
の解は原信号 xに一致する.(||x̃||0 = {i : xi ! 0})
• この最適化問題はNP困難.
42 / 54
RIP定数と ℓ1復元
ℓ1復元の成功条件 [Candes & Tao 2005]
T = supp(x)とする(xの非 0位置).δ2s <√
2 − 1,|T | ≤ sならば,
minx̃∈Rn||x̃||1 subject to y = Φx̃
の解は原信号 xに一致する.(||x̃||1 =∑N
i=1 |xi|)
• この最適化問題は線形計画問題として定式化可能.⇒ Nの多項式オーダで解ける.
43 / 54
ランダム行列のRIP定数
• RIP定数の小さい行列をどのようにして作るか?• RIP定数の評価自体が計算量的に困難.⇒ランダム行列アンサンブル
Gaussianランダム行列のRIP定数 [Candes & Tao 2005]観測行列Φ ∈ Rm×nの各要素を独立に N(0, 1/m)に従って定める.このとき α = m/nを有限とした n→ ∞の極限において,ρ = s/nがある値 ρc(α)より小さければ小さければ,δ2s <
√2 − 1となる確
率は(nに関して指数的に)1に近づく.
• 証明はランダム行列の固有値の漸近分布に関する結果を利用.
44 / 54
復元アルゴリズムに関する研究
• ℓ1復元は nの多項式オーダで実行可能.• 実際の問題では nは数千~数万⇒単体法や内点法は重い.• ℓ1復元を行うためのアルゴリズムに関する研究が盛ん.
• Matching Pursuit• 射影勾配型• メッセージパッシング型
今のところ,問題の中に確率的要素は無いが・・・
45 / 54
ℓ1復元の確率推論としての定式化
xに対する以下の様な確率密度を考える.
p(x) =1Z
n∏
i=1
exp (−β|xi|)m∏
a=1
δ{ya=(Φx)a}
• Z:正規化定数• β > 0:パラメータ• δ{ya=(Φx)a} :ya = (Φx)a上のディラック関数
β→ ∞で,p(x)の密度は ℓ1復元の最適解周辺に集中.⇒ p(x)の周辺確率が計算できれば,ℓ1復元の最適解が得られる.⇒ SPアルゴリズムの出番
46 / 54
SPアルゴリズム for圧縮センシング• 変数ノードから関数ノード
µ(t+1)i→a (xi) ∝ exp(−β|xi|)
∏
b!a
ν(t)b→i(xi)
• 関数ノードから変数ノード
ν(t)a→i(xi) ∝
∫ ∏
j!i
µ(t)j→a(xi)δ{ya−(Φx)a}dx1 · · · dxi−1dxi+1 · · · dxn
48 / 54
Approximate Message Passingアルゴリズム
• メッセージの計算が解析的にできない.• n→ ∞, β→ ∞の極限を考え,中心極限定理などを使って,
SPアルゴリズムを更に近似する.(AMP:ApproximateMessage Passing [Maleki+ 2009])
• ここでは導出は省略.
49 / 54
Approximate Message PassingアルゴリズムAMPアルゴリズム
x(t+1) = ηt
(Φ∗z(t) + x(t)
)= η
(Φ∗z(t) + x(t); τ(t)
)
z(t) = y −Φx(t) +1α
⟨η′t−1
(Φ∗z(t−1) + x(t−1)
)⟩
τ(t) =τ(t−1)
α
⟨η′t−1
(Φ∗z(t−1) + x(t)
⟩)
•
η(·, b) =
⎧⎪⎪⎪⎨⎪⎪⎪⎩
x − b if b < x0 if − b ≤ x ≤ bx + b if x < −b
• α = m/n• ⟨x⟩ = n−1 ∑n
i=1 xi
50 / 54
State Evolution
• ファクターグラフが密なグラフなので,LDPC符号と同様の解析はできない.
• スピングラス理論で TAP方程式を解析するために考えられたconditioning technique [Bolthausen 2009]を使って解析.⇒ State Evolution (SE) [Bayati+ 2011]• SEで AMPの性能を記述できることは以前から実験的に分かっていたが,[Bayati+ 2011]によって理論的な証明が与えられた.
51 / 54
State Evolution
State Evolution [Bayati+ 2011]
σ2t = E
[||x(t) − x||22
]とおく.Φの各要素がN(0, 1/m)に従うとき,以
下が成り立つ.
σ2t+1 =
1αE
[|ηt(X + σtZ) − X|2
]
ただし,Xは観測信号の経験分布に従う確率変数,Z ∼ N(0, 1)で,期待値は Xと Zに関してとる.
• 実際にはもう少し一般的な形で証明されている.• これにより,平均二乗誤差が 0に収束するかどうかが分かる.
52 / 54
圧縮センシングへの応用のまとめ
• ℓ1復元問題は線形計画問題だが,仮想的に確率推論の問題と見ることができる.
• Sum-Productアルゴリズムは適用できないが,その近似アルゴリズムとして Approximate Message Passing (AMP)アルゴリズムがある.
• AMPの性能を解析する方法として State Evolutionがある.• AMPは低計算量で,復元性能は ℓ1復元とほぼ同等.
53 / 54