Hybrid Models with Deep and Invertible Features
Eric Nalisnick, Akihiro Matsukawa, Yee Whye Teh, Dilan Gorur, Balaji Lakshminarayanan
Introduction
In the majority of applications, deep neural networks model conditional distributions of the form , where denotes a label and features or covariates. However, modeling just the conditional distribution is insufficient in many cases. For instance, if we believe that the model may be subjected to inputs unlike those of the training data, a model for can possibly detect an outlier before it is passed to the conditional model for prediction. Thus modeling the joint distribution provides a richer and more useful representation of the data. Models defined by combining a predictive model with a generative one are known as hybrid models (Jaakkola & Haussler, 1999; Raina et al., 2004; Lasserre et al., 2006; Kingma et al., 2014). Hybrid models have been shown to be useful for novelty detection (Bishop, 1994), semi-supervised learning (Druck et al., 2007), and information regularization (Szummer & Jaakkola, 2003).
Crafting a hybrid model usually requires training two models, one for and one for , that share a subset (Raina et al., 2004) or possibly all (McCallum et al., 2006) of their parameters. Unfortunately, training a high-fidelity model alone is difficult, especially in high dimensions, and good performance requires using a large neural network (Brock et al., 2019). Yet principled probabilistic inference is hard to implement with neural networks since they do not admit closed-form solutions and running Markov chain Monte Carlo takes prohibitively long. Variational inference then remains as the final alternative, and this now introduces a third model, which usually serves as the posterior approximation and/or inference network (Kingma & Welling, 2014; Kingma et al., 2014). To make matters worse, the model may require a separate approximate inference scheme, leading to additional computation and parameters.
In this paper, we propose a neural hybrid model that overcomes many of the aforementioned computational challenges. Most crucially, our model supports exact inference and evaluation of . Furthermore, in the case of regression, Bayesian inference for is exact and available in closed-form as well. Our model is made possible by leveraging recent advances in deep invertible generative models (Rezende & Mohamed, 2015; Dinh et al., 2017; Kingma & Dhariwal, 2018). These models are defined by composing invertible functions, and therefore the change-of-variables formula can be used to compute exact densities. These invertible models have been shown to be expressive enough to perform well on prediction tasks (Gomez et al., 2017; Jacobsen et al., 2018). We use the invertible function as a natural feature extractor and define a linear model at the level of the latent representation, which is memory-efficient as the bulk of the parameters are shared between and . Furthermore, with just one feed-forward pass we can obtain both and , with the only additional cost being the log-determinant-Jacobian term required by the change of variables. While this term could be expensive to compute for general functions, much recent work has been done on defining expressive invertible neural networks with easy-to-evaluate volume elements (Dinh et al., 2015, 2017; Kingma & Dhariwal, 2018; Grathwohl et al., 2019).
Defining a neural hybrid model with exact inference and evaluation of , which can be computed in one feed-forward pass and without any Monte Carlo approximations.
Evaluating the model’s predictive accuracy and uncertainty on both classification and regression problems.
Using the model’s natural ‘reject’ rule based on the generative component to filter out-of-distribution (OOD) inputs.
Showing that our hybrid model performs well at semi-supervised classification.
Background
We begin by establishing notation and reviewing the necessary background material. We denote matrices with upper-case and bold letters (e.g. ), vectors with lower-case and bold (e.g. ), and scalars with lower-case and no bolding (e.g. ). Let the collection of all observations be denoted with representing a vector containing features and a scalar representing the corresponding label. We define a predictive model’s density function to be and a generative density to be , where are the shared model parameters. Let the joint likelihood be denoted .
Deep invertible transformations are the first key building block in our approach. These are simply high-capacity, bijective transformations with a tractable Jacobian matrix and inverse. The best known models of this class are the real non-volume preserving (RNVP) transform (Dinh et al., 2017) and its recent extension, the Glow transform (Kingma & Dhariwal, 2018). The bijective nature of these transforms is crucial as it allows us to employ the change-of-variables formula for exact density evaluation:
where denotes the transform with parameters , the determinant of the Jacobian of the transform, and a distribution on the latent variables computed from the transform. The modeler is free to choose , and therefore it is often set as a factorized standard Gaussian for computational simplicity. The affine coupling layer (ACL) (Dinh et al., 2017) is the key building block used by RNVP and Glow to define . It consists of transforming half of the representation with translation and scaling operations and copying the other half forward to the output. See Appendix A in the supplementary material for a detailed description of the ACL. Glow (Kingma & Dhariwal, 2018) introduces convolutions between ACLs. The parameters are estimated via maximizing the exact log-likelihood .
While the invertibility requirements imposed on may seem too restrictive to define an expressive model, recent work using invertible transformations for classification (Jacobsen et al., 2018) reports metrics comparable to non-invertible residual networks, even on challenging benchmarks such as ImageNet, and recent work by Kingma & Dhariwal (2018) has shown that invertible generative models can produce sharp samples. Sampling from a flow is done by first sampling from the latent distribution and then passing that sample through the inverse transform: .
2 Generalized Linear Models
Generalized linear models (GLMs) (Nelder & Baker, 1972) are the second key building block that we employ. They model the expected response as follows:
where is the response noise. In the case of logistic regression, the posterior is no longer conjugate but can be closely approximated (Jaakkola & Jordan, 1997).
Combining Deep Invertible Transforms and Generalized Linear Models
We propose a neural hybrid model consisting of a deep invertible transform coupled with a GLM. Together the two define a deep predictive model with both the ability to compute and exactly, in a single feed-forward pass. The model defines the following joint distribution over a label-feature pair :
where is the output of the invertible transformation, is the latent distribution (also referred to as the prior or base distribution), and is a GLM with the latent variables serving as its input features. For simplicity, we assume a factorized latent distribution , following previous work (Dinh et al., 2017; Kingma & Dhariwal, 2018). Note that are the parameters of the generative model and that are the parameters of the joint model. Sharing between both components allows the conditional distribution to influence the generative distribution and vice versa. We term the proposed neural hybrid model the deep invertible generalized linear model (DIGLM). Given labeled training data sampled from the true distribution of interest , the DIGLM can be trained by maximizing the exact joint log-likelihood, i.e.
Figure 1 shows a diagram of the DIGLM. We see that the computation pipeline is essentially that of a traditional neural network but one defined by stacking ACLs. The input first passes through , and the latent representation and the stored Jacobian terms are enough to compute . In particular, evaluating has an run-time cost for factorized distributions, and has a run-time for RNVP architectures, where is the number of affine coupling layers and is the input dimensionality. Evaluating the predictive model adds another cost in computation, but this cost will be dominated by the prerequisite evaluation of .
In practice we found the DIGLM’s performance improved by introducing a scaling factor on the contribution of . The factor helps control for the effect of the drastically different dimensionalities of and . We denote this modified objective as:
1 Semi-supervised learning
As mentioned in the introduction, having a representation of the joint density enables the model to be trained on data sets that do not have a label for every feature vector—i.e. semi-supervised data sets. When a label is not present, the principled approach is to integrate out the variable:
Thus we should use the unpaired observations to train just the generative component.
2 Selective Classification
Equation 6 above also suggests a strategy for evaluating the model in real-world situations. One can imagine the DIGLM being deployed as part of a user-facing system and that we wish to have the model ‘reject’ inputs that are unlike the training data. In other words, the inputs are anomalous with respect to the training distribution, and we cannot expect the component to make accurate predictions when is not drawn from the training distribution. In this setting we have access only to the user-provided features , and thus should evaluate by way of Equation 6 again, computing . This observation then leads to the natural rejection rule:
where is some threshold, which we propose setting as where the minimum is taken over the training set and is a free parameter providing slack in the margin. When rejecting a sample, we output the unconditional , e.g. uniform probabilities for classification problems, hence the prediction for is given by
where denotes an indicator function. Similar generative-model-based rejection rules have been proposed previously (Bishop, 1994). This idea is also known as selective classification or classification with a reject option (Hellman, 1970; Cordella et al., 1995; Fumera & Roli, 2002; Herbei & Wegkamp, 2006; Geifman & El-Yaniv, 2017).
Bayesian Treatment
We next describe a Bayesian treatment of the DIGLM, deriving some closed-form quantities of interest and discussing connections to Gaussian processes. The Bayesian DIGLM (B-DIGLM) is defined as follows:
The material difference from the earlier formulation is that a prior is now placed on the regression parameters. The B-DIGLM defines the joint distribution of three variables——and to perform proper Bayesian inference, we should marginalize over when training, resulting in the modified objective:
where is the marginal likelihood of the regression model.
While is not always available in closed-form, it is in some cases. For instance, if we assume that the likelihood model is Gaussian as in linear regression, and that is given a zero-mean Gaussian prior, i.e.
then the marginal likelihood can be written as:
From Equation 4 we see that B-DIGLMs are related to Gaussian processes (GPs) (Rasmussen & Williams, 2006). GPs are defined through their kernel function , which in turn characterizes the class of functions represented. The marginal likelihood under a GP is defined as
with denoting the kernel parameters. Comparing this equation to the B-DIGLM’s marginal likelihood in Equation 4, we see that they become equal by setting , and thus we have the implied kernel . Perhaps there are even deeper connections to be made via Fisher kernels (Jaakkola & Haussler, 1999) or probability product kernels (Jebara et al., 2004)—kernel functions derived from generative models—but we leave this investigation to future work.
If the marginal likelihood is not available in closed form, then we must resort to approximate inference. In this case, understandably, our model loses the ability to compute exact marginal likelihoods. We can use one of the many lower bounds developed for variational inference to bypass the intractability. Using the usual variational Bayes evidence lower bound (ELBO) (Jordan et al., 1999), we have
where is a variational approximation to the true posterior. We leave thorough investigation of approximate inference to future work, and in the experiments we use either conjugate Bayesian inference or point estimates for .
One may ask: why stop the Bayesian treatment at the predictive component? Why not include a prior on the flow’s parameters as well? This could be done, but Riquelme et al. (2018) showed that Bayesian linear regression with deep features (i.e. computed by a deterministic neural network) is highly effective for contextual bandit problems, which suggests that capturing the uncertainty in prediction parameters is more important than the uncertainty in the representation parameters .
Related Work
We are unaware of any work that uses normalizing flows as the generative component of a hybrid model. The most related work is the class conditional variant of Glow (Kingma & Dhariwal, 2018, Appendix D). For this model, Kingma & Dhariwal (2018) use class-conditional latent distributions and introduce a (down-weighted) classification loss to the penultimate layer of the flow. However, they do not evaluate the model for its predictive capabilities and instead (qualitatively) evaluate its class-conditional generative abilities.
While several works have studied the trade-offs between generative and predictive models (Efron, 1975; Ng & Jordan, 2002), Jaakkola & Haussler (1999) were perhaps the first to meaningfully combine the two, using a generative model to define a kernel function that could then be employed by classifiers such as SVMs. Raina et al. (2004) took the idea a step further, training a subset of a naive Bayes model’s parameters with an additional predictive objective. McCallum et al. (2006) extended this framework to train all parameters with both generative and predictive objectives. Lasserre et al. (2006) showed that a simple convex combination of the generative and predictive objectives does not necessarily represent a unified model and proposed an alternative prior that better couples the parameters. Druck et al. (2007) empirically compared Lasserre et al. (2006)’s and McCallum et al. (2006)’s hybrid objectives specifically for semi-supervised learning. Recent advances in deep generative models and stochastic variational inference have allowed the aforementioned frameworks to include neural networks as the predictive and/or generative components. Deep neural hybrid models haven been defined by (at least) Kingma et al. (2014), Maaløe et al. (2016), Kuleshov & Ermon (2017), Tulyakov et al. (2017), and Gordon & Hernández-Lobato (2017). However, these models, unlike ours, require approximate inference to obtain the component.
As mentioned in the introduction, invertible residual networks have been shown to perform as well as non-invertible architectures on popular image benchmarks (Gomez et al., 2017; Jacobsen et al., 2018). While the change-of-variables formula could be calculated for these models, it is computationally difficult to do so, which prevents their application to generative modeling. The concurrent work of Behrmann et al. (2019) shows how to preserve invertibility in general residual architectures and describes a stochastic approximation of the volume element to allow for high-dimensional generative modeling. Hence their work could be used to define a hybrid model similar to ours, which they mention as area for future work.
Experiments
We now report experimental findings for a range of regression and classification tasks. Unless otherwise stated, we used the Glow architecture (Kingma & Dhariwal, 2018) to define the DIGLM’s invertible transform and factorized standard Gaussian distributions as the latent prior .
We first report a one-dimensional regression task to provide an intuitive demonstration of the DIGLM. We draw -observations from a Gaussian mixture with parameters , , and equal component weights. We simulate responses with the function where denotes observation noise as a function of the mixture component . Specifically we chose . We train a B-DIGLM on 250 observations sampled in this way, use standard Normal priors for and , and three planar flows (Rezende & Mohamed, 2015) to define . We compare this model to a Gaussian process (GP) and a kernel density estimate (KDE), which both use squared exponential kernels.
Figure 2(a) shows the predictive distribution learned by the GP, and Figure 2(b) shows the DIGLM’s predictive distribution. We see that the models produce similar results, with the only conspicuous difference being the GP has a stronger tendency to revert to its mean at the plot’s edges. Figure 2(c) shows the density learned by the DIGLM’s flow component (black line), and we plot it against the KDE (gray shading) for comparison. The single B-DIGLM is able to achieve comparable results to the separate GP and KDE models.
Thinking back to the rejection rule defined in Equation 7, this result, albeit on a toy example, suggests that density thresholding would work well in this case. All data observations fall within , and we see from Figure 2(c) that the DIGLM’s generative model smoothly decays to the left and right of this range, meaning that there does not exist an that lies outside the training support and has .
2 Regression on Flight Delay Data Set
Next we evaluate the model on a large-scale regression task using the flight delay data set (Hensman et al., 2013). The goal is to predict how long flights are delayed based on eight attributes. Following Deisenroth & Ng (2015), we train using the first million data points and use the following as test data. We picked this split not only to illustrate the scalability of our method, but also due to the fact that the test distribution is known to be slightly different from training, which poses challenges of non-stationarity. We evaluate the performance by measuring the root mean squared error (RMSE) and the negative log-likelihood (NLL).
One could model heteroscedasticity in GLMs using random effects (see Appendix C for a discussion), however as a simpler alternative, we follow the solution proposed by Lakshminarayanan et al. (2017) for heteroscedastic regression and set to be a two-headed model that predicts both the mean and variance. We use a RNVP transform as the invertible function where the RNVP blocks use 1-layer network with 100 hidden units, and train using Adam optimizer for 10 epochs with learning rate and batch size . To the best of our knowledge, the state-of-the-art (SOTA) performance on this data set is a test RMSE of and a test NLL of (Lakshminarayanan et al., 2016). Our hybrid model achieves a slightly worse test RMSE of 40.46 but achieves a markedly better test NLL of 5.07. We believe that this superior NLL stems from the hybrid model’s ability to detect the non-stationarity of the data. Figure 3 shows a histogram of the evaluations for the training data (blue bars) and test data (red bars). The leftward shift in the red bars confirms that the test data points indeed have lower density under the flow than the training points.
3 MNIST Classification
Moving on to classification, we train a DIGLM on MNIST using 16 Glow blocks ( convolution followed by a stack of ACLs) to define the invertible function. Inside of each ACL, we use a 3-layer Highway network (Srivastava et al., 2015) with hidden units to define the translation and scaling operations. We use batch normalization in the networks for simplicity in distributed coordination rather than actnorm as was used by Kingma & Dhariwal (2018). We use dropout (Srivastava et al., 2014) before passing to the GLM, and tune dropout rate on the validation set. Optimization was done via Adam (Kingma & Ba, 2014) with a initial learning rate for k steps, then decayed by half at iterations k and k.
We compare the DIGLM to its discriminative component, which is obtained by setting the generative weight to zero (i.e. ). We report test classification error, NLL, and entropy of the predictive distribution. Following Lakshminarayanan et al. (2017), we evaluate on both the MNIST test set and the NotMNIST test set, using the latter as an out-of-distribution (OOD) set. The OOD test is a proxy for testing if the model would be robust to anomalous inputs when deployed in a user-facing system. The results are shown in Table 1. Looking at the MNIST results, the discriminative model achieves slightly lower test error, but the hybrid model achieves better NLL and entropy. As expected, controls the generative-discriminative trade-off with lower values favoring discriminative performance and higher values favoring generative performance.
Next, we compare the generative density of the hybrid modelWe report results for ; higher values are qualitatively similar. to that of the pure discriminative model (), quantifying the results in bits-per-dimension (BPD). Since the discriminative variant was not optimized to learn , we expect it to have a high BPD for both in- and out-of distribution sets. This experiment is then a sanity check that a discriminative objective alone is insufficient for OOD detection and a hybrid objective is necessary. First examining the discriminative models’ BPD in Table 1, we see that it assigns similar values to MNIST and NotMNIST: vs respectively. While at first glance this difference suggests OOD detection is possible, a closer inspection of the per instance histogram—which we provide in Subfigure 4(a)—shows that the distribution of train and test set densities are heavily overlapped. Subfigure 4(b) shows the same histograms for the DIGLM trained with a hybrid objective. We now see conspicuous separation between the NotMNIST (red) and MNIST (blue) sets, which suggests the threshold rejection rule would work well in this case.
Using the selective classification setup described earlier in equation 8, we use head when where the threshold and estimated using the label counts. The results are shown in Table 1. As expected, the hybrid model exhibits higher uncertainty and achieves better NLL and entropy on NotMNIST. To demonstrate that the hybrid model learns meaningful representations, we compute convex combinations of the latent variables . Figure 4(c) shows these interpolations in the MNIST latent space.
4 SVHN Classification
We move on to natural images, performing a similar evaluation on SVHN. For these experiments we use a larger network of Glow blocks and employ multi-scale factoring (Dinh et al., 2017) every blocks. We use a larger Highway network containing 300 hidden units. In order to preserve the visual structure of the image, we apply only a 3 pixel random translation as data augmentation during training. The rest of the training details are the same as those used for MNIST. We use CIFAR-10 for the OOD set.
Table 2 summarizes the classification results, reporting the same metrics as for MNIST. The trends are qualitatively similar to what we observe for MNIST: the model has the best classification performance, but the hybrid model is competitive. Figure 5(a) reports the evaluations for SVHN vs CIFAR-10. We see from the clear separation between the SVHN (blue) and CIFAR-10 (red) histograms that the hybrid model can detect the OOD CIFAR-10 samples. Figure 5(b) visualizes interpolations in latent space, again showing that the model learns coherent representations. Figure 5(c) shows confidence versus accuracy plots (Lakshminarayanan et al., 2017), using the selective classification rule described in Section 3.2, when tested on in-distribution and OOD, which shows that the hybrid model is able to successfully reject OOD inputs.
5 Semi-Supervised Learning
As discussed in Section 3.1, one advantage of the hybrid model is the ability to leverage unlabeled data. We first performed a sanity check on simulated data, using interleaved half moons. Figure 6 shows the decision boundaries when the model is trained without unlabeled data (left) and with unlabeled data (right). The rightmost figure shows a noticeably smoother boundary that better respects the half moon shape.
Next we present results on MNIST when training with only labeled points ( of the data set) and using the rest as unlabeled data. For the unlabeled points, we maximize in the usual way and minimize the entropy for the head, corresponding to entropy minimization (Grandvalet & Bengio, 2005). We also use virtual adversarial training (VAT) (Miyato et al., 2018), which we found to boost performance. We chose weights on the generative model and on the VAT objective by performing grid sweeps on a validation set, see Appendix B for details. Table 3 shows the results. We see that incorporating the unlabeled data results in an improvement from error to error, which is competitive with other SOTA approaches such as ladder networks (Rasmus et al., 2015) () and GANs (Springenberg, 2015) ().
Discussion
We have presented a neural hybrid model created by combining deep invertible features and GLMs. We have shown that this model is competitive with discriminative models in terms of predictive performance but more robust to out-of-distribution inputs and non-stationary problems. The availability of exact allows us to simulate additional data, as well as compute many quantities readily, which could be useful for downstream applications of generative models, including but not limited to semi-supervised learning, active learning, and domain adaptation.
There are several interesting avenues for future work. Firstly, recent work has shown that deep generative models can assign higher likelihood to OOD inputs (Nalisnick et al., 2019; Choi & Jang, 2018), meaning that our rejection rule is not guaranteed to work in all settings. This is a challenge not just for our method but for all deep hybrid models. The DIGLM’s abilities may also be improved by considering flows constructed in other ways than stacking ACLs. Recently proposed continuous-time flows (Grathwohl et al., 2019) and invertible residual networks (Behrmann et al., 2019) may prove to be more powerful that the Glow transform that we use, thereby improving our results. Lastly, we have only considered KL-divergence-based training in this paper. Alternative training criteria such as Wasserstein distance could potentially further improve performance.
We thank Danilo Rezende for helpful feedback.
References
Appendix A Background on Affine Coupling Layers
One ACL performs the following operations (Dinh et al., 2017):
Splitting: split it at dimension into two separate vectors and (using Python list syntax).
Identity and Affine Transformations: Given the split , each undergoes a separate operation:
where and are translation and scaling operations with no restrictions on their functional form. We can compute them with neural networks that take as input , the other half of the original vector, and since has been copied forward by the first operation, no information is lost that would jeopardize invertibility.
Permutation: Lastly, the new representation is ready to be either treated as output or fed into another ACL. If the latter, then the elements should be modified so that is not again copied but rather subject to the affine transformation. Dinh et al. (2017) simply exchange the components (i.e. ) whereas Kingma & Dhariwal (2018) apply a convolution, which can be thought of as a continuous generalization of a permutation.
Several ACLs are composed to create the final form of , which is called a normalizing flow (Rezende & Mohamed, 2015). Crucially, the Jacobian of these operations is efficient to compute, simplifying to the sum of all the scale transformations:
where is an index over ACLs. The Jacobian of a convolution does not have as simple of an expression, but Kingma & Dhariwal (2018) describe ways to reduce computation.
Appendix B Additional Semi-Supervised Results
The hyperparameters are described in Table S1.
B.2 Semi-supervised learning on SVHN
The results are shown in Table S2. Similar to the semi-supervised results on MNIST, we observe that our model can effectively leverage unlabeled data.
Appendix C Extensions
To model heteroscedastic noise, we can also add “random effects” to the model at the latent level. The model is then:
where is a vector of random effects associated with the fixed effects , and are the corresponding parameters in the GLM. Note that Depeweg et al. (2018) also use random effects model to handle heteroscedastic noise, but add them at the input level.