BIVA: A Very Deep Hierarchy of Latent Variables for Generative Modeling

  • 2019-11-06 16:48:34
  • Lars Maaløe, Marco Fraccaro, Valentin Liévin, Ole Winther
  • 0

Abstract

With the introduction of the variational autoencoder (VAE), probabilisticlatent variable models have received renewed attention as powerful generativemodels. However, their performance in terms of test likelihood and quality ofgenerated samples has been surpassed by autoregressive models withoutstochastic units. Furthermore, flow-based models have recently been shown to bean attractive alternative that scales well to high-dimensional data. In thispaper we close the performance gap by constructing VAE models that caneffectively utilize a deep hierarchy of stochastic variables and model complexcovariance structures. We introduce the Bidirectional-Inference VariationalAutoencoder (BIVA), characterized by a skip-connected generative model and aninference network formed by a bidirectional stochastic inference path. We showthat BIVA reaches state-of-the-art test likelihoods, generates sharp andcoherent natural images, and uses the hierarchy of latent variables to capturedifferent aspects of the data distribution. We observe that BIVA, in contrastto recent results, can be used for anomaly detection. We attribute this to thehierarchy of latent variables which is able to extract high-level semanticfeatures. Finally, we extend BIVA to semi-supervised classification tasks andshow that it performs comparably to state-of-the-art results by generativeadversarial networks.

 

Quick Read (beta)

BIVA: A Very Deep Hierarchy of Latent Variables for Generative Modeling

Lars Maaløe
Corti
Copenhagen
Denmark
[email protected]
&Marco Fraccaro
Unumed
Copenhagen
Denmark
[email protected]
&
Valentin Liévin & Ole Winther
Technical University of Denmark
Copenhagen
Denmark
{valv,olwi}@dtu.dk
Abstract

With the introduction of the variational autoencoder (VAE), probabilistic latent variable models have received renewed attention as powerful generative models. However, their performance in terms of test likelihood and quality of generated samples has been surpassed by autoregressive models without stochastic units. Furthermore, flow-based models have recently been shown to be an attractive alternative that scales well to high-dimensional data. In this paper we close the performance gap by constructing VAE models that can effectively utilize a deep hierarchy of stochastic variables and model complex covariance structures. We introduce the Bidirectional-Inference Variational Autoencoder (BIVA), characterized by a skip-connected generative model and an inference network formed by a bidirectional stochastic inference path. We show that BIVA reaches state-of-the-art test likelihoods, generates sharp and coherent natural images, and uses the hierarchy of latent variables to capture different aspects of the data distribution. We observe that BIVA, in contrast to recent results, can be used for anomaly detection. We attribute this to the hierarchy of latent variables which is able to extract high-level semantic features. Finally, we extend BIVA to semi-supervised classification tasks and show that it performs comparably to state-of-the-art results by generative adversarial networks.

\usetikzlibrary

bayesnet \usetikzlibraryarrows \usetikzlibraryshapes.multipart \tikzset state/.style= rectangle split, rectangle split parts=2, rectangle split part fill=red!30,blue!20, rounded corners, draw=black, very thick, minimum height=2em, text width=3cm, inner sep=2pt, text centered,

 

BIVA: A Very Deep Hierarchy of Latent Variables for Generative Modeling


  Lars Maaløe Corti Copenhagen Denmark [email protected] Marco Fraccaro Unumed Copenhagen Denmark [email protected] Valentin Liévin & Ole Winther Technical University of Denmark Copenhagen Denmark {valv,olwi}@dtu.dk

\@float

noticebox[b]33rd Conference on Neural Information Processing Systems (NeurIPS 2019), Vancouver, Canada.\[email protected]

1 Introduction

One of the key aspirations in recent machine learning research is to build models that understand the world (Kingma13; Rezende14; Goodfellow2014; Oord2015). Generative models are providing the means to learn from a plethora of unlabeled data in order to model a complex data distribution, e.g. natural images, text, and audio. These models are evaluated by their ability to generate data that is similar to the input data distribution from which they were trained on. The range of applications that come with generative models are vast, where audio synthesis (Oord16b) and semi-supervised classification (Rasmus15; Maaloe2016; Salimans2016) are examples hereof. Generative models can be broadly divided into explicit and implicit density models. The generative adversarial network (GAN) (Goodfellow2014) is an example of an implicit model, since it is not possible to procure a likelihood estimation from this model framework. The focus of this research is instead within explicit density models, for which a tractable or approximate likelihood estimation can be performed.

The three main classes of powerful explicit density models are autoregressive models (Larochelle11; Oord2015), flow-based models (Dinh14; Dinh16; Kingma18; Ho19), and probabilistic latent variable models (Kingma13; Rezende14; Mnih14). In recent years autoregressive models, such as the PixelRNN and the PixelCNN (Oord2015; Salimans17), have achieved superior likelihood performance and flow-based models have proven efficacy on large-scale natural image generation tasks (Kingma18). However, in the autoregressive models, the runtime performance of generation is scaling poorly with the complexity of the input distribution. The flow-based models do not possess this restriction and do indeed generate visually compelling natural images when sampling close to the mode of the distribution. However, generation from the actual learned distribution is still not outperforming autoregressive models (Kingma18; Ho19).

Probabilistic latent variable models such as the variational auto-encoder (VAE) (Kingma13; Rezende14) possess intriguing properties that are different from the other classes of explicit density models. They are characterized by a posterior distribution over the latent variables of the model, derived from Bayes’ theorem, which is typically intractable and needs to be approximated. This distribution most commonly lies on a low-dimensional manifold that can provide insights into the internal representation of the data (Bengio2013a). However, the latent variable models have largely been disregarded as powerful generative models due to blurry generations and poor likelihood performances on natural image tasks. (Larsen16; Dosovitskiy2016), amongst others, attribute this tendency to the usage of a similarity metric in pixel space. Contrarily, we attribute it to the lack of overall model expressiveness for accurately modeling complex input distributions, as discussed in (ZhaoSE17; rezende2018taming).

There has been much research into explicitly defining and learning more expressive latent variable models. Here, the complementary research into learning a covariance structure through a framework of normalizing flows (Rezende2015; Tomczak16; Kingma2016) and the stacking of a hierarchy of latent variables (Burda15; Ranganath2015; Maaloe2016; Sonderby2016) have shown promising results. However, despite significant improvements, the reported performance of these models has still been inferior to their autoregressive counterparts. This has spawned a new class of explicit density models that adds an autoregressive component to the generative process of a latent variable model (Gulrajani2016; Chen2017). In this combination of model paradigms, the latent variables can be viewed as merely a lossy representation of the input data and the model still suffers from the same issues as autoregressive models.

Contributions.

In this research we argue that latent variable models that are defined in a sufficiently expressive way can compete with autoregressive and flow-based models in terms of test log-likelihood and quality of the generated samples. We introduce the Bidirectional-Inference Variational Autoencoder (BIVA), a model formed by a deep hierarchy of stochastic variables that uses skip-connections to enhance the flow of information and avoid inactive units. To define a flexible posterior approximation, we construct a bidirectional inference network using stochastic variables in a bottom-up and a top-down inference path. The inference model is reminiscent to the stochastic top-down path introduced in the Ladder VAE Sonderby2016 and IAF VAE Sonderby2016 with the addition that the bottom-up pass is now also stochastic and there are no autoregressive components. We perform an in-depth analysis of BIVA and show (i) an ablation study that analyses the contributions of the individual novel components, (ii) that the model is able to improve on state-of-the-art results on benchmark image datasets, (iii) that a small extension of the model can be used for semi-supervised classification and performs comparably to current state-of-the-art models, and (iv) that the model, contrarily to other state-of-the-art explicit density models (Nalisnick18), can be utilized for anomaly detection on complex data distributions.

2 Variational Autoencoders

The VAE is a generative model parameterized by a neural network θ and is defined by an observed variable x that depends on a hierarchy of stochastic latent variables 𝐳=z1,,zL so that: pθ(x,𝐳)=pθ(x|z1)pθ(zL)i=1L-1pθ(zi|zi+1). The posterior distribution over the latent variables of a VAE is commonly analytically intractable, and is approximated with a variational distribution which is factorized with a bottom-up structure, qϕ(𝐳|x)=qϕ(z1|x)i=1L-1qϕ(zi+1|zi), so that each latent variable is conditioned on the variable below in the hierarchy. The parameters θ and ϕ can be optimized by maximizing the evidence lower bound (ELBO)

logpθ(x)𝔼qϕ(𝐳|x)[logpθ(x,𝐳)qϕ(𝐳|x)](θ,ϕ). (1)

A detailed introduction on VAEs can be found in appendix A in the supplementary material. While a deep hierarchy of latent stochastic variables will result in a more expressive model, in practice the top stochastic latent variables of standard VAEs have a tendency to collapse into the prior. The Ladder VAE (LVAE) (Sonderby2016) is amongst the first attempts towards VAEs that can effectively leverage multiple layers of stochastic variables. This is achieved by parameterizing the variational approximation with a bottom-up deterministic path followed by a top-down inference path that shares parameters with the top-down structure of the generative model: qϕ,θ(𝐳|x)=qϕ(zL|x)i=1L-1qϕ,θ(zi|zi+1,x). See Appendix A for a graphical representation of the LVAE inference network. Thanks to the bottom-up path, all the latent variables in the hierarchy have a deterministic dependency on the observed variable x, which allows data-dependent information to skip all the stochastic variables lower in the hierarchy (Figure 4(d) in Appendix A). The stochastic latent variables that are higher in the hierarchy will therefore receive less noisy inputs, and will be empirically less likely to collapse. Despite the improvements obtained thanks to the more flexible inference network, in practice LVAEs with a very deep hierarchy of stochastic latent variables will still experience variable collapse. In the next section we will introduce the Bidirectional-Inference Variational Autoencoder, that manages to avoid these issues by extending the LVAE in 2 ways: (i) adding a deterministic top-down path in the generative model and (ii) defining a factorization of the latent variables zi at each level of the hierarchy that allows to construct a bottom-up stochastic inference path.

3 Bidirectional-Inference Variational Autoencoder

\tikz\node

[obs] (x) x;

\node

[above=.75cm of x] (d1); \node[latent,right=1cm of d1] (z1td)z1\scalebox0.4TD; \node[latent,left=1cm of d1](z1bu)z1\scalebox0.4BU;

\node

[above=1.cm of d1] (d2); \node[latent,right=1cm of d2] (z2td)z2\scalebox0.4TD; \node[latent,left=1cm of d2](z2bu)z2\scalebox0.4BU; \node[latent,above=.75cm of d2] (z3td)z3;

\node

[above=of z3td, xshift=.8cm, yshift=-1.cm] (theta) θ;

\edge

[blue]z3tdz2bu \edge[blue]z3tdz2td \edge[blue]z3tdz1bu \edge[blue]z3tdz1td \edge[]z3tdx

\edge

[blue]z2tdz1bu \edge[blue]z2tdz1td \edge[]z2tdx

\edge

[blue]z2buz1bu \edge[blue]z2buz1td \edge[]z2bux

\edge

[]z1tdx \edge[]z1bux

(a) Generative model
\tikz\node

[obs] (x) x;

\node

[above=.75cm of x] (d1); \node[latent,right=1cm of d1] (z1td)z1\scalebox0.4TD; \node[latent,left=1cm of d1](z1bu)z1\scalebox0.4BU;

\node

[above=1.cm of d1] (d2); \node[latent,right=1cm of d2] (z2td)z2\scalebox0.4TD; \node[latent,left=1cm of d2](z2bu)z2\scalebox0.4BU; \node[latent,above=.75cm of d2] (z3td)z3;

\node

[above=of z3td, xshift=.8cm, yshift=-1.cm] (phi) ϕ,θ;

\edge

[]xz1bu

\edge

[]xz2bu \edge[]z1buz2bu

\edge

[]xz3td \edge[]z2buz3td \edge[]z1buz3td

\edge

[]xz2td \edge[]z1buz2td \edge[blue]z3tdz2td

\edge

[]xz1td \edge[blue]z2buz1td \edge[blue]z3tdz1td \edge[blue]z2tdz1td

(b) Inference model
Figure 1: A L=3 layered BIVA with (a) the generative model and (b) inference model. Blue arrows indicate that the deterministic parameters are shared between the inference and generative models. See Appendix B for a detailed explanation and a graphical model that includes the deterministic variables.

In this section, we will first describe the architecture of the Bidirectional-Inference Variational Autoencoder (Figure 1), and then provide the motivation behind the main ideas of the model as well as some intuitions on the role of each of its novel components. Finally, we will show how this model can be used for a novel approach to detecting anomalous data.

3.1 Model architecture

Generative model.

In BIVA, at each layer 1,,L-1 of the hierarchy we split the latent variable in two components, zi=(zi\scalebox0.6BU,zi\scalebox0.6TD), which belong to a bottom-up (BU) and top-down (TD) inference path, respectively. More details on this will be given when introducing the inference network. The generative model of BIVA is illustrated in Figure 0(a). We introduce a deterministic top-down path dL-1,,d1 that is parameterized with neural networks and receives as input at each layer i of the hierarchy the latent variable zi+1. In the case of a convolutional model, this is done by concatenating (zi+1\scalebox0.6BU, zi+1\scalebox0.6TD) and di+1 along the features’ dimension. di can therefore be seen as a deterministic variable that summarizes all the relevant information coming from the stochastic variables higher in the hierarchy, z>i. The latent variables zi\scalebox.6BU and zi\scalebox.6TD are conditioned on all the information in the higher layers, and are conditionally independent given z>i. The joint distribution of the model is then given by:

pθ(x,𝐳)=pθ(x|𝐳)pθ(zL)i=1L-1pθ(zi\scalebox.6BU|z>i)pθ(zi\scalebox.6TD|z>i),

where θ are the parameters of the generative model. The likelihood of the model pθ(x|𝐳) directly depends on z1, and depends on z>1 through the deterministic top-down path. Each stochastic latent variable 1,,L is parameterized by a Gaussian distribution with diagonal covariance, with one neural network μ() for the mean and another neural network σ() for the variance. Since the zi+1\scalebox0.6BU and zi+1\scalebox0.6TD variables are on the same level in the generative model and of the same dimensionality, we share all the deterministic parameters going to the layer below. See Appendix B for details.

Bidirectional inference network.

Due to the non-linearities in the neural networks that parameterize the generative model, the exact posterior distribution pθ(𝐳|x) is intractable and needs to be approximated. As for VAEs, we therefore define a variational distribution, qϕ(𝐳|x), that needs to be flexible enough to approximate the true posterior distribution, as closely as possible. We define a bottom-up (BU) and a top-down (TD) inference path, which are computed sequentially when constructing the posterior approximation for each data point x, see Figure 0(b). The variational distribution over the BU latent variables depends on the data x and on all BU variables lower in the hierarchy, i.e. qϕ(zi\scalebox.6BU|x,z<i\scalebox.6BU), where ϕ denotes all the parameters of the BU path. zi\scalebox.6BU has a direct dependency only on the BU variable below, zi-1\scalebox.6BU. The dependency on z<i-1\scalebox.6BU is achieved, similarly to the generative model, through a deterministic bottom-up path d~1,,d~L-1.

The TD variables depend on the data and the BU variables lower in the hierarchy through the BU inference path, but also on all variables above in the hierarchy through the TD inference path, see Figure 0(b). The variational approximation over the TD variables is thereby qϕ,θ(zi\scalebox.6TD|x,z<i\scalebox.6BU,z>i\scalebox.6BU,z>i\scalebox.6TD). Importantly, all the parameters of the TD path are shared with the generative model, and are therefore denoted as θ. The overall inference network can be factorized as follows:

qϕ(𝐳|x)=qϕ(zL|x,z<L\scalebox.6BU)i=1L-1qϕ(zi\scalebox.6BU|x,z<i\scalebox.6BU)qϕ,θ(zi\scalebox.6TD|x,z<i\scalebox.6BU,z>i\scalebox.6BU,z>i\scalebox.6TD),

where the variational distributions over the BU and TD latent variables are Gaussians whose mean and diagonal covariance are parameterized with neural networks that take as input the concatenation over the feature dimension of the conditioning variables. Training of BIVA is performed, as for VAEs, by maximizing the ELBO in eq. (1) with stochastic backpropagation and the reparameterization trick.

3.2 Motivation

BIVA can be seen as an extension of the LVAE in which we (i) add a deterministic top-down path and (ii) apply a bidirectional inference network. We will now provide the motivation and some intuitions on the role of these two novel components, that will then be empirically validated with the ablation study of Section 4.1.

Deterministic top-down path.

Skip-connections represent one of the simplest yet most powerful advancements of deep learning in recent years. They allow constructing very deep neural networks, by better propagating the information throughout the model and reducing the issue of vanishing gradients. Skip connections form for example the backbone of deep neural networks such as ResNets (He2015), which have shown impressive performances on a wide range of classification tasks. Our goal in this paper is to build very deep latent variable models that are able to learn an expressive latent hierarchical representation of the data. In our experiments, we however found that the LVAE still had difficulties in activating the top latent variables for deeper hierarchies. To limit this issue, we add skip connections among the latent variables in the generative model by adding the deterministic top-down path, that makes each variable depend on all the variables above in the hierarchy (see Figure 0(a) for a graphical representation). This allows a better flow of information in the model and thereby avoids the collapse of latent variables. A related idea was recently proposed by (Dieng18), that add skip connections among the neural network layers parameterizing a shallow VAE with a single latent variable.

Bidirectional inference.

The inspiration for the bidirectional inference network of BIVA comes from the work on Auxiliary VAEs (AVAE) by (Ranganath2015; Maaloe2016). An AVAE can be viewed as a shallow VAE with a single latent variable z and an auxiliary variable a that increases the expressiveness of the variational approximation qϕ(z|x)=qϕ(z|a,x)qϕ(a|x)da. By making the inference network qϕ(z|a,x) depend on the stochastic variable a, the AVAE adds covariance structure to the posterior approximation over the stochastic unit z, since it no longer factorizes over its components z(k), i.e. qϕ(z|x)kqϕ(z(k)|x). As discussed in the following, by factorizing the latent variables at each level of the hierarchy of BIVA we are able to achieve similar results without introducing additional auxiliary variables in the model. To see this, we can focus for example on the highest latent variable zL. In BIVA, the presence of the zi\scalebox.6BU variables makes the bottom-up inference path stochastic, as opposed to the deterministic BU path of the LVAE. While the conditional distribution qϕ(zL|x,z<L\scalebox.6BU) still factorizes over the components of zL, due to the stochastic BU variables the marginal distribution over zL no longer factorizes, i.e. qϕ(zL|x)=qϕ(zL|x,z<L\scalebox.6BU)qϕ(z<L\scalebox.6BU|x)dz<L\scalebox.6BUk=1Kq(zL(k)|x). Therefore, the BU inference path enables the learning of a complex covariance structure in the higher TD stochastic latent variables, which is fundamental in the model to extract good high-level semantic features from the data distribution. Notice that, in BIVA, only z1\scalebox.6BU will have a marginally factorizing inference network.

3.3 Anomaly detection with BIVA

Anomaly detection is considered to be one of the most important applications of explicit density models. However, recent empirical results suggest that these models are not able to distinguish between two clearly distinctive data distributions (Nalisnick18), as they can assign a higher likelihood to data points from a data distribution that is very different from the one the model was trained on. Based on a thorough study, (Nalisnick18) states that the main issue is the fact that explicit density models tend to capture low-level statistics, as opposed to the high-level semantics that are preferable when doing anomaly detection. We hypothesize that the latent representations in the higher layers of BIVA can capture the high-level semantics of the data and that these can be used for improved anomaly detection.

In the standard ELBO from eq. (1), the main contribution to the expected log-likelihood term is coming from averaging over the variational distribution of the lower level latent variables. This will thus emphasize low-level statistics. So in order to perform anomaly detection with BIVA we instead need to emphasize the contribution from the higher layers. We can achieve this with an alternative log-likelihood lower bound that partly replaces the inference network with the generative model. It will be a weaker bound than the ELBO, but it has the advantage that it explicitly uses the generative hierarchy of the stochastic variables. In the following we define the hierarchy of stochastic latent variables as 𝐳=z1,z2,z3,,zL with zi=(zi\scalebox0.6BU,zi\scalebox0.6TD). Instead of using the variational approximation qϕ(𝐳|x) over all stochastic variables in the model, we use the prior distribution for the first k layers and the variational approximation for the others, i.e. pθ(zk|z>k)qϕ(z>k|x). The new ELBO becomes:

>k=𝔼pθ(zk|z>k)qϕ(z>k|x)[logpθ(x|𝐳)pθ(z>k)qϕ(z>k|x)]. (2)

>0= is the ELBO in eq. (1). As for the ELBO, we approximate the computation of >k with Monte Carlo integration. Sampling from pθ(zk|z>k)qϕ(z>k|x) can be easily performed by obtaining samples z^>k from the inference network, that are then used to sample z^k from the conditional prior pθ(zk|z^>k).

Due to the sampling from the prior, eq. (2) will generally return a worse likelihood approximation than the ELBO. Despite this, >k with higher values of k represents a useful metric for anomaly detection. By only sampling the top L-k variables from the variational approximation, in fact, we are forcing the model to only rely on the high-level semantics encoded in the highest variables of the hierarchy when evaluating this metric, and not on the low-level statistics encoded in the lower variables.

4 Experiments

\includegraphics [width=1.]figs/heatmap_lvae15.png (a) LVAE L=15 \includegraphics [width=1.]figs/heatmap_lvae+15.png (b) LVAE+ L=15 \includegraphics [width=1.]figs/heatmap_lvae++.png (c) BIVA L=15
Figure 2: The logKL(q||p) for each stochastic latent variable as a function of the training epochs on CIFAR-10. (a) is a L=N=15 stochastic latent layer LVAE with no skip-connections and no bottom-up inference. (b) is a L=N=15 LVAE+ with skip-connections and no bottom-up inference. (c) is a L=15 stochastic latent layer (N=29 latent variables) BIVA for which 1,2,,N denotes the stochastic latent variables following the order z1\scalebox0.4BU,z1\scalebox0.4TD,z2\scalebox0.4BU,z2\scalebox0.4TD,,zL.
\includegraphics

[width=1.]figs/celeba.png

Figure 3: (left) images from the CelebA dataset preprocessed to 64x64 following (Larsen16). (right) 𝒩(0,I) generations of BIVA with L=20 layers that achieves a 1=2.48 bits/dim on the test set.

BIVA is empirically evaluated by (i) an ablation study analyzing each novel component, (ii) likelihood and semi-supervised classification results on binary images, (iii) likelihood results on natural images, and (iv) an analysis of anomaly detection in complex data distributions. We employ a free bits strategy with λ=2 (Kingma2016) for all experiments to avoid latent variable collapse during the initial training epochs. Trained models are reported with 1 importance weighted sample, 1, and 1000 importance weighted samples, 1e3 (Burda15a). We evaluate the natural image experiments by bits per dimension (bits/dim), /(hwclog(2)), where h, w, c denote the height, width, and channels respectively. For a detailed description of the experimental setup see Appendix C and the source code11 1 Source code (Tensorflow): https://github.com/larsmaaloee/BIVA.22 2 Source code (PyTorch): https://github.com/vlievin/biva-pytorch.. In Appendix D we test BIVA on complex 2d densities, while Appendix E presents initial results for the model on text.

4.1 Ablation Study

BIVA can be viewed as an extension of the LVAE from (Sonderby2016) where we add (i) extra dependencies in the generative model (pθ(x|z1)pθ(x|𝐳) and pθ(zi|zi+1)pθ(zi|z>i)) through the skip connections obtained with the deterministic top-down path and (ii) a bottom-up (BU) path of stochastic latent variables to the inference model. In order to evaluate the effects of each added component we define an LVAE with the exact same architecture as BIVA, but without the BU variables and the deterministic top-down path. Next, we define the LVAE+, where we add to the LVAE’s generative model the deterministic top-down path. It is therefore the same model as in Figure 1 but without the BU variables. Finally, we investigate a LVAE+ model with 2L-1 stochastic layers. This corresponds to the depth of the hierarchy of the BIVA inference model xz1\scalebox0.4BUzL-1\scalebox0.4BUzLzL-1\scalebox0.4TDz1\scalebox0.4TD. If this model is competitive with BIVA then it is an indication that it is the depth that determines the performance. The ablation study is conducted on the CIFAR-10 dataset against the best reported BIVA with L=15 layers (Section 4.3), which means 2L-1=29 stochastic latent layers in the deep LVAE+.

Table 1: A comparison of the LVAE with no skip-connections and no bottom-up inference, the LVAE+ with skip-connections and no bottom-up inference, and BIVA. All models are trained on the CIFAR-10 dataset.
Param. bits/dim
LVAE L=15, 1 72.36M 3.60
LVAE+ L=15, 1 73.35M 3.41
LVAE+ L=29, 1 119.71M 3.45
BIVA L=15, 1 102.95M 3.12

Table 1 presents a comparison of the different model architectures. The positive effect of adding the skip connections in the generative models can be evaluated from the difference between the LVAE L=15 and LVAE+ L=15 results, for which there is close to a 0.2 bits/dim difference in the ELBO. Thanks to the more expressive posterior approximation obtained using its bidirectional inference network, BIVA improves the ELBO significantly w.r.t the LVAE+, by more than 0.3 bits/dim. Notice that a deeper hierarchy of stochastic latent variables in the LVAE+ will not necessarily provide a better likelihood performance, since the LVAE+ L=29 performs worse than the LVAE+ L=15 despite having significantly more parameters. In Figure 2 we plot for LVAE, LVAE+ and BIVA the KL divergence between the variational approximation over each latent variable and its prior distribution, KL(q||p). This KL divergence is 0 when the two distributions match, in which case we say that the variable has collapsed, since its posterior approximation is not using any data-dependent information. We can see that while the LVAE is only able to utilize its lowest 7 stochastic variables, all variables in both LVAE+ and BIVA are active. We attribute this tendency to the deterministic top-down path that is present in both models, which creates skip-connections between all latent variables that allow to better propagate the information throughout the model.

4.2 Binary Images

Table 2: Test log-likelihood on statically binarized MNIST for different number of importance weighted samples. The finetuned models are trained for an additional number of epochs with no free bits, λ=0. For testing resiliency we trained 4 models and evaluated the standard deviations to be ±0.031 for L1.
-logp(x)
With autoregressive components
PixelCNN Oord2015 =81.30
DRAW Gregor15 <80.97
IAFVAE Kingma2016 79.88
PixelVAE Gulrajani2016 79.66
PixelRNN Oord2015 =79.20
VLAE Chen2017 79.03
Without autoregressive components
Discrete VAE Rolfe2017 81.01
BIVA, 1 81.20
BIVA, 1e3 78.67
BIVA finetuned, 1 80.47
BIVA finetuned, 1e3 78.59
Table 3: Semi-supervised test error for BIVA on MNIST for 100 randomly chosen and evenly distributed labelled samples.
Error %
M1+M2 (Kingma14) 3.33% (±0.14)
VAT (Miyato15) 2.12%
CatGAN (Springenberg2015) 1.91% (±0.10)
SDGM (Maaloe2016) 1.32% (±0.07)
LadderNet (Rasmus15) 1.06% (±0.37)
ADGM (Maaloe2016) 0.96% (±0.02)
ImpGAN (Salimans2016) 0.93% (±0.07)
TripleGAN (Li17) 0.91% (±0.58)
SSLGAN (Dai17) 0.80% (±0.10)
BIVA 0.83% (±0.02)
\includegraphics [width=.8]figs/anomaly.png Figure 4: Histograms and kernel density estimation of the >k for k=13,11,0 evaluated in bits/dim by a model trained on the CIFAR-10 train dataset and evaluated on the CIFAR-10 and the SVHN test set.
Table 4: Test log-likelihood on CIFAR-10 for different number of importance weighted samples. We evaluated two different BIVA with various number of layers (L). For testing resiliency we trained 3 models and evaluated the standard deviations to be ±0.013 for L1 and L=15.
bits/dim
With autoregressive components
ConvDRAW Gregor16 <3.58
IAFVAE 1 Kingma2016 3.15
IAFVAE 1e3 Kingma2016 3.12
GatedPixelCNN Oord16 =3.03
PixelRNN Oord2015 =3.00
VLAE Chen2017 2.95
PixelCNN++ Salimans17 =2.92
Without autoregressive components
NICE Dinh14 =4.48
DeepGMMs Oord14 =4.00
RealNVP Dinh16 =3.49
DiscreteVAE++ Vahdat18 3.38
GLOW Kingma18 =3.35
Flow++ Ho19 =3.08
BIVA L=10, 1 3.17
BIVA L=15, 1 3.12
BIVA L=15, 1e3 3.08

We evaluate BIVA L=6 in terms of test log-likelihood on statically binarized MNIST (Salakhutdinov08), dynamically binarized MNIST (LeCun98) and dynamically binarized OMNIGLOT (Lake2013). The model parameterization and optimization parameters have been kept identical for all binary image experiments (see Appendix C). For each experiment on binary image datasets, we finetune each model by setting the free bits to λ=0 until convergence in order to test the tightness of the 1 ELBO.

To the best of our knowledge, BIVA achieves state-of-the-art results on statically binarized MNIST, outperforming other latent variable models, autoregressive models, and flow-based models (see Table 4). Finetuning the model with λ=0 improves the 1 ELBO significantly and achieves slightly better performance for the 1000 importance weighted samples. For dynamically binarized MNIST and OMNIGLOT, BIVA achieves similar improvements with 1e3=78.41 (state-of-the-art) and 1e3=91.34 respectively, see Tables 10 and 11 in Appendix G.

Semi-supervised learning.

BIVA can be easily extended for semi-supervised classification by adding a categorical variable y to represent the class, as done in (Kingma14). We add a classification model qϕ(y|x,z<L\scalebox.6BU) to the inference network, and a class-conditional distribution pθ(x|𝐳,y) to the generative model (see Appendix F for a detailed description). We train 5 different semi-supervised models on MNIST, each using a different set of just 100 randomly chosen and evenly distributed MNIST labels. Table 4 presents the classification results on the test set (mean and standard deviation over the 5 runs), that shows that BIVA achieves comparable performance to recent state-of-the-art results by generative adversarial networks.

4.3 Natural Images

We trained and evaluated BIVA L=15 on 32x32 CIFAR-10, 32x32 ImageNet (Oord2015), and another BIVA L=20 on 64x64 CelebA (Larsen16). For the output decoding, we employ the discretized logistic mixture likelihood from (Salimans17) (see Appendix C for more details). In Table 4 we see that for the CIFAR-10 dataset BIVA outperforms other state-of-the-art non-autoregressive models and performs slightly worse than state-of-the-art autoregressive models. For the 32x32 ImageNet dataset BIVA achieves better performance than flow-based models, but the performance gap to the autoregressive models remains large (Table 13 in Appendix G). This may be due to the added complexity (more categories) of the 32x32 ImageNet dataset, requiring an even more flexible model. More research should be invested in defining an improved architecture for BIVA that holds more parameters and thereby achieves better performances.

Figure 3 shows generated samples from the 𝒩(0,I) prior of a BIVA L=20 trained on the CelebA dataset. From a visual inspection, the samples are far superior to previous natural image generations by latent variable models. We believe that previous claims stating that this type of model can only generate blurry images should be disregarded (Larsen16). Rather the limited expressiveness/flexibility of previous models should be blamed. Additional samples from BIVA can be found in Appendix G.

4.4 Does BIVA know what it doesn’t know?

We test the anomaly detection capabilities of BIVA replicating the most challenging experiments of (Nalisnick18). We train BIVA L=15 on the CIFAR-10 dataset, and evaluate eq. (2) for various values of k on the CIFAR-10 test set, the SVHN dataset (Netzer2011) and the CelebA dataset. The results can be found in Table 5 and Figure 4, and are reported in terms of bits per dimension (lower is better). We see that for k=0, corresponding to the standard ELBO, BIVA wrongly assigns lower values to data points from SVHN. This is in line with the results obtained with other explicit density models in (Nalisnick18), and shows that by using the standard ELBO the low-level image statistics prevail and the model is not able to correctly detect out-of-distribution samples. However, for higher values of k, the situation is reversed. We take this as an indication that BIVA uses the high-level semantics inferred from the data to better differentiate between the CIFAR-10 and the SVHN/CelebA distributions. We repeat the experiment training BIVA L=6 on the FashionMNIST dataset (Table 5), and testing on the FashionMNIST test set and the MNIST dataset. Unlike the flow-based models used in (Nalisnick18), BIVA is able to learn a data distribution that can be used to detect anomalies with the standard ELBO (but also k>0).

>L-2 >L-4 >L-6 >0 Model trained on CIFAR-10: CIFAR-10 79.36 35.34 20.93 3.12 SVHN 121.04 58.82 26.76 2.28 Model trained on FashionMNIST: FashionMNIST 228.38 107.07 - 94.05 MNIST 295.95 130.39 - 128.60
Table 5: The test >k for different values of k and train/test dataset combinations evaluated in bits/dim for natural images and negative log-likelihood for binary images (lower is better).

5 Conclusion

In this paper, we have introduced BIVA, that significantly improves performances over previously introduced probabilistic latent variable models and flow-based models. BIVA is able to generate natural images that are both sharp and coherent, to improve on semi-supervised classification benchmarks and, contrarily to other models, allows for anomaly detection using the extracted high-level semantics of the data.

References

Appendix A Deep Learning and Variational Inference

\tikz\node

[obs] (x) x;

\node

[latent,above=.5cm of x](z1bu)z1;

\node

[latent,above=.5cm of z1bu](z2bu)z2; \node[latent,above=.5cm of z2bu] (z3bu) z3; \node[above=of z3bu, xshift=.2cm, yshift=-1.cm] (theta) θ; \edge[]z1bux \edge[blue]z2buz1bu \edge[blue]z3buz2bu

(a)
\tikz\node

[obs] (x) x;

\node

[latent,above=.5cm of x](z1bu)z1;

\node

[latent,above=.5cm of z1bu](z2bu)z2; \node[latent,above=.5cm of z2bu] (z3bu) z3; \node[above=of z3bu, xshift=.2cm, yshift=-1.cm] (phi) ϕ; \edge[]xz1bu \edge[]z1buz2bu \edge[]z2buz3bu

(b)
\tikz\node

[obs] (x) x;\node[det,above=.38cm of x] (d1)d~1; \node[det,above=.38cm of d1] (d2)d~2; \node[det,above=.38cm of d2] (d3)d~3;

\node

[latent,right=.5cm of d1](z1td)z1; \node[latent,right=.5cm of d2](z2td)z2; \node[latent,right=.5cm of d3] (z3td) z3; \node[above=of z3td, xshift=.2cm, yshift=-1.cm] (phi) ϕ;

\edge

[]xd1 \edge[blue]z2tdz1td \edge[]d1d2 \edge[blue]z3tdz2td \edge[]d2d3 \edge[]d1z1td \edge[]d2z2td \edge[]d3z3td

(c)
\tikz\node

[obs] (x) x;\node[latent,above=.5cm of x](z1td)z1; \node[latent,above=.5cm of z1td](z2td)z2; \node[latent,above=.5cm of z2td](z3td)z3; \node[above=of z3td, xshift=.2cm, yshift=-1.cm] (phi) ϕ;

\edge

[dashed]xz1td; \edge[blue]z2tdz1td; \edge[blue]z3tdz2td; \edge[dashed, bend left]xz2td; \edge[dashed, bend left]xz3td;

(d)
Figure 5: (a) Generative model of a VAE/LVAE with L=3 stochastic variables, (b) VAE inference model, (c) LVAE inference model, and (d) skip connections among stochastic variables in the LVAE where dashed lines denote a skip-connection. Blue arrows indicate that there are shared parameters between the inference and generative model.

The introduction of stochastic backpropagation [Paisley2012, Hoffman2013] and the variational auto-encoder (VAE) [Kingma13, Rezende14] has made approximate Bayesian inference and probabilistic latent variable models applicable to machine learning problems considering complex data distributions, e.g. natural images, audio, and text. The VAE is a generative model parameterized by a neural network θ and is defined by an observed variable x that depends on a hierarchy of stochastic latent variables 𝐳=z1,,zL so that: pθ(x,𝐳)=pθ(x|z1)pθ(zL)i=1L-1pθ(zi|zi+1). This is illustrated in Figure 4(a).

The distributions pθ(zi|zi+1) over the latent variables of the VAE are normally defined as Gaussians with diagonal covariance, whose parameters depend on the previous latent variable in the hierarchy (with the top latent variable pθ(zL)=𝒩(zL;0,I)). The likelihood pθ(x|z1) is typically a Gaussian distribution for continuous data, or a Bernoulli distribution for binary data.

In order to learn the parameters θ we seek to maximize the log marginal likelihood over a training set: ilogpθ(xi)=ilogpθ(xi,𝐳i)𝑑𝐳i. However, complex data distributions require an expressive model, which makes the above integral intractable. In order to circumvent this, we use Variational Inference [Jordan99] and introduce a posterior approximation qϕ(𝐳|x), known as inference network or encoder, that is parameterized by a neural network ϕ. Using Jensen’s inequality we can derive the evidence lower bound (ELBO), a lower bound to the integral in the marginal likelihood which is a function of the variational approximation qϕ(𝐳|x) and the generative model pθ(x,𝐳):

logpθ(x)𝔼qϕ(𝐳|x)[logpθ(x,𝐳)qϕ(𝐳|x)](θ,ϕ). (3)

The parameters θ and ϕ can be optimized by maximizing the ELBO with stochastic backpropagation and the reparameterization trick, which allows using gradient ascent algorithms with low variance gradient estimators [Kingma13, Rezende14]. As illustrated in Figure 4(b), in a VAE the variational approximation is factorized with a bottom-up structure, qϕ(𝐳|x)=qϕ(z1|x)i=1L-1qϕ(zi+1|zi), so that each latent variable is conditioned on the variable below in the hierarchy. For ease of computation, all the factors in the variational approximation are typically assumed to be Gaussians whose mean and diagonal covariance are parameterized by neural networks.

Latent variable collapse in VAEs.

A deep hierarchy of latent stochastic variables will result in a more expressive model. However, the additional variables come at a price. As shown in [Chen2017, Maaloe17], we can rewrite the ELBO (eq. (1)):

(θ,ϕ)=𝔼qϕ(𝐳|x)[logpθ(x,z<L|zL)qϕ(z<L|x)]-𝔼qϕ(z<L|x)[KL[qϕ(zL|z<L)||pθ(zL))]].

From the above, it becomes obvious that, during the optimization of the VAE, the top stochastic latent variables may have a tendency to collapse into the prior, i.e. qϕ(zL|z<L)=pθ(zL)=𝒩(zL;0,I), if the model pθ(x,z<L|zL) is powerful enough. This is supported by empirical results in [Sonderby2016, Bowman2015] amongst others. The tendency has limited the applicability of deep VAEs in problems with complex data distributions, and has pushed VAE research towards the extension of shallow VAEs with autoregressive models, that allow capturing a lossy representation in the latent space while achieving strong generative performances [Gulrajani2016, Chen2017]. Another research direction has focused on learning more complex prior distributions through normalizing flows [Rezende2015, Tomczak16, Kingma2016]. Our research considers instead the original goal of building expressive models that can exploit a deeper hierarchy of stochastic latent variables while avoiding variable collapse.

Appendix B Detailed Model Description

\tikz\node

[obs] (x) x;

\node

[det,above=.5cm of x] (d1)d1; \node[latent,right=0.5cm of d1] (z1td)z1\scalebox0.4TD; \node[latent,left=0.5cm of d1](z1bu)z1\scalebox0.4BU;

\node

[det,above=.5cm of d1] (d2)d2; \node[latent,right=0.5cm of d2] (z2td)z2\scalebox0.4TD; \node[latent,left=0.5cm of d2](z2bu)z2\scalebox0.4BU; \node[latent,above=.5cm of d2] (z3td)z3;

\node

[above=of z3td, xshift=.8cm, yshift=-1.cm] (theta) θ;

\edge

[blue]z3tdd2 \edge[blue]z3tdz2bu \edge[blue]z3tdz2td

\edge

[blue]d2d1 \edge[blue]d2z1bu \edge[blue]d2z1td

\edge

[blue]z2tdd1 \edge[blue]z2tdz1bu \edge[blue]z2tdz1td

\edge

[blue]z2bud1 \edge[blue]z2buz1bu \edge[blue]z2buz1td

\edge

[]d1x \edge[]z1tdx \edge[]z1bux

(a) Generative model
\tikz\node

[obs] (x) x;

\node

[det,above=.4cm of x] (d1)d~1; \node[latent,right=0.5cm of d1] (z1td)z1\scalebox0.4TD; \node[latent,left=0.5cm of d1](z1bu)z1\scalebox0.4BU;

\node

[det,above=.4cm of d1] (d2)d~2; \node[latent,right=0.5cm of d2] (z2td)z2\scalebox0.4TD; \node[latent,left=0.5cm of d2](z2bu)z2\scalebox0.4BU; \node[latent,above=.4cm of d2] (z3td)z3;

\node

[above=of z3td, xshift=.8cm, yshift=-1.cm] (theta) ϕ;

\edge

[]d2z3td \edge[]z2buz3td

\edge

[]d1d2 \edge[]z1bud2

\edge

[]d1z2td \edge[]z1buz2td

\edge

[]d1z2bu \edge[]z1buz2bu

\edge

[]xd1 \edge[]xz1td \edge[]xz1bu

(b) BU inference
\tikz\node

[] (x) ;

\node

[above=1.1cm of x] (d1); \node[latent,right=0.8cm of d1] (z1td)z1\scalebox0.4TD; \node[left=0.5cm of d1](z1bu);

\node

[det,above=.9cm of d1] (d2)d2; \node[latent,right=0.5cm of d2] (z2td)z2\scalebox0.4TD; \node[latent,left=0.5cm of d2](z2bu)z2\scalebox0.4BU; \node[latent,above=.5cm of d2] (z3td)z3;

\node

[above=of z3td, xshift=.8cm, yshift=-1.cm] (theta) θ;

\edge

[blue]z3tdd2 \edge[blue]z3tdz2td

\edge

[blue]d2z1td

\edge

[blue]z2tdz1td

\edge

[blue]z2buz1td

(c) TD inference
\tikz\node

[obs] (x) x;

\node

[above=.75cm of x] (d1); \node[latent,right=0.5cm of d1] (z1td)z1\scalebox0.4TD; \node[latent,left=0.5cm of d1](z1bu)z1\scalebox0.4BU;

\node

[above=1.cm of d1] (d2); \node[latent,right=0.5cm of d2] (z2td)z2\scalebox0.4TD; \node[latent,left=0.5cm of d2](z2bu)z2\scalebox0.4BU; \node[latent,above=.75cm of d2] (z3td)z3;

\node

[above=of z3td, xshift=.8cm, yshift=-1.cm] (theta) θ;

\edge

[]z3tdz2bu \edge[]z3tdz2td \edge[dashed]z3tdz1bu \edge[dashed]z3tdz1td \edge[dashed]z3tdx

\edge

[]z2tdz1bu \edge[]z2tdz1td \edge[dashed]z2tdx

\edge

[]z2buz1bu \edge[]z2buz1td \edge[dashed]z2bux

\edge

[]z1tdx \edge[]z1bux

(d) Variable dependency
Figure 6: A L=3 layered BIVA with (a) the generative model, (b) bottom-up (BU) inference path, (c) top-down (TD) inference path, and (d) variable dependency of the generative models where dashed lines denote a skip-connection. Blue arrows indicate that the deterministic parameters are shared within the generative model or between the generative and inference model.

Generative model.

The generative model (see Figure 5(a)) has a top-down path going from zL through the intermediary stochastic latent variables to x. Between each stochastic layer there is a ResNet block with M layers set up similarly to [Salimans17]. Weight normalization [Salimans2016a] is applied in all neural network layers. In the generative model, the BU and TD units are not distinguished so we write zi=(zi\scalebox0.6BU,zi\scalebox0.6TD). We use fi,j to denote the neural network function (a function of generative model parameters θ) of ResNet layer j associated with stochastic layer i. The feature maps are written as di,j. The generative process can then be iterated as zL𝒩(0,I) and i=L-1,L-2,,1:

di,0 =zi+1 (4)
di,j =<fθi,j(di,j-1);di+1,j> 𝐟𝐨𝐫 j=1,,M (5)
zi =μθ,i(di,M)+σθ,i(di,M)ϵi, (6)

where dL,j=0, <;> denotes concatenation of feature maps in the convolutional network and hidden units in the fully connected network, ϵ𝒩(0,I) and μ() and σ() are parameterized by neural networks. To complete the generative model p(x|𝐳) is written in terms of z1 and d1 through a ResNet block f0.

Inference model.

The inference model (see Figure 5(b) and 5(c)) consists of a bottom-up (BU) and top-down (TD) paths such that bottom-up stochastic units only receive bottom-up information whereas the top-down units receive both bottom-up and top-down information. The top-down path shares parameters with the generative model. For each stochastic latent variable zi in i=1,,L we use a ResNet block with M layers and there are associated neural network functions gi,j, j=1,,M with parameters collectively denoted by ϕ. The deterministic feature map of layer i,j is denoted by d~i,j:

d~i,0 ={xi=1<zi-1;d~i-1,M>otherwise (7)
d~i,j =<gi,j(d~i,j-1);d~i-1,j> 𝐟𝐨𝐫 j=1,,M, (8)
zi\scalebox0.6BU =μi\scalebox0.6BU(d~i,M)+σi\scalebox0.6BU(d~i,M)ϵi\scalebox0.4BU (9)

where ϵ𝒩(0,I). Finally, to infer the top-down latent we use the bottom-up latent zi\scalebox0.6TD inferred in eq. (9) and pass them through the generative path eq. (5) for i=L-1,L-2,,2 to determine di,M and

zi\scalebox0.6TD =μi\scalebox0.6TD(<d~i,M;di,M>)+σi\scalebox0.6TD(<d~i,M;di,M>)ϵi\scalebox0.4TD. (10)

Appendix C Experimental Setup

Throughout all experiments, we follow the BIVA model description that is described in detail in Appendix B and F.

Optimization.

All models are optimized using Adamax [Kingma14a] with a hyperparameter setting similar to the one used in [Kingma2016]. They are trained with a batch-size of 48 where the binary image experiments are trained on a single GPU and the natural image experiments are trained on two GPUs (by splitting the batch in 2 and then taking the mean over the gradients). For evaluation, we use exponential moving averages of the parameters space, similar to [Kingma2016, Salimans17].

Binary image architecture.

BIVA has L=6 layers. The gϕ1 neural networks are defined by M=3, 64x5x5 (number of kernels x kernel width x kernel height) convolutional layers and an overall stride of 2. Neural networks i=2,,6 are defined by four M=3, 64x3x3 convolutional layers. The final neural network, i=6, applies a stride of 2. All stochastic latent variables are densely connected layers of dimension 48,40,32,24,16,8 for 1,,L respectively. We apply a dropout rate of 0.5 for both the deterministic layers in the generative as well as the inference model.

Natural image architecture (32x32).

BIVA has L=15 layers. The gϕ1 neural networks are defined by M=3, 96x5x5 convolutional layers and an overall stride of 2. Neural networks i=2,,15 are defined by M=3, 96x3x3 convolutional layers. Neural networks 11 and 15 are defined with a stride of 2. All stochastic latent variables are parameterized by convolutional layers with 38,36,34,,10 feature maps for 1,2,3,,L respectively. The kernel width and height of the stochastic latent variables are defined similarly to the dimension of the subsequent output after striding. We apply a dropout rate of 0.2 in the deterministic layers of the inference model.

Natural image architecture (64x64).

BIVA has L=20 layers. The gϕ1 and gϕ2 neural networks are defined by M=3, 64x7x7 and 64x5x5 convolutional layers respectively with a stride of 2 in each. Neural networks i=3,,11 are defined by M=3 64x3x3 convolutional layers. Neural network 11 is defined with a stride of 2. Neural networks i=12,,20 are defined by M=3, 128x3x3 convolutional layers and network 20 has a stride of 2. All stochastic latent variables are parameterized by convolutional layers with 20,19,18,,1 feature maps for 1,2,3,,L respectively. The kernel width and height of the stochastic latent variables are defined similarly to the dimension of the subsequent output after striding. We apply a dropout rate of 0.2 in the deterministic layers of the inference model.

Appendix D Modeling Complex 2D Densities

Potential U(𝐙)
1: 12(𝐳-20.4)2-ln(e-12[𝐙1-20.6]2+e-12[𝐙1+20.6]2))
2: 12[𝐙2-w1(𝐙)0.4]2
3: -ln(e-12[𝐙2-𝒘1(𝐙)0.35]2+e-12[𝐙2-𝒘1(𝐙)+w2(𝐙)0.35]2))
4: -ln(e-12[𝐙2-w1(𝐙)0.4]2+e-12[𝐙2-w1(𝐙)+w3(𝐙)0.35]2))
with w1(𝐳)=sin(2π𝐳14), w2(𝐳)=3e-12[(𝐙1-1)0.6]2,
w3(𝐳)=3σ(𝐙1-10.3) and σ(x)=1/(1+e-x)  .
Table 6: Potentials defining the target densities p(𝐳)=e-U(𝐳)Z.

Problem.

[Maaloe2016] showed that Variational Auto-Encoders can fit complex posterior distributions for the latent space using the inference model qϕ(z|x), parameterized as a fully factorized Gaussian and p(x) being a simple diagonal Gaussian. In table 6, we define complex non-Gaussian densities using a potential model U(𝐙), as described in [Rezende2015]. While modeling such distributions remains within the reach of an adequately complex Variational Autoencoder, optimizing such a model remains challenging.

Objective.

Similarly to [Maaloe2016], we choose p(x) to be an isotropic Gaussian and we model the target density using the top stochastic variable: p(zL)=e-U(z)Z. This results in the following bound:

logp(x)𝔼qϕ(x,𝐳)[logpθ(x|z1)p(zL)qϕ(x)+i=1L-1logpθ(zi|zi+1)qϕ(zi,TD|zi+1,x)qϕ(zi+1|zi,BU,x)]. (11)

Experimental Setup.

We test BIVA against the VAE and LVAE models using the same number of stochastic variables, hence the models use the same number of intermediate layers. All models are implemented using 5 stochastic layers, MLPs with one hidden layer of size 128 and with residual connections. The chosen architecture is voluntary kept minimal, therefore the task remains challenging for all models.

We train all models for 1e4 iterations using the Adamax optimizer. We use batch sizes of size 512. The potential is linearly annealed from 0.1 to 1 during 5e3 steps. In order to avoid posterior collapse, 0.5 freebits are applied to each stochastic layer. The learning rate is linearly increased from 1e-5 to 3e-3 and exponentially annealed back to 1e-5.

In order to measure the quality of the posterior density, we estimate KL(q(zL)||p(zL)) using 1e6 posterior samples evaluated using a grid of size (-2,2)2 with a resolution of 100×100. Each model is trained 100 times for each density.

Results.

According to the approximate KL(q(zL)||p(zL)), we found that BIVA tends to learn a posterior that lies closer to the target density. Figure 7 shows that BIVA often learns more complex features than the baseline models, which posteriors remain closer to the modes. Figure 7 reveals that LVAE is able to find solutions that are competitive with the best BIVA samples according to KL(q(zL)||p(zL)). However, this happens very rarely whereas BIVA has a more robust optimization behaviour.

\includegraphics

[width=1.0]figs/BIVA-density-histogram.png

Figure 7: Distribution of the KL(q(zL)||p(zL))) estimate for each model, each target density p(zL) and for different initial random seeds. We collected 100 runs for each model and for each density. We found that BIVA behaves more consistently and often yield better approximations than the baseline models.
\includegraphics

[width=.8]figs/BIVA-density-agg.png

Figure 8: Target densities p(zL) and the median posterior distributions q(zL) for each model according to KL(q(zL)||p(zL))) out of 100 runs for each model and for each density.

Appendix E Initial Results on Text Generation Tasks

parameters -logp(x) kl ppl
Results with autoregressive components, no dropout
LSTM 15.0M =41.49 - 36.28
RNN-VAE [Bowman2015], 1, warmup 23.7M 42.09 1.61 38.21
RNN-VAE [Bowman2015], 1, finetuned 23.7M 42.41 5.13 39.26
Hybrid VAE [semeniuta2017hybrid], 1, finetuned 23.7M 42.24 4.67 38.70
BIVA L=7, 1, finetuned 23.0M 42.34 10.15 39.04
Results without autoregressive components, no dropout
Hybrid VAE [semeniuta2017hybrid], 1, finetuned 15.0M 54.53 14.10 112.1
BIVA L=7 Finetuned, 1 14.0M 54.13 15.33 108.3
Table 7: Test performances on the BookCorpus with 1 importance weighted sample (sentences limited to 40 words). The RNN-VAE and Hybrid VAE are are trained and evaluated from our own implementation.

Optimizing generative models coupled with autoregressive models is a difficult task. Such coupling causes the posterior to collapse, and the latent variables are ignored. Nonetheless, autoregressive components remain a cornerstone of the generative models for text [Bowman2015, semeniuta2017hybrid, shah2018generating]. In order to enforce the model to use the latent variable, previous efforts aimed at weakening the decoder using powerful regularizing tricks, such as word dropout [Bowman2015]. We investigate the use of BIVA in the context of sentence modeling without weakening the decoder. We show that it allows optimizing the latent variables more effectively, resulting in a higher measured KL when compared to the RNN-VAE [Bowman2015] and the Hybrid VAE [semeniuta2017hybrid].

Dataset.

We use the Bookcorpus dataset [bookcorpus] of sentences of maximum 40 words, no preprocessing is performed and sentences are tokenized using the white spaces. We defined a vocabulary of 20000 words and filtered out the sentences that contain non-indexed tokens. We randomly sampled 10000 sentences for testing and used the remaining 56M sentences for training.

Models.

We couple BIVA with an LSTM decoder, using the output of the convolutional model as an input sequence for the auto-regressive model. We compare our model against a LSTM language model [hochreiter1997long], the RNN-VAE [Bowman2015], and the Hybrid VAE [semeniuta2017hybrid], which couples a convolutional architecture with an LSTM decoder. We also perform experiments without using autoregressive components.

All LSTM models are parameterized by 1024 units and we use embeddings of dimension 512. This results in an RNN-VAE model with 23.7M parameters and we limit the other models to use the same total number of parameters. This results in using a limited number of stochastic layers for the BIVA and small a small number of kernels of 128.

Training.

We trained the models for 5 epochs with an initial learning rate of 2e-3 using the Adamax optimizer. We used batches of size 512 and used only one stochastic sample. We train all latent variable models using the freebits method from [Kingma2016] with an initial KL budget of 30 nats distributed equally over the stochastic variables and we incrementally decrease the freebits value on plateau. We also train the RNN-VAE baseline using the deterministic warmup method [Bowman2015, Sonderby2016] for comparison.

Likelihood and latent variables usage.

We report the test set results in table 7 and test samples in 8 and reconstructions in table 9. While BIVA without the autoregressive decoder is not competitive with an LSTM language model, we observe that replacing the LSTM inference model by a BIVA model allows exploiting the latent space more actively, which results in a higher measured KL than the RNN-VAE and Hybrid VAE baselines.

\resizebox

!

BIVA+LSTM RNN-VAE
he said . “ two .
i tried to think of something to say to him , but he was already on his way back to the house . “ you do n’t have to do this . ”
it sounded as if he was going to say something . the light from the lamp was dim , but the light was dim and the room was dark .
“ and that ’s why you ’re coming . ” or a nuclear bomb , or something .
“ what ? ” “ the baby ? ”
she swallowed . “ you ’re not going to kill me . ”
“ i want you . ” she was n’t going to .
glancing up , i saw the way he was staring at me with a look of pure hatred . “ i guess we could have been more careful , ” he said .
i need a favor . ” there are some things that are not good .
he did n’t . “ you ’re a good man .
you ’re not dead . i had n’t been able to get it out .
i stood , and he followed . “ you ’re going to have to be careful , ” he said .
“ can i sit on the couch and talk ? ” it ’s not a bad idea .
“ it was n’t until i was fifteen , i was n’t in the mood to be around . he asked .
i looked down at my lap . “ this is a bad idea , ” he said , his voice a little hoarse .
the smile disappeared . “ i ’m sure he ’s in love with you .
it was hard to tell which one was more of a rock . as he stepped out of the car , he saw the man standing in the doorway , his eyes wide and his face pale .
i ’m not sure it ’s a good idea . .
the first two . “ no .
he was there . “ in the meantime , i need to get some sleep , ” i said .
“ all of you , ” joe said . i was n’t .
he did n’t care if he was n’t a vampire . did i want to talk to you ?
her mouth curved up , then she nodded . “ i want to hear you say it . ”
just tell me what you want in the end . the train was already in the driveway .
and again . “ good .
the other man ’s voice was hoarse and ragged . i just needed to get out of here , and i needed to get out of here .
i had n’t known that was a bad idea , but i had n’t been able to get it out of my head . “ this is a good idea .
your brother is the most important thing to me . “ hey . ”
you dont need to go to the police , right ? she took a deep breath and let it out .
there was a long silence . then he kissed her .
i looked up . i felt a warm hand on my shoulder and a warm smile spread across my face .
he nodded , and he looked at me , and i could tell he was thinking about it . “ he ’s dead . ”
“ hang on , baby . at the time , i was going to have to get out of the house .
we had to be close to the city , and we could n’t afford to be here . he was so close to the edge of the bed .
you know , it would be better if you were n’t so stupid . ” “ i do n’t know .
excuse me ? “ i do n’t have a choice . ”
you know how much i love you , too . i know i ’m not going to let him touch me , but i do .
a woman ’s voice , a voice that was familiar . i could n’t see the face of the man who ’d just been in the doorway .
i have a very important business to attend to , and i ’m going to have to make a decision . in the end , we all know that we are not going to be able to get out of this .
they sat on the small wooden table in the center of the room . “ yes .
“ it ’s fine . ” “ what are you doing here ? ”
she felt a rush of relief . so the only thing that mattered was that he was here .
maria , he says . neither of them spoke .
what ? from now on , you will be able to get out of here .
“ it does n’t seem like a lot to me , ” he said . the thought of having to kill him made him want to kill her .
he ’d told her everything . the other two were staring at me , their eyes wide .
“ she ’s in shock . i did n’t want to be a part of it , but i was n’t going to let it go .
“ after all , ” he murmured , “ i ’m going to go get the rest of the stuff . ” “ i do n’t want to talk about it .
and then , finally , she ’d done it . she looked at him , her eyes wide .
her words were a whisper , but it was n’t enough . “ that ’s what you ’re going to do .
Table 8: Samples decoded from the prior of the BIVA with LSTM decoder and baseline RNN-VAE.
\resizebox

!

input BIVA+LSTM RNN-VAE
“ a sad song , being sung alone in the basement . ” “ it sounds like you ’ve been through a lot . ” “ you ’re going to be a great father . ”
more often , though , wherever she sank , beck was there . more than anything , she wanted to be with him . in the end , we all knew what was going on .
he looked just about as pale as i had ever seen him . he ’s still a lot more than a friend . he was n’t going to let her go .
caleb turned and shoved him back as he took his true form . he lifted me up , his arms still wrapped around my waist . he was standing in the doorway , his hands folded in front of him .
i gasped , tried to pull away , squeezed my legs together . i gasped , and he was n’t able to stop himself . i felt my body tense , and i could n’t help but smile .
i agreed as i adjusted myself and sat heavily in my chair . i tried to ignore it , but my eyes were still closed . i did n’t want to be the one to tell him .
you bind me , UNK in darkness , though , in light . he ’d decided to take her home , to make her feel safe . he was more than willing to let her go .
they promise me things , ask me questions , whisper and plead . they might be able to do something about it , but they do n’t . “ we need to talk , ” he said , his voice low .
i glowed as i held the bear , almost bigger than me . i started to close my eyes , but he was too strong . i could n’t help but smile at the sight of her .
i wonder how much he pays them to be his guard dogs . i had to admit that it was n’t a good idea . i do n’t want to be a part of this .
“ hmmm , ” richard muttered , and headed up the path . “ jesus , ” he said , his voice barely audible . “ but you ’re going to be a father .
he was happy that he had found it in the UNK hall . he was n’t going to be the one to go . he was n’t sure if he was going to make it .
at the shack , at the condo , at the hangar . ” at the moment , the only thing that mattered was that he was n’t alone . he was staring at the floor , his eyes wide .
“ i ’d pop to go to the dance with you . ” “ i ’d prefer to go to the hospital . “ i ’m going to go to the bathroom .
someday , i ’ll share them with the rest of the world . and now i have a lot of my own . “ we ’re going to have to do something about it .
“ maybe i ’m not the right person for this one ” . “ maybe we can get a little more of a ride . ” “ i do n’t think you ’re going to be able to do that . ”
“ gin is my sister , and she ’s coming with me . “ there ’s a chance i can get a little more sleep . ” “ if you want to , i ’ll be there . ”
thick desire stormed her … along with a bittersweet curl of emotion . the tension was gone , and he was n’t looking at me . the air smelled of stale cigarette smoke .
they caused him to stagger back and drove him to the ground . they had to be at the top of the hill . he ’d found a way to get her to safety .
you ’re not much of a friar , friar , he says . you ’re not supposed to be around here , are you ? ” you ’re not going to be able to do that , are you ? ”
Table 9: Reconstruction of samples from the test set using the BIVA with LSTM decoder and the RNN-VAE baseline. The samples are decoded from the posterior distribution by using greedy decoding, without teacher forcing.

Appendix F Semi-Supervised Learning

When defining BIVA for semi-supervised classification tasks we follow the approach described for the M2 model in [Kingma14]. In addition to BIVA, described in detail in Appendix B, we introduce a classification model qϕ(y|x,z<L\scalebox.6BU) in the inference model, where y is the class variable, and a Categorical latent variable dependency in the generative model.

Inference model.

For the classification model we introduce another deterministic hierarchy with an equivalent parameterization as d~i,1,,d~i,M. We denote the hierarchy d~i,1\scalebox0.4C,,d~i,M\scalebox0.4C. The forward-pass is performed by:

d~i,0\scalebox0.6C ={xi=1d~i-1,M\scalebox0.4Cotherwise (12)
d~i,j\scalebox0.6C =<gϕi,j\scalebox0.6C(d~i,j-1\scalebox0.4C);zi\scalebox0.6BU> 𝐟𝐨𝐫 j=1,,M (13)
y =gϕi,M+1\scalebox0.4C(d~i,M\scalebox0.4C), (14)

where gϕi,M+1\scalebox0.4C is a final densely connected neural network layer, of the same dimension as the number of categories, and a Softmax activation function. The inference model is thereby factorized by:

qϕ(𝐳,y|x)=qϕ(zL|x,y,z<L\scalebox.6BU)qϕ(y|x,z<L\scalebox.6BU)i=1L-1qϕ(zi\scalebox.6BU|x,z<i\scalebox.6BU)qϕ,θ(zi\scalebox.6TD|x,y,z<i\scalebox.6BU,z>i\scalebox.6BU,z>i\scalebox.6TD). (15)

Generative model.

For each stochastic latent variable, 𝐳, and the observed variable x in the generative model, as well as the TD path of the inference model, we add a conditional dependency on a categorical variable y:

pθ(x,y,𝐳)=pθ(x|𝐳,y)pθ(zL)pθ(y)i=1L-1pθ(zi|z>i,y). (16)

Evidence lower bound.

In a semi-supervised learning problem, we have labeled data and unlabeled data which results in two formulations of the ELBO. The ELBO for labeled data points is given by:

logpθ(x,y)𝔼qϕ(𝐳|x,y))[logpθ(x,y,𝐳)qϕ,θ(𝐳|x,y)]-(θ,ϕ). (17)

Since the classification model is not included in the above definition of the ELBO we add a classification loss term (a categorical cross-entropy), equivalent to the approach in [Kingma14]:

¯(θ,ϕ)=¯(θ,ϕ)-α𝔼q(z<L|x)[logqϕ(y|x,z<L\scalebox.6BU)], (18)

where α is a hyperparameter that we define as in [Maaloe2016]. For the unlabeled data points, we marginalize over the labels:

logpθ(x)𝔼qϕ(𝐳,y|x)[logpθ(x,y,𝐳)qϕ,θ(𝐳,y|x)]-𝒰(θ,ϕ). (19)

The combined objective function over the labeled, (xl,yl), and unlabeled data points, (xu), are thereby given by:

𝒥(θ,ϕ)=xl,yl¯(θ,ϕ;xl,yl)+xu𝒰(θ,ϕ;xu). (20)

Appendix G Additional Results

Table 10: Test log-likelihood on dynamically binarized MNIST for different number of importance weighted samples. The finetuned models are trained for an additional number of epochs with no free bits, λ=0.
-logp(x)
Results with autoregressive components
DRAW+VGP [Tran2016] <79.88
IAFVAE [Kingma2016] 79.10
VLAE [Chen2017] 78.53
Results without autoregressive components
IWAE [Burda15] 82.90
ConvVAE+HVI [Salimans15] 81.94
LVAE [Sonderby2016] 81.74
Discrete VAE [Rolfe2017] 80.04
BIVA, 1 80.60
BIVA, 1e3 78.49
BIVA finetuned, 1 80.06
BIVA finetuned, 1e3 78.41
Table 11: Test log-likelihood on dynamically binarized OMNIGLOT for different number of importance weighted samples. The finetuned models are trained for an additional number of epochs with no free bits, λ=0.
-logp(x)
Results with autoregressive components
DRAW [Gregor15] <96.50
ConvDRAW [Gregor16] <91.00
VLAE [Chen2017] 89.83
Results without autoregressive components
IWAE [Burda15] 103.38
LVAE [Sonderby2016] 102.11
DVAE [Rolfe2017] 97.43
BIVA, 1 95.90
BIVA finetuned, 1 93.54
BIVA finetuned, 1e3 91.34
Table 12: Test log-likelihood on statically binarized Fashion MNIST for different number of importance weighted samples. The finetuned models are trained for an additional number of epochs with no free bits, λ=0.
-logp(x)
BIVA, 1 94.05
BIVA finetuned, 1 93.54
BIVA finetuned, 1e3 87.98
Table 13: Test log-likelihood on ImageNet 32x32 for different number of importance weighted samples.
bits/dim
With autoregressive components
ConvDRAW [Gregor16] <4.10
PixelRNN [Oord2015] =3.63
GatedPixelCNN [Oord16] =3.57
Without autoregressive components
RealNVP [Dinh16] =4.28
GLOW [Kingma18] =4.09
Flow++ [Ho19] =3.86
BIVA, 1 3.98
BIVA, 1e3 3.96
\includegraphics

[width=1.]figs/convergence.png

(a) 1 (bits/dim).
\includegraphics

[width=1.]figs/convergence_likelihood.png

(b) logpθ(x|𝐳) (bits/dim).
Figure 9: Convergence plot on CIFAR-10 training for the LVAE with L=15, the LVAE+ with L=15, the LVAE+ with L=29, and BIVA with L=15. (a) shows the convergence of the 1 importance weighted ELBO, 1, calculated in bits/dim. (b) shows the convergence of the reconstruction loss. The discrepancy between (a) and (b) is explained by the added cost from the stochastic latent variables, the Kullback-Leibler divergence KL[p(𝐳)||q(𝐳|x)].
\includegraphics

[width=0.48]figs/variance_gen.png

Figure 10: 64x64 CelebA samples generated from a BIVA with increasing levels of stochasticity in the model (going from close to the mode to the full distribution). In each column the latent variances are scaled with factors 0.1,0.3,0.5,0.7,0.9,1.0. Images in a row look similar because they use the same Gaussian random noise ϵ to generate the latent variables. BIVA has L=20 stochastic latent layers connected by three layer ResNet blocks.
\includegraphics

[width=1.]figs/temp_gen_001.png

(a) σ2=0.01
\includegraphics

[width=1.]figs/temp_gen_01.png

(b) σ2=0.1
\includegraphics

[width=1.]figs/temp_gen_05.png

(c) σ2=0.5
\includegraphics

[width=1.]figs/temp_gen_1.png

(d) σ2=1.0
Figure 11: BIVA 𝒩(0,σ2) generations with varying σ2=0.01,0.1,0.5,1.0 for (a), (b), (c) and (d) respectively. We follow the same generating procedure of Figure 10. BIVA has L=20 stochastic latent variables and is trained on the CelebA dataset, preprocessed to 64x64 images following [Larsen16]. BIVA achieves a 1=2.48 bits/dim on the test set. Close to the mode of the latent distribution there is very little variance in generated natural images. When we loosen the samples towards the full distribution, σ2=1, we can see how the generated images are adopting different styles and contexts.
\includegraphics

[width=.7]figs/celeba_reconstructions.png

Figure 12: BIVA L=20 generations (right) from fixed z>i given an input image (left), for different layers throughout the stochastic variable hierarchy (from left to right i=12,14,16,17,18,19). The model is trained on CelebA, preprocessed to 64x64 images following [Larsen16]. z>i are fixed by passing the original image through the encoder, after which zi are sampled from the prior. When generating from a higher zi (columns) it is shown how the model has more freedom to augment the input images. BIVA achieves a 1=2.48 bits/dim on the test set.
\includegraphics

[width=1.]figs/cifar_gen.png

Figure 13: BIVA 𝒩(0,I) generations on a model trained on CIFAR-10. BIVA has L=15 stochastic latent variables and achieves a 3.08 bits/dim on the test set. The images are still not as sharp and coherent as the PicelCNN++ [Salimans17] (3.08 vs. 2.92), however, it does achieve to find coherent structure resembling the categories of the CIFAR-10 dataset.