本文介绍了一种剪枝方法(ThiNet)
作者的主要思想:将过滤器修剪正式建立为一个优化问题,并需要使用从其下一层计算的统计信息来修剪过滤器,而不是当前层,这将ThiNet与现有方法区别开来。
如图所示,步骤为:
- 首先关注虚线框部分,确定几个弱通道及其相应的过滤器(在第一行中以黄色突出显示)。
- 这些通道(和它们相关的过滤器)对整体性能的贡献很小,因此可以丢弃这些通道,导致模型被修剪。
- 最后对网络进行微调以恢复其精度。
和之前介绍过的另一篇介绍滤波器修剪的论文——剪枝论文二(Filters Pruning)
相比,这两篇论文采用的评估滤波器重要性的方法不一样:
- Filters Pruning通过计算每个滤波器的绝对权重和来测量其重要性,移除绝对权重和较小的滤波器。
- ThiNet使用 ( i + 1 ) (i + 1) (i+1)层来指导 ( i ) (i) (i)层的修剪,如果可以使用 ( i + 1 ) (i + 1) (i+1)层的输入中的一个通道子集来近似 ( i + 1 ) (i + 1) (i+1)层的输出,那么其他的通道就可以被安全地移除。而 ( i + 1 ) (i + 1) (i+1)层的一个通道的输入是由 ( i ) (i) (i)层的一个滤波器产生的,因此可以安全地修剪 ( i ) (i) (i)层中相应的滤波器