Title | Venue | Type | Code |
---|---|---|---|
Asymptotic Soft Filter Pruning for Deep Convolutional Neural | ECCV | F | PyTorch(SFP) |
具体的参考
Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks
Abstract
我们提出一个渐近的软滤波器
利用剪枝(ASFP)方法加速深度神经网络的推理过程。
首先,我们在再培训阶段更新修剪后的过滤器。因此,被修剪模型的优化空间不会缩小,而是与原模型相同。这样,模型就有足够的能力从训练数据中学习。
其次,我们渐近地修剪网络。在训练过程中,我们先删除几个过滤器,然后渐进地删除更多的过滤器。
用渐近剪枝法,得到训练的信息
思路
剪枝的方式
。采用软剪枝的方式,即剪掉的卷积核设置成0,之后,在继续当做原始模型进行训练。剪枝的设置
。一开始设定一个全全局的裁剪比例,然后,每间隔一定的时间,在上一次的基础上增加一定的比例进行剪枝,直到预设的全局剪枝比例。
一些关键词
- 迭代式剪枝
- 软剪枝
- 可恢复性剪枝方法
- 渐进式软剪枝
- 通道剪枝(由Feature map?)?卷积核剪枝?(针对核本身)
1 Introduction
- 目前问题
- 模型容量降低
- 无法恢复的卷积核信息丢失。
-
方法操作对象
卷积核 -
总述
在第一个训练epoch之前,选择小的 L 2 L_2 L2范数的滤波器并将其设置为零。
然后我们对模型进行再培训,从而可以更新之前修剪过的过滤器。
在下一个训练时期之前,我们将用小的 L 2 L_2 L2范数修剪一组新的过滤器。
这些训练过程一直持续到收敛为止。
最后,具有小的 L 2 L_2 L2范数的滤波器将不会进一步更新,并且被裁剪
这种软方式使得压缩后的网络具有更大的优化空间和模型容量。 -
贡献
- 我们提出了
一种软方法
,允许在训练过程中重构以前的修剪滤波器。这种软方式可以显著地保持模型的能力,使网络能够从无到有地同时进行训练和修剪 - 为了避免严重的信息丢失,我们建议
渐近地
对滤波器进行修剪,以进行后续的训练 - 在CIFAR-10和ImageNet上的实验证明了所提出的ASFP的有效性和高效性
2 Related Works
-
矩阵分解
-
量化
-
权重剪枝
-
修剪卷积核:
数据相关
的卷积核修剪
数据无关
的卷积核修剪。
3 Algorithm
相关图解
-
图1.
硬过滤器修剪vs .软过滤器修剪。我们将修剪后
的过滤器标记为橙色虚线框。对于硬卷积核
剪枝,在整个训练过程中被剪枝的滤波器始终是固定的。因此,由于橙色虚线框在训练中毫无用处,降低了模型容量,从而影响了性能。相反,我们的软修剪方法允许在训练过程中更新被修剪的过滤器。通过这种方法,可以从修剪后的模型中恢复模型容量,从而获得更好的精度
-
图2
HFP和SFP的修剪和训练过程。
之前在训练中,我们首先选择一些具有预先定义重要性的过滤器评估。HFP在训练前直接删除这些过滤器;对于SFP,这些设置为0并保持不变。训练中(第一阶段至)(N), HFP的模型尺寸比原模型小。而对于SFP,零值过滤器(过滤器2和过滤器5)经过处理后变为非零培训时代1。然后我们再次评估过滤器的重要性和修剪过滤器3和4。模型大小将不会减少,但与原来的相同。训练结束后,最终的修剪模型是HFP的历元N模型。而对于SFP,我们删除历元N的零值筛选器(筛选器3和筛选器6),以得到最终结果修剪模型
-
图3.
HFP(第一行)、SFP(第二行)和ASFP(第三行)的概述。
(a):卷积核在修剪之前实例化。
(b):卷积核实例化修剪之后。
©:重构后的卷积核实例化。过滤器按照它们的p准则和小的过滤器(紫色矩形)排列被选中进行修剪。
算法流程
【v】裁剪流程:
.----------------------------------------------------
0、设定全局裁剪比例 (上一次的比例 + 本次的递增比例。递增比例 = 全局的裁剪比例 * 3/4)
.-------------------
0.1、求当前的裁剪比例。
.-------------------
1、求模型权重的 L2 范数
.-------------------
2、将 L2 范数结果小的置0
-.------------------
3、进入模型新的一轮训练,更新全部的权重(包含被置零的卷积核全部权重。即全零卷积核,与非零卷积核)
.-------------------
4、直到模型全部收敛(收敛是没有收敛条件的,epochs训练裁剪完,就算结束)
.-------------------
5、完全去掉被置 0 的卷积核
.-------------------
4 Experiments
修剪ResNet在CIFAR-10上的总体性能
在CIFAR-上从零开始修剪和预先训练VGGNet10. “FT”表示对修剪后的模型进行“微调”
修剪ResNet在ImageNet上的整体性能。
在不同的测试条件下,CIFAR-10在ResNet-110上的精度是不同的