Stochastic Variational Inference の紹介
林 楓 / Twitter @ahahsak
創発システム研究室 B4
January 12, 2016
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 1 / 53
以下の文献を参考に,確率的変分近似法と言われる SVI を紹介します.
• Matthew D Hoffman らの原著 ” Stochastic Variational Inference ”
• 佐藤一誠先生の著書「トピックモデルによる統計的潜在意味解析」
本スライドでは以下のことを紹介.
• Stochastic Variational Inference (SVI):
事後分布を近似するためのアルゴリズム
• Latent Dirichlet Allocation への適用
Keywards: Bayesian inference, variational inference, stochastic opti-
mization, topic model
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 2 / 53
1 Stochastic Variational Inference
2 SVI for LDA
3 まとめ
4 指数型分布族と共役性
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 3 / 53
1 Stochastic Variational Inference
2 SVI for LDA
3 まとめ
4 指数型分布族と共役性
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 4 / 53
SVI
本章では以下の流れで説明を行う.
• SVI を適用するモデルの定義.
• モデルに変分ベイズ法を適用.
• 確率的最適化
• 自然勾配
• モデルに SVI を適用.
• Extension
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 5 / 53
局所潜在変数と大域潜在変数
• 観測 x1:N,局所潜在変数 z1:N,大域潜在変数 β を持つ
グラフィカルモデルを考える.
• p(β|x, z, α) と p(znj|xn, zn,−j, β) が指数型分布族であると仮定する.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 6 / 53
指数型分布族
指数型分布族の基本形
p(x|η) = h(η) exp{ηT
t(x) − a(η)}
h(·):基底測度,a(·):対数正規化項 (スカラ関数)
η(·):自然パラメータ,t(·):十分統計量 (ベクトル関数)
• 指数型分布族の形で分布を表すと,変分ベイズ法や EM アルゴリズ
ムを適用を考えやすくなる(計算が楽になる)
• 正規分布や二項分布,ディリクレ分布,ポアソン分布など多くの分
布がこの族に属す(混合ガウス分布は除く)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 7 / 53
指数型分布族
指数型分布族の基本形
p(x|η) = h(η) exp{ηT
t(x) − a(η)}
h(·):基底測度,a(·):対数正規化項 (スカラ関数)
η(·):自然パラメータ,t(·):十分統計量 (ベクトル関数)
• 事後分布 p(β|x, z, α)
p(β|x, z, α)
= h(β) exp{ηg(x, z, α)T
t(β) − ag(ηg(x, z, α))} (1)
• 事後分布 p(zn j|xn, zn,−j, β)
p(znj|xn, zn,−j, β)
= h(zn j) exp{ηl(xn, zn,−j, β)T
t(znj) − al(ηl(xn, zn,−j, β))} (2)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 8 / 53
指数型分布族
• 尤度 p(xn, zn|β)
p(xn, zn|β) = h(xn, zn) exp{βT
t(xn, zn) − al(β)} (3)
• 事前分布 p(β|α)
p(β|α) = h(β) exp{αT
t(β) − ag(α)} (4)
十分統計量は t(β) = (β, −al(β)) である,また,ハイパーパラメータ α
は 2 つの要素から構成され,α1 は β と同じ次元のベクトル,α2 はス
カラーであり,α = (α1, α2) となる.
式 (3),(4) から,式 (1) の自然パラメータは次のように表せる.(補
足参照)
ηg(x, z, α) = (α1 +
N∑
n=1
t(zn, xn), α2 + N) (5)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 9 / 53
対数周辺尤度と KL 情報量
変分ベイズ法では事後分布と変分事後分布との KL 情報量を最小化するた
めに,変分下限の最大化を行う.
p(x|α) = L[q(z, β)] + KL[q(z, β)||p(z, β|x, α)]
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 10 / 53
対数周辺尤度と KL 情報量
変分ベイズ法では事後分布と変分事後分布との KL 情報量を最小化するた
めに,変分下限の最大化を行う.
p(x|α) = L[q(z, β)] + KL[q(z, β)||p(z, β|x, α)]
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 11 / 53
変分下限の導出
変分下限 L は対数関数の凸性とイエンゼンの不等式を利用することで得
られる.
log p(x) = log
∫
p(x, z, β)dzdβ
= log
∫
q(z, β)
p(x, z, β)
q(z, β)
dzdβ
= log Eq
[
p(x, z, β)
q(z, β)
]
≥ Eq
[
log p(x, z, β)
]
− Eq
[
log q(z, β)
]
(6)
def
= L(q)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 12 / 53
変分下限の導出
L(q) = Eq
[
log p(x, z, β)
]
− Eq
[
log q(z, β)
]
• 結合分布の対数の期待値 Eq
[
log p(x, z, β)
]
Eq
[
log p(x, z, β)
]
= Eq
[
log p(β|x, z)p(x, z)
]
= Eq
[
log p(β|x, z)
]
+ Eq
[
p(x, z)
]
(7)
• 変分事後分布のエントロピー −Eq
[
log q(z, β)
]
−Eq
[
log q(z, β)
]
= −Eq
[
log q(β|λ)
]
−
N∑
n=1
J∑
j=1
Eq
[
log q(znj|ϕn j)
]
(8)
※ 変分事後分布 q(z, β) は因子分解可能を仮定する.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 13 / 53
変分下限の最大化
L(q) = Lglobal + Llocal
Lglobal = Eq
[
log p(β|x, z)
]
− Eq
[
log q(β|λ)
] def
= L(λ)
Llocal = Eq
[
log p(znj|xn, zn,− j, β)
]
− Eq
[
log q(znj)
] def
= L(ϕnj)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 14 / 53
変分下限の最大化
変分事後分布の定義 (指数型分布族)
q(β|λ) = h(β) exp{λT
t(β) − ag(λ)} (9)
q(znj|ϕn j) = h(znj) exp{ϕT
njt(znj) − al(ϕnj)} (10)
式 (1),(9) より, L(λ) は次のように変形できる.
L(λ) = Eq
[
ηg(x, z, α)
]T
∇λag(λ) − λT
∇λag(λ) + ag(λ) + const (11)
ここで,−Eq
[
ag(ηg(x, z, α))
]
は q(β) に依らないため定数とした.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 15 / 53
変分下限の最大化
式 (11) で λ 方向の勾配をとると以下のようになる.
∇λL(λ) = ∇2
λag(λ)(Eq
[
ηg(x, z, α)
]
− λ) (12)
この勾配が 0 になるとき,
λ = Eq
[
ηg(x, z, α)
]
(13)
L(ϕnj) についても同様で
∇ϕnj L(ϕn j) = ∇2
ϕnj
al(ϕnj)(Eq
[
ηl(xn, zn,− j, β)
]
− ϕnj) (14)
ϕnj = Eq
[
ηl(xn, zn,−j, β)
]
(15)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 16 / 53
変分ベイズ法のアルゴリズム
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 17 / 53
確率的最適化
確率的勾配を用いることで,真の勾配の計算の計算量が軽減され,局所
解にも陥りにくくなる.
最適化問題 (Robbins Monro 型)
x∗
= argmax
x
f(x) (16)
に対して,最適解は以下の更新で求められる.
x(s)
= x(s−1)
− ρ(s)
n∇x fi(x(s−1)
) (17)
ただし,ステップサイズ ρ は以下の条件を満たす.
∞∑
s=1
ρ(s)
= ∞,
∞∑
s=1
(ρ(s)
)2
< ∞
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 18 / 53
自然勾配
自然勾配を導入することでユークリッド空間以外の空間での解の探索が
可能になる.関数 f(λ) の自然勾配は次のように表せる.
ˆ∇λ f(λ)
def
= G(λ)−1
∇λ f(λ) (18)
ここで G(λ) は変分事後分布 q(λ) についてのフィッシャーの情報行列で
ある.
G(λ) の計算
G(λ) = Eλ
[
(∇λ log q(β|λ))(∇λ log q(β|λ))T
]
= Eλ
[
(t(β) − Eλ[t(β)])(t(β) − Eλ[t(β)])T
]
= ∇2
λag(λ) (19)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 19 / 53
自然勾配
式 (12) と (19) より,
変分下限 L(λ) の自然勾配 ˆ∇λL(λ) は
ˆ∇λL(λ) = Eϕ
[
ηg(x, z, α)
]
− λ (20)
同様に,式 (14) と (19) より,
変分下限 L(ϕnj) の自然勾配 ˆ∇λL(ϕnj) は
ˆ∇ϕnj L(ϕnj) = Eλ,ϕn,− j
[
ηl(xn, zn, β)
]
− ϕnj (21)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 20 / 53
SVI
SVI では,データの一部をサンプリングすることで確率的自然勾配を推
定し,確率的最適化の枠組みで変分下限 L の最大化を行う.
最適化問題 (Robbins Monro 型)
q∗
= argmax
q
L(q)
λ(t)
= λ(t−1)
+ ρ(t) ˆ∇λLi(λ) (22)
自然勾配
ˆ∇λL(λ) = Eϕ
[
ηg(x, z, α)
]
− λ
ˆ∇ϕnj L(ϕnj) = Eλ,ϕn,− j
[
ηl(xn, zn, β)
]
− ϕnj
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 21 / 53
SVI
変分下限 L(λ) を以下のように定義し直す.
• L:大域変分パラメータ λ と局所変分パラメータ ϕ(λ) の汎関数
• ϕ(λ):局所変分パラメータの局所最適解を返す関数
∇ϕL(λ, ϕ(λ)) = 0 (23)
局所変分パラメータ ϕ が局所最適解 ϕ(λ) のとき,
L(λ)
def
= L(λ, ϕ(λ))
∇λL(λ) = ∇λL(λ, ϕ(λ))
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 22 / 53
確率的自然勾配の導出
変分下限を大域的な部分と局所的な部分に分解する.
L(λ) = Eq
[
log p(β)
]
− Eq
[
log q(β)
]
+
N∑
n=1
max
ϕn
(Eq
[
log p(xn, zn|β)
]
− Eq
[
log q(zn)
]
)
変数が I ∼ Unif(1, ..., N) からランダムに選ばれるとすると
LI(λ)
def
= Eq
[
log p(β)
]
− Eq
[
log q(β)
]
+ max
ϕI
(Eq
[
log p(xI, zI|β)
]
− Eq
[
log q(zI)
]
) (24)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 23 / 53
確率的自然勾配の導出
式 (20),(24) より,LI(λ) の自然勾配は次のようになる.{x(N)
i , z(N)
i } は観
測 xn,潜在変数 zn の N 個のサンプルからなるデータセット.
ˆ∇λLi(λ) = Eq
[
ηg(x(N)
i , z(N)
i , α)
]
− λ (25)
また,式 (5) と (25) から
ˆ∇λLi(λ) = α + N · (Eϕi(λ) [t(xi, zi)] , 1) − λ (26)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 24 / 53
SVI
最適化問題 (Robbins Monro 型)
q∗
= argmax
q
L(q)
λ(t)
= λ(t−1)
+ ρ(t) ˆ∇λLi(λ) (27)
式 (26) を代入して,
λ(t)
= λ(t−1)
+ ρ(t)
(α + N · (Eϕi(λ) [t(xi, zi)] , 1) − λ(t−1)
)
= (1 − ρ(t)
)λ(t−1)
+ ρ(t)
(α + N · (Eϕi(λ) [t(xi, zi)] , 1)) (28)
忘却率 κ ∈ (0.5, 1],遅延 τ ≥ 0 とすると,
ρ(t)
= (t + τ)−κ
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 25 / 53
SVI のアルゴリズム
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 26 / 53
Extensions
• ミニバッチを利用する方法
• ハイパーパラメータの推定に経験ベイズ推定を利用する方法
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 27 / 53
ミニバッチを利用する場合
ミニバッチを利用することでアルゴリズムの安定性を改善することがで
きる.
処理の流れ
• イテレーション xt,1:S ごとに S 個の例の集合をサンプリング.
• 各データポイントでの局所変分パラメータ ϕS (λ(t−1)) を計算.
• データポイント xtS ごとについての確率的自然勾配を計算.
• 更新式は以下のようになる.
λ(t)
= (1 − ρ(t)
)λ(t−1)
+
ρ(t)
S
∑
S
(α + N · (EϕS (λ(t−1)) [t(xi, zi)] , 1))
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 28 / 53
ミニバッチを利用する理由
SVI ではミニバッチが使われることが多い.
• 多くのデータポイントにわたる大域パラメータの更新に
かかる計算コストを,データの分割により軽減するため.
• ミニバッチを使うとよりよい局所最適解にたどり着きやすくなる
ため.
• SVI は局所最適解に収束することが保証されている.
• しかし,極めて少ないデータポイントでステップサイズを
大きくするとうまく収束しないことがある.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 29 / 53
経験ベイズ推定を利用する場合
潜在変数 β,z 両方の事後分布を推定する場合,
ハイパーパラメータ α の値を点推定した値が得られる.
α をフィッティングする方法:経験ベイズ推定
• データの結合尤度 p(x|α) を最大化する.
• 正確には p(x|α) は計算できないため,
変分下限を α について最大化する.
• SVI では,以下のように α と λ を同時に更新する.
α(t)
= α(t−1)
+ ρ(t)
∇αLt(λ(t−1)
, ϕ, α(t−1)
)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 30 / 53
1 Stochastic Variational Inference
2 SVI for LDA
3 まとめ
4 指数型分布族と共役性
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 31 / 53
Topic Model
本章では以下の流れで説明を行う.
• トピックモデルの説明
• LDA の説明
• SVI の LDA への適用
• HDP Topic Model の説明
• SVI の HDP Topic Model への適用
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 32 / 53
トピックモデル
文章が生成される過程をモデル化した確率モデル.
• 同じ文章で現れやすい語彙の集まりをトピックと呼ぶ.
• 政治記事→「国会」「法案」「首相」
• スポーツ記事→「スタジアム」「選手」「ゴール」
• 文章と同じように隠れた構造を持てば応用が可能.
• トピックモデルは文章データの解析だけでなく,画像処理や推薦シ
ステム,バイオインフォマティクスなど,多くの分野で応用される.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 33 / 53
Latent Dirichlet Allocation
Figure: LDA のグラフィカルモデル
p(α, η, θ1:D, β1:K, z1:D,1:N, w1:D,1:N)
=
D∏
d=1
p(θd|α)
N∏
n=1
p(zd,n|θd)
K∏
k=1
p(βk|η)p(wd,n|zd,n, βk)
=
D∏
d=1
Dir(θd|α)
N∏
n=1
Multi(zd,n|θd)
K∏
k=1
Dir(βk|η)Multi(wd,n|βzd,n )
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 34 / 53
Latent Dirichlet Allocation の生成過程
LDA の生成過程を以下に示す.
θd ∼ Dir(θd|α)
βk ∼ Dir(βk|η)
zd,n ∼ Multi(zd,n|θd)
wd,n ∼ Multi(βk|zd,n, βk)
ディリクレ分布と多項分布
Dir(π|λ) =
Γ(
∑K
i=1 γi)
∏K
i=1 Γ(γi)
K∏
i=1
πγi−1
Multi(x|π) =
n!
∏K
i=1 ni
K∏
i=1
πnk
k
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 35 / 53
Latent Dirichlet Allocation
Figure: LDA のグラフィカルモデル
θ∗
, β∗
, z∗
, w∗
= argmax
θ,β,z,w
p(α, η, θ1:D, β1:K, z1:D,1:N, w1:D,1:N)
同時確率を最大化するパラメータ θ, β, z, w を見つける.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 36 / 53
Latent Dirichlet Allocation
簡単のために,以下のようなグラフィカルモデルを考える.
p(y|x, z1:N) =
p(y, z1:N|x)
p(z1:N|x)
∝ p(z1:N|y)p(y|x)
=
N∏
i=1
Multi(zi|y)Dir(y|x)
ディリクレ分布は多項分布の共役事前分布なので
p(y|x, z1:N) ∝
N∏
i=1
Multi(zi|y)Dir(y|x) ∝ Dir(y|x +
N∑
i=1
zi)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 37 / 53
Latent Dirichlet Allocation
先ほどの例と同様に,マルコフブランケットのみを考える.
θd ∼ p(θd|zd,1:n, α) ∝
N∏
i=1
Multi(zd,i|θd)Dir(θd|α) ∝ Dir(θd|α +
N∑
i=1
zd,i)
βk ∼ p(βk|η, wd,1:n) ∝
K∏
i=1
D∏
j=1
Multi(wj,i|βk)Dir(βk|η)
∝ Dir(βk|η +
D∑
j=1
K∑
k=1
wj,i)
zd,n ∼ p(zd, j|wd,j, βk, θd) ∝ Multi(wd,j|βzd,j )Multi(zd,j|θd)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 38 / 53
指数型分布族での多項分布
多項分布は指数型分布族の形で表すことができる.
Multi(x|π) =
n!
∏K
i=1 ni
K∏
i=1
πnk
k
=
n!
∏K
i=1 ni
exp



K∑
i=1
xi log πi +
(
N −
K−1∑
k=1
xi
)(
log
(
1 −
K−1∑
k=1
πi
))


=
n!
∏K
i=1 ni
exp



K−1∑
i=1
log
( πi
1 −
∑K−1
k=1 πi
)
xi + N
(
log
(
1 −
K−1∑
k=1
πi
))


林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 39 / 53
指数型分布族でのディリクレ分布
多項分布は指数型分布族の形で表すことができる.
Dir(π|λ) =
Γ(
∑K
i=1 γi)
∏K
i=1 Γ(γi)
K∏
i=1
πγi−1
= exp



( K∑
i=1
(γi − 1) log πi
)
+ log Γ
( K∑
i=1
γi
)
−
K∑
i=1
log Γ(γi)



ディリクレ分布の特性
E[θk|γ] =
γk
∑K
i=1 γi
(29)
E[log θk|γ] = Ψ(γk) − Ψ
( K∑
i=1
γi
)
(30)
ここで,Ψ(x) =
d log Γ(x)
dx であり,Ψ(x) はディガンマ関数と呼ばれる.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 40 / 53
SVI for LDA
LDA に SVI を適用する.
Figure: LDA のグラフィカルモデル
• 潜在トピック zd は多項分布から生成される.
p(zdn = k|θd, β1:K, wdn) ∝ exp{log θdk + log βkwdn } (31)
近似分布 q(zdn) も局所変分パラメータ ϕdn の多項分布になる.
q(zdn) = Multi(ϕdn)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 41 / 53
SVI for LDA
LDA に SVI を適用する.
Figure: LDA のグラフィカルモデル
• 文書 d でのトピック分布 θd はディリクレ分布から生成される.
p(θd|zd) = Dir
(
α +
N∑
n=1
zdn
)
(32)
近似分布 q(θd) も局所変分パラメータ γd のディリクレ分布になる.
q(θd) = Dir(γd)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 42 / 53
SVI for LDA
LDA に SVI を適用する.
Figure: LDA のグラフィカルモデル
• トピック k での単語の出現確率 βk はディリクレ分布から生成される.
p(βk|z, w) = Dir
(
η +
D∑
d=1
N∑
n=1
zk
dnwdn
)
(33)
近似分布 q(βk) も大域変分パラメータ λk のディリクレ分布になる.
q(βk) = Dir(λk)
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 43 / 53
変分ベイズでの局所変分パラメータの更新
式 (15) より,式 (31),(32) の自然パラメータの期待値をとると,
• 単語ごとのトピックの割り当てに関する更新は以下のようにできる.
ϕk
dn ∝ exp{E[log θdk] + E[log βk,wdn ]}
= exp
{
Ψ(γdk) + Ψ(γdk) + Ψ(λk,wdn ) − Ψ
(∑
ν
λkν
)}
(34)
• 文書ごとのトピックの割合に関する更新は以下のようにできる.
γd = α +
N∑
n=1
ϕdn (35)
ここで,Eq[zk
dn] = ϕk
dn を用いた.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 44 / 53
変分ベイズでの大域変分パラメータの更新
文書ごとの変分パラメータの更新後,トピックごとの変分パラメータを
以下のように更新できる.
式 (13) より,式 (33) の自然パラメータの期待値をとると,
λk = η +
D∑
d=1
N∑
n=1
ϕk
dnwdn (36)
この更新は文書ごとの変分パラメータ ϕ に依存している.
トピックごとの更新 λ1:K をする前に,文書ごとの局所変分パラメータの
計算をする必要がある.そのためバッチ推定では文書集合が大きいと効
率が悪くなる.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 45 / 53
SVI for LDA
• 大域変分パラメータ:ディリクレパラメータ λk
• 局所変分パラメータ:
文書ごとのトピック分布のディリクレパラメータ γd
単語ごとのトピック割り当ての多項分布のパラメータ ϕdn
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 46 / 53
1 Stochastic Variational Inference
2 SVI for LDA
3 まとめ
4 指数型分布族と共役性
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 47 / 53
まとめ
• SVI の main idea:データを繰り返しサンプリングして確率的自然勾
配を求め,変分下限を最大化するために確率的最適化を使うこと.
• SVI は逐次的に処理を行うので,数百万もあるデータセットに対し
ても簡単にトピックモデルに適用することができる.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 48 / 53
1 Stochastic Variational Inference
2 SVI for LDA
3 まとめ
4 指数型分布族と共役性
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 49 / 53
補足: 指数型分布族と共役性
以下では,指数型分布族の定義と本論文で用いたその性質について説明
する.
パラメータベクトル θ を持つ確率分布 p は指数型分布族の形で次のよう
に書ける.
p(x|θ) = h(x) exp{⟨ηx(θ), tx(x)⟩ − Zx(ηx(θ))} (37)
ここで,⟨·, ·⟩ は実ベクトル空間での内積を表している.また,ベクトル
関数 η(θ),t(x) をそれぞれ自然パラメータと十分統計量と呼ぶ.さらに,
スカラ関数 h(x) を基底測度,Z(θ) を対数正規化項と呼ぶ.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 50 / 53
補足: 十分統計量の期待値
式 (37) のような一般的な指数型分布族では次の式が成り立つ.
∇ηZ(η) = E[t(x)] (38)
証明.
式 (38) を示す.
∇ηZ(η) = ∇η log
∫
e⟨η,t(x)⟩
h(x)dx (39)
=
1
∫
e⟨η,t(x)⟩h(x)dx
∫
e⟨η,t(x)⟩
h(x)dx (40)
=
∫
t(x)p(x|η)dx (41)
= E[t(x)] (42)
□
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 51 / 53
補足: 共役な確率分布
パラメータ θ, α によって与えられる 2 つの確率分布 p1(θ|α), p2(x|θ) が任
意の θ, α について次の式を満たすとき,(p1, p2) の組を共役な確率分布で
あるという.
p1(θ|α)p2(x|θ) ∝ p1(θ|α
′
) (43)
ただし,α
′
は x, α に依存し,α
′
= α
′
(x, α) である.
ベイズ推定において確率分布間の共役性は特に有効である.事前分布
p(θ|α) と尤度 p(x|θ) によって生成される観測データがわかるとき,事後確
率 p(θ|x, α) は事前確率と同じ分布族となる.このような事前分布を共役
事前分布と呼ぶ.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 52 / 53
補足: 共役な確率分布
例
p(x|θ) ∝ exp {⟨ηx(θ), tx(x)⟩ − Zx(ηx(θ))} (44)
= exp {⟨(ηx(θ), −Zx(ηx(θ))), (tx(x), 1)⟩} (45)
ここで、tθ (θ) = (ηx (θ) , −Zx (ηx (θ))) ととると,
p (x|θ) ∝ exp {⟨tθ (θ) , (tx (x) , 1)⟩} となり,
p (x, θ|α) = p (θ|α) p (x|θ) (46)
∝ exp { ⟨tθ (θ) , (tx (x) , 1) + ηθ (α)⟩ − Zθ (ηθ (α))} (47)
∝ exp { ⟨tθ (θ) , (tx (x) , 1) + ηθ (α)⟩} (48)
= g (x, θ) exp {⟨ηθ (α) , tθ (θ)⟩} (49)
よって,p (x, θ|α) は指数型分布となるので,p (θ|α) と p (x|θ) は共役な指
数型分布とできる.
林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 53 / 53

Stochastic Variational Inference

  • 1.
    Stochastic Variational Inferenceの紹介 林 楓 / Twitter @ahahsak 創発システム研究室 B4 January 12, 2016 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 1 / 53
  • 2.
    以下の文献を参考に,確率的変分近似法と言われる SVI を紹介します. •Matthew D Hoffman らの原著 ” Stochastic Variational Inference ” • 佐藤一誠先生の著書「トピックモデルによる統計的潜在意味解析」 本スライドでは以下のことを紹介. • Stochastic Variational Inference (SVI): 事後分布を近似するためのアルゴリズム • Latent Dirichlet Allocation への適用 Keywards: Bayesian inference, variational inference, stochastic opti- mization, topic model 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 2 / 53
  • 3.
    1 Stochastic VariationalInference 2 SVI for LDA 3 まとめ 4 指数型分布族と共役性 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 3 / 53
  • 4.
    1 Stochastic VariationalInference 2 SVI for LDA 3 まとめ 4 指数型分布族と共役性 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 4 / 53
  • 5.
    SVI 本章では以下の流れで説明を行う. • SVI を適用するモデルの定義. •モデルに変分ベイズ法を適用. • 確率的最適化 • 自然勾配 • モデルに SVI を適用. • Extension 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 5 / 53
  • 6.
    局所潜在変数と大域潜在変数 • 観測 x1:N,局所潜在変数z1:N,大域潜在変数 β を持つ グラフィカルモデルを考える. • p(β|x, z, α) と p(znj|xn, zn,−j, β) が指数型分布族であると仮定する. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 6 / 53
  • 7.
    指数型分布族 指数型分布族の基本形 p(x|η) = h(η)exp{ηT t(x) − a(η)} h(·):基底測度,a(·):対数正規化項 (スカラ関数) η(·):自然パラメータ,t(·):十分統計量 (ベクトル関数) • 指数型分布族の形で分布を表すと,変分ベイズ法や EM アルゴリズ ムを適用を考えやすくなる(計算が楽になる) • 正規分布や二項分布,ディリクレ分布,ポアソン分布など多くの分 布がこの族に属す(混合ガウス分布は除く) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 7 / 53
  • 8.
    指数型分布族 指数型分布族の基本形 p(x|η) = h(η)exp{ηT t(x) − a(η)} h(·):基底測度,a(·):対数正規化項 (スカラ関数) η(·):自然パラメータ,t(·):十分統計量 (ベクトル関数) • 事後分布 p(β|x, z, α) p(β|x, z, α) = h(β) exp{ηg(x, z, α)T t(β) − ag(ηg(x, z, α))} (1) • 事後分布 p(zn j|xn, zn,−j, β) p(znj|xn, zn,−j, β) = h(zn j) exp{ηl(xn, zn,−j, β)T t(znj) − al(ηl(xn, zn,−j, β))} (2) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 8 / 53
  • 9.
    指数型分布族 • 尤度 p(xn,zn|β) p(xn, zn|β) = h(xn, zn) exp{βT t(xn, zn) − al(β)} (3) • 事前分布 p(β|α) p(β|α) = h(β) exp{αT t(β) − ag(α)} (4) 十分統計量は t(β) = (β, −al(β)) である,また,ハイパーパラメータ α は 2 つの要素から構成され,α1 は β と同じ次元のベクトル,α2 はス カラーであり,α = (α1, α2) となる. 式 (3),(4) から,式 (1) の自然パラメータは次のように表せる.(補 足参照) ηg(x, z, α) = (α1 + N∑ n=1 t(zn, xn), α2 + N) (5) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 9 / 53
  • 10.
    対数周辺尤度と KL 情報量 変分ベイズ法では事後分布と変分事後分布とのKL 情報量を最小化するた めに,変分下限の最大化を行う. p(x|α) = L[q(z, β)] + KL[q(z, β)||p(z, β|x, α)] 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 10 / 53
  • 11.
    対数周辺尤度と KL 情報量 変分ベイズ法では事後分布と変分事後分布とのKL 情報量を最小化するた めに,変分下限の最大化を行う. p(x|α) = L[q(z, β)] + KL[q(z, β)||p(z, β|x, α)] 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 11 / 53
  • 12.
    変分下限の導出 変分下限 L は対数関数の凸性とイエンゼンの不等式を利用することで得 られる. logp(x) = log ∫ p(x, z, β)dzdβ = log ∫ q(z, β) p(x, z, β) q(z, β) dzdβ = log Eq [ p(x, z, β) q(z, β) ] ≥ Eq [ log p(x, z, β) ] − Eq [ log q(z, β) ] (6) def = L(q) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 12 / 53
  • 13.
    変分下限の導出 L(q) = Eq [ logp(x, z, β) ] − Eq [ log q(z, β) ] • 結合分布の対数の期待値 Eq [ log p(x, z, β) ] Eq [ log p(x, z, β) ] = Eq [ log p(β|x, z)p(x, z) ] = Eq [ log p(β|x, z) ] + Eq [ p(x, z) ] (7) • 変分事後分布のエントロピー −Eq [ log q(z, β) ] −Eq [ log q(z, β) ] = −Eq [ log q(β|λ) ] − N∑ n=1 J∑ j=1 Eq [ log q(znj|ϕn j) ] (8) ※ 変分事後分布 q(z, β) は因子分解可能を仮定する. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 13 / 53
  • 14.
    変分下限の最大化 L(q) = Lglobal+ Llocal Lglobal = Eq [ log p(β|x, z) ] − Eq [ log q(β|λ) ] def = L(λ) Llocal = Eq [ log p(znj|xn, zn,− j, β) ] − Eq [ log q(znj) ] def = L(ϕnj) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 14 / 53
  • 15.
    変分下限の最大化 変分事後分布の定義 (指数型分布族) q(β|λ) =h(β) exp{λT t(β) − ag(λ)} (9) q(znj|ϕn j) = h(znj) exp{ϕT njt(znj) − al(ϕnj)} (10) 式 (1),(9) より, L(λ) は次のように変形できる. L(λ) = Eq [ ηg(x, z, α) ]T ∇λag(λ) − λT ∇λag(λ) + ag(λ) + const (11) ここで,−Eq [ ag(ηg(x, z, α)) ] は q(β) に依らないため定数とした. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 15 / 53
  • 16.
    変分下限の最大化 式 (11) でλ 方向の勾配をとると以下のようになる. ∇λL(λ) = ∇2 λag(λ)(Eq [ ηg(x, z, α) ] − λ) (12) この勾配が 0 になるとき, λ = Eq [ ηg(x, z, α) ] (13) L(ϕnj) についても同様で ∇ϕnj L(ϕn j) = ∇2 ϕnj al(ϕnj)(Eq [ ηl(xn, zn,− j, β) ] − ϕnj) (14) ϕnj = Eq [ ηl(xn, zn,−j, β) ] (15) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 16 / 53
  • 17.
    変分ベイズ法のアルゴリズム 林 楓 / Twitter@ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 17 / 53
  • 18.
    確率的最適化 確率的勾配を用いることで,真の勾配の計算の計算量が軽減され,局所 解にも陥りにくくなる. 最適化問題 (Robbins Monro型) x∗ = argmax x f(x) (16) に対して,最適解は以下の更新で求められる. x(s) = x(s−1) − ρ(s) n∇x fi(x(s−1) ) (17) ただし,ステップサイズ ρ は以下の条件を満たす. ∞∑ s=1 ρ(s) = ∞, ∞∑ s=1 (ρ(s) )2 < ∞ 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 18 / 53
  • 19.
    自然勾配 自然勾配を導入することでユークリッド空間以外の空間での解の探索が 可能になる.関数 f(λ) の自然勾配は次のように表せる. ˆ∇λf(λ) def = G(λ)−1 ∇λ f(λ) (18) ここで G(λ) は変分事後分布 q(λ) についてのフィッシャーの情報行列で ある. G(λ) の計算 G(λ) = Eλ [ (∇λ log q(β|λ))(∇λ log q(β|λ))T ] = Eλ [ (t(β) − Eλ[t(β)])(t(β) − Eλ[t(β)])T ] = ∇2 λag(λ) (19) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 19 / 53
  • 20.
    自然勾配 式 (12) と(19) より, 変分下限 L(λ) の自然勾配 ˆ∇λL(λ) は ˆ∇λL(λ) = Eϕ [ ηg(x, z, α) ] − λ (20) 同様に,式 (14) と (19) より, 変分下限 L(ϕnj) の自然勾配 ˆ∇λL(ϕnj) は ˆ∇ϕnj L(ϕnj) = Eλ,ϕn,− j [ ηl(xn, zn, β) ] − ϕnj (21) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 20 / 53
  • 21.
    SVI SVI では,データの一部をサンプリングすることで確率的自然勾配を推 定し,確率的最適化の枠組みで変分下限 Lの最大化を行う. 最適化問題 (Robbins Monro 型) q∗ = argmax q L(q) λ(t) = λ(t−1) + ρ(t) ˆ∇λLi(λ) (22) 自然勾配 ˆ∇λL(λ) = Eϕ [ ηg(x, z, α) ] − λ ˆ∇ϕnj L(ϕnj) = Eλ,ϕn,− j [ ηl(xn, zn, β) ] − ϕnj 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 21 / 53
  • 22.
    SVI 変分下限 L(λ) を以下のように定義し直す. •L:大域変分パラメータ λ と局所変分パラメータ ϕ(λ) の汎関数 • ϕ(λ):局所変分パラメータの局所最適解を返す関数 ∇ϕL(λ, ϕ(λ)) = 0 (23) 局所変分パラメータ ϕ が局所最適解 ϕ(λ) のとき, L(λ) def = L(λ, ϕ(λ)) ∇λL(λ) = ∇λL(λ, ϕ(λ)) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 22 / 53
  • 23.
    確率的自然勾配の導出 変分下限を大域的な部分と局所的な部分に分解する. L(λ) = Eq [ logp(β) ] − Eq [ log q(β) ] + N∑ n=1 max ϕn (Eq [ log p(xn, zn|β) ] − Eq [ log q(zn) ] ) 変数が I ∼ Unif(1, ..., N) からランダムに選ばれるとすると LI(λ) def = Eq [ log p(β) ] − Eq [ log q(β) ] + max ϕI (Eq [ log p(xI, zI|β) ] − Eq [ log q(zI) ] ) (24) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 23 / 53
  • 24.
    確率的自然勾配の導出 式 (20),(24) より,LI(λ)の自然勾配は次のようになる.{x(N) i , z(N) i } は観 測 xn,潜在変数 zn の N 個のサンプルからなるデータセット. ˆ∇λLi(λ) = Eq [ ηg(x(N) i , z(N) i , α) ] − λ (25) また,式 (5) と (25) から ˆ∇λLi(λ) = α + N · (Eϕi(λ) [t(xi, zi)] , 1) − λ (26) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 24 / 53
  • 25.
    SVI 最適化問題 (Robbins Monro型) q∗ = argmax q L(q) λ(t) = λ(t−1) + ρ(t) ˆ∇λLi(λ) (27) 式 (26) を代入して, λ(t) = λ(t−1) + ρ(t) (α + N · (Eϕi(λ) [t(xi, zi)] , 1) − λ(t−1) ) = (1 − ρ(t) )λ(t−1) + ρ(t) (α + N · (Eϕi(λ) [t(xi, zi)] , 1)) (28) 忘却率 κ ∈ (0.5, 1],遅延 τ ≥ 0 とすると, ρ(t) = (t + τ)−κ 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 25 / 53
  • 26.
    SVI のアルゴリズム 林 楓 /Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 26 / 53
  • 27.
    Extensions • ミニバッチを利用する方法 • ハイパーパラメータの推定に経験ベイズ推定を利用する方法 林 楓/ Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 27 / 53
  • 28.
    ミニバッチを利用する場合 ミニバッチを利用することでアルゴリズムの安定性を改善することがで きる. 処理の流れ • イテレーション xt,1:Sごとに S 個の例の集合をサンプリング. • 各データポイントでの局所変分パラメータ ϕS (λ(t−1)) を計算. • データポイント xtS ごとについての確率的自然勾配を計算. • 更新式は以下のようになる. λ(t) = (1 − ρ(t) )λ(t−1) + ρ(t) S ∑ S (α + N · (EϕS (λ(t−1)) [t(xi, zi)] , 1)) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 28 / 53
  • 29.
    ミニバッチを利用する理由 SVI ではミニバッチが使われることが多い. • 多くのデータポイントにわたる大域パラメータの更新に かかる計算コストを,データの分割により軽減するため. •ミニバッチを使うとよりよい局所最適解にたどり着きやすくなる ため. • SVI は局所最適解に収束することが保証されている. • しかし,極めて少ないデータポイントでステップサイズを 大きくするとうまく収束しないことがある. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 29 / 53
  • 30.
    経験ベイズ推定を利用する場合 潜在変数 β,z 両方の事後分布を推定する場合, ハイパーパラメータα の値を点推定した値が得られる. α をフィッティングする方法:経験ベイズ推定 • データの結合尤度 p(x|α) を最大化する. • 正確には p(x|α) は計算できないため, 変分下限を α について最大化する. • SVI では,以下のように α と λ を同時に更新する. α(t) = α(t−1) + ρ(t) ∇αLt(λ(t−1) , ϕ, α(t−1) ) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 30 / 53
  • 31.
    1 Stochastic VariationalInference 2 SVI for LDA 3 まとめ 4 指数型分布族と共役性 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 31 / 53
  • 32.
    Topic Model 本章では以下の流れで説明を行う. • トピックモデルの説明 •LDA の説明 • SVI の LDA への適用 • HDP Topic Model の説明 • SVI の HDP Topic Model への適用 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 32 / 53
  • 33.
    トピックモデル 文章が生成される過程をモデル化した確率モデル. • 同じ文章で現れやすい語彙の集まりをトピックと呼ぶ. • 政治記事→「国会」「法案」「首相」 •スポーツ記事→「スタジアム」「選手」「ゴール」 • 文章と同じように隠れた構造を持てば応用が可能. • トピックモデルは文章データの解析だけでなく,画像処理や推薦シ ステム,バイオインフォマティクスなど,多くの分野で応用される. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 33 / 53
  • 34.
    Latent Dirichlet Allocation Figure:LDA のグラフィカルモデル p(α, η, θ1:D, β1:K, z1:D,1:N, w1:D,1:N) = D∏ d=1 p(θd|α) N∏ n=1 p(zd,n|θd) K∏ k=1 p(βk|η)p(wd,n|zd,n, βk) = D∏ d=1 Dir(θd|α) N∏ n=1 Multi(zd,n|θd) K∏ k=1 Dir(βk|η)Multi(wd,n|βzd,n ) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 34 / 53
  • 35.
    Latent Dirichlet Allocationの生成過程 LDA の生成過程を以下に示す. θd ∼ Dir(θd|α) βk ∼ Dir(βk|η) zd,n ∼ Multi(zd,n|θd) wd,n ∼ Multi(βk|zd,n, βk) ディリクレ分布と多項分布 Dir(π|λ) = Γ( ∑K i=1 γi) ∏K i=1 Γ(γi) K∏ i=1 πγi−1 Multi(x|π) = n! ∏K i=1 ni K∏ i=1 πnk k 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 35 / 53
  • 36.
    Latent Dirichlet Allocation Figure:LDA のグラフィカルモデル θ∗ , β∗ , z∗ , w∗ = argmax θ,β,z,w p(α, η, θ1:D, β1:K, z1:D,1:N, w1:D,1:N) 同時確率を最大化するパラメータ θ, β, z, w を見つける. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 36 / 53
  • 37.
    Latent Dirichlet Allocation 簡単のために,以下のようなグラフィカルモデルを考える. p(y|x,z1:N) = p(y, z1:N|x) p(z1:N|x) ∝ p(z1:N|y)p(y|x) = N∏ i=1 Multi(zi|y)Dir(y|x) ディリクレ分布は多項分布の共役事前分布なので p(y|x, z1:N) ∝ N∏ i=1 Multi(zi|y)Dir(y|x) ∝ Dir(y|x + N∑ i=1 zi) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 37 / 53
  • 38.
    Latent Dirichlet Allocation 先ほどの例と同様に,マルコフブランケットのみを考える. θd∼ p(θd|zd,1:n, α) ∝ N∏ i=1 Multi(zd,i|θd)Dir(θd|α) ∝ Dir(θd|α + N∑ i=1 zd,i) βk ∼ p(βk|η, wd,1:n) ∝ K∏ i=1 D∏ j=1 Multi(wj,i|βk)Dir(βk|η) ∝ Dir(βk|η + D∑ j=1 K∑ k=1 wj,i) zd,n ∼ p(zd, j|wd,j, βk, θd) ∝ Multi(wd,j|βzd,j )Multi(zd,j|θd) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 38 / 53
  • 39.
    指数型分布族での多項分布 多項分布は指数型分布族の形で表すことができる. Multi(x|π) = n! ∏K i=1 ni K∏ i=1 πnk k = n! ∏K i=1ni exp    K∑ i=1 xi log πi + ( N − K−1∑ k=1 xi )( log ( 1 − K−1∑ k=1 πi ))   = n! ∏K i=1 ni exp    K−1∑ i=1 log ( πi 1 − ∑K−1 k=1 πi ) xi + N ( log ( 1 − K−1∑ k=1 πi ))   林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 39 / 53
  • 40.
    指数型分布族でのディリクレ分布 多項分布は指数型分布族の形で表すことができる. Dir(π|λ) = Γ( ∑K i=1 γi) ∏K i=1Γ(γi) K∏ i=1 πγi−1 = exp    ( K∑ i=1 (γi − 1) log πi ) + log Γ ( K∑ i=1 γi ) − K∑ i=1 log Γ(γi)    ディリクレ分布の特性 E[θk|γ] = γk ∑K i=1 γi (29) E[log θk|γ] = Ψ(γk) − Ψ ( K∑ i=1 γi ) (30) ここで,Ψ(x) = d log Γ(x) dx であり,Ψ(x) はディガンマ関数と呼ばれる. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 40 / 53
  • 41.
    SVI for LDA LDAに SVI を適用する. Figure: LDA のグラフィカルモデル • 潜在トピック zd は多項分布から生成される. p(zdn = k|θd, β1:K, wdn) ∝ exp{log θdk + log βkwdn } (31) 近似分布 q(zdn) も局所変分パラメータ ϕdn の多項分布になる. q(zdn) = Multi(ϕdn) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 41 / 53
  • 42.
    SVI for LDA LDAに SVI を適用する. Figure: LDA のグラフィカルモデル • 文書 d でのトピック分布 θd はディリクレ分布から生成される. p(θd|zd) = Dir ( α + N∑ n=1 zdn ) (32) 近似分布 q(θd) も局所変分パラメータ γd のディリクレ分布になる. q(θd) = Dir(γd) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 42 / 53
  • 43.
    SVI for LDA LDAに SVI を適用する. Figure: LDA のグラフィカルモデル • トピック k での単語の出現確率 βk はディリクレ分布から生成される. p(βk|z, w) = Dir ( η + D∑ d=1 N∑ n=1 zk dnwdn ) (33) 近似分布 q(βk) も大域変分パラメータ λk のディリクレ分布になる. q(βk) = Dir(λk) 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 43 / 53
  • 44.
    変分ベイズでの局所変分パラメータの更新 式 (15) より,式(31),(32) の自然パラメータの期待値をとると, • 単語ごとのトピックの割り当てに関する更新は以下のようにできる. ϕk dn ∝ exp{E[log θdk] + E[log βk,wdn ]} = exp { Ψ(γdk) + Ψ(γdk) + Ψ(λk,wdn ) − Ψ (∑ ν λkν )} (34) • 文書ごとのトピックの割合に関する更新は以下のようにできる. γd = α + N∑ n=1 ϕdn (35) ここで,Eq[zk dn] = ϕk dn を用いた. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 44 / 53
  • 45.
    変分ベイズでの大域変分パラメータの更新 文書ごとの変分パラメータの更新後,トピックごとの変分パラメータを 以下のように更新できる. 式 (13) より,式(33) の自然パラメータの期待値をとると, λk = η + D∑ d=1 N∑ n=1 ϕk dnwdn (36) この更新は文書ごとの変分パラメータ ϕ に依存している. トピックごとの更新 λ1:K をする前に,文書ごとの局所変分パラメータの 計算をする必要がある.そのためバッチ推定では文書集合が大きいと効 率が悪くなる. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 45 / 53
  • 46.
    SVI for LDA •大域変分パラメータ:ディリクレパラメータ λk • 局所変分パラメータ: 文書ごとのトピック分布のディリクレパラメータ γd 単語ごとのトピック割り当ての多項分布のパラメータ ϕdn 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 46 / 53
  • 47.
    1 Stochastic VariationalInference 2 SVI for LDA 3 まとめ 4 指数型分布族と共役性 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 47 / 53
  • 48.
    まとめ • SVI のmain idea:データを繰り返しサンプリングして確率的自然勾 配を求め,変分下限を最大化するために確率的最適化を使うこと. • SVI は逐次的に処理を行うので,数百万もあるデータセットに対し ても簡単にトピックモデルに適用することができる. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 48 / 53
  • 49.
    1 Stochastic VariationalInference 2 SVI for LDA 3 まとめ 4 指数型分布族と共役性 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 49 / 53
  • 50.
    補足: 指数型分布族と共役性 以下では,指数型分布族の定義と本論文で用いたその性質について説明 する. パラメータベクトル θを持つ確率分布 p は指数型分布族の形で次のよう に書ける. p(x|θ) = h(x) exp{⟨ηx(θ), tx(x)⟩ − Zx(ηx(θ))} (37) ここで,⟨·, ·⟩ は実ベクトル空間での内積を表している.また,ベクトル 関数 η(θ),t(x) をそれぞれ自然パラメータと十分統計量と呼ぶ.さらに, スカラ関数 h(x) を基底測度,Z(θ) を対数正規化項と呼ぶ. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 50 / 53
  • 51.
    補足: 十分統計量の期待値 式 (37)のような一般的な指数型分布族では次の式が成り立つ. ∇ηZ(η) = E[t(x)] (38) 証明. 式 (38) を示す. ∇ηZ(η) = ∇η log ∫ e⟨η,t(x)⟩ h(x)dx (39) = 1 ∫ e⟨η,t(x)⟩h(x)dx ∫ e⟨η,t(x)⟩ h(x)dx (40) = ∫ t(x)p(x|η)dx (41) = E[t(x)] (42) □ 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 51 / 53
  • 52.
    補足: 共役な確率分布 パラメータ θ,α によって与えられる 2 つの確率分布 p1(θ|α), p2(x|θ) が任 意の θ, α について次の式を満たすとき,(p1, p2) の組を共役な確率分布で あるという. p1(θ|α)p2(x|θ) ∝ p1(θ|α ′ ) (43) ただし,α ′ は x, α に依存し,α ′ = α ′ (x, α) である. ベイズ推定において確率分布間の共役性は特に有効である.事前分布 p(θ|α) と尤度 p(x|θ) によって生成される観測データがわかるとき,事後確 率 p(θ|x, α) は事前確率と同じ分布族となる.このような事前分布を共役 事前分布と呼ぶ. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 52 / 53
  • 53.
    補足: 共役な確率分布 例 p(x|θ) ∝exp {⟨ηx(θ), tx(x)⟩ − Zx(ηx(θ))} (44) = exp {⟨(ηx(θ), −Zx(ηx(θ))), (tx(x), 1)⟩} (45) ここで、tθ (θ) = (ηx (θ) , −Zx (ηx (θ))) ととると, p (x|θ) ∝ exp {⟨tθ (θ) , (tx (x) , 1)⟩} となり, p (x, θ|α) = p (θ|α) p (x|θ) (46) ∝ exp { ⟨tθ (θ) , (tx (x) , 1) + ηθ (α)⟩ − Zθ (ηθ (α))} (47) ∝ exp { ⟨tθ (θ) , (tx (x) , 1) + ηθ (α)⟩} (48) = g (x, θ) exp {⟨ηθ (α) , tθ (θ)⟩} (49) よって,p (x, θ|α) は指数型分布となるので,p (θ|α) と p (x|θ) は共役な指 数型分布とできる. 林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 53 / 53