# Fast approximate inference for directed graphical model: a Bayesian auto-encoder

In this week’s lab meting, I presented the following paper from Max Welling’s group:

Auto-Encoding Variational Bayes
Diederik P. Kingma, Max Welling
arXiv, 2013.

The paper proposed an efficient inference and learning method for directed probabilistic
models with continuous latent variables (with intractable posterior distributions), for use with large datasets. The directed graphical model under consideration is as follows,

The dataset is $\mathbf{X}=\{\mathbf{x}^{(i)}\}_{i=1}^N$ consisting of $N$ i.i.d. samples of some continuous or discrete variable $\mathbf{x}$. $\mathbf{z}$ is an unobserved continuous random variable generating the data (solid lines: $p_\mathbf{\theta}(\mathbf{z})p_\mathbf{\theta}(\mathbf{x}|\mathbf{z})$), where $\mathbf{\theta}$ is the parameter set involved in the generative model. The ultimate task is to learn both $\mathbf{\theta}$ and $\mathbf{z}$. A general method to solve such a problem is to marginalize out $\mathbf{z}$ to get the marginal likelihood $p_\mathbf{\theta}(\mathbf{x})=\int p_\mathbf{\theta}(\mathbf{z})p_\mathbf{\theta}(\mathbf{x}|\mathbf{z})d\mathbf{z}$, and maximize this likelihood  to learn $\mathbf{\theta}$. However, in many application cases, e.g. a neural network with a nonlinear hidden layer, the integral is intractable. In order to overcome this intractability, sampling-based methods, e.g. Monte Carlo EM, are introduced. But when the dataset is large, batch optimization is too costly and sampling loop per datapoint is very expensive. Therefore, the paper introduced a stochastic variational inference and learning algorithm that scales to large datasets and, under some mild differentiability conditions, even works in the intractable case.

First, they defined a recognition model $q_\Phi(\mathbf{z}|\mathbf{x})$: an approximation to the intractable true posterior $p_\mathbf{\theta}(\mathbf{z}|\mathbf{x})$, which is interpreted as a probabilistic encoder (dash line in the directed graph), and correspondingly, $p_\mathbf{\theta}(\mathbf{x}|\mathbf{z})$ is the probabilistic decoder. Given the recognition model, the variational lower bound $\mathcal{L}(\mathbf{\theta},\Phi;\mathbf{x}^{(i)})$ is defined as

$\mbox{log}p_\mathbf{\theta}(\mathbf{x}^{(i)})\ge\mathcal{L}(\mathbf{\theta},\Phi;\mathbf{x}^{(i)})=-D_{KL}(q_\Phi(\mathbf{z}|\mathbf{x}^{(i)})||p_\mathbf{\theta}(\mathbf{z}))+\mathbb{E}_{q_\Phi(\mathbf{z}|\mathbf{x}^{(i)})}\left[\mbox{log}p_\mathbf{\theta}(\mathbf{x}^{(i)}|\mathbf{z})\right]$

In the paper’s setting,

$p_\mathbf{\theta}(\mathbf{z})=\mathcal{N}(\mathbf{0},\mathbf{I})$$q_\Phi(\mathbf{z}|\mathbf{x})=\mathcal{N}(\mathbf{\mu},\mathbf{\sigma}^2)$

Therefore, $D_{KL}(q_\Phi(\mathbf{z}|\mathbf{x}^{i})||p_\mathbf{\theta}(\mathbf{z}))$ has an analytical form. The major tricky term is the expectation which usually doesn’t have any closed solution. The usual Monte Carlo estimator for this type of problem exhibits very high variance and is not capable to take derivatives w.r.t. $\Phi$. Given such a problem, the paper proposed a reparameterization trick of the expectation term yields a lower bound estimator that can be straightforwardly optimized using standard stochastic gradient methods.

The key reparameterization trick constructs samples $\mathbf{z}\sim q_\Phi(\mathbf{z}|\mathbf{x})$ in two steps:

1. $\mathbf{\epsilon} \sim p(\mathbf{\epsilon})$ (random seed independent of $\Phi$)
2.  $\mathbf{z}=g(\Phi,\mathbf{\epsilon},\mathbf{x})$ (differentiable perturbation)

such that $\mathbf{z}\sim q_\Phi(\mathbf{z}|\mathbf{x})$ (the correct distribution). This yields an estimator which typically has less variance than the generic estimator:

$\mathcal{L}(\mathbf{\theta},\Phi;\mathbf{x}^{(i)})=-D_{KL}(q_\Phi(\mathbf{z}|\mathbf{x}^{(i)})||p_\mathbf{\theta}(\mathbf{z}))+\frac{1}{L}\sum_{l=1}^L\mbox{log}p_\mathbf{\theta}(\mathbf{x}^{(i)}|\mathbf{z}^{(i,l)})$

where $\mathbf{z}^{(i,l)}=g(\Phi,\mathbf{\epsilon}^{(i,l)},\mathbf{x}^{(i)})$ and $\mathbf{\epsilon}^{(l)}\sim p(\mathbf{\epsilon})$

A connection with auto-encoders becomes clear when looking at the objective function. The first term is the KL divergence of the approximate posterior from the prior acts as a regularizer, while the second term is a an expected negative reconstruction error.

In the experiment, they set $p_\mathbf{\theta}(\mathbf{x}|\mathbf{z})$ to be a Bernoulli or Gaussian MLP, depending on the type of data they are modeling. They presented the comparisons of their method to the wake-sleep algorithm and Monte Carlo EM on MNIST and Frey Face datasets.

Overall, I think their contributions are two-fold. First, the reparameterization of the variational lower bound yields a lower bound estimator that can be straightforwardly optimized using standard stochastic gradient methods. Second, they showed that for i.i.d. datasets with continuous latent variables per datapoint, posterior inference can be made especially efficient by fitting an approximate inference model (also called a recognition model) to the intractable posterior using the proposed lower bound estimator. The stochastic gradient method helps to parallelize the algorithm so as to improve the efficiency in largescale dataset.