[2018ECCV F] Data-Driven Sparse Structure Selection for Deep Neural Networks

TitleVenueTypeCode
Data-Driven Sparse Structure Selection for Deep Neural NetworksECCVFMXNet, Pytorch, Tensorflow

  • 一些词汇约定
    filter: 卷积核,过滤器,3D-filter
    修剪:剪枝,裁剪。

Abstract

我们提出了一个简单而有效的框架,以端到端方式学习和裁剪深度模型。在我们的框架中,首先引入了一种新的参数-比例因子来对特定结构(如神经元、组或剩余块)的输出进行比例缩放。然后在这些因子上加入稀疏正则化,并采用改进的随机加速近似梯度法(APG)求解该优化问题。通过使一些因子归零,我们可以安全地移除相应的结构,从而删除CNN中不重要的部分。与其他可能需要数千次试验或反复微调的结构选择方法相比,我们的方法是完全端到端的培训,没有任何附加条件。

思路

  • 对每一层网络的每一个输出通道增加一个比例因子,然后使用改进的随机加速近似梯度法(APG)方法对 LOSS 损数进行优化,使得模型学习过程中的各个层的不同的输出通道变得更加的稀疏化,然后根据贡献度裁剪无用的 filter ,裁剪后的模型不需要 finetuning 才能恢复模型的原始性能。

一些关键词

  • 通道剪枝(由Feature map?)?卷积核剪枝?(针对核本身)
  • 合剪枝,迭代剪枝
  • 不需要 finetuning
  • 通道稀疏化
  • 结构化剪枝
  • 稀疏正则化优化剪枝

超参数

  1. 稀疏化剪枝系数。 LOSS 函数稀疏正则项系数 γ \gamma γ

1 Introduction

方法操作对象

  • 卷积核

总述
在本文中,我们从另一个角度来共同学习和修剪CNN。

  • 首先,我们介绍了一种新的参数-比例因子,它对CNNs中某些特定结构(如神经元、组或块)的输出进行比例缩放。这些尺度因子使得CNN在参数很少的情况下具有更大的灵活性。
  • 然后,我们在这些尺度因子上添加稀疏正则化,使它们在训练期间变为零。
  • 最后,我们可以安全地去除对应于零尺度因子的结构,得到修剪后的模型

我们不需要额外的微调或多阶段优化,它只在培训中引入较小的成本。

贡献

  1. 我们提出了一个统一的模型训练和裁剪框架。特别地,通过对某些CNNs结构引入尺度因子和相应的稀疏正则化,将其表示为一个联合的稀疏正则化优化问题。
  2. 我们利用一种改进的随机加速近似梯度(APG)方法,通过稀疏正则化联合优化CNNs和尺度因子的权重。与以往采用启发式方法强制稀疏的方法相比,我们的方法在不进行微调和多阶段优化的情况下,具有更稳定的收敛性和更好的结果。
  3. 我们在几个最先进的网络上测试了我们提出的方法,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 :不同优化方法的比较
    在这里插入图片描述

论文评价

  • 优点
  1. 超参数少,只有一个超参数
  2. 不需要 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

  • 应用项目
    待补充
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值