之前的两篇分别讲了剪枝的权重剪枝和神经元剪枝,这篇是专门针对CNN卷积核进行剪枝的,还是挺有针对性和有效的,建议大家去看下原文。
Introduction
论文首先指出了现有剪枝网络的两个主要问题:一个是有些剪枝方法在剪枝后并不能减少计算时间,因为大多数的剪枝操作是在计算量不大的FC层完成的;另一个问题是,有些能剪枝CNN的方法在剪枝后需要使用单独的稀疏网络框架(BLAS)甚至专门的硬件上才能运行。
所以本文专注于对卷积核剪枝,与权重剪枝相比,卷积核剪枝对于剪枝操作更自然,不会引入稀疏连接,所以不需要使用专门的框架或者硬件。
剪枝卷积核和特征图
在叙述剪枝卷积核操作之前,需要回顾一下CNN中卷积是如何操作的。
对于一个维度为 [ n i × h i × w i ] [{n}_i \times {h}_i \times {w}_i] [ni×hi×wi]的输入特征xi,其中ni、hi、wi分别是第i层卷积层的输入特征通道数、高和宽。单个卷积操作是将一个大小为 [ n i × k i × k i ] [{n}_i \times {k}_i \times {k}_i] [ni×ki×