Title | Venue | Type | Code |
---|---|---|---|
Centripetal SGD for Pruning Very Deep Convolutional Networks with Complicated Structure | CVPR | F | github(tensorflow) |
过滤器:filter,卷积核
修剪: 剪枝
Abstract
试图使一些滤波器越来越接近,最终达到网络瘦身的效果。从而提出一种向心 SGD(C- SGD)
。它可以训练多个过滤器在参数超空间中折叠成一个点。当训练完成时,删除相同的过滤器可以在不损失性能的情况下对网络进行修剪,因此不需要进行调整
。
思路
- 通过修改SGD → \rightarrow → C-SGD,使得filter越来越接近,然后使用聚类的方式,将卷积核聚类为多个集合,每个集合保留一个卷积核,并且剪枝后的模型是不需要进行finetuning的。
一些关键词
- 卷积核剪枝(过滤器修剪,又称通道修剪)
- 聚类
- 梯度下降约束
- filter 融合
- 不需要 finetuning
1 Introduction
卷积核剪枝优点
- filter pruning是一种通用的技术,可以处理任何类型的CNNs,不需要对应用领域、网络架构或部署平台做任何假设
- 滤波器剪枝有效地减少了网络的故障,这是计算负担的主要判据。
- 滤波器修剪产生一个更薄的网络,没有定制的结构或额外的操作,
方法操作对象
卷积核
综述
在CNNs中产生一些冗余模式来进行过滤剪枝。但是,我们不是将过滤器归零,而是将多个过滤器合并为一个,从而产生冗余模式,其中一些过滤器是相同的。该方法的出发点是对网络中信息流的观察
如果两个或多个滤波器被训练成相同的
,由于卷积的线性和组合特性,我们可以简单地抛弃所有,只留下一个滤波器,然后在下一层相应的输入通道上把参数相加- 当多个过滤器限制增长接近参数的多维空间,我们称之为
向心约束
,尽管他们开始产生越来越多的类似的信息,
贡献
- 我们建议在CNNs中通过训练一些过滤器来产生冗余模式。
- 使多个滤波器在滤波器参数的超空间中向中心移动。
- 通过C-SGD,我们部分地解决了约束剪枝的问题,这是一个现代非常深的复杂结构CNNs剪枝的开放问题,
- 对C-SGD的有效性进行了理论和实证分析。
2 Related Works
- 卷积核剪枝
- 非结构化剪枝
3 Algorithm
相关图解
-
图1.
置零剪枝(左边)与向心约束剪枝(右边)对比
-
图2
正常的梯度权重衰减与向心约束权重衰减(右边)
-
图3
在残差层的几种剪枝方法。向心约束剪枝为(d)
算法流程
4 Experiments
实验对象
实验数据集
- CIFAR-10
- ImageNet
实验模型
- VGG
- DenseNet
- ResNet
实验结果
相近参考文献
- 思路相似文献
[2019IJCAI F] Customized Deep Model Compression via Regularized Correlation-Based Filter-Level Pruning
[ICCV 2017 F] ThiNet A Filter Level Pruning Method for Deep Neural Network Compression
[2019CVPR F] Filter Pruning via Geometric Medianfor Deep Convolutional Neural Networks Acceleration
- 聚类
;[2018ECCV F]Clustering Convolutional Kernels to Compress Deep Neural Networks