Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝
相比于笔者之前讲的几种剪枝方法,这篇文章的剪枝方法比较复杂。文章首先提出了一种假设:
- informative channel, no matter where it is, should own discrimination power, otherwise it should be delete
然后,文章提出了一种基于感知力的剪枝框架和算法:
该框架的主要点包括两种loss:
- 重构loss:
- 感知力loss:
剪枝的算法如下:
这个算法1的流程如下:
- 对一个输入的模型,构造重构loss和感知力loss并微调参数
- 对一层实施通道选择
这个算法2的流程如下:
- 创立一个空集A
- 计算loss对一个层里的通道参数的梯度,每次选取最大的通道加入A直到满足终止条件(如原论文中3.4所指,这是一种贪心算法)
- 更新参数
终止条件:
- 两次参数更新的量和原始模型的比例小于设定的阈值:
实验结果证明了这种剪枝方法的可行,以VGGNet在CIFAR-10上的文章为例:
个人很喜欢这篇文章,虽然读了两遍才看懂。从改进的方式来看,可以从感知力的loss来源入手,换一种方式等等。