Skip to main content

Reparameterization Trick

Reparameterization Trick は、Variational Autoencoder で latent variable を sampling しながら、encoder の parameter に gradient を流すための technique です。

問題

VAE では、encoder が近似 posterior qϕ(zx)q_\phi(z \mid x) を出力し、そこから latent variable zz を sampling します。

zqϕ(zx)z \sim q_\phi(z \mid x)

しかし、sampling operation はそのままでは differentiable ではないため、zz を通じて encoder parameter ϕ\phi に gradient を流すことが難しくなります。

解法

Gaussian VAE では、encoder が μ\muσ\sigma を出力し、次のように sampling を書き換えます。

ϵN(0,I)\epsilon \sim \mathcal{N}(0, I) z=μ+σϵz = \mu + \sigma \odot \epsilon

このようにすると、randomness は ϵ\epsilon に分離され、zzμ\muσ\sigma の differentiable な関数になります。

Reparameterization Trick

画像出典: Lilian Weng, “From Autoencoder to Beta-VAE”。Sampling の randomness を外部 noise ϵ\epsilon として分離することで、gradient を流せるようにします。

意味

Reparameterization Trick によって、VAE は stochastic な latent variable を持ちながら、通常の backpropagation で end-to-end に training できます。

これは、VAE が practical な generative model として広く使われるようになった重要な理由の一つです。

関連ページ