致力于滤波器的剪枝,论文的方法不改变原始网络的结构。论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的。算法
VGG-16上能够减小3.31FLOPs和16.63倍的压缩,top-5的准确率只降低0.52%。在ResNet-50上能够下降超过一半的参数量和FLOPs,top-5的准确率只下降1%。网络
如上图所示,在虚线框中找到那些弱通道(weak channels)和他们对应的滤波器(黄色高亮部分),这些通道和对应的滤波器对总体性能贡献较小,所以能够丢弃,这样就获得一个剪枝后的模型,而后经过微调(fine-tune)恢复模型的准确率。框架
(1)滤滤波器选择性能
不一样于已有的方法(使用layer(i)层的统计数据对layer(i)滤波器进行剪枝),论文对layer(i+1)的统计信息来对layer(i)层进行剪枝。思路以下:若是能够使用layer(i+1)的子集通道(subset channels)的输入来逼近layer(i+1)的输出,那么其它的通道就能够从layer(i+1)的输入移除,而layer(i+1)的输入是由layer(i)的滤波器产生的。spa
(2)剪枝blog
在layer(i+1)的弱通道和其对应的layer(i)层的滤波器将被去除,模型将变得更小。剪枝后的网络的结构不变,但拥有较少的滤波器和通道数。重构
(3)微调channel
经过大量数据的训练来恢复网络性能方法
使用来表示layer(i)的卷积过程,其中
表示输入的张量(tensor),
是一组KxK的核大小的滤波器,使用D个channels生成新的张量。im
咱们的目标是移除中不重要的滤波器。能够看出,若是
中的一个滤波器被移除了,在
和
中相应的通道也会被移除。这样的操做下,layer(i+1)的滤波器的数目和他输出张量的大小保持不变,所以
也保持不变。