点击上方“CVer”,选择加"星标"置顶
重磅干货,第一时间送达
本文转载自:AIWalker | 论文已上传,文末附下载方式
【Happy导语】该文是北邮&南开大学联合提出了一种“即插即用”计算单元,它基于特征冗余而设计,它将输入特征分成两组分别进行处理最后采用简化版SK进行融合。相比常规卷积,所提方法不仅更高精度,同时具有更快推理速度。而它的更快推理速度则是其最关键的亮点,要知道其他“即插即用”型改进卷积(如OctConv、GhostConv、Res2Conv等等)都不可避免的导致推理速度变慢,相当于用速度换时间;而所提方法不仅精度,而且速度快,同时具有更低的FLOPs与参数量,这是非常难得的一点。
paper: https://arxiv.org/abs/2006.12085
Code: https://github.com/qiulinzhang/SPConv.pytorch
已有诸多有效方法被提出用于降低模型冗余、加速模型推理速度,然而这些方法往往关注于消除不重要的滤波器或构建高效计算单元,反而忽略了特征内部的模式冗余。
作者揭露了这样一个现象:同一层内的许多特征具有相似却不平等的表现模式。然而,这类具有相似模式的特征却难以判断是否存在冗余或包含重要的细节信息。因此,不同于直接移除不确定的冗余特征方案,作者提出了一种基于Split的卷积计算单元(称之为SPConv),它运训存在相似模型冗余且仅需非常少的计算量。首先,将输入特征拆分为representative部分与uncertain部分;然后,对于representative部分特征采用相对多的计算复杂度操作提取重要信息,对于uncertain部分采用轻量型操作提取隐含信息;最后,为重新校准与融合两组特征,作者采用了无参特征融合模块。该文所提SPConv是一种“即插即用”型模块,可用于替换现有网络中的常规卷积。
无需任何技巧,在GPU端的精度与推理速度方面,基于SPConv的网络均可取得SOTA性能。该文主要贡献包含下面几个方面:
下图给出了该文所提出的SPConv示意图。下面将介绍如何一步步从常规卷积到SPConv的演变思路。
假设分别表示输入与输出特征,一般而言 卷积的全职参数可以表示为 ,对应的卷积计算可以描述为 。为简化表示,在后续介绍中忽略了偏置项b。上式写成矩阵形式如下:
在现有的滤波器中,比如常规卷积、GhostConv、OctConv、HetConv均在所有输入通道上执行 卷积。然而,如上图所示,同一层的特征中存在相似模式,也就是说存在特征冗余问题。但同时,并未存在完全相同的两个通道特征,进而导致无法直接剔除冗余通道特征。
受此现象启发,作者提出将所有输入特征按比例 拆分为两部分:
(1) Representative部分执行 卷积提取重要信息;
(2) Uncertain部分执行 卷积补充隐含细节信息。
因此该过程可以描述为(见SPConv的左侧部分):
注:在上述公式中,左部分表示 卷积,右部分表示 卷积。
前述将输入特征拆分为两部分后,Representative可能仍存在冗余问题。也就是说,Representative可以进一步进行拆分,不同部分表示不同的类别特征(比如颜色、颜色等)。因此,作者提出采用组卷积进一步降低Representative的冗余,见SPConv示意图的中间部分。作者认为:尽管组卷积可以降低冗余问题,但同时可能会导致部分信息损失。为补偿这部分信息损失,作者添加了额外的Point卷积。注:这里的组卷积与Point卷积是并行关系。最后通过Add方式对两者的输出特征进行融合,该过程可以描述为:
前面已经将输入特征分成了两个部分并进行了针对性处理,也就是说通过前述操作得到了两类特征。由于两类特征源自不同的输入通道,所以需要进行特征融合以控制信息流。作者并未采用Add或者Concat方式进行融合,而是设计了一种新颖的特征融合模块,该融合模块不会引入额外的参数并能取得更好的性能(见SPConv图示右部分)。注:这里所提的PFFF其实就是SKNet中的Select Kernel机制的简化版。
经过了前述的一系列操作,常规卷积可以通过如下方式进行近似:
通过上述方式优化转换,在GPU端,所提方法可以取得更高的精度以及更快的推理速度,同时具有更少的FLOPs与参数量。
常规卷积的参数量可以描述为 ,所提SPConv的参数则为:
当 时,模型的参数量可以降低2.8倍且性能与推理速度更优。
为验证所提方法的有效性,作者设置SPConv中的卷积核k=3,g=2,同时整个网络设置统一的全局超参数 (不同阶段设置不同的会更优,但会过于精细)。
首先在小尺度数据集Cifar10进行了进行了对比分析,然后在ImageNet数据集上进行了对比,最后为探索SPConv的泛化性能在MS-COCO数据集上进行了目标检测分析。为公平对比,所有实验均在含4个NVIDIA Tesla V100GPU的服务器上从头开始训练,且采用默认的数据增广与训练策略,不包含其他额外Tricks。
先来看一下Cifar10数据集上的性能对比,见上表。从中可以看到:
然后,我们再来看一下ImageNet数据集上模型性能对比,见上表。可以看到:
其次,我们看一下MS-COCO数据集上模型能性能对比,见上表。
最后,我们再来看一下作者提供的消融实验分析结果,见上表。可以看到:
在该文中,作者重新对常规卷积中的信息冗余问题进行了重思考,为缓解该问题,作者提出了一种新颖的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点赞和在看!