Distributed Stochastic Gradient
MCMC
SungjinAhn1
Babak Shahbaba2
Max Welling3
1
Department of Computer Science, University of California, Irvine
2
Department of Statistics, University of California, Irvine
3
Machine Learning Group, University of Amsterdam
June 20, 2016
1 / 28
Distributed Inference inLDA
Approximate Distributed LDA (AD-LDA) [Newman et al, 2007]
• MCMC にかかる計算時間を減らすため,それぞれの local
shard に周辺化ギブスサンプリングを行う手法.
• N
1回のサンプリングごとの計算コストが ( S ) まで減少.
• global states との同期により local copy の重みを修正できる.
13 / 28
SGLD on PartitionedDatasets
準備
• sudataset X = {x1,..., xN } を S 個の bset(shard) に分割:
X1,..., XS, X = ∪sXs, N =
∑
s Ns
• データ x が与えられた時の対数尤度 (score function):
g(θ; x) = ∇θ log p(θ; x)
• X からサンプリングされた n 個のデータ点のミニバッチ:X n
shard Xs からサンプリングされたとき:Xs
n
イ テレーション t で X n
s
がサンプリングされたとき:X n
s,t
• score function の合計:G(θ ; X ) =
∑
x∈X g(θ; x)
score function の平均:g¯(θ ; X ) = |X
1
|
G(θ; X)
17 / 28
18.
SGLD on PartitionedDatasets
Proposition
shard s = 1,...,S:
• shard size: Ns(Ns > 0,
∑
s Ns = N)
• 正規化された shard の選択頻度: qs(qs ∈ (0, 1),
∑
s qs = 1)
このとき以下の推定値は SGLD の推定値として妥当である.
¯gd(θ; X n
s
)
de f
=
Ns
Nqs
¯g(θ; X n
s
)
ここで,shard s は,scheduler h( ) からサンプリングされる.ただ
し,頻度 = {q1,...,qS}.
証明は省略(supplementary material があるらしい)
18 / 28
19.
SGLD on PartitionedDatasets
流れ
(1) shard をサンプリングで選ぶ.
s ∼ h( ) = Category(q1,...,qS)
(2) 選んだ shard からミニバッチ X n
s
をサンプリングする.
(3) ミニバッチを使って score 平均 g¯(θ ; Xs
n ) 計算 .
(4) score 平均に N
N
q
s
s
をかけて,重みを修正する.
19 / 28
20.
SGLD on PartitionedDatasets
SGLD update rule
θt+1 ← θt +
εt
2
∇log p(θt) +
Nst
qst
¯g(θt; X n
st
) + νt
• ¯g(θt; X n
st
) の項は step size の補正になっている.
• このアルゴリズムは相対的にサイズが大きい,または他より使用
されていない shard に対して,大きな step をとる.(全ての
data-case が連鎖の混合に等しく用いられている)
20 / 28