variational-dropout-sparsifies-dnn
Sparse Variational Dropout, ICML 2017
view repo
We explore a recently proposed Variational Dropout technique that provided an elegant Bayesian interpretation to Gaussian Dropout. We extend Variational Dropout to the case when dropout rates are unbounded, propose a way to reduce the variance of the gradient estimator and report first experimental results with individual dropout rates per weight. Interestingly, it leads to extremely sparse solutions both in fully-connected and convolutional layers. This effect is similar to automatic relevance determination effect in empirical Bayes but has a number of advantages. We reduce the number of parameters up to 280 times on LeNet architectures and up to 68 times on VGG-like networks with a negligible decrease of accuracy.
READ FULL TEXT VIEW PDFSparse Variational Dropout, ICML 2017
Variational Dropout Sparsifies Deep Neural Networks (Molchanov et al. 2017) by Chainer
Deep neural networks (DNNs) are a widely popular family of models which is currently state-of-the-art in many important problems (Szegedy et al., 2016; Silver et al., 2016). However, DNNs often have many more parameters than the number of the training instances. This makes them prone to overfitting (Hinton et al., 2012; Zhang et al., 2016) and necessitates using regularization. A commonly used regularizer is Binary Dropout (Hinton et al., 2012)
that prevents co-adaptation of neurons by randomly dropping them during training. An equally effective alternative is Gaussian Dropout
(Srivastava et al., 2014) that multiplies the outputs of the neurons by Gaussian random noise.Dropout requires specifying the dropout rates which are the probabilities of dropping a neuron. The dropout rates are typically optimized using grid search. To avoid the exponential complexity of optimizing multiple hyperparameters, the dropout rates are usually shared for all layers. Recently it was shown that dropout can be seen as a special case of Bayesian regularization
(Gal & Ghahramani, 2015; Kingma et al., 2015). It is an important theoretical result that justifies dropout and at the same time allows us to tune individual dropout rates for each weight, neuron or layer in a Bayesian way.Instead of injecting noise we can regularize a model by reducing the number of its parameters. This technique is especially attractive in the case of deep neural networks. Modern neural networks contain hundreds of millions of parameters (Szegedy et al., 2015; He et al., 2015) and require a lot of computational and memory resources. It restricts us from using deep neural networks when those resources are limited. Inducing sparsity during training of DNNs leads to regularization, compression, and acceleration of the resulting model (Han et al., 2015a; Scardapane et al., 2016).
Sparse Bayesian Learning (Tipping, 2001) provides a principled framework for training of sparse models without the manual tuning of hyperparameters. Unfortunately, this approach does not extend straightforwardly to DNNs. During past several years, a number of papers (Hoffman et al., 2013; Kingma & Welling, 2013; Rezende et al., 2014) on scalable variational inference have appeared. These techniques make it possible to train Bayesian Deep Neural Networks using stochastic optimization and provide us an opportunity to transfer Bayesian regularization techniques from simple models to DNNs.
In this paper, we study Variational Dropout (Kingma et al., 2015) in the case when each weight of a model has its individual dropout rate. We propose Sparse Variational Dropout that extends Variational Dropout to all possible values of dropout rates and leads to a sparse solution. To achieve this goal, we provide a new approximation of the KL-divergence term in Variational Dropout objective that is tight on the full domain. We also propose a way to greatly reduce the variance of the stochastic gradient estimator and show that it leads to a much faster convergence and a better value of the objective function. We show theoretically that Sparse Variational Dropout applied to linear models can lead to a sparse solution. Like classical Sparse Bayesian models, our method provides the Automatic Relevance Determination effect, but overcomes certain disadvantages of empirical Bayes.
Our experiments show that Sparse Variational Dropout leads to a high level of sparsity in fully-connected and convolutional layers of Deep Neural Networks. Our method achieves a state-of-the-art sparsity level on LeNet architectures and scales on larger networks like VGG with negligible performance drop. Also we show that our method fails to overfit on randomly labeled data unlike Binary Dropout networks.
Deep Neural Nets are prone to overfitting and regularization is used to address this problem. Several successful techniques have been proposed for DNN regularization, among them are Dropout (Srivastava et al., 2014), DropConnect (Wan et al., 2013), Max Norm Constraint (Srivastava et al., 2014)
(Ioffe & Szegedy, 2015), etc.Another way to regularize deep model is to reduce the number of parameters. One possible approach is to use tensor decompositions
(Novikov et al., 2015; Garipov et al., 2016). Another approach is to induce sparsity into weight matrices. Most recent works on sparse neural networks use pruning (Han et al., 2015b), elastic net regularization (Lebedev & Lempitsky, 2015; Liu et al., 2015; Scardapane et al., 2016; Wen et al., 2016) or composite techniques (Han et al., 2015a; Guo et al., 2016; Ullrich et al., 2017).Sparsity can also be obtained by using the Sparse Bayesian Learning framework (Tipping, 2001). Automatic Relevance Determination was introduced in (Neal, 1996; MacKay et al., 1994)
, where small neural networks were trained with ARD regularization on the input layer. This approach was later studied on linear models like the Relevance Vector Machine
(Tipping, 2001) and other kernel methods (Van Gestel et al., 2001). In the Relevance Tagging Machine model (Molchanov et al., 2015) Beta prior distribution is used to obtain the ARD effect in a similar setting.Recent works on Bayesian DNNs (Kingma & Welling, 2013; Rezende et al., 2014; Scardapane et al., 2016) provide different ways to train deep models with a huge number of parameters in a Bayesian way. These techniques can be applied to improve latent variables models (Kingma & Welling, 2013), to prevent overfitting and to obtain model uncertainty (Gal & Ghahramani, 2015). Recently several works on efficient training of Sparse Bayesian Models have appeared (Challis & Barber, 2013; Titsias & Lázaro-Gredilla, 2014). Soft Weights Sharing (Ullrich et al., 2017) uses an approach, similar to Sparse Bayesian Learning framework, to obtain a sparse and quantized Bayesian Deep Neural Network, but utilizes a more flexible family of prior distributions.
Variational Dropout (Kingma et al., 2015) is an elegant interpretation of Gaussian Dropout as a special case of Bayesian regularization. This technique allows us to tune dropout rate and can, in theory, be used to set individual dropout rates for each layer, neuron or even weight. However, that paper uses a limited family for posterior approximation that does not allow for ARD effect. Other Bayesian interpretations of dropout training have also appeared during past several years (Maeda, 2014; Gal & Ghahramani, 2015; Srinivas & Babu, 2016). Generalized Dropout (Srinivas & Babu, 2016) provides a way to tune individual dropout rates for neurons, but uses a biased gradient estimator. Also, the posterior distribution is modelled by a delta function, so the resulting neural network is effectively not Bayesian. Variational Spike-and-Slab Neural Networks (Louizos, 2015) is yet another Bayesian interpretation of Binary Dropout that allows for tuning of individual dropout rates and also leads to a sparse solution. Unfortunately, this procedure does not scale well with model width and depth.
We begin by describing the Bayesian Inference and Stochastic Variational Inference frameworks. Then we describe Variational Dropout, a recently proposed Bayesian regularization technique
(Kingma et al., 2015).Consider a dataset which is constructed from pairs of objects . Our goal is to tune the parameters of a model that predicts given and . In Bayesian Learning we usually have some prior knowledge about weights , which is expressed in terms of a prior distribution . After data arrives, this prior distribution is transformed into a posterior distribution . This process is called Bayesian Inference. Computing posterior distribution using the Bayes rule usually involves computation of intractable multidimensional integrals, so we need to use approximation techniques.
One of such techniques is Variational Inference. In this approach the posterior distribution is approximated by a parametric distribution
. The quality of this approximation is measured in terms of the Kullback-Leibler divergence
. The optimal value of variational parameters can be found by maximization of the variational lower bound:(1) |
(2) |
It consists of two parts, the expected log-likelihood and the KL-divergence , which acts as a regularization term.
In the case of complex models expectations in (1) and (2) are intractable. Therefore the variational lower bound (1) and its gradients can not be computed exactly. However, it is still possible to estimate them using sampling and optimize the variational lower bound using stochastic optimization.
We follow (Kingma & Welling, 2013) and use the Reparameterization Trick to obtain an unbiased differentiable minibatch-based Monte Carlo estimator of the expected log-likelihood (3). The main idea is to represent the parametric noise as a deterministic differentiable function of a non-parametric noise
. This trick allows us to obtain an unbiased estimate of
. Here we denote objects from a mini-batch as .(3) |
(4) |
(5) |
The Local Reparameterization Trick is another technique that reduces the variance of this gradient estimator even further (Kingma et al., 2015). The idea is to sample separate weight matrices for each data-point inside mini-batch. It is computationally hard to do it straight-forwardly, but it can be done efficiently by moving the noise from weights to activations (Wang & Manning, 2013; Kingma et al., 2015).
In this section we consider a single fully-connected layer with input neurons and output neurons before a non-linearity. We denote an output matrix as , input matrix as and a weight matrix as . We index the elements of these matrices as , and respectively. Then .
Dropout is one of the most popular regularization methods for deep neural networks. It injects a multiplicative random noise to the layer input at each iteration of training procedure (Hinton et al., 2012).
(6) |
The original version of dropout, so-called Bernoulli or Binary Dropout, was presented with (Hinton et al., 2012). It means that each element of the input matrix is put to zero with probability , also known as a dropout rate. Later the same authors reported that Gaussian Dropout with continuous noise works as well and is similar to Binary Dropout with dropout rate (Srivastava et al., 2014). It is beneficial to use continuous noise instead of discrete one because multiplying the inputs by a Gaussian noise is equivalent to putting Gaussian noise on the weights. This procedure can be used to obtain a posterior distribution over the model’s weights (Wang & Manning, 2013; Kingma et al., 2015). That is, putting multiplicative Gaussian noise on a weight is equivalent to sampling of from . Now
becomes a random variable parametrized by
.(7) |
Gaussian Dropout training is equivalent to stochastic optimization of the expected log likelihood (2) in the case when we use the reparameterization trick and draw a single sample per minibatch to estimate the expectation. Variational Dropout extends this technique and explicitly uses as an approximate posterior distribution for a model with a special prior on the weights. The parameters and of the distribution are tuned via stochastic variational inference, i.e. are the variational parameters, as denoted in Section 3.2. The prior distribution is chosen to be improper log-scale uniform to make the Variational Dropout with fixed equivalent to Gaussian Dropout (Kingma et al., 2015).
(8) |
In this model, it is the only prior distribution that makes variational inference consistent with Gaussian Dropout (Kingma et al., 2015). When parameter is fixed, the term in the variational lower bound (1) does not depend on (Kingma et al., 2015). Maximization of the variational lower bound (1) then becomes equivalent to maximization of the expected log-likelihood (2) with fixed parameter . It means that Gaussian Dropout training is exactly equivalent to Variational Dropout with fixed . However, Variational Dropout provides a way to train dropout rate by optimizing the variational lower bound (1). Interestingly, dropout rate now becomes a variational parameter and not a hyperparameter. In theory, it allows us to train individual dropout rates for each layer, neuron or even weight (Kingma et al., 2015). However, no experimental results concerning the training of individual dropout rates were reported in the original paper. Also, the approximate posterior family was manually restricted to the case .
In the original paper, authors reported difficulties in training the model with large values of dropout rates (Kingma et al., 2015) and only considered the case of , which corresponds to a binary dropout rate . However, the case of large is very exciting (here we mean separate per weight). High dropout rate corresponds to a binary dropout rate that approaches . It effectively means that the corresponding weight or neuron is always ignored and can be removed from the model. In this work, we consider the case of individual for each weight of the model.
Training Neural Networks with Variational Dropout is difficult when dropout rates are large because of a huge variance of stochastic gradients (Kingma et al., 2015). The cause of large gradient variance arises from multiplicative noise. To see it clearly, we can rewrite the gradient of w.r.t. as follows.
(9) |
In the case of original parametrization the second multiplier in (9) is very noisy if is large.
(10) |
We propose a trick that allows us to drastically reduce the variance of this term in the case when is large. The idea is to replace the multiplicative noise term with an exactly equivalent additive noise term , where is treated as a new independent variable. After this trick we will optimize the variational lower bound w.r.t. . However, we will still use throughout the paper, as it has a nice interpretation as a dropout rate.
(11) |
From (11) we can see that now has no injected noise, but the distribution over remains exactly the same. The objective function and the posterior approximating family are unaltered. The only thing that changed is the parametrization of the approximate posterior. However, the variance of a stochastic gradient is greatly reduced. Using this trick, we avoid the problem of large gradient variance and can train the model within the full range of .
It should be noted that the Local Reparametrization Trick does not depend on parametrization, so it can also be applied here to reduce the variance even further. In our experiments, we use both Additive Noise Reparameterization and the Local Reparameterization Trick. We provide the final expressions for the outputs of fully-connected and convolutional layers for our model in Section 4.4.
As the prior and the approximate posterior are fully factorized, the full KL-divergence term in the lower bound (1) can be decomposed into a sum:
(12) |
The log-scale uniform prior distribution is an improper prior, so the KL divergence can only be calculated up to an additive constant (Kingma et al., 2015).
(13) |
In the Variational Dropout model this term is intractable, as the expectation in (13) cannot be computed analytically (Kingma et al., 2015). However, this term can be sampled and then approximated. Two different approximations were provided in the original paper, however they are accurate only for small values of the dropout rate (). We propose another approximation (14) that is tight for all values of alpha. Here
denotes the sigmoid function. Different approximations and the true value of
are presented in Fig. 1. Original was obtained by averaging over samples of with less than variance of the estimation.(14) |
We used the following intuition to obtain this formula. The negative KL-divergence goes to a constant as goes to infinity, and tends to as goes to minus infinity. We model this behaviour with . We found that the remainder looks very similar to a sigmoid function of
, so we fit its linear transformation
to this curve. We observe that this approximation is extremely accurate (less than maximum absolute deviation on the full range of ; the original approximation (Kingma et al., 2015) has maximum absolute deviation with ).One should notice that as approaches infinity, the KL-divergence approaches a constant. As in this model the KL-divergence is defined up to an additive constant, it is convenient to choose so that the KL-divergence goes to zero when goes to infinity. It allows us to compare values of for neural networks of different sizes.
From the Fig. 1 one can see that term increases with the growth of . It means that this regularization term favors large values of .
The case of corresponds to a Binary Dropout rate (recall ). Intuitively it means that the corresponding weight is almost always dropped from the model. Therefore its value does not influence the model during the training phase and is put to zero during the testing phase.
We can also look at this situation from another angle. Infinitely large corresponds to infinitely large multiplicative noise in . It means that the value of this weight will be completely random and its magnitude will be unbounded. It will corrupt the model prediction and decrease the expected log likelihood. Therefore it is beneficial to put the corresponding weight to zero in such a way that goes to zero as well. It means that is effectively a delta function, centered at zero .
(15) |
In the case of linear regression this fact can be shown analytically. We denote a data matrix as
and . If is fixed, the optimal value of can also be obtained in a closed form.(16) |
Assume that , so that -th feature is not a constant zero. Then from (16) it follows that when , so both and tend to .
Finally we optimize the stochastic gradient variational lower bound (3) with our approximation of KL-divergence (14). We apply Sparse Variational Dropout to both convolutional and fully-connected layers. To reduce the variance of we use a combination of the Local Reparameterization Trick and Additive Noise Reparameterization. In order to improve convergence, optimization is performed w.r.t. .
For a fully connected layer we use the same notation as in Section 3.3. In this case, Sparse Variational Dropout with the Local Reparameterization Trick and Additive Noise Reparameterization can be computed as follows:
(17) |
Now consider a convolutional layer. Take a single input tensor , a single filter and corresponding output matrix . This filter has corresponding variational parameters and . Note that in this case , and are tensors. Because of linearity of convolutional layers, it is possible to apply the Local Reparameterization Trick. Sparse Variational Dropout for convolutional layers then can be expressed in a way, similar to (17). Here we use as an element-wise operation, denotes the convolution operation, denotes reshaping of a matrix/tensor into a vector.
(18) |
These formulae can be used for the implementation of Sparse Variational Dropout layers. Lasagne and PyTorch source code of Sparse Variational Dropout layers is available at
https://goo.gl/2D4tFW. Both forward and backward passes through Sparse VD layers take twice as much time as passes through original layers.The Relevance Vector Machine (RVM, (Tipping, 2001)) is a classical example of a Sparse Bayesian model. The RVM is essentially a Bayesian treatment of
-regularized linear or logistic regression, where each weight has a separate regularization parameter
. These parameters are tuned by empirical Bayes. During training, a large portion of parameters goes to infinity, and corresponding features are excluded from the model since those weights become zero. This effect is known as Automatic Relevance Determination (ARD) and is a popular way to construct sparse Bayesian models.Empirical Bayes is a somewhat counter-intuitive procedure since we optimize prior distribution w.r.t. the observed data. Such trick has a risk of overfitting, and indeed it was reported in (Cawley, 2010). However, in our work the ARD-effect is achieved by straightforward variational inference rather than by empirical Bayes. Similarly to the RVM, in Sparse VD dropout rates are responsible for the ARD-effect. However, in Sparse VD are parameters of the approximate posterior distribution rather than parameters of the prior distribution. In our work, the prior distribution is fixed and does not have any parameters, and we tune to obtain a more accurate approximation of the posterior distribution . Therefore there is no risk of additional overfitting from model selection unlike the case of empirical Bayes.
That said, despite this difference, the analytical solution for maximum a posteriori estimation is very similar for the RVM-regression
(19) |
and Sparse Variational Dropout regression
(20) |
Interestingly, the expression for Binary Dropout-regularized linear regression is exactly the same as (20) if we substitute with (Srivastava et al., 2014).
We perform experiments on classification tasks and use different neural network architectures including architectures with a combination of batch normalization and dropout layers. We explore the relevance determination performance of our algorithm as well as the classification accuracy of the resulting sparse model. Our experiments show that Sparse Variational Dropout leads to extremely sparse models.
In order to make a Sparse Variational Dropout analog to an existing architecture, we only need to remove existing dropout layers and replace all dense and convolutional layers with their Sparse Variational Dropout counterparts as described in Section 4.4 and use as the objective function. The value of the variational lower bound can be used to choose among several local optima.
We provide a general intuition about training of Sparse Bayesian DNNs using Sparse Variational Dropout.
As it is impossible for the weights to converge exactly to zero in a stochastic setting, we explicitly put weights with high corresponding dropout rates to 0 during testing. In our experiments with neural networks, we use the value as a threshold. This value corresponds to a Binary Dropout rate . Unlike most other methods (Han et al., 2015b; Wen et al., 2016), this trick usually does not hurt the performance of our model. It means that Sparse VD does not require finetuning after thresholding.
Training our model from a random initialization is troublesome, as a lot of weights become pruned away early during training, before they could possibly learn a useful representation of the data. In this case we obtain a higher sparsity level, but also a high accuracy drop. The same problem is reported by (Sønderby et al., 2016) and is a common problem for Bayesian DNNs. One way to resolve this problem is to start from a pre-trained network. This trick provides a fair sparsity level with almost no drop of accuracy. Here by pre-training we mean training of the original architecture without Sparse Variational Dropout until full convergence.
Another way to approach this problem is to use warm-up, as described by (Sønderby et al., 2016). The idea is to rescale the KL-divergence term during training by a scalar term
, individual for each training epoch. During the first epochs we used
, then increased linearly from 0 to 1 and after that used . The final objective function remains the same, but the optimization trajectory becomes different. In some sense it is equivalent to choosing a better initial guess for the parameters.We use the final value of the variational lower bound to choose the initialization strategy. We observe that the initialization does not matter much on simple models like LeNets, but in the case of more complex models like VGG, the difference is significant.
On most architectures we observe that the number of epochs required for convergence from a random initialization is roughly the same as for the original network. However, we only need to make a several epochs (10-30) in order for our method to converge from a pre-trained network.
We train all networks using Adam (Kingma & Ba, 2014). When we start from a random initialization, we train for 200 epochs and linearly decay the learning rate from to zero. When we start from a pre-trained model, we finetune for 10-30 epochs with learning rate .
To see how Additive Noise Reparameterization reduces the variance, we compare it with the original parameterization. We used a fully-connected architecture with two layers with 1000 neurons each. Both models were trained with identical random initializations and with the same learning rate, equal to . We did not rescale the KL term during training. It is interesting that the original version of Variational Dropout with our approximation of KL-divergence and with no restriction on alphas also provides a sparse solution. However, our method has much better convergence rate and provides higher sparsity and a better value of the variational lower bound.
We compare our method with other methods of training sparse neural networks on the MNIST dataset using a fully-connected architecture LeNet-300-100 and a convolutional architecture LeNet-5-Caffe
^{1}^{1}1A modified version of LeNet5 from (LeCun et al., 1998). Caffe Model specification: https://goo.gl/4yI3dL. These networks were trained from a random initialization and without data augmentation. We consider pruning (Han et al., 2015b, a), Dynamic Network Surgery (Guo et al., 2016) and Soft Weight Sharing (Ullrich et al., 2017). In these architectures, our method achieves a state-of-the-art level of sparsity, while its accuracy is comparable to other methods. It should be noted that we only consider the level of sparsity and not the final compression ratio.Network | Method | Error % | Sparsity per Layer % | |
---|---|---|---|---|
Original | 1.64 | 1 | ||
Pruning | 1.59 | 12 | ||
LeNet-300-100 | DNS | 1.99 | 56 | |
SWS | 1.94 | 23 | ||
(ours) | Sparse VD | 1.92 | 68 | |
Original | 0.80 | 1 | ||
Pruning | 0.77 | 12 | ||
LeNet-5-Caffe | DNS | 0.91 | 111 | |
SWS | 0.97 | 200 | ||
(ours) | Sparse VD | 0.75 | 280 |
To demonstrate that our method scales to large modern architectures, we apply it to a VGG-like network (Zagoruyko, 2015) adapted for the CIFAR-10 (Krizhevsky & Hinton, 2009) dataset. The network consists of 13 convolutional and two fully-connected layers, each layer followed by pre-activation batch normalization and Binary Dropout. We experiment with different sizes of this architecture by scaling the number of units in each network by . We use CIFAR-10 and CIFAR-100 for evaluation. The reported error of this architecture on the CIFAR-10 dataset with is . As no pre-trained weights are available, we train our own network and achieve error. Sparse VD also achieves error for , but retains less weights.
We observe underfitting while training our model from a random initialization, so we pre-train the network with Binary Dropout and regularization. It should be noted that most modern DNN compression techniques also can be applied only to pre-trained networks and work best with networks, trained with regularization (Han et al., 2015b).
Our method achieves over 65x sparsification on the CIFAR-10 dataset with no accuracy drop and up to 41x sparsification on CIFAR-100 with a moderate accuracy drop.
Recently is was shown that the CNNs are capable of memorizing the data even with random labeling (Zhang et al., 2016). The standard dropout as well as other regularization techniques did not prevent this behaviour. Following that work, we also experiment with the random labeling of data. We use a fully-connected network on the MNIST dataset and VGG-like networks on CIFAR-10. We put Binary Dropout (BD) with dropout rate on all fully-connected layers of these networks. We observe that these architectures can fit a random labeling even with Binary Dropout. However, our model decides to drop every single weight and provide a constant prediction. It is still possible to make our model learn random labeling by initializing it with a network, pre-trained on this random labeling, and then finetuning it. However, the variational lower bound in this case is lower than in the case of sparsity. These observations may mean that Sparse VD implicitly penalizes memorization and favors generalization. However, this still requires a more thorough investigation.
The “Occam’s razor” principle states that unnecessarily complex should not be preferred to simpler ones (MacKay, 1992). Automatic Relevance Determination is effectively a Bayesian implementation of this principle that occurs in different cases. Previously, it was mostly studied in the case of factorized Gaussian prior in linear models, Gaussian Processes, etc. In the Relevance Tagging Machine model (Molchanov et al., 2015)
the same effect was achieved using Beta distributions as a prior. Finally, in this work, the ARD-effect is reproduced in an entirely different setting. We consider a fixed prior and train the model using variational inference. In this case, the ARD effect is caused by the particular combination of the approximate posterior distribution family and prior distribution, and not by model selection. This way we can abandon the empirical Bayes approach that is known to overfit
(Cawley, 2010).We observed that if we allow Variational Dropout to drop irrelevant weights automatically, it ends up cutting most of the model weights. This result correlates with results of other works on training of sparse neural networks (Han et al., 2015a; Wen et al., 2016; Ullrich et al., 2017; Soravit Changpinyo, 2017). All these works can be viewed as a kind of regularization of neural networks, as they restrict the model complexity. Further investigation of such redundancy may lead to an understanding of generalization properties of DNNs and explain the phenomenon, observed by (Zhang et al., 2016). According to that paper, although modern DNNs generalize well in practice, they can also easily learn a random labeling of data. Interestingly, it is not the case for our model, as a network with zero weights has a higher value of objective than a trained network.
In this paper we study only the level of sparsity and do not report the actual network compression. However, our approach can be combined with other modern techniques of network compression, e.g. quantization and Huffman coding (Han et al., 2015a; Ullrich et al., 2017), as they use sparsification as an intermediate step. As our method provides a higher level of sparsity, we believe that it can improve these techniques even further. Another possible direction for future research is to find a way to obtain structured sparsity using our framework. As reported by (Wen et al., 2016), structured sparsity is crucial to acceleration of DNNs.
We would like to thank Michael Figurnov, Ekaterina Lobacheva and Max Welling for valuable feedback. Dmitry Molchanov was supported by the Ministry of Education and Science of the Russian Federation (grant 14.756.31.0001), Arsenii Ashukha was supported by HSE International lab of Deep Learning and Bayesian Methods which is funded by the Russian Academic Excellence Project ’5-100’, Dmitry Vetrov was supported by the Russian Science Foundation grant 17-11-01027. We would also like to thank the Department of Algorithms and Theory of Programming, Faculty of Innovation and High Technology in Moscow Institute of Physics and Technology for the provided computational resources.
Journal of Machine Learning Research
, 11(Jul):2079–2107, 2010.Sparse convolutional neural networks.
InProceedings of the IEEE Conference on Computer Vision and Pattern Recognition
, pp. 806–814, 2015.Bayesian interpolation.
Neural computation, 4(3):415–447, 1992.How to train deep variational autoencoders and probabilistic ladder networks.
In Proceedings of the 33rd International Conference on Machine Learning (ICML 2016), 2016.Automatic relevance determination for least squares support vector machine regression.
In Neural Networks, 2001. Proceedings. IJCNN’01. International Joint Conference on, volume 4, pp. 2416–2421. IEEE, 2001.92.45 on cifar-10 in torch, 2015.
URL http://torch.ch/blog/2015/07/30/cifar.html.