Stochastic Variational Inference

53
Stochastic Variational Inference の紹介 / Twitter @ahahsak 創発システム研究室 B4 January 12, 2016 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 1 / 53

Transcript of Stochastic Variational Inference

Page 1: Stochastic Variational Inference

Stochastic Variational Inferenceの紹介

林 楓 / Twitter @ahahsak

創発システム研究室 B4

January 12, 2016

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 1 / 53

Page 2: Stochastic Variational Inference

以下の文献を参考に,確率的変分近似法と言われる 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

Page 3: Stochastic Variational Inference

1 Stochastic Variational Inference

2 SVI for LDA

3 まとめ

4 指数型分布族と共役性

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 3 / 53

Page 4: Stochastic Variational Inference

1 Stochastic Variational Inference

2 SVI for LDA

3 まとめ

4 指数型分布族と共役性

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 4 / 53

Page 5: Stochastic Variational Inference

SVI

本章では以下の流れで説明を行う.

• SVIを適用するモデルの定義.• モデルに変分ベイズ法を適用.• 確率的最適化• 自然勾配• モデルに SVIを適用.• Extension

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 5 / 53

Page 6: Stochastic Variational Inference

局所潜在変数と大域潜在変数

• 観測 x1:N,局所潜在変数 z1:N,大域潜在変数 βを持つグラフィカルモデルを考える.

• p(β|x, z, α)と p(zn j|xn, zn,− j, β)が指数型分布族であると仮定する.

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 6 / 53

Page 7: Stochastic Variational Inference

指数型分布族

指数型分布族の基本形

p(x|η) = h(η) exp{ηTt(x) − a(η)}

h(·):基底測度,a(·):対数正規化項 (スカラ関数)η(·):自然パラメータ,t(·):十分統計量 (ベクトル関数)

• 指数型分布族の形で分布を表すと,変分ベイズ法や EMアルゴリズムを適用を考えやすくなる(計算が楽になる)

• 正規分布や二項分布,ディリクレ分布,ポアソン分布など多くの分布がこの族に属す(混合ガウス分布は除く)

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 7 / 53

Page 8: Stochastic Variational Inference

指数型分布族

指数型分布族の基本形

p(x|η) = h(η) exp{ηTt(x) − a(η)}

h(·):基底測度,a(·):対数正規化項 (スカラ関数)η(·):自然パラメータ,t(·):十分統計量 (ベクトル関数)

• 事後分布 p(β|x, z, α)

p(β|x, z, α)

= h(β) exp{ηg(x, z, α)Tt(β) − ag(ηg(x, z, α))} (1)

• 事後分布 p(zn j|xn, zn,− j, β)

p(zn j|xn, zn,− j, β)

= h(zn j) exp{ηl(xn, zn,− j, β)Tt(zn j) − al(ηl(xn, zn,− j, β))} (2)

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 8 / 53

Page 9: Stochastic Variational Inference

指数型分布族

• 尤度 p(xn, zn|β)

p(xn, zn|β) = h(xn, zn) exp{βTt(xn, zn) − al(β)} (3)

• 事前分布 p(β|α)

p(β|α) = h(β) exp{αTt(β) − 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

Page 10: Stochastic Variational Inference

対数周辺尤度とKL情報量

変分ベイズ法では事後分布と変分事後分布との KL情報量を最小化するために,変分下限の最大化を行う.

p(x|α) = L[q(z, β)] + KL[q(z, β)||p(z, β|x, α)]

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 10 / 53

Page 11: Stochastic Variational Inference

対数周辺尤度とKL情報量

変分ベイズ法では事後分布と変分事後分布との KL情報量を最小化するために,変分下限の最大化を行う.

p(x|α) = L[q(z, β)] + KL[q(z, β)||p(z, β|x, α)]

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 11 / 53

Page 12: Stochastic Variational Inference

変分下限の導出

変分下限Lは対数関数の凸性とイエンゼンの不等式を利用することで得られる.

log p(x) = log∫

p(x, z, β)dzdβ

= log∫

q(z, β)p(x, z, β)q(z, β)

dzdβ

= logEq

[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

Page 13: Stochastic Variational Inference

変分下限の導出

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(zn j|ϕn j)

](8)

※変分事後分布 q(z, β)は因子分解可能を仮定する.

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 13 / 53

Page 14: Stochastic Variational Inference

変分下限の最大化

L(q) = Lglobal +Llocal

Lglobal = Eq[log p(β|x, z)

] − Eq[log q(β|λ)] def

= L(λ)

Llocal = Eq[log p(zn j|xn, zn,− j, β)

]− Eq

[log q(zn j)

] def= L(ϕn j)

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 14 / 53

Page 15: Stochastic Variational Inference

変分下限の最大化

変分事後分布の定義 (指数型分布族)

q(β|λ) = h(β) exp{λTt(β) − ag(λ)} (9)q(zn j|ϕn j) = h(zn j) exp{ϕT

n jt(zn j) − al(ϕn j)} (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

Page 16: Stochastic Variational Inference

変分下限の最大化

式 (11)で λ方向の勾配をとると以下のようになる.

∇λL(λ) = ∇2λag(λ)(Eq

[ηg(x, z, α)

]− λ) (12)

この勾配が 0になるとき,

λ = Eq[ηg(x, z, α)

](13)

L(ϕn j)についても同様で

∇ϕn jL(ϕn j) = ∇2ϕn j

al(ϕn j)(Eq[ηl(xn, zn,− j, β)

]− ϕn j) (14)

ϕn j = Eq[ηl(xn, zn,− j, β)

](15)

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 16 / 53

Page 17: Stochastic Variational Inference

変分ベイズ法のアルゴリズム

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 17 / 53

Page 18: Stochastic Variational Inference

確率的最適化

確率的勾配を用いることで,真の勾配の計算の計算量が軽減され,局所解にも陥りにくくなる.

最適化問題 (Robbins Monro型)

x∗ = argmaxx

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

Page 19: Stochastic Variational Inference

自然勾配

自然勾配を導入することでユークリッド空間以外の空間での解の探索が可能になる.関数 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

Page 20: Stochastic Variational Inference

自然勾配

式 (12)と (19)より,変分下限L(λ)の自然勾配 ∇̂λL(λ)は

∇̂λL(λ) = Eϕ[ηg(x, z, α)

]− λ (20)

同様に,式 (14)と (19)より,変分下限L(ϕn j)の自然勾配 ∇̂λL(ϕn j)は

∇̂ϕn jL(ϕn j) = Eλ,ϕn,− j

[ηl(xn, zn, β)

] − ϕn j (21)

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 20 / 53

Page 21: Stochastic Variational Inference

SVI

SVIでは,データの一部をサンプリングすることで確率的自然勾配を推定し,確率的最適化の枠組みで変分下限Lの最大化を行う.

最適化問題 (Robbins Monro型)

q∗ = argmaxqL(q)

λ(t) = λ(t−1) + ρ(t)∇̂λLi(λ) (22)

自然勾配

∇̂λL(λ) = Eϕ[ηg(x, z, α)

]− λ

∇̂ϕn jL(ϕn j) = Eλ,ϕn,− j

[ηl(xn, zn, β)

] − ϕn j

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 21 / 53

Page 22: Stochastic Variational Inference

SVI

変分下限L(λ)を以下のように定義し直す.• L:大域変分パラメータ λと局所変分パラメータ ϕ(λ)の汎関数• ϕ(λ):局所変分パラメータの局所最適解を返す関数

∇ϕL(λ, ϕ(λ)) = 0 (23)

局所変分パラメータ ϕが局所最適解 ϕ(λ)のとき,

L(λ) def= L(λ, ϕ(λ))

∇λL(λ) = ∇λL(λ, ϕ(λ))

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 22 / 53

Page 23: Stochastic Variational Inference

確率的自然勾配の導出

変分下限を大域的な部分と局所的な部分に分解する.

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

Page 24: Stochastic Variational Inference

確率的自然勾配の導出

式 (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

Page 25: Stochastic Variational Inference

SVI

最適化問題 (Robbins Monro型)

q∗ = argmaxqL(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

Page 26: Stochastic Variational Inference

SVIのアルゴリズム

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 26 / 53

Page 27: Stochastic Variational Inference

Extensions

• ミニバッチを利用する方法

• ハイパーパラメータの推定に経験ベイズ推定を利用する方法

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 27 / 53

Page 28: Stochastic Variational Inference

ミニバッチを利用する場合

ミニバッチを利用することでアルゴリズムの安定性を改善することができる.

処理の流れ

• イテレーション 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

Page 29: Stochastic Variational Inference

ミニバッチを利用する理由

SVIではミニバッチが使われることが多い.

• 多くのデータポイントにわたる大域パラメータの更新にかかる計算コストを,データの分割により軽減するため.

• ミニバッチを使うとよりよい局所最適解にたどり着きやすくなるため.

• SVIは局所最適解に収束することが保証されている.• しかし,極めて少ないデータポイントでステップサイズを大きくするとうまく収束しないことがある.

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 29 / 53

Page 30: Stochastic Variational Inference

経験ベイズ推定を利用する場合

潜在変数 β,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

Page 31: Stochastic Variational Inference

1 Stochastic Variational Inference

2 SVI for LDA

3 まとめ

4 指数型分布族と共役性

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 31 / 53

Page 32: Stochastic Variational Inference

Topic Model

本章では以下の流れで説明を行う.

• トピックモデルの説明• LDAの説明• SVIの LDAへの適用• HDP Topic Modelの説明• SVIの HDP Topic Modelへの適用

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 32 / 53

Page 33: Stochastic Variational Inference

トピックモデル

文章が生成される過程をモデル化した確率モデル.

• 同じ文章で現れやすい語彙の集まりをトピックと呼ぶ.• 政治記事→「国会」「法案」「首相」• スポーツ記事→「スタジアム」「選手」「ゴール」

• 文章と同じように隠れた構造を持てば応用が可能.

• トピックモデルは文章データの解析だけでなく,画像処理や推薦システム,バイオインフォマティクスなど,多くの分野で応用される.

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 33 / 53

Page 34: Stochastic Variational Inference

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

Page 35: Stochastic Variational Inference

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)∏Ki=1 Γ(γi)

K∏i=1

πγi−1

Multi(x|π) = n!∏Ki=1 ni

K∏i=1

πnkk

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 35 / 53

Page 36: Stochastic Variational Inference

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

Page 37: Stochastic Variational Inference

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

Page 38: Stochastic Variational Inference

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

Page 39: Stochastic Variational Inference

指数型分布族での多項分布

多項分布は指数型分布族の形で表すことができる.

Multi(x|π) = n!∏Ki=1 ni

K∏i=1

πnkk

=n!∏Ki=1 ni

exp

K∑i=1

xi log πi +(N −

K−1∑k=1

xi)(

log(1 −

K−1∑k=1

πi))

=n!∏Ki=1 ni

exp

K−1∑i=1

log( πi

1 −∑K−1k=1 πi

)xi + N

(log(1 −

K−1∑k=1

πi))

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 39 / 53

Page 40: Stochastic Variational Inference

指数型分布族でのディリクレ分布多項分布は指数型分布族の形で表すことができる.

Dir(π|λ) =Γ(∑K

i=1 γi)∏Ki=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∑Ki=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

Page 41: Stochastic Variational Inference

SVI for LDALDAに 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

Page 42: Stochastic Variational Inference

SVI for LDALDAに 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

Page 43: Stochastic Variational Inference

SVI for LDALDAに SVIを適用する.

Figure: LDAのグラフィカルモデル

• トピック kでの単語の出現確率 βkはディリクレ分布から生成される.

p(βk|z,w) = Dir(η +

D∑d=1

N∑n=1

zkdnwdn

)(33)

近似分布 q(βk)も大域変分パラメータ λkのディリクレ分布になる.

q(βk) = Dir(λk)

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 43 / 53

Page 44: Stochastic Variational Inference

変分ベイズでの局所変分パラメータの更新

式 (15)より,式 (31),(32)の自然パラメータの期待値をとると,

• 単語ごとのトピックの割り当てに関する更新は以下のようにできる.

ϕkdn ∝ exp{E[log θdk] + E[log βk,wdn]}

= exp{Ψ(γdk) + Ψ(γdk) + Ψ(λk,wdn) − Ψ

(∑ν

λkν

)}(34)

• 文書ごとのトピックの割合に関する更新は以下のようにできる.

γd = α +

N∑n=1

ϕdn (35)

ここで,Eq[zkdn] = ϕk

dnを用いた.

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 44 / 53

Page 45: Stochastic Variational Inference

変分ベイズでの大域変分パラメータの更新

文書ごとの変分パラメータの更新後,トピックごとの変分パラメータを以下のように更新できる.

式 (13)より,式 (33)の自然パラメータの期待値をとると,

λk = η +

D∑d=1

N∑n=1

ϕkdnwdn (36)

この更新は文書ごとの変分パラメータ ϕに依存している.

トピックごとの更新 λ1:K をする前に,文書ごとの局所変分パラメータの計算をする必要がある.そのためバッチ推定では文書集合が大きいと効率が悪くなる.

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 45 / 53

Page 46: Stochastic Variational Inference

SVI for LDA• 大域変分パラメータ:ディリクレパラメータ λk• 局所変分パラメータ:文書ごとのトピック分布のディリクレパラメータ γd

単語ごとのトピック割り当ての多項分布のパラメータ ϕdn

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 46 / 53

Page 47: Stochastic Variational Inference

1 Stochastic Variational Inference

2 SVI for LDA

3 まとめ

4 指数型分布族と共役性

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 47 / 53

Page 48: Stochastic Variational Inference

まとめ

• SVIのmain idea:データを繰り返しサンプリングして確率的自然勾配を求め,変分下限を最大化するために確率的最適化を使うこと.

• SVIは逐次的に処理を行うので,数百万もあるデータセットに対しても簡単にトピックモデルに適用することができる.

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 48 / 53

Page 49: Stochastic Variational Inference

1 Stochastic Variational Inference

2 SVI for LDA

3 まとめ

4 指数型分布族と共役性

林 楓 / Twitter @ahahsak (創発研) Stochastic Variational Inference の紹介 January 12, 2016 49 / 53

Page 50: Stochastic Variational Inference

補足: 指数型分布族と共役性

以下では,指数型分布族の定義と本論文で用いたその性質について説明する.パラメータベクトル θを持つ確率分布 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

Page 51: Stochastic Variational Inference

補足: 十分統計量の期待値式 (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

Page 52: Stochastic Variational Inference

補足: 共役な確率分布

パラメータ θ, αによって与えられる 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

Page 53: Stochastic Variational Inference

補足: 共役な確率分布

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