ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression笔记

前言

致力于滤波器的剪枝,论文的方法不改变原始网络的结构。论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的。算法

VGG-16上能够减小3.31FLOPs和16.63倍的压缩,top-5的准确率只降低0.52%。在ResNet-50上能够下降超过一半的参数量和FLOPs,top-5的准确率只下降1%。网络

 

如上图所示,在虚线框中找到那些弱通道(weak channels)和他们对应的滤波器(黄色高亮部分),这些通道和对应的滤波器对总体性能贡献较小,所以能够丢弃,这样就获得一个剪枝后的模型,而后经过微调(fine-tune)恢复模型的准确率。框架

 

ThiNet框架

(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)的滤波器的数目和他输出张量的大小保持不变,所以也保持不变。

收集训练样本

 

通道选择——贪心算法

 

最小化重构偏差

相关文章
相关标签/搜索