Skip to main content

ELBO

ELBO は Evidence Lower Bound の略であり、Variational Autoencoder の training objective として使われます。VAE では data likelihood logpθ(x)\log p_\theta(x) を直接最大化したいのですが、posterior pθ(zx)p_\theta(z \mid x) が扱いにくいため、代わりに ELBO を最大化します。

目的

VAE の latent variable model では、次のように data が生成されると仮定します。

zp(z),xpθ(xz)z \sim p(z), \qquad x \sim p_\theta(x \mid z)

本来最大化したいのは、次の marginal likelihood です。

logpθ(x)=logpθ(xz)p(z)dz\log p_\theta(x) = \log \int p_\theta(x \mid z)p(z)\, dz

しかし、この積分は一般に直接計算できません。そこで、近似 posterior qϕ(zx)q_\phi(z \mid x) を導入します。

ELBO の形

ELBO は次のように書けます。

L(θ,ϕ;x)=Eqϕ(zx)[logpθ(xz)]DKL(qϕ(zx)p(z))\mathcal{L}(\theta, \phi; x) = \mathbb{E}_{q_\phi(z \mid x)}[\log p_\theta(x \mid z)] - D_{KL}(q_\phi(z \mid x) \,\|\, p(z))

この式は、二つの term から構成されます。

Term役割
Reconstruction termDecoder が zz から xx を復元できるようにします。
KL regularization termqϕ(zx)q_\phi(z \mid x) を prior p(z)p(z) に近づけます。

なぜ lower bound なのか

ELBO は、次の関係を満たします。

logpθ(x)=L(θ,ϕ;x)+DKL(qϕ(zx)pθ(zx))\log p_\theta(x) = \mathcal{L}(\theta, \phi; x) + D_{KL}(q_\phi(z \mid x) \,\|\, p_\theta(z \mid x))

KL Divergence は常に非負であるため、次が成り立ちます。

L(θ,ϕ;x)logpθ(x)\mathcal{L}(\theta, \phi; x) \leq \log p_\theta(x)

つまり、ELBO は log likelihood の lower bound です。

Forward KL と reversed KL

VAE では、近似 posterior と真の posterior の間の KL Divergence が重要です。KL Divergence は asymmetric であるため、どちらの向きで測るかによって振る舞いが変わります。

Forward KL と reversed KL

画像出典: Lilian Weng, “From Autoencoder to Beta-VAE”。Forward KL と reversed KL は、multi-modal な distribution に対して異なる近似の振る舞いを示します。

関連ページ