Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝

相比于笔者之前讲的几种剪枝方法,这篇文章的剪枝方法比较复杂。文章首先提出了一种假设:

  • informative channel, no matter where it is, should own discrimination power, otherwise it should be delete

然后,文章提出了一种基于感知力的剪枝框架和算法:

Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝

该框架的主要点包括两种loss:

  • 重构loss:

Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝

  •  感知力loss:

Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝

剪枝的算法如下:

Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝 这个算法1的流程如下:

  1.  对一个输入的模型,构造重构loss和感知力loss并微调参数
  2. 对一层实施通道选择

这个算法2的流程如下:

  1. 创立一个空集A
  2. 计算loss对一个层里的通道参数的梯度,每次选取最大的通道加入A直到满足终止条件(如原论文中3.4所指,这是一种贪心算法)
  3. 更新参数

终止条件:

  • 两次参数更新的量和原始模型的比例小于设定的阈值:

Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝

实验结果证明了这种剪枝方法的可行,以VGGNet在CIFAR-10上的文章为例:

Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝

Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝 个人很喜欢这篇文章,虽然读了两遍才看懂。从改进的方式来看,可以从感知力的loss来源入手,换一种方式等等。