第 2 章 BNPD アルゴリズムと CCPD アルゴリズム 15
2.4 CCPD アルゴリズム
2.4.1 CCCP アルゴリズム
まず,Bethe自由エネルギーと concave-convex procedure (CCCP) に ついて述べる (Yuille [72], Yuille ら[73]).確率伝播法はタナーグラフに 短い閉路が多数存在すると収束しない場合があるが,CCCPはたとえタ ナーグラフに短い閉路が存在したとしても収束が保証されているアルゴリ ズムである.
2.3節で提案した BNPDアルゴリズムはタナーグラフが短い閉路を多 数持つとき,確率伝播法を適用することはできない.しかし,本節で述べ る「CCCPアルゴリズム」はタナーグラフに短い閉路が存在しても用い ることができ,これはBethe自由エネルギーFB(q)を最小化する方法で ある.Yedidia [70] は確率伝播法で求めた事後確率の Bethe 自由エネル ギーの勾配が 0,すなわち,∇FB(q) =0 であることを示している.
したがって,タナーグラフに閉路がないとき Bethe自由エネルギーを 最小にする belief q がちょうど事後確率に対応している.閉路があると
きは Bethe自由エネルギーを最小にするbelief と真の事後確率との偏り
が存在する.しかし,∇FB(q) =0 かつFB(q) ができるだけ小さくなる ような q を見つけることにより事後確率の近似値を得ることができる.
Bethe 自由エネルギーの定義
マルコフネットワークを定義し,その上で Bethe自由エネルギーを定 義する.I を無向グラフの頂点の集合とする.任意のi∈I に対して,有 限個の値をとる確率変数 Wi を考え,W = (Wi)i∈I,Y をW の部分ベ クトルとし,Y は観測されているとする.i, j ∈I に対して,Wi とWj
が条件付独立となるような V ⊂ {W1, W2, . . . , W|I|} \ {Wi, Wj}が存在し ないとき,iとj が辺で結ばれているグラフをマルコフネットワークと呼 ぶ.マルコフネットワークの辺集合をT とする.
さらに,Wi の値をwi,観測ベクトルをyで表す.W の事前確率が次 のように与えられていると仮定する.
P(W =w|Y =y) =K ∏
(i,j)∈T
ψij(wi, wj)∏
i∈I
ψi(wi). (2.9)
ただし,w= (wi)i∈I である.ψi(wi) とψij(wi, wj) はポテンシャルと呼 ばれ,K は正規化定数である.ここで,yは固定されているので式 (2.9) の値は wi のみによっており,yi を省略して ψi(wi) が1 変数関数である ことを強調しているが,ψi(wi)はwi とyi の関数であることに注意する.
T は I×I の部分集合である.
このとき q=((
qi(wi))
i∈I,wi∈Wi,(
qij(wi, wj))
(i,j)∈T ,(wi,wj)∈Wi×Wj
)
とする.ただし,制約条件
∑
wi∈Wi
qi(wi) = 1 (i∈I),
∑
(wi,wj)∈Wi×Wj
qij(wi, wj) = 1 ((i, j)∈T),
∑
wi∈Wi
qij(wi, wj) =qj(wj) forwj ∈ Wj ((i, j)∈T),
∑
wj∈Wj
qij(wi, wj) =qi(wi) forwi ∈ Wi ((i, j)∈T).
を満たしているとする.このとき,Bethe 自由エネルギーは FB(q) = ∑
(i,j)∈T
∑
(wi,wj)∈Wi×Wj
qij(wi, wj) log qij(wi, wj) ϕij(wi, wj)
−∑
i∈I
(|N(i)| −1) ∑
wi∈Wi
qi(wi) log qi(wi) ψi(wi)
(2.10)
と定義される.ただし,ϕij(wi, wj) =ψij(wi, wj)ψi(wi)ψj(wj)である.ま た,ψ(wi, wj) = 0のときqij(wi, wj) = 0,ψi(wi) = 0のとき qi(wi) = 0 と仮定する.
Bethe 自由エネルギーの最小化
CCCPはBethe自由エネルギーをある線形の制約条件のもとで最小に
する q を得るための方法である(Yuille [72]).CCCPはShibuya ら[56]
により,LDPC 符号の復号アルゴリズムにも応用されている.
CCCPでは次の自由エネルギーの最小化問題を考える.
最小化問題. q = (q1, . . . , qN) とし,F(q) が下に有界なエネルギー関 数でF(q) = Fvex(q) +Fcave(q) と表されるとする.ただし,Fvex(q) =
∑N
i=1qilog(qi/ψi) と Fcave(q) をそれぞれ q の下に凸と上に凸な関数と する.L個の線形な制約条件aℓ·q=bℓ (ℓ= 1, . . . , L) のもとでF(q) の 最小化を考える.ただし,aℓ = (aℓ1, . . . , aℓN) でbℓ は定数である.
条件付最小化問題において,更新式q(t−1) 7→q(t) は{αℓ}とq(t−1) が 得られたもとでq(t) をF(q(t)) を最小にするように選ぶので
∇Fvex(q(t)) =−∇Fcave(q(t−1))−
∑L ℓ=1
αℓaℓ
を満たすように与えられる.ただし,初期値q(0) は考える問題に依存し て決定されるべきであり,得られる事後確率の推定値はこの初期値に依存 している.この更新式を用いると F(q) は単調に減少し∇FB(q) =0 を 満たす q に収束する.αℓ (ℓ= 1, . . . , L) はℓ 番目の線形な制約条件に対 するラグランジュ乗数であり,aℓ·q(t)=bℓ を保証するように選ばれる.
CCCP アルゴリズム (Yuille [72])
更新式は q(t) について下に凸なエネルギー関数
F(t)(q(t)) =q(t)·h+
∑N i=1
q(t)i logqi(t) ψi +
∑L ℓ=1
αℓ(aℓ·q(t)−bℓ)
を最小化することに対応する.ただし,h=∇Fcave(q(t−1)) である.ラグ ランジュ乗数のベクトル α= (α1, . . . , αL) 対し
q(t)i (α) =ψie−(1+hi)
∏L ℓ=1
e−αℓaℓi (2.11)
を満たす q(t)(α) = (q1(t)(α), . . . , q(t)N(α)) はF(t)(q(t)) を最小にする.こ のとき,α は双対エネルギー
Fˆ(t)(α) =−
∑N i=1
qi(t)(α)−
∑L ℓ=1
αℓbℓ. (2.12)
を最大にする α である.
CCCP アルゴリズムは2 重のloop からなるアルゴリズムである.つ まり,outer loop では式 (2.11) を計算し,inner loop では式 (2.12) の Fˆ(t)(α) を最大にするα の値を計算する.また,以下の命題が成り立つ.
命題 3 (Yuille [72]). CCCPアルゴリズムは ∇FB(q) =0 を満たす q に 収束する.さらに確率伝播法が収束するとき,この q は確率伝播法によ り求めた周辺事後確率と一致する.