CVPR 2021 | 涨点神器ACNet再进化!清华旷视提出Inception类型的DBB
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
本文转载自:AIWalker | 作者:Happy
Diverse Branch Block: Building a Convolution as an Inception-like Unit
paper: https://arxiv.org/abs/2103.13425
code: https://github.com/DingXiaoH/DiverseBranchBlock
本文是清华大学&旷视科技的丁霄汉博士在“过参数化”卷积方面继ACNet、RepVGG之后的又一次探索,它创造性的将Inception的多分支、多尺度思想与过参数化思想进行了一次组合,得到了本文所提出的DBB。本文从卷积的两种线性特性(同质、加法)出发,设计了两种可组合的变换,在此基础上了结合Inception思想设计了动态多分支结构DBB。作为一种“等价嵌入”模块,它可以显著提升现有ConvNet的性能,比如在ImageNet任务上,最高可以带来1.9%的性能提升。
Abstract
本文提出一种可以提升CNN性能且“推理耗时无损”的通用模块组件,我们将其称之为Diverse Branch Block(DBB)
,它通过组合不同尺度、不同复杂度的分支(不同分支采用卷积序列、多尺度卷积或者均值池化)丰富特征空间的多样性达到提升单个卷积(注:推理时合并为单个卷积)表达能力的目的。一旦完成训练,一个DBB可以等价地转换为单个卷积以方便布署。
不同于ConvNet架构的推陈出新,DBB在训练时采用了复杂的“微结构”且保持网络整体结构不变;而在推理/部署时,DBB这种复杂结构可以等价转换为单个卷积。这使得DBB可以作为一种“等价嵌入”的模块直接嵌入到现有任意架构中。
通过这种训练-推理时的“异构”,所得模型可以在训练时以更高的复杂度达到更高的性能;而在训练时又可以等价折叠为原始模型以方便布署。在ImageNet数据集上,DBB可以提升模型精度高达1.9%top-1精度;同时对于目标检测以及语义分割均有一定性能提升。
本文主要贡献包含以下几点:
提出一种包含丰富信息的“微结构”且可以作为”即插即用“模块直接嵌入到现有ConvNet(保持模型的”宏观结构“不变)中提升模型性能;
提出了一种通用模块组件DBB,它将六种矩阵变换等价转为为单个卷积,做到了“推理耗时无损”;
提出了一种特征表达方式类似Inception的DBB模块,它可以直接嵌入到ConvNet并取得了显著的性能提升,比如在ImageNet上取得了1.9%的top-1精度提升。
Method
在介绍具体结构之前,我们先来看一下卷积的线性特性;然后再介绍本文所设计的多分支模块。
Linearity of Convolution
我们假设卷积输入通道数为C,输出通道数为D,卷积尺寸为
,那么其卷积核为,偏置参数可选。为方便后续的合并,我们将偏置参数表示为,此时卷积可以表示如下:
输出通道的每个值可以表示如下:
卷积的线性特性可以从上述沟通推导得到,包含同质特性与加法特性:
注:加法特性只有当两个滤波器满足相同配置(比如通道数量、卷积核尺寸、stride、padding等等)时才满足。
Convolution for Diverse Branches
上图给出了本文所设计的包含六种变换的DBB模块,它包含分支加法组合、深度拼接组合、多尺度操作、均值池化以及卷积序列等。在上述多分支模块合并时会涉及到这样几个变换:(1) Conv-BN的合并:(2)分支合并;(3) 卷积序列合并;(4) 深度拼接合并;(5) 均值池化转换;(6) 多尺度卷积转换等。接下来,我们分别针对这六种变换进行介绍。
Transform1:Conv-BN 一般而来,卷积与BN这对“基友”会同时出现,而两者在推理时又可以合并为单一卷积。那么如何合并呢?这个比较简单,公式如下:
这里利用了卷积的同质特性进行合并。变换后的卷积参数如下:
Transform2: Branch Addition 分支合并利用了卷积的加法特性,两个卷积的参数合并方式如下:
Transform3: Conv Sequential 我们可以将连续的
卷积与卷积合并为单个卷积。注:这里假设卷积的groups=1,groups大于1的情况可参考Transform4。此时与两个卷积的卷积核分别为与(注:D可以是任意整数,所以这里可以极大的提升FLOPs,比如把D设置为10000,哈哈)。这两个卷积核的合并方法也是非常简单,公式如下:
注:
表示将为空间。
Transform4:Depth Concatenation Inceptioin采用了深度拼接方式组合不同的分之,当这些分支包含相同配置的卷积时,我们可以通过核参数的拼接进行等价变换,示意图如下。
组合的公式也是非常的简单,描述如下:
此时。这里的组合是一种通用变换,可以将两个分支的卷积变换成组卷积形式。注:在这个情况下,该分支的卷积序列应当具有相同的groups参数。
Transform5:Average Pooling 均值池化到卷积的变换就更简单了,看公式:
Transform6: Multi-scale Conv 考虑到可以通过零padding等价变换为
卷积,因此可以等价的转换,这也就是ACNetV1的本质所在。下图给出另一个等价转换的可视化图。
Inception-like DBB
上图给出了本文所设计的DBB结构示意图。类似Inception,它采用
等组合方式对原始卷积进行增强。对于分支,我们设置中间通道数等于输入通道数并将卷积初始化为Identity矩阵;其他分支则采用常规方式初始化。此外,在每个卷积后都添加BN层用于提供训练时的非线性,这对于性能提升很有必要。
Experiments
为验证所提方案的有效性,我们在CIFAR、ImageNet、Cityscapes、COCO等数据集上进行相关实验对比。下表提供了不同数据集、不同任务上的超参配置。
我们先来看一下CIFAR与ImageNet上的性能对比,结果见上表。可以看到:
在CIFAR10与CIFAR100数据上,DBB可以提升VGG16性能高达0.67%与1.67%;
在ImageNet数据集上,DBB可以提升AlexNet性能达1.96%;可以提升MobileNet0.99%;可以提升ResNet18/50达到1.45%/0.57%。
相比DBB的一个特例ACNet,DBB性能提升更明显。这意味着:采用类似Inception方式组合多路径不同复杂度的分支可能比简单的多尺度卷积更有益于提升模型性能。
与此同时,我们还从权值幅值角度分支了不同分支的重要性。可以看到:
-
三个分支的重要性相当; 对于stride=2的DBB,
更为重要,这意味着:均值池化对于下采样很有用。对于stride=1的DBB,
卷积很有益处。DBB的这种多分支方式可以自适应的组合学习不同尺度的信息。
我们再来看一下目标检测(CenterNet)与语义分割(PSPNet)方面的性能对比,见上表。可以看到:DBB同样可以带来显著的性能提升。
最后,我们再来看一个DBB的各个分支的消融实验分析,结果见上表。从中可以看到:
移除任意一个分支都会导致性能的下降,这意味每个分支都很重要;
从训练高效角度出发,
会是一个不错的选择;相比多个同尺寸卷积的并行,多分支、不同尺寸、不同模式的DBB设计可以取得更佳的性能提升。这意味着:特征表达能力的提升不仅源自参数量,同时还与分支特征的灵活性有关。
最后的最后,我们附上几个DBB的变种,见下图,注:这几种变种的性能均不及前述DBB结构。
全文到此结束,更多消融实验与分析建议各位同学查看原文。
上述论文PDF和代码下载
后台回复:DBB ,即可下载上述论文PDF和代码
后台回复:CVPR2021,即可下载CVPR 2021论文和开源代码合集
重磅!CVer-目标检测交流群成立
扫码添加CVer助手,可申请加入CVer-目标检测 微信交流群,也可申请加入CVer大群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、Transformer、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,才能通过且邀请进群
▲长按加微信群
▲点击上方卡片,关注CVer公众号
整理不易,请给CVer点赞和在看!
CVPR 2021 | 涨点神器ACNet再进化!清华旷视提出Inception类型的DBB相关推荐
- CVPR2021|ACNet再进化,清华大学旷视科技提出Inception类型的DBB
编辑:Happy 首发:AIWalker 原创文章,未经授权,禁止二次转载 paper: https://arxiv.org/pdf/2103.13425.pdf code: https://gith ...
- CVPR 2020 Oral | 人脸识别Loss新突破: 旷视提出Circle Loss,革新深度特征学习范式...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 来源:旷视研究院@微信公众号 旷视研究院提出用于深度特征学习的Circle Los ...
- CVPR 2020 | 旷视提出新型人-物交互检测框架,实现当前最佳
本文转载自旷视研究院 本文提出一种新型人-物交互检测算法,可直接把人-物交互关系检测为一系列的交互点,进一步预测朝向人和物体中心的交互向量:接着,这些交互点可以配对组合人与物体的检测结果,以生成最终的 ...
- CVPR 2021 | 港科大旷视提出ACON:激活还是不激活?学习自定义激活函数
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文转载自:GiantPandaCV | 作者:zzk 简介 在该工作中,我们提出了一种名为ACON(Act ...
- CVPR 2022|解耦知识蒸馏!旷视提出DKD:让Hinton在7年前提出的方法重回SOTA行列!...
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:机器之心 | 旷视科技等 与主流的feature蒸馏方法不同,本研究将重心放回到logits蒸馏 ...
- 高效!Anchor DETR:旷视提出一种基于Transformer的目标检测神器!
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:Sophia知乎 https://zhuanlan.zhihu.com/p/412738375 985人工智能 ...
- CVPR 2020 Oral | 旷视提出Circle Loss,革新深度特征学习范式
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文系旷视研究院投稿 本文是旷视CVPR2020论文系列解读第4篇, ...
- CVPR 2020 Oral | 旷视提出目前最好的密集场景目标检测算法:一个候选框,多个预测结果...
作为 CVPR 2020 Oral展示论文之一, 该文提出一种简单却有效的基于候选框的物体检测方法,尤其适用于密集物体检测.该方法通过一个候选框.多个预测框的概念,引入 EMD Loss.Set NM ...
- 旷视提出Circle Loss,革新深度特征学习范式 |CVPR 2020 Oral
本文提出用于深度特征学习的Circle Loss,从相似性对优化角度正式统一了两种基本学习范式(分类学习和样本对学习)下的损失函数.通过进一步泛化,Circle Loss 获得了更灵活的优化途径及更明 ...
最新文章
- java swing button和键盘监听冲突问题
- LF将由git中的CRLF替换-那是什么,它很重要吗? [重复]
- 软件测试课程学习总结
- lynx命令调用php脚本,lynx
- Kryo 为什么比 Hessian 快
- All Things Intelligence—Baidu World 2020
- 给 iOS 11.3 降个级?苹果果断关闭 11.2.6 验证通道
- 1.3 c++程序的构成和书写形式
- python判断字符串里的字符_Python检测字符串中是否包含某字符集合中的字符
- input验证码框,输入非数字或非12位时,红框提示;每4位加一个空格
- iis反向代理tomcat
- 【githubgirl】如何通过实现一个简单的编译器(TinyC),并借助实例来描述基本的编译原理及过程
- SuperMap iDesktopX “电子地图坐标转换”—火星、百度坐标与常规坐标系之间的转换
- [#5YaZ5LiA56+H5rKh5pyJ5Lq66IO955yL5oeC55qE5Y2a5a6i#]
- 对 sass和less的理解
- centos7安装Memcached
- C. Multiples of Length 思维构造
- 24产品经理需要具备的用户动机分析能力
- Android 根据逗号分隔String
- Java开源 Web开发框架 (一)