即插即用!北邮&南开大学开源SPConv:精度更高、速度更快的卷积

2020 年 7 月 11 日 CVer

点击上方“CVer”,选择加"星标"置顶

重磅干货,第一时间送达

本文转载自:AIWalker |  论文已上传,文末附下载方式

标题&作者团队

【Happy导语】该文是北邮&南开大学联合提出了一种“即插即用”计算单元,它基于特征冗余而设计,它将输入特征分成两组分别进行处理最后采用简化版SK进行融合。相比常规卷积,所提方法不仅更高精度,同时具有更快推理速度。而它的更快推理速度则是其最关键的亮点,要知道其他“即插即用”型改进卷积(如OctConv、GhostConv、Res2Conv等等)都不可避免的导致推理速度变慢,相当于用速度换时间;而所提方法不仅精度,而且速度快,同时具有更低的FLOPs与参数量,这是非常难得的一点。

paper: https://arxiv.org/abs/2006.12085

Code: https://github.com/qiulinzhang/SPConv.pytorch

Abstract

已有诸多有效方法被提出用于降低模型冗余、加速模型推理速度,然而这些方法往往关注于消除不重要的滤波器或构建高效计算单元,反而忽略了特征内部的模式冗余。

作者揭露了这样一个现象:同一层内的许多特征具有相似却不平等的表现模式。然而,这类具有相似模式的特征却难以判断是否存在冗余或包含重要的细节信息。因此,不同于直接移除不确定的冗余特征方案,作者提出了一种基于Split的卷积计算单元(称之为SPConv),它运训存在相似模型冗余且仅需非常少的计算量。首先,将输入特征拆分为representative部分与uncertain部分;然后,对于representative部分特征采用相对多的计算复杂度操作提取重要信息,对于uncertain部分采用轻量型操作提取隐含信息;最后,为重新校准与融合两组特征,作者采用了无参特征融合模块。该文所提SPConv是一种“即插即用”型模块,可用于替换现有网络中的常规卷积。

无需任何技巧,在GPU端的精度与推理速度方面,基于SPConv的网络均可取得SOTA性能。该文主要贡献包含下面几个方面:

  • 重新对常规卷积中的特征冗余问题进行了再思考,提出了将输入分成两部分:representative与uncertain,分别针对两部分进行不同的信息提取;
  • 设计了一种“即插即用”型SPConv模块,它可以无缝替换现有网络中的常规卷积,且在精度与GPU推理速度上均可能优于SOTA性能,同时具有更少的FLOPs和参数量。

Method

下图给出了该文所提出的SPConv示意图。下面将介绍如何一步步从常规卷积到SPConv的演变思路。

image-20200706103138887

Vanilla Convolution

假设分别表示输入与输出特征,一般而言 卷积的全职参数可以表示为 ,对应的卷积计算可以描述为 。为简化表示,在后续介绍中忽略了偏置项b。上式写成矩阵形式如下:

Representative and Redundant

在现有的滤波器中,比如常规卷积、GhostConv、OctConv、HetConv均在所有输入通道上执行 卷积。然而,如上图所示,同一层的特征中存在相似模式,也就是说存在特征冗余问题。但同时,并未存在完全相同的两个通道特征,进而导致无法直接剔除冗余通道特征。

受此现象启发,作者提出将所有输入特征按比例 拆分为两部分:

  • (1) Representative部分执行 卷积提取重要信息;

  • (2) Uncertain部分执行 卷积补充隐含细节信息。

    因此该过程可以描述为(见SPConv的左侧部分):

image-20200706111643187

注:在上述公式中,左部分表示 卷积,右部分表示 卷积。

Further Reduction for Reprentative

前述将输入特征拆分为两部分后,Representative可能仍存在冗余问题。也就是说,Representative可以进一步进行拆分,不同部分表示不同的类别特征(比如颜色、颜色等)。因此,作者提出采用组卷积进一步降低Representative的冗余,见SPConv示意图的中间部分。作者认为:尽管组卷积可以降低冗余问题,但同时可能会导致部分信息损失。为补偿这部分信息损失,作者添加了额外的Point卷积。注:这里的组卷积与Point卷积是并行关系。最后通过Add方式对两者的输出特征进行融合,该过程可以描述为:

image-20200706113659043

Parameter Free Feature Fusion Module

前面已经将输入特征分成了两个部分并进行了针对性处理,也就是说通过前述操作得到了两类特征。由于两类特征源自不同的输入通道,所以需要进行特征融合以控制信息流。作者并未采用Add或者Concat方式进行融合,而是设计了一种新颖的特征融合模块,该融合模块不会引入额外的参数并能取得更好的性能(见SPConv图示右部分)。注:这里所提的PFFF其实就是SKNet中的Select Kernel机制的简化版。

经过了前述的一系列操作,常规卷积可以通过如下方式进行近似:

image-20200706122559861

通过上述方式优化转换,在GPU端,所提方法可以取得更高的精度以及更快的推理速度,同时具有更少的FLOPs与参数量。

Complexity Analysis

常规卷积的参数量可以描述为 ,所提SPConv的参数则为:

时,模型的参数量可以降低2.8倍且性能与推理速度更优。

Experiments

为验证所提方法的有效性,作者设置SPConv中的卷积核k=3,g=2,同时整个网络设置统一的全局超参数 (不同阶段设置不同的会更优,但会过于精细)。

首先在小尺度数据集Cifar10进行了进行了对比分析,然后在ImageNet数据集上进行了对比,最后为探索SPConv的泛化性能在MS-COCO数据集上进行了目标检测分析。为公平对比,所有实验均在含4个NVIDIA Tesla V100GPU的服务器上从头开始训练,且采用默认的数据增广与训练策略,不包含其他额外Tricks。

先来看一下Cifar10数据集上的性能对比,见上表。从中可以看到:

  • (1) 当 从1逐渐过渡到1/16的过程中,FLOPs与参数量急剧下降,但模型性能并无严重影响;
  • (2) 当 时,模型具有最佳性能,参数量与计算量仅为常规卷积时的33%。
image-20200706125253174

然后,我们再来看一下ImageNet数据集上模型性能对比,见上表。可以看到:

  • (1) 相比baseline,基于SPConv( )的模型精度提升0.35%,而FLOPs与参数量降低约28%,推理速度提升0.09ms(提升约7%);
  • (2) 当保持模型精度不变时, ,此时FLOPs与参数量降低约34%,而推理速度提升0.13ms(提升约11%);
  • (3) 在推理速度方面,采用NVIDIA DALI进行数据加载,硬件平台为Tesla V100,BatchSize=64。从上表可以看到,所提方法具有更快的推理速度,而OctConv则会导致推理速度变慢。
image-20200706130611676

其次,我们看一下MS-COCO数据集上模型能性能对比,见上表。

image-20200706130812302

最后,我们再来看一下作者提供的消融实验分析结果,见上表。可以看到:

  • GWC+PWC并行模式具有更佳指标;
  • 相比Add融合方法,所提融合机制性能更佳;
  • 直接删除冗余信息会导致模型性能降低3%(这个对比有点不公平哦,直接剔除相当于剪枝了,模型的容量都发生了变化)。

Conclusion

在该文中,作者重新对常规卷积中的信息冗余问题进行了重思考,为缓解该问题,作者提出了一种新颖的SPConv,它将输入特征拆分为两组不同特征并进行不同的处理,最后采用简化版SK进行融合。最后作者通过充分的实验分析说明了所提方法的有效性,在具有更高精度的时候具有更快的推理速度、更少的FLOPs与参数量。

所提SPConv是一种“即插即用”型单元,它可以轻易与其他网络架构相结合,同时与当前主流模型压缩方法互补,如能精心组合设计,有可能得到更轻量型的模型。

下载


在CVer公众号后台回复SPConv,即可下载本论文


重磅!CVer-论文写作与投稿交流群成立


扫码添加CVer助手,可申请加入CVer-论文写作与投稿 微信交流群,目前已满2000+人,旨在交流顶会(CVPR/ICCV/ECCV/ICML/ICLR/AAAI等)、顶刊(IJCV/TPAMI等)、SCI、EI等写作与投稿事宜。


同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。


一定要备注:研究方向+地点+学校/公司+昵称(如论文写作+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群


▲长按加微信群


▲长按关注CVer公众号

整理不易,请给CVer点赞和在看

登录查看更多
1

相关内容

在数学(特别是功能分析)中,卷积是对两个函数(f和g)的数学运算,产生三个函数,表示第一个函数的形状如何被另一个函数修改。 卷积一词既指结果函数,又指计算结果的过程。 它定义为两个函数的乘积在一个函数反转和移位后的积分。 并针对所有shift值评估积分,从而生成卷积函数。
KDD20 | AM-GCN:自适应多通道图卷积网络
专知会员服务
39+阅读 · 2020年8月26日
【ECCV2020】EfficientFCN:语义分割中的整体引导解码器
专知会员服务
15+阅读 · 2020年8月23日
【KDD2020】自适应多通道图卷积神经网络
专知会员服务
119+阅读 · 2020年7月9日
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
【CVPR2020-百度】用于视觉识别的门控信道变换
专知会员服务
12+阅读 · 2020年3月30日
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
38+阅读 · 2020年2月21日
已删除
将门创投
5+阅读 · 2019年9月10日
CVPR 2019 | 用异构卷积训练深度CNN:提升效率而不损准确度
Interpretable CNNs for Object Classification
Arxiv
20+阅读 · 2020年3月12日
Explanatory Graphs for CNNs
Arxiv
4+阅读 · 2018年12月18日
Arxiv
6+阅读 · 2018年7月9日
Arxiv
5+阅读 · 2018年4月30日
Arxiv
10+阅读 · 2017年11月22日
Arxiv
4+阅读 · 2017年11月13日
VIP会员
相关VIP内容
KDD20 | AM-GCN:自适应多通道图卷积网络
专知会员服务
39+阅读 · 2020年8月26日
【ECCV2020】EfficientFCN:语义分割中的整体引导解码器
专知会员服务
15+阅读 · 2020年8月23日
【KDD2020】自适应多通道图卷积神经网络
专知会员服务
119+阅读 · 2020年7月9日
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
【CVPR2020-百度】用于视觉识别的门控信道变换
专知会员服务
12+阅读 · 2020年3月30日
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
38+阅读 · 2020年2月21日
相关论文
Interpretable CNNs for Object Classification
Arxiv
20+阅读 · 2020年3月12日
Explanatory Graphs for CNNs
Arxiv
4+阅读 · 2018年12月18日
Arxiv
6+阅读 · 2018年7月9日
Arxiv
5+阅读 · 2018年4月30日
Arxiv
10+阅读 · 2017年11月22日
Arxiv
4+阅读 · 2017年11月13日
Top
微信扫码咨询专知VIP会员