Channel Pruning的软化策略——允许更新Pruned Filter

 "Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks"这篇文章首先强调了结构稀疏的优势,基于结构稀疏的channel pruning不需要特定存储格式和算法库的支持,能够充分利用成熟算法库或框架以运行裁剪后模型。文章同时提到传统的"hard filter pruning"依赖于预训练模型,并且直接删除pruned filters,结果导致模型容量减少、推理精度下降,且需要额外的、相对耗时的fine-tuning过程以恢复损失的精度。

                          

如上图所示,文章为此提出了"soft filter pruning (SFP)"策略,允许模型从随机初始化开始(从预训练模型开始能获得更好的效果),并在每个epoch训练开始之前,将具有较小L2-norm的filters置零,然后更新所有filters(包括未剪枝和已剪枝filter),最终模型收敛以后再把一些不重要的filters(zero-filters)裁剪掉,从而获得模型容量较高、推理精度较高的训练、剪枝结果。显然该策略类似于DSD(Dense-Sparsity-Dense)的训练、剪枝策略,避免了不必要的fine-tuning过程,能够充分利用每个权重连接(无论是未剪枝和已剪枝的连接)的记忆作用,达到理想的正则化效果。

                           

Soft Filter Pruning (SFP)策略如上图所示,主要分为四个步骤:1)filter selection:采用L2-norm以及预先定义的剪枝率P,选择出一些不重要的filters;2)filter pruning:在每个epoch训练开始之前,在全局层面将不重要的filters置零,并允许置零的filters在训练期间接受参数更新(soft-manner,不同于greedy selection),从而更好地平衡每个filter的贡献;3)reconstruction:通过反向传播更新所有filters,能够让pruned model获得与原始模型相同的容量,并允许模型从随机初始化开始训练,避免了不必要的fine-tuning过程;4)obtaining compact model:最终训练收敛以后,通过裁减掉zero filters可以获得结构紧凑的网络模型,同时达到理想的压缩与加速效果;

实验部分,文章在Cifar10、ImageNet2012数据集上对Resnet做了测试,获得了理想的剪枝效果,具体结果见文章。

论文地址:https://www.ijcai.org/proceedings/2018/0309.pdf

GitHub:https://github.com/he-y/soft-filter-pruning

猜你喜欢

转载自blog.csdn.net/nature553863/article/details/81065280
今日推荐