LosslessCNN Channel Pruning via Gradient Resetting and ConvolutionalRe-parameterization
提出了一种新的无损的通道剪枝方法ResRep(也就是filter pruning),其目的是通过减小卷积层的宽度(输出通道数)来精简卷积神经网络(CNN)。受记忆和遗忘的独立性的神经生物学研究的启发,我们提出将CNN重参数化为记忆部分和遗忘部分,前者学习维持表现,后者学习提高效率。通过在前者上使用常规SGD训练重参数化模型,而在后者上使用我们原创的带惩罚梯度的更新规则,我们实现了结构化稀疏性(structured sparsity),使我们能够等价地将重参数化模型转换为具有较窄层的原始结构。这种方法不同于传统的基于学习的剪枝范式,传统的剪枝范式对参数量施加惩罚以产生结构化稀疏性,这可能会抑制记忆所必需的参数。我们的方法将ImageNet上精度为76.15%的标准ResNet-50精简为只有45%的FLOPs和无精度下降的更窄ResNet-50,据我们所知,这是第一个以如此高的压缩比实现无损修剪的方法。
1 导言
为了压缩和加速卷积神经网络(CNN)进行高效的推理,人们提出了许多方法,包括稀疏化[10,12,14]、通道剪枝[20,21,29]、量化[4,5,39,62]、知识蒸馏[22,26,35,55],等等,通道剪枝[21](又称滤波器修剪[28]或网络slimming[36])减少卷积层的宽度(即输出通道的数量),以有效减少所需的浮点运算量(FLOPs)和内存占用,这是对其他模型压缩和加速方法的补充,因为它只生成原始体系结构的更薄模型,没有定制的结构或额外的操作(customized structures or extra operations)。
然而,由于CNN的表示能力取决于卷积层的宽度,因此在性能下降的情况下很难减小宽度。在ResNet-50[16]等实际CNN体系结构和ImageNet[6]等大规模数据集上,高压缩比的无损剪枝一直被认为具有挑战性。为了在压缩比和性能之间进行合理的折衷,一个典型的范例(图1.A)[2,3,9,30,33,56,57]试图在卷积核上训练幅度相关的惩罚损失的模型(例如,group Lasso[51,54]),以产生结构化稀疏性。也就是说,某些通道的所有参数都变得很小。虽然这样的训练过程可能会降低性能,但剪掉这些通道会造成较少的损坏。值得注意的是,如果被剪掉的通道的参数量足够小,剪枝模型可以提供与之前相同的性能(即,在训练之后但在剪枝之前),我们称之为完美剪枝perfect pruning。
ref
https://www.jianshu.com/p/5ba33635a588