ddgm
A Deep Directed Generative Model with Energy-Based Probability Estimation
view repo
Training energy-based probabilistic models is confronted with apparently intractable sums, whose Monte Carlo estimation requires sampling from the estimated probability distribution in the inner loop of training. This can be approximately achieved by Markov chain Monte Carlo methods, but may still face a formidable obstacle that is the difficulty of mixing between modes with sharp concentrations of probability. Whereas an MCMC process is usually derived from a given energy function based on mathematical considerations and requires an arbitrarily long time to obtain good and varied samples, we propose to train a deep directed generative model (not a Markov chain) so that its sampling distribution approximately matches the energy function that is being trained. Inspired by generative adversarial networks, the proposed framework involves training of two models that represent dual views of the estimated probability distribution: the energy function (mapping an input configuration to a scalar energy value) and the generator (mapping a noise vector to a generated configuration), both represented by deep neural networks.
READ FULL TEXT VIEW PDFA Deep Directed Generative Model with Energy-Based Probability Estimation
Energy-based models capture dependencies over random variables of interest by defining an energy function, and the probability distribution can be further obtained by normalizing the exponentiated and negated energy function. The energy function associates each configuration of random variables with a scalar energy value, and lower energy values are assigned to more likely or plausible configurations. The energy function is typically used in order to parametrize undirected graphical models, such as Boltzmann machines BM , in the form of a Boltzmann distribution with an appropriate normalization factor. In general, the normalization factor introduces some difficulties during the maximum likelihood training of energy-based models, because it is a sum over all configurations of random variables and the corresponding gradient is an average of the energy gradient for configurations sampled from the model itself. Not only is this sum intractable, but exact Monte Carlo sampling from it is also intractable. In order to estimate the gradients of the normalization factor, Markov chain Monte Carlo (MCMC) methods are typically used to obtain approximate samples from the model distribution. However, it is usual that MCMC methods make small moves as probable that are very unlikely to jump between separate modes As the model distribution becomes sharper with multiple modes separated by very low probability regions during the training, the difficulty of sampling from MCMC methods arises in this context MIXING . In order to sidestep this problem, we propose to train a deep directed generative model that produces a sample by deterministically transforming an independent and identically distributed (i.i.d.) random sample, such as a uniform variate. This avoids the need of a sequential process with an arbitrarily long computation time to generate samples for training energy-based probabilistic models. In the proposed framework, the learned knowledge is now represented through two complementary models and dual views: the energy function and the generator. The energy function is trained in a way estimating the maximum likelihood gradient that the approximate samples from the model (needed to estimate the gradient of the normalization factor) are obtained from the generator model rather than from a Markov chain. The generator is trained in a similar way as generative adversarial networks (GAN) GAN , i.e., the energy function can be considered as a discriminator: low energy corresponds to "real" data (because the energy function is trained to assign low energy on training examples) and high energy to "fake" or generated data (when the generator is putting probability mass in wrong places). The energy function thus provides gradients that encourage the generator to produce lower energy samples. Since the generator of GAN suffers from a missing mode problem, we introduce a regularization term that indirectly maximizes the entropy in the training objective of the generator, which are empirically shown to be essential to obtain more plausible samples.
Energy-based models associate a scalar energy value to each configuration of random variables, which we consider it as input data , with an energy function and a trainable parameter set EBM . The energy function is typically trained to assign lower energy values to more plausible or desirable configurations, i.e., where the training examples are. Moreover, it can be extended into a probabilistic model by using a Boltzmann distribution (also called Gibbs distribution):
(1) |
where is a normalization factor and also called as a partition function. As we typically define the energy function as a sum of multiple terms, we can associate each term with an "expert", and the corresponding probability distribution is expressed as a product of experts (PoE) POE :
(2) |
Each expert is defined by an unnormalized distribution as with a parameter set , and also can be interpreted as a pattern detector of implausible configurations. For example, in the product of Student-t (PoT) model POT
, the energy function is defined by using a set of unnormalized distributions in the form of Student-t distribution, which has heavier tails than a normal distribution:
(3) |
It is also possible to use weak classifiers based on logistic regression as unnormalized distributions. Each weak classifier corresponds to a single feature detector, and the responses of all weak classifier are aggregated to assign an energy value:
(4) |
Interestingly, restricted Boltzmann machines (RBM)
RBM have a free energy over Gaussian visible units with terms associated with binary hidden units corresponding to experts that try to classify the input data as being "real" or "fake" data, and the energy gets low when all experts agree:(5) | ||||
In order to estimate the data distribution , which is the target distribution, by using energy-based probabilistic models, the energy model distribution is trained to approach as much as possible. This is done by minimizing the Kullback-Leibler (KL) divergence between the two distributions , and it corresponds to the maximum likelihood objective:
(6) |
With this training criterion, we define the loss function
with the training dataset , which we assume samples are drawn from the data distribution. Moreover, we see that it is an approximation of Eq. 6 based on using the empirical distribution instead of the actual data distribution. This loss can be minimized by gradient-based optimization methods, and the parameter set is updated with the following gradient:(7) | ||||
The gradient is traditionally decomposed into two different terms that are referred to as the positive and negative phase terms, respectively. We can consider these two terms as two distinct forces shaping the energy function. The positive phase term is to decrease the energy of training examples (positive samples), whereas the negative phase term is to increase the energy of samples
(negative samples) drawn from the energy model distribution. If the energy model distribution matches the data distribution, the two terms are equal that the log-likelihood gradient is at a local maximum. The expectation in the positive phase can be computed exactly by summing over all training examples or by using Monte Carlo estimation for stochastic gradient descent. However, the expectation in the negative phase requires sampling based on the model associated with the energy function, and in general exact unbiased sampling is not tractable. Therefore, MCMC methods are typically used with an iterative sampling procedure. If the data distribution has a complex distribution with many sharp modes, the training eventually reaches a point, where an MCMC sampling from the model becomes problematic taking too much time to mix between modes
Bengio+chapter2007 . It means the ability to get good approximate model samples is an important ingredient in training energy-based probabilistic models. This motivated this work to train a deep directed generative model whose sampling distribution approximates the energy model distribution that it doesn’t require an MCMC but a simple computation such as transforming an i.i.d. random sample (the latent variable) with a neural network.In this section, we revisit the old idea that the update rule in Sec. 2.2 can be viewed as learning a classifier Bengio_AI ; MAX_CLASS
. Let us first assume that we are training a binary classifier to separate positive samples from negative samples, and an additional binary variable
is used as a label to indicate whether a sample is a positive sample or a negative sample . Then, we define the binary classifier as , whereis a sigmoid function, and
is an unnormalized discriminating function, such as the energy function in Eq. 1. This can be trained by minimizing the expected negative conditional log-likelihood over the joint distribution
with the data distribution and energy model distribution and assuming . The corresponding gradient with respect to the binary classifier parameter is written:(8) | ||||
where the last approximation applies with an assumption . It means the two categories (samples from the data distribution and the model distribution) are difficult to discriminate that should be optimally true at the end of training. Interestingly, this approximation leads to the same update rule as in Eq. 7, and this motivated us to view the energy function as defining a binary classifier that separates the training examples from samples generated by a separate generative model.
Models with multiple layers, which are called deep models, are considered to have more ability to learn rich and complex data by extracting high-level abstractions. However, energy-based probabilistic models with multiple stochastic hidden layers, such as deep belief networks (DBN)
DBN and deep Boltzmann machines (DBM) DBM , involve difficult inference and learning, requiring the computation or sampling from the conditional posterior over stochastic hidden units, and exact sampling from these distributions is generally intractable. Another option is to directly define an energy function through a deep neural network, as was proposed by DEM. In that case, the layers of the network do not represent latent variables but rather are deterministic transformations of input data, which help to ascertain whether the input configuration is plausible (low energy) or not. This approach eliminates the need for inference, but still involves the high-cost or high-variance MCMC sampling to estimate the gradient of the partition function.
We propose a new framework to train energy-based probabilistic models, where the information about the estimated probability distribution is represented in two different ways: an energy function and a generator. Ideally, they would perfectly match each other, but in practice as they are trained against each other, one can be viewed as an approximation of the corresponding operation (sampling or computing the energy) associated with the other. We use only deep neural networks to represent both two models to avoid the need of explicit latent variables and inference over them as well as MCMC sampling.
The two models are (a) the deep energy model (DEM), defining an energy function (Eq. 1), and (b) the deep generative model (DGM), a sample generator trained to match the deep energy model. It is important to make sure that two models are approximately aligned during training since they approximately represent two views of what has been learned. We present below the training objective for each of these two models. The first update rule is based on Eq. 7, i.e., approximating the maximum likelihood gradient:
(9) |
where is the sampling distribution of the deep generative model. This is mainly to train the deep energy model using negative samples from the deep generative model instead of using an MCMC on . The second update rule is to train the deep generative model to be aligned to the deep energy model, and this also ensures the deep generative model to generate samples appropriately as the data distribution:
(10) |
We can view these update rules as resulting in making the three different distributions approximately aligned: .
The energy function assigns a scalar energy value to a given input configuration . It represents an energy model distribution that estimates the data distribution . Interestingly, we can view our deep energy model as a conventional deep classification model that consist of a feature extractor and a discriminator. First, the feature extractor works on a deep neural-network only to extract high-level features from the input data . Then, the energy function is expressed in terms of the features for capturing higher-order interactions and also in terms of and to capture mean and variance over the input data. We use the form of a product of experts that is analogous to the free energy of an RBM with Gaussian visible units DEM :
(11) |
The first two terms capture the mean and global variance, and the last term is a set of experts over the feature data space . Moreover, the integrability of unnormalized distribution with respect to is guaranteed, as each expert grows linearly with using bounded and is dominated by the term with . Instead of interpreting these experts as latent variables, we use a single-layer neural network to compute an energy value deterministically, and propose a new approach to train it without any iterative sampling methods. As we train this model by using the update rule in Eq. 7 and 9, we approximate the negative phase with using samples generated from our deep generative model , as depicted in Fig. 1:
(12) | ||||
where is the latent variable associated with the deep generative model. Interestingly, this update rule is exactly the same as explained in Sec. 2.3 that the energy function can be considered as a strongly regularized binary classifier to separate samples from two different sources (positive samples from the training dataset and negative samples from the deep generative model ).
The deep generative model has two purposes: provide an efficient non-iterative way of obtaining samples and help training of the energy function by providing approximate samples for its negative phase component of the gradient. The sample generating procedure is simple as it is just ancestral sampling from a 2-variable directed graphical model with a very simple structure: (a) We first sample the i.i.d. latent variable from a simple fixed prior , e.g. a uniform sample from . (b) Then, it is fed into the model , which is a deep neural network, that deterministically outputs samples. Moreover, the sampling distribution can be defined by , where is a Dirac distribution at , i.e., is completely determined by .
As shown in Eq. 10, we train this model to have a similar distribution as the energy model distribution by minimizing the KL divergence between two distributions:
(13) |
The first term is to maximize the log-likelihood of the samples from the generator under the deep energy model. It encourages the generator to produce sample with low energy. Interestingly, its gradient with respect to does not depend on the partition function of , and it is computed by using Monte Carlo samples from the generator (as in Eq. 12) and back-propagating through the energy function:
(14) | ||||
If we were to only consider the first term of the KL divergence, the generated samples could all converge toward one or more local minima on the energy surface corresponding to the modes of . The second term in Eq. 13
is necessary to prevent it that maximizes the entropy of the deep generative model to have just the right amount of variability across the generated samples. This is analytically intractable, however, we found that a particular form of regularizer with batch normalization
BN can work well to approximately constrain or maximize the entropy. The batch normalization maps each activation into an approximately normal distribution with trainable mean-related shift parameter and variance-related scale parameter , and the entropy of the normal distribution over each activation can be measured analytically . We assume this (internal) entropy could effect the entropy of the generator (external) distribution , and therefore approximate it as:(15) |
where we sum over all activations in the deep generative model, and this is as regularizing all scale parameters to be increased (contrary to weight decay).
Generative adversarial networks (GAN) GAN consist of a discriminator and a generator trained by a two-player minimax game to optimize the generator so that it generates samples similar to the training examples. It motivated our framework based on two separate models, but where the role of the discriminator is played by the energy function. A big difference and a motivation for the proposed approach is that the GAN discriminator may converge to a constant output as the generator distribution gets closer to the data distribution (the correct answer becomes all the time, independently of the input), and potentially forgets a large part of what has been learned earlier along the way (the weights from the input could go to 0, if they were regularized). Instead, our energy function can be seen as a discriminator that separates between the training examples and any generator, rather than just again the current generator. Thus, the equivalent discriminator associated with our energy function does not converge to a trivial classifier as the generator improves. Of course, another advantage of the proposed approach over GAN is that at the end of training we obtain a generic energy function that can be used to compare any pair of input configurations ( ,) against each other and estimate their relative probability. In contrast, there is no guarantee that a GAN discriminator continues to provide a meaningful output after the end of GAN training (to compare different against each other in terms of their value), except in regions where the generator distribution and the data distribution differ. Instead, in with the proposed framework, as the generated distribution approaches the data distribution, the energy function does not become constant: its gradient becomes constant, meaning that it does not change anymore.
We first experimented our proposed model with 2D-synthetic datasets to show that the deep energy model and the deep generative model are properly learned and matched each other. We generated two types of datasets, the two-spiral and four-spin datasets. Each dataset has 10,000 points randomly generated under the chosen distribution. For simplicity, we used the same model structure with fully-connected layers for both models, but in reverse orders (ex. the number of hidden units in DEM : 2-128-128-4, DGM : 4-128-128-2, 4 experts, 4 dimensional hidden data ). We used the AdaGradADAGRAD optimizer to train both models with mini-batch stochastic gradient descent. The batch normalization was used only for the deep generative model as the entropy regularizer (Eq. 15). Fig. 2 shows the generated samples as well as the energy function surface. It can be observed that the deep generative model properly draws samples according to the energy model distribution, and also the energy function fits well the training dataset. These results show how the proposed framework appropriately aligns two separate models as a single model.
The next evaluation is with the MNIST dataset to learn to unconditionally generate hand-written digits. It is also trained with using only fully-connected layers (no convolutions or image transformations) for both models. However, we set the number of experts and the hidden data size differently (ex. 128 experts and 10 dimensional hidden data ). It is shown in Fig. 3 that the deep generative model smoothly generates different samples as the hidden data changes linearly.
We also trained the model on high-dimensional data, especially on color images, with using appropriate convolutional operations and structures proposed by
DCGAN . We used two types of datasets called CelebA FACE and LSUN (bedroom) LSUN . The CelebA is a large-scale face dataset with more than 200K images, and the LSUN is a dataset related to scene categories that especially the bedroom category has nearly 3M images. We cropped and resized both dataset images into 64x64. We used the same model structure with these two datasets that has 1024 experts to define the energy function, and 100 dimensional hidden data to generate samples. Both the deep energy model and the deep generative model have 4 layers with convolutional operations (ex. the number of feature maps in DEM: 128-256-512-1024 , DGM: 1024-512-256-128), and all filters are defined by 5x5. The generated samples are visualized in Fig. 4, and this shows how the deep generative model is properly trained. Furthermore, we can also assume that the deep energy model is also trained well as it is the target distribution to estimate.The energy-based probabilistic models have been broadly used to define generative processes with estimating the probability distribution. In this paper, we showed that the intractability can be avoided by using two separate deep models only using neural networks. In future work, we are interested in explicitly dealing out with the entropy of generators, and to extend the deep energy model to be used in semi-supervised learning. Moreover, it would be useful to approximately visualize the energy function on high-dimensional input data.
Proceedings of the 30th International Conference on Machine Learning, ICML 2013, Atlanta, GA, USA, 16-21 June 2013
, pages 552–560, 2013.Proceedings of International Conference on Computer Vision (ICCV)
, December 2015.Proceedings of the International Conference on Artificial Intelligence and Statistics
, volume 5, pages 448–455, 2009.