Dirichlet Pruning for Convolutional Neural Networks

Kamil Adamczewski · Mijung Park

Keywords: [ Algorithms ] [ Probabilistic Methods ] [ Image Segmentation ] [ Algorithms -> Semi-Supervised Learning; Applications -> Computer Vision; Applications ] [ Image Segmentation; Theory ] [ Other Probabilistic Methods ]

[ Abstract ]
Wed 14 Apr 6 a.m. PDT — 8 a.m. PDT


We introduce Dirichlet pruning, a novel post-processing technique to transform a large neural network model into a compressed one. Dirichlet pruning is a form of structured pruning which assigns the Dirichlet distribution over each layer's channels in convolutional layers (or neurons in fully-connected layers), and learns the parameters of the distribution over these units using variational inference. The learnt parameters allow us to informatively and intuitively remove unimportant units, resulting in a compact architecture containing only crucial features for a task at hand. This method yields low GPU footprint, as the number of parameters is linear in the number of channels (or neurons) and training requires as little as one epoch to converge. We perform extensive experiments, in particular on larger architectures such as VGG and WideResNet (94\% and 72\% compression rate, respectively) where our method achieves the state-of-the-art compression performance and provides interpretable features as a by-product.

Chat is not available.