NCP-VAE: V ARIATIONAL A UTOENCODERS WITH N OISE C ONTRASTIVE P RIORS
Anonymous authors
Paper under double-blind review
A BSTRACT
Variational autoencoders (VAEs) are one of the powerful likelihood-based generative models with applications in various domains.
However, they struggle to generate high-quality images, especially when samples are obtained from the prior without any tempering.
One explanation for VAEs’ poor generative quality is the prior hole problem: the prior distribution fails to match the aggregate approximate posterior.
Due to this mismatch, there exist areas in the latent space with high density under the prior that do not correspond to any encoded image.
Samples from those areas are decoded to corrupted images.
To tackle this issue, we propose an energy-based prior deﬁned by the product of a base prior distribution and a reweighting factor, designed to bring the base closer to the aggregate posterior.
We train the reweighting factor by noise contrastive estimation, and we generalize it to hierarchical VAEs with many latent variable groups.
Our experiments conﬁrm that the proposed noise contrastive priors improve the generative performance of state-of-the-art VAEs by a large margin on the MNIST, CIFAR-10, CelebA 64, and CelebA HQ 256 datasets.
I NTRODUCTION
q(z) p(z) r(z)
Variational autoencoders (VAEs) (Kingma & Welling, 2014; Rezende et al., 2014) are one of the powerful likelihood-based generative models that have applications in image generation (Brock et al., 2018;
Karras et al., 2019; Razavi et al., 2019), music synthesis (Dhariwal et al., 2020), speech generation (Oord et al., 2016; Ping et al., 2020), image captioning (Aneja et al., 2019; Deshpande et al., 2019; Aneja et al., 2018), semi-supervised learning (Kingma et al., 2014;
Izmailov et al., 2020), and representation learning (Van Den Oord et al., 2017;
Fortuin et al., 2018).
Although there has been tremendous progress in improving the expressivity of the approximate posterior, several studies have observed that VAE priors fail to match the aggregate (approximate) posterior (Rosca et al., 2018; Hoffman & Johnson, 2016).
This phenomenon is sometimes described as holes in the prior , referring to regions in the latent space that are not decoded to data-like samples.
Such regions often have a high density under the prior but have a low density under the aggregate approximate posterior.
The prior hole problem is commonly tackled by increasing the ﬂexibility of the prior via hierarchical priors (Klushyn et al., 2019), autoregressive models (Gulrajani et al., 2016), a mixture of approximate posteriors (Tomczak & Welling, 2018), normalizing ﬂows (Xu et al., 2019; Chen et al., 2016), resampled priors (Bauer & Mnih, 2019), and energy-based models (Pang et al., 2020; Vahdat et al., 2018b;a; 2020).
Among them, energy-based models (EBMs) (Du & Mordatch, 2019; Pang et al., 2020) have shown promising results in learning expressive priors.
However, they require running iterative MCMC steps during training which is computationally expensive, especially when the energy function is represented by a neural network.
Moreover, they scale poorly to hierarchical models where an EBM is deﬁned on each group of latent variables.
Our key insight in this paper is that a trainable prior is brought as close as possible to the aggregate posterior as a result of training a VAE.
The mismatch between the prior and the aggregate posterior can be reduced by simply reweighting the prior to re-adjust its likelihood in the area of mismatch with the aggregate posterior.
To represent this reweighting mechanism, we formulate the prior using an EBM that is deﬁned by the product of a reweighting factor and a base trainable prior as shown in Fig.
We represent the reweighting factor using neural networks and the base prior using Normal distributions.
Instead of expensive MCMC sampling, we use noise contrastive estimation (NCE) (Gutmann & Hyv¨arinen, 2010) for training the EBM prior.
We show that NCE naturally trains the reweighting factor in our prior by learning a binary classiﬁer to distinguish samples from a target distribution (i.e., samples from the approximate posterior) vs. samples from a noise distribution (i.e., the base trainable prior).
However, since NCE’s success depends on how close the noise distribution is to the target distribution, we ﬁrst train the VAE with the base prior to bring it close to the aggregate posterior.
And then, we train the EBM prior using NCE.
In this paper, we make the following contributions: i)
We propose an EBM prior termed noise contrastive prior (NCP) which is trained by contrasting samples from the aggregate posterior to samples from a base prior.
NCPs are learned as a post-training mechanism to replace the original prior with a more ﬂexible prior, which can improve the generative performance of VAEs with any structure.
ii)
We also show how NCPs are trained on hierarchical VAEs with many latent variable groups.
We show that training hierarchical NCPs scales easily to many groups, as they are trained for each latent variable group in parallel.
iii)
Finally, we demonstrate that NCPs improve the generative quality of VAEs by a large margin across datasets.
B ACKGROUND
We ﬁrst review VAEs, their extension to hierarchical VAEs, and the prior hole problem.
Variational Autoencoders: VAEs learn a generative distribution p ( x , z )
= p ( z ) p ( x | z ) where p ( z ) is a prior distribution over the latent variable z and p ( x | z ) is a likelihood function that generates the data x given z .
VAEs are trained by maximizing a variational lower bound on the log-likelihood log p ( x ) :
[Equation]
where q ( z | x ) is an approximate posterior and KL is the Kullback–Leibler divergence.
The ﬁnal training objective is formulated by E p d ( x ) [ L VAE ( x )] where p d ( x ) is the data distribution (Kingma & Welling, 2014).
Hierarchical VAEs (HVAEs): To increase the expressivity of both prior and approximate posterior, earlier work adapted a hierarchical latent variable structure (Vahdat & Kautz, 2020; Kingma et al., 2016;
Sønderby et al., 2016; Gregor et al., 2016).
In HVAEs, the latent variable z is divided into K separate groups , z = { z 1 , . . .
, z K } .
The approximate posterior and the prior distributions are then deﬁned by q ( z | x ) =
(cid:81)
Kk =1 q ( z k | z <k , x ) and p ( z ) =
(cid:81)
Kk =1 p ( z k | z <k ) .
Using these, the training objective becomes:
[Equation]
where q ( z <k | x ) = (cid:81) k − 1 i =1 q
( z i | z <i , x ) is the approximate posterior up to the ( k − 1) th group 1 .
The Prior Hole Problem: Let q ( z ) (cid:44) E
p d ( x ) [ q ( z | x )] denote the aggregate (approximate) posterior.
In
Appendix B.1, we show that maximizing E p d ( x ) [ L VAE ( x )] with respect to the prior parameters corresponds to bringing the prior as close as possible to the aggregate posterior by minimizing KL ( q ( z )
|| p ( z )) w.r.t.
p ( z ) .
Formally, the prior hole problem refers to the phenomenon that p ( z ) fails to match q ( z ) .
N OISE C ONTRASTIVE P RIORS (NCP S )
One of the main causes of the prior hole problem is the limited expressivity of the prior that prevents it from matching the aggregate posterior.
Recently, energy-based models have shown promising results in representing complex distributions.
Motivated by their success, we introduce the noise contrastive prior (NCP) p
NCP ( z ) =
1 Z r ( z ) p ( z ) , where p ( z ) is a base prior distribution, e.g., a Normal, r ( z ) is a reweighting factor, and
Z = (cid:82) r ( z ) p ( z ) d z is the normalization constant.
The function r : R n → R + maps the latent variable z ∈ R n to a positive scalar, and can be implemented using neural nets.
The reweighting factor r ( z ) can be trained using MCMC sampling as discussed in Appendix A.
However,
MCMC requires expensive sampling iterations that scale poorly to hierarchical VAEs.
To address this, we describe a noise contrastive estimation based approach to train p NCP ( z ) without MCMC sampling.
3. L EARNING T HE R EWEIGHTING F ACTOR WITH N OISE C ONTRASTIVE E STIMATION
Recall that training VAEs closes the gap between the prior and the aggregate posterior by minimizing
KL ( q ( z ) || p
( z ))
with respect to prior.
Assuming the base prior p ( z ) to be ﬁxed, KL ( q ( z )
|| p
NCP ( z )) is zero when r ( z ) =
q ( z ) /p
( z ) .
However, since we do not have the density function for q ( z ) , we cannot compute the ratio explicitly.
Instead, in this paper, we propose to estimate r ( z ) using noise contrastive estimation (Gutmann & Hyv ¨ arinen, 2010), also known as the likelihood ratio trick that has been popularized in machine learning by predictive coding (Oord et al., 2018) and generative adversarial networks (GANs) (Goodfellow et al., 2014).
Since, we can generate samples from both p ( z ) and q ( z ) 2 , we train a binary classiﬁer to distinguish samples from q ( z ) and samples from the base prior p ( z ) by minimizing the binary cross-entropy loss:
[Equation]
Here, D : R n → (0 , 1) is a binary classiﬁer that generates the classiﬁcation prediction probabilities.
Eq.
(3) is minimized when D ( z ) =
q ( z ) q ( z )+ p ( z ) .
Denoting the classiﬁer at optimality by D ∗ ( z ) , we estimate the reweighting factor r ( z ) =
q ( z ) p ( z ) ≈ D ∗ ( z ) 1 − D ∗ ( z ) .
The appealing advantage of this estimator is that it is obtained by simply training a binary classiﬁer rather than using expensive MCMC sampling.
3. T WO - STAGE T RAINING FOR N OISE C ONTRASTIVE P RIORS
To properly learn the reweighting factor, NCE training requires the base prior distribution to be close to the target distribution.
Intuitively, if p ( z ) is very close to q ( z ) (i.e., p ( z )
≈ q ( z ) ), the optimal classiﬁer will have a large loss value in Eq.
(3), and we will have r ( z ) ≈ 1 .
If p ( z ) is instead far from q ( z ) , the binary classiﬁer will easily learn to distinguish samples from the two distributions and it will not learn the likelihood ratios correctly.
If p ( z ) is roughly close to q ( z ) , then the binary classiﬁer can learn the ratios.
To ensure that the base prior distribution is close to the target aggregate posterior distribution, we propose a two-stage training algorithm.
In the ﬁrst stage, we train the VAE with only the base prior p ( z ) .
From
Appendix B.1, we know that at the end of training, p ( z ) is as close as possible to q ( z ) .
In the second stage, we freeze the VAE model including the approximate posterior q ( z | x ) , the base prior p ( z ) , and the likelihood p ( x | z ) , and we only train the reweighting factor r ( z ) using Eq.
The second stage can be thought of as replacing the base distribution p ( z ) with a more expressive distribution of the form p NCP ( z ) ∝ r ( z ) p ( z ) .
Hence, NCP matches the prior to the aggregate posterior q ( z ) by using the reweighting factors.
Note that our proposed method is generic as it only assumes that we can draw samples from q ( z ) and p ( z ) , which applies to any VAE.
Our training is illustrated in Fig.
[Figure]
3. T EST T IME S AMPLING
To sample from a VAE with an NCP, we ﬁrst generate samples from the NCP before passing them to the decoder to generate output samples (shown in Fig. 2).
We propose two methods for sampling from NCPs.
Sampling-Importance-Resampling (SIR): We ﬁrst generate M samples from the base prior distribution { z ( m ) }
Mm =1 ∼ p ( z ) .
We then resample one of the M proposed samples using importance weights proportional to w ( m ) =
p NCP ( z ( m ) ) /p
( z ( m ) )
=
r ( z ( m ) ) .
The beneﬁt of this technique: both proposal generation and the evaluation of r on the samples are done in parallel.
Langevin Dynamics (LD): Since our NCP is an EBM, we can use LD for sampling.
Denoting the energy function by E ( z )
= − log r ( z ) − log p
( z ) , we initialize a sample z 0 by drawing from p ( z ) and update the sample iteratively using: z t +1 =
z t − 0 .
5 λ ∇ z E ( z ) + √ λ(cid:15) t where
(cid:15) t ∼ N (0 , 1) and λ is the step size.
LD is run for a ﬁnite number of iterations, and in contrast to SIR, it can be slow given its sequential form.
3. G ENERALIZATION TO H IERARCHICAL VAE S
The state-of-the-art VAE (Vahdat & Kautz, 2020) uses a hierarchical q ( z | x ) and p ( z ) .
Here p ( z ) is chosen to be a Gaussian distribution.
Appendix B.2 shows that training a HVAE encourages the prior to minimize E q ( z <k )
[ KL ( q ( z k | z <k ) || p
( z k | z <k ))] for each conditional, where q ( z <k ) (cid:44)
E p d ( x ) [ q ( z <K | x )] is the aggregate posterior up to the ( k − 1) th group, and q ( z k | z <k ) (cid:44)
E p d ( x ) [ q ( z k | z <k , x )] is the aggregate conditional for the k th group.
Given this observation, we extend NCPs to hierarchical models to match each conditional in the prior with q ( z k | z <k ) .
Formally, we deﬁne hierarchical NCPs by p
NCP ( z ) =
1 Z (cid:81)
Kk =1 r ( z k | z <k ) p ( z k | z <k ) where each factor is an EBM.
p
NCP ( z ) resembles energy machines with an autoregressive structure among groups (Nash & Durkan, 2019).
In the ﬁrst stage, we train the HVAE with prior (cid:81)
Kk =1 p ( z k | z <k ) .
For the second stage, we use K binary classiﬁers, each for a hierarchical group.
Following Appendix C, we train each classiﬁer via:
[Equation]
)] (cid:105) , (4) where the outer expectation samples from groups up to the ( k − 1) th group, and the inner expectations sample from approximate posterior and base prior for the k th group, conditioned on the same z <k .
The discriminator
D k classiﬁes samples z k while conditioning its prediction on z <k using a shared context feature c ( z <k ) .
The NCE training in Eq.
(4) is minimized when D k ( z k , c ( z <k ))
=
q ( z k | z <k ) q ( z k | z <k )
+ p ( z k | z <k ) .
Denoting the classiﬁer at optimality by D ∗ k
( z , c
( z <k )) , we obtain the reweighting factor r
( z k | z <k )
≈
D
[Equation] k , [Equation] ( z <k ))
[Equation] − D
[Equation] [Equation] ( z <k )) in the second stage.
Given our hierarchical NCP, we use ancestral sampling to sample from the prior.
For sampling from each group, we can use SIR or LD as discussed before.
The context feature c ( z <k ) extracts a representation from z <k .
Instead of learning a new representation at stage two, we simply use the representation that is extracted from z <k in the hierarchical prior, trained in the ﬁrst stage.
Note that the binary classiﬁers in the second stage are trained in parallel for all groups.
R ELATED W ORK
In this section, we review prior works related to the proposed method.
Energy-based Models (EBMs): Early work on EBMs for generative learning goes back to 1980s (Ackley et al., 1985; Hinton et al., 1986).
Prior to the modern deep learning era, most attempts for building generative models using EBMs were centered around Boltzmann machines (Hinton, 2002; Hinton et al., 2006) and their “deep” extensions (Salakhutdinov & Hinton, 2009; Larochelle & Bengio, 2008).
Although the energy function in these models is restricted to simple bilinear functions, they have been proven effective for representing the prior in discrete VAEs (Rolfe, 2016; Vahdat et al., 2018a;b; 2020).
Recently, EBMs with neural energy functions have gained popularity for representing complex data distribution (Du & Mordatch, 2019).
Pang et al.
(2020) have shown that neural EBMs can represent expressive prior distributions.
However, in this case, the prior is trained using MCMC sampling, and it has been limited to a single group of latent variables.
To eliminate MCMC sampling, NCE (Gutmann & Hyv¨arinen, 2010) has recently been used for training a normalizing ﬂow on data distributions (Gao et al., 2020).
Moreover, Han et al.
(2019; 2020) have used divergence triangulation to sidesteps MCMC sampling.
In contrast, we use NCE to train an EBM prior where a noise distribution is easily available through a pre-trained VAE.
Adversarial Training: Similar to NCE, generative adversarial networks (GANs) (Goodfellow et al., 2014) also rely on a discriminator to learn the likelihood ratio between noise and real images.
However, GANs use the discriminator to update the generator, whereas in NCE, the noise generator is ﬁxed.
In spirit similar are recent works (Azadi et al., 2018; Turner et al., 2019; Che et al., 2020) that link GANs, deﬁned in the pixels space, to EBMs.
We apply the likelihood ratio trick to the latent space of VAEs.
The main difference: the base prior and approximate posterior are trained with the VAE objective rather than the adversarial loss.
Adversarial loss has been used for training implicit encoders in VAEs (Makhzani et al., 2015; Mescheder et al., 2017; Engel et al., 2018).
But, they have not been linked to energy-based priors as we do explicitly.
Prior Hole Problem: Among prior works on this problem, VampPrior (Tomczak & Welling, 2018) uses a mixture of encoders to represent the prior.
However, this requires storing training data or pseudo-data to generate samples at test time.
Takahashi et al.
(2019) use the likelihood ratio estimator to train a simple prior distribution.
However at test time, the aggregate posterior is used for sampling in the latent space.
Bauer & Mnih (2019) propose a reweighting factor similar to ours, but it is trained via importance sampling.
Recently, Lawson et al.
(2019) introduced energy-inspired models (EIMs) that deﬁne distributions induced by the sampling processes used by (Bauer & Mnih, 2019) as well as our SIR sampling.
Although, EIMs have the advantage of end-to-end training and can be used as either prior or decoder in VAEs, they require multiple samples during training (up to 1K).
This can make application of EIMs to deep hierarchical models such as NVAEs very challenging as these models are often very memory intensive and are trained with a few training samples per GPU.
[Figure]
Two-stage VAEs: VQ-VAE (Van Den Oord et al., 2017; Razavi et al., 2019)
ﬁrst trains an autoencoder and then ﬁts an autoregressive PixelCNN (Van Den Oord et al., 2016) prior to the latent variables which is slow to sample from.
Two-stage VAE (2s-VAE) (Dai & Wipf, 2018) trains a VAE on the data, and then, trains another VAE in the latent space.
Regularized autoencoders (RAE) (Ghosh et al., 2020) train an autoencoder, and subsequently a Gaussian mixture model on latent codes.
In contrast, we train the model with the original
VAE objective in the ﬁrst stage, and we improve the expressivity of the prior using an EBM.
E XPERIMENTS
Our implementation of NCP-VAE builds upon NVAE (Vahdat & Kautz, 2020), the state-of-the-art hierarchical VAE.
We examine NCP-VAE on four datasets including dynamically binarized MNIST (LeCun, 1998), CIFAR-10 (Krizhevsky et al., 2009), CelebA-64 (Liu et al., 2015) and CelebA-HQ-
(Karras et al., 2017).
For CIFAR-10 and CelebA-64, the model has 30 groups, and for CelebA-HQ-256 it has 20 groups.
We sample from NCP-VAE using SIR with 5K proposal samples at the test (image generation) time.
On these datasets, we measure the sample quality using the Fr ´ echet Inception Distance (FID) score (Heusel et al., 2017) with 50,000 samples, as computing the log-likelihood requires estimating the intractable normalization constant.
To report log-likelihood results, we train an NVAE model with a small latent space on
MNIST with 10 groups of 4 × 4 latent variables.
We estimate log normalization constant in NCPs using 1000 importance weighted samples.
We intentionally limit the latent space to ensure that we can estimate the normalization constant correctly (standard deviation of log Z estimation ≤ 0 . 23 ).
Thus, on this dataset, we report negative log-likelihood (NLL).
Implementation details are provided in Appendix E.
5. Q UANTITATIVE R ESULTS
The quantitative results are reported in Tab. 1, Tab. 2, Tab. 3, and Tab. 4.
On all four datasets, our model improves upon state-of-the-art NVAE, and it reduces the gap with GANs by a large margin.
On CelebA 64, we improve NVAE from an FID of 13.48 to 5.25, comparable to GANs. On CIFAR-10, NCP-VAE [Table]
[Table] [Table] [Table] improves the NVAE FID of 51.71 to 24.08.
On MNIST, although our latent space is much smaller, our model outperforms previous VAEs.
NVAE has reported 78.01 nats on this dataset with a larger latent space.
Reconstruction:
In the last row of Tab. 1, Tab. 2, and Tab. 3, we report the FID score for the reconstructed images of the NVAE baseline.
Note how reconstruction FID is much lower than our FID, indicating that our model is far from memorizing the training data.
In Appendix G, we also provide nearest neighbours from training data for generated samples.
In Appendix F, we present our NCP applied to vanilla VAEs.
5. Q UALITATIVE R ESULTS
We visualize samples generated by NCP-VAE in Fig.
3 without any manual intervention.
We adopt the common practice of reducing the temperature of the base prior p ( z ) by scaling down the standard-deviation of the conditional Normal distributions (Kingma & Dhariwal, 2018) 3 .
Brock et al.
; Vahdat & Kautz (2020) also observe that re-adjusting the batch-normalization (BN), given a temperature applied to the prior, improves the generative quality.
Similarly, we achieve diverse, high-quality images by re-adjusting the BN statistics as described by Vahdat & Kautz (2020).
Additional qualitative results are shown in Appendix H.
5. A DDITIONAL S TUDIES
We perform additional experiments to study i) how hierarchical NCPs perform as the number of latent groups increases, ii) the impact of SIR and LD hyperparameters, and iii) what the classiﬁcation loss in NCE training conveys about p ( z ) and q ( z ) . All experiments in this section are performed on CelebA-64 data.
[Table]
[Figure] [Table] [Figure]
[Table]
[Figure] [Table] [Figure] [Table]
[Figure] [Table] [Figure]
[Table]
Number of latent variable groups: Tab. 5 shows the generative performance of hierarchical NCP with different amounts of latent variable groups.
As we increase the number of groups, the FID score of both NVAE and our model improves.
This demonstrates the efﬁcacy of our NCPs, even with expressive hierarchical priors and in the presence of many groups.
SIR and LD parameters: The computationally complexity of SIR is similar to LD if we set the number of proposal samples in SIR equal to the number LD iterations.
Tab. 6 reports the impact of these parameters.
We observe that increasing both the number of proposal samples in SIR and the LD iterations leads to a noticeable improvement in FID score.
For SIR, the proposal generation and the evaluation of r ( z ) are parallelizable.
Hence, as shown in Tab. 6, image generation is faster with SIR than with LD (LD iterations are sequential).
However, GPU memory usage scales with the number of SIR proposals, but not with the number of LD iterations.
Interestingly, SIR, albeit simple, performs better than
LD when using about the same compute.
Classiﬁcation loss in NCE: We can draw a direct connection between the classiﬁcation loss in Eq.
3 and the similarity of p ( z ) and q ( z ) .
Denoting the classiﬁcation loss in Eq. 3 at optimality by L ∗ , Goodfellow et al.
(2014) show that JSD ( p ( z ) || q ( z ))
= log 2 − 0 .
5 × L ∗ where JSD denotes the Jensen–Shannon divergence between two distributions.
Fig. 4(a) plots the classiﬁcation loss (Eq. 4) for each classiﬁer for a 15-group
NCP trained on the CelebA-64 dataset.
Assume that the classiﬁer loss at the end of training is a good approximation of L ∗ .
We observe that 8 out of 15 groups have L ∗ ≥ 0 .
4 , indicating a good overlap between p ( z ) and q ( z ) for those groups.
To further assess the impact of the distribution match on SIR sampling, in
Fig. 4(b), we visualize the effective sample size (ESS) 4 in SIR vs. L ∗ for the same group.
We observe a strong correlation between L ∗ and the effective sample size.
SIR is more reliable on the same 8 groups that have high classiﬁcation loss.
These groups are mostly at the top of the NVAE hierarchy which have been shown to control the global structure of generated samples (see B.6 in Vahdat & Kautz (2020)). 5. A DDITIONAL C OMPARISON TO P RIOR A RT
In our previous experiments, we rely on NVAE as the VAE backbone.
Although this shows that our approach can be applied to large scale models successfully, this may make comparison against the prior art unfair as they are often applied to smaller models. To provide a fair comparison, in this section, we apply NCP to several commonly used small VAE models. Comparison against RAE, 2s-VAE, and WAE: In Tab. 7 we show the generative performance of our approach applied to the VAE architecture in RAE (Ghosh et al., 2020).
Note that this VAE architecture has only one latent variable group.
The same base architecture was used in the implementation of 2s-VAE (Dai & Wipf, 2018) and
WAE (Tolstikhin et al., 2018).
We borrow the training setup from Ghosh et al.
(2020) on the CelebA-64 dataset, and compare to the baselines reported in this work.
We apply our NCP-VAE on top of vanilla VAE with a Gaussian prior as well as a 10-component Gaussian mixture model (GMM) prior that was proposed in RAEs.
Our NCP-VAE improves the performance on the base VAE, improving the
FID score to 41.28 from 48.12.
Additionally, when NCP is applied to the VAE with GMM prior (the RAE model), it improves its performance from 40.95 to the FID score of 39.00.
Comparison against LARS and SNIS:
In Tab. 8, we compare NCP-VAE to LARS (Bauer & Mnih, 2019) and SNIS (Lawson et al., 2019) priors on MNIST.
We implement our NCP-VAE using the VAE and energyfunction architectures that were used by Lawson et al.
We closely follow the training hyperparameters used by Lawson et al.
(2019) as well as their approach for obtaining a lower bound on the log likelihood.
NCP-VAE obtains the negative log-likelihood (NLL) of 82.82, comparable to Lawson et al.
(2019), while outperforming LARS (Bauer & Mnih, 2019).
with the RAE (Ghosh et al., 2020) architecture
[Table] [Table]  C ONCLUSIONS The prior hole problem is one of the main reasons for VAEs’ poor generative quality.
In this paper, we tackled this problem by introducing the noise contrastive prior (NCP) [Table] deﬁned by the product of a reweighting factor and a base prior.
We showed how the reweighting factor is trained by contrasting samples from the aggregate posterior with samples from the base prior.
Our proposal is simple and can be applied to any VAE to increase its prior’s expressivity.
We also showed how NCP training scales to large hierarchical VAEs [Table] as it can be done in parallel simultaneously for all the groups.
Finally, we demonstrated that NCPs improve the generative performance of state-of-the-art NVAEs by a large margin, closing the gap to GANs.
A T RAINING E NERGY - BASED P RIORS USING MCMC
In this section, we show how a VAE with energy-based model in its prior can be trained.
Assuming that the prior is in the form p EBM ( z )
= 1 Z r ( z ) p ( z ) , the variational bound is of the form:
[Equation]
where the expectation term, similar to VAEs, can be trained using the reparameterization trick.
The only problematic term is the log-normalization constant log Z , which captures the gradient with respect to the parameters of the prior p EBM ( z ) .
Denoting these parameters by θ , the gradient of log Z is obtained by:
[Equation]
where the expectation can be estimated using MCMC sampling from the EBM prior.
B M AXIMIZING THE V ARIATIONAL B OUND FROM THE P RIOR ’ S P ERSPECTIVE
In this section, we discuss how maximizing the variational bound in VAEs from the prior’s perspective corresponds to minimizing a KL divergence from the aggregate posterior to the prior.
Note that this relation has been explored by Hoffman & Johnson (2016); Rezende & Viola (2018); Tomczak & Welling (2018)
and we include it here for completeness.
B.
VAE WITH A S INGLE G ROUP OF L ATENT V ARIABLES
Denote the aggregate (approximate) posterior by q ( z ) (cid:44) E p d ( x ) [ q ( z | x )] .
Here, we show that maximizing the E p d ( x ) [ L VAE ( x )] with respect to the prior parameters corresponds to learning the prior by minimizing
KL ( q ( z ) || p
( z )) .
To see this, note that the prior p ( z ) only participates in the KL term in L VAE (Eq. 1).
We hence have:
[Equation]
where H ( . ) denotes the entropy.
Above, we replaced the expected entropy E p d ( x ) [ H ( q ( z | x ))] with H ( q ( z )) as the minimization is with respect to the parameters of the prior p ( z ) .
B. H IERARCHICAL VAE S
Denote hierarchical approximate posterior and prior distributions by: q ( z | x ) =
(cid:81)
Kk =1 q ( z k | z <k , x ) and p ( z ) =
(cid:81)
Kk =1 p ( z k | z <k ) .
The hierarchical VAE objective becomes:
[Equation]
k ))] , (6) where q ( z <k | x ) = (cid:81) k − 1 i =1 q
( z i | z <i , x ) is the approximate posterior up to the ( k − 1) th group. Denote the aggregate posterior up to the ( K − 1) th group by q ( z <k ) (cid:44) E p d ( x ) [ q ( z <K | x )] and the aggregate conditional for the k th group given the previous groups q ( z k | z <k ) (cid:44) E p d ( x ) [ q ( z k | z <k , x )] .
Here, we show that maximizing E p d ( x )
[ L HVAE ( x )] with respect to the prior corresponds to learning the prior by minimizing E q ( z <k )
[ KL ( q ( z k | z <k ) || p
( z k | z <k ))] for each conditional:
[Equation]
C C ONDITIONAL NCE FOR H IERARCHICAL VAE S
In this section, we describe how we derive the NCE training objective for hierarchical VAEs given in
Eq.
Our goal is to learn the likelihood ratio between the aggregate conditional q ( z k | z <k ) and the prior p ( z k | z <k ) .
We can deﬁne the NCE objective to train the discriminator D k
( z k , z <k ) that classiﬁes z k given samples from the previous groups z <k using:
[Equation]
Since z <k is in a high dimensional space, we cannot apply the minimization ∀ z <k .
Instead, we sample from z <
k using the aggregate approximate posterior q ( z <k ) as done for the KL in a hierarchical model (Eq. (7)):
[Equation]
Since q ( z <k ) q ( z k | z <k ) =
q ( z k , z <k ) =
E p d ( x ) [ q ( z <k | x ) q ( z k | z <k , x )] , we have:
[Equation]
Finally, instead of passing all the samples from the previous latent variables groups to D , we can pass the context feature c ( z <k ) that extracts a representation from all the previous groups:
[Equation]
D NVAE B ASED M ODEL AND C ONTEXT F EATURE
Context Feature: The base model NVAE (Vahdat & Kautz, 2020) is hierarchical.
To encode the information from the lower levels of the hierarchy to the higher levels, during training of the binary classiﬁers, we concatenate the context feature c ( z <k ) to the samples from both p ( z ) and q ( z ) .
The context feature for each group is the output of the residual cell of the top-down model and encodes a representation from z <k .
Image Decoder p ( x | z ) : The base NVAE (Vahdat & Kautz, 2020) uses a mixture of discretized logistic distributions for all the datasets but MNIST, for which it uses a Bernoulli distribution.
In our model, we observe that replacing this with a Normal distribution for the RGB image datasets leads to signiﬁcant improvements in the base model performance.
This is also reﬂected in the gains of our approach.
E I MPLEMENTATION D ETAILS
The binary classiﬁer is composed of two types of residual blocks as in Fig.
The residual blocks use batchnormalization (Ioffe & Szegedy, 2015), the Swish activation function (Ramachandran et al., 2017), and the
Squeeze-and-Excitation (SE) block (Hu et al., 2018).
SE performs a squeeze operation ( e.g. , mean) to obtain a single value for each channel.
An excitation operation (non-linear transformation) is applied to these values to get per-channel weights.
The Residual-Block-B differs from Residual-Block-A in that it doubles the number of channels ( C → 2 C ), while down-sampling the other spatial dimensions.
It therefore also includes a factorized reduction with 1 × 1 convolutions along the skip-connection.
The complete architecture of the classiﬁer is:
[Equation]
O
[Equation]
S INGLE G
[Equation]
To demonstrate the efﬁcacy of our approach on any off-the-shelf VAE, we, apply our NCE based approach to the VAE in (Ghosh et al., 2020).
Note we use the vanilla VAE with Normal prior provided by the authors.
The FID for CelebA 64 improves from 48.12 to 41.28.
Note that the FID for reconstruction is reported as 39.12.
Single group VAEs are known to perform poorly on the task of image geeration, which is reﬂected in the high FID value of reconstruction.
G N EAREST N EIGHBORS FROM THE T RAINING D ATASET
To highlight that hierarchical NCP generates unseen samples at test time rather than memorizing the training dataset, Figures 6-7 visualize samples from the model along with a few training images that are most similar [Table] CosineAnnealing [Table]
Loshchilov [Table] Hutter [Table]
1 e
[Table]
[Table]
to them (nearest neighbors).
To get the similarity score for a pair of images, we downsample to 64 × 64 , center crop to 40 × 40 and compute the Euclidean distance.
The KD-tree algorithm is used to fetch the nearest neighbors.
We note that the generated samples are quite distinct from the training images. [Figure] [Figure]
H A DDITIONAL Q UALITATIVE E XAMPLES
In Fig. 11 we demonstrate the efﬁcacy of our approach on the 25-Gaussians dataset, that is generated by a mixture of 25 two-dimensional Gaussian distributions that are arranged on a grid. The encoder and decoder of the VAE have 4 fully connected layers with 256 hidden units, with 20 dimensional latent variables.
The discriminator has 4 fully connected layers with 256 hidden units.
Note that the samples decoded from prior p(z) Fig.
11(b))
without the NCP approach generates many points from the the low density regions in the data distribution.
These are removed by using our NCP approach (Fig. 11(c)).
[Figure]
We use 50k samples from the true distribution to estimate the log-likelihood.
Our NCP approach obtains an average log-likelihood of − 0 .
954 nats compared to the log-likelihood obtained by sampling from the
Gaussian prior, − 2 .
753 nats.
We use 20k Monte Carlo samples to estimate the log partition function for the calculation of log-likelihood.
J A DDITIONAL Q UALITATIVE E XAMPLES
In Fig.
12, we show additional examples of images generated by NVAE (Vahdat & Kautz, 2020) and
our
NCP-VAE.
We use temperature=0.7 for both.
Visually corrupt images are highlighted with a red square.
[Figure]
[Figure]