Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Shunsuke Horii

1,581 views

Published on

Shunsuke Horii

Published in: Science
  • Be the first to comment

  • Be the first to like this

Shunsuke Horii

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

×