Accelerate CNN via Recursive Bayesian Pruning
  Channel Pruning, widely used for accelerating Convolutional Neural Networks,
is an NP-hard problem due to the inter-layer dependency of channel redundancy.
Existing methods generally ignored the above dependency for computation
simplicity. To solve the problem, under the Bayesian framework, we here propose
a layer-wise Recursive Bayesian Pruning method (RBP). A new dropout-based
measurement of redundancy, which facilitate the computation of posterior
assuming inter-layer dependency, is introduced. Specifically, we model the
noise across layers as a Markov chain and target its posterior to reflect the
inter-layer dependency. Considering the closed form solution for posterior is
intractable, we derive a sparsity-inducing Dirac-like prior which regularizes
the distribution of the designed noise to automatically approximate the
posterior. Compared with the existing methods, no additional overhead is
required when the inter-layer dependency assumed. The redundant channels can be
simply identified by tiny dropout noise and directly pruned layer by layer.
Experiments on popular CNN architectures have shown that the proposed method
outperforms several state-of-the-arts. Particularly, we achieve up to
$\bf{5.0\times}$ and $\bf{2.2\times}$ FLOPs reduction with little accuracy loss
on the large scale dataset ILSVRC2012 for VGG16 and ResNet50, respectively.
