作者:张松
论文链接:https://arxiv.org/abs/1708.06519
代码:https://github.com/liuzhuang13/slimming
概述:
此方法基于channel-wise,提出将L1正则化施加到BN层的缩放因子上,L1正则化推动BN层的趋向于零,这使得能够鉴别出不重要的通道或者神经元,因为每一个都和一个特定的CNN卷积通道(或者全连接层的一个神经元)相关联。这有助于后续的通道剪枝,另外正则化也很少损伤性能,甚至一些情况下它会导致更高的泛化准确率,剪掉不重要的通道有时候虽然会暂时降低性能,但是通过之后对剪枝网络的微调可以对精度补偿。
挑战:
实现通道稀疏化需要将和一个通道有关联的所有输入和输出的连接都剪掉,但是对于已经预训练好的一个模型来说,不太可能做大这点,因此这个对已经预训练好的模型做通道剪枝效率不高,比如对预训练好的ResNet做通道剪枝,在不损伤准确率的情况下,只能减少10%的参数量。为了解决这个问题,这篇文章中通过将BN稀疏正则化强加到训练目标函数中,使得BN层的尺度因子大量接近零值。
缩放因子和稀疏性惩罚:
我们是对每一个通道都引入一个缩放因子γ\gammaγ,然后与通道的输出相乘。接着联合训练网络权重和这些缩放因子,最后将小缩放因子的通道直接剪除,微调剪枝后的网络。特别地,我们的方法的目标函数定义为: