Title | Venue | Type | Code |
---|---|---|---|
Data-Driven Sparse Structure Selection for Deep Neural Networks | ECCV | F | MXNet, Pytorch, Tensorflow |
- 一些词汇约定
filter: 卷积核,过滤器,3D-filter
修剪:剪枝,裁剪。
Abstract
我们提出了一个简单而有效的框架,以端到端
方式学习和裁剪深度模型。在我们的框架中,首先引入了一种新的参数-比例因子
来对特定结构(如神经元、组或剩余块)的输出进行比例缩放。然后在这些因子上加入稀疏正则化
,并采用改进的随机加速近似梯度法(APG)
求解该优化问题。通过使一些因子归零,我们可以安全地移除相应的结构,从而删除CNN中不重要的部分。与其他可能需要数千次试验或反复微调的结构选择方法相比,我们的方法是完全端到端的培训,没有任何附加条件。
思路
- 对每一层网络的每一个输出通道增加一个
比例因子
,然后使用改进的随机加速近似梯度法(APG
)方法对 LOSS 损数进行优化,使得模型学习过程中的各个层的不同的输出通道变得更加的稀疏化,然后根据贡献度
裁剪无用的 filter ,裁剪后的模型不需要 finetuning
才能恢复模型的原始性能。
一些关键词
- 通道剪枝(由Feature map?)?卷积核剪枝?(针对核本身)
- 合剪枝,迭代剪枝
- 不需要 finetuning
- 通道稀疏化
- 结构化剪枝
- 稀疏正则化优化剪枝
超参数
- 稀疏化剪枝系数。 LOSS 函数稀疏正则项系数 γ \gamma γ
1 Introduction
方法操作对象
- 卷积核
总述
在本文中,我们从另一个角度来共同学习和修剪CNN。
- 首先,我们介绍了一种新的参数-比例因子,它对CNNs中某些特定结构(如神经元、组或块)的输出进行
比例缩放
。这些尺度因子使得CNN在参数很少的情况下具有更大的灵活性。 - 然后,我们在这些尺度因子上添加稀疏正则化,使它们在训练期间变为零。
- 最后,我们可以安全地去除对应于零尺度因子的结构,得到修剪后的模型
我们不需要额外的微调或多阶段优化
,它只在培训中引入较小的成本。
贡献
- 我们提出了一个统一的模型训练和裁剪框架。特别地,通过对某些CNNs结构引入尺度因子和相应的稀疏正则化,将其表示为一个联合的
稀疏正则化优化
问题。 - 我们利用一种改进的随机加速近似梯度(APG)方法,通过稀疏正则化联合优化CNNs和尺度因子的权重。与以往采用启发式方法强制稀疏的方法相比
,我们的方法在不进行微调和多阶段优化的情况下,具有更稳定的收敛性和更好的结果。
- 我们在几个最先进的网络上测试了我们提出的方法,PeleeNet, VGG,ResNet和ResNeXt
2 Related Works
-
网络剪枝(下面指的是非结构化剪枝)
不规则稀疏权值的性质使得它们只能产生有效的压缩,而不能从挂钟时间方面得到更快的推断。 -
模型结构学习(轻量化网络设计)
-
具有跳过连接的CNNs
在本文中,我们提出了一种数据驱动的方法来学习这种网络的结构。通过在训练过程中对残块进行缩放和剪枝,我们的方法可以得到更紧凑的结果
3 Algorithm
相关图解
与直接将同一组中的权重推到零不同,我们尝试强制将该组的输出推到零,从而实现模型的通道剪枝
- 图1. 我们的网络架构方法
在训练过程中,将绝对值小于阈值的尺度参数设置为0。与[26]相比,我们的方法更通用、更有效
- 首先,引入比例因子比重用BN参数更普遍。
一方面,一些网络没有批处理的规范化层,如AlexNet和VGG ;
另一方面,当我们在对象检测或语义分割任务上对预训练模型进行微调时,由于批处理的规模较小,批处理归一化的参数通常是固定的。 - 其次,[26]的优化是启发式的,需要迭代剪枝和再训练。相比之下,我们的优化在端到端方式下更稳定。最重要的是,[26]可以被看作是我们方法的一个特例。
[26]
[2017ICCV F] Learning Efficient Convolutional Networks through Network Slimming
算法流程
我们引入了修剪神经元的通道输出的比例因子。经过训练,去除系数为零的滤波器,将使网络更加紧凑。
【v】裁剪流程:
.----------------------------------------------------
1、LOSS 函数加入稀疏正则化,采用 L1 正则化,引入稀疏
γ
\gamma
γ 系数,用来衡量通道的贡献度
.-------------------
2、参数的更新采用 改进的随机加速近似梯度法(APG
)
.-------------------
3、对每一层的网络的输出添加稀疏系数
γ
\gamma
γ
.-------------------
4、稀疏诱导训练与裁剪,迫使稀疏系数
γ
\gamma
γ 在训练的过程中变成 0
-.------------------
5、裁剪稀疏系数
γ
\gamma
γ 小的通道,即对应表式该通道的贡献度为 0 的通道
.-------------------
6、完全去掉被置 0 的通道,即对应相应的卷积核
.-------------------
算法的数学实现
4 Experiments
实验对象
实验数据集
- CIFAR-10
- CIFAR-100
- ImageNet
实验模型
- VGG16
- ResNeXt
- ResNet
- PeleeNet
- DenseNet
实验结果
-
表1:ResNet-50的网络架构和我们为ImageNet修剪的ResNets。
-
表2:ImageNet数据集上的结果。
-
表3:在ImageNet数据集上的PeleeNet结果
-
表4:对比实验。几种最先进的修剪方法在ResNet和VGG16网络
-
表 5 :剪枝 ResNeXt-38与DenseNet-121的比较;
-
表 6 :不同优化方法的比较
论文评价
- 优点
- 超参数少,只有一个超参数
- 不需要 finetuning 。将剪枝问题转化为优化问题,直接端到端,训练结束后的模型不需要进行 finetuning。
其他文献
- 解读文献
Data-Driven Sparse Structure Selection for Deep Neural Networks 论文翻译_人工智能_little豪斯-CSDN博客
https://blog.csdn.net/sinat_35188997/article/details/78180767
模型压缩 | 结构性剪枝Data-Driven Sparse Structure Selection 以及实际剪枝实现流程_网络_HongYuSuiXinLang的博客-CSDN博客
https://blog.csdn.net/HongYuSuiXinLang/article/details/82592585
2018年06月10日_阿华仔ljh_新浪博客
http://blog.sina.com.cn/s/blog_14a90ddfb0102xy50.html
- 相似文献
Scalpel: Customizing DNN Pruning to the Underlying Hardware Parallelism
[2017ICCV F] Learning Efficient Convolutional Networks through Network Slimming
- 应用项目
待补充