收录会议:CVPR2021
论文单位:旷视研究院
论文链接:https://arxiv.org/abs/2103.13425
一.概要
从题目上可以看出本工作的重点在于提出了一个多样性分支模块(DBB),这个模块类似于Inception单元。前人的工作已经证明Inception模块已经证明多分支拓扑以及不同规模和复杂度的各种路径的组合可以丰富提取的特征空间以提高性能。但是这样复杂的结构在验证时会降低速度。一般对于神经网络模型的应用都是先在强大的GPU工作站上训练模型并将训练好的模型部署在效率敏感的设备上,因此作者认为只要部署的模型保持相同的大小,以更多的训练资源为代价提高性能是可以接受的。本文的贡献点主要如下:
- 作者将丰富的微观结构整合到各种卷积神经网络中,提高性能但是保持原始的宏观结构。
- 本文提出了通用模块(DBB),并总结了六个转换以将DBB转换为单个卷积。这样就可以保持在测试时没有增加时间代价。
- 进行了很多实验,实验表明本文提出的类似Inception的DBB模块可以在ImageNet,COCO检测和Cityscapes上均提高其性能。
作者在Github上放出了源码:https://github.com/DingXiaoH/DiverseBranchBlock.
由于本文重点关注的是DBB模块到一个卷积的转换,因此首先需要回顾一下线性卷积:
线性卷积在本文中表示如下
二.不同分支的卷积
本文贡献的第二点提到,本文总结了六个转换来转换DBB,分别是批量归一化(BN)、分支相加、深度串联、多尺度操作、平均池化和卷积序列。
转换1:卷积+BN->卷积
在实际应用中通常在卷积层后加一个BN层,来执行通道归一化和线性缩放。计算公式如下
转换2:分支相加->卷积
此公式仅适用于具有相同配置的卷积层。
转换3:连续卷积->卷积(1×1conv-BN-K×Kconv-BN→K×Kconv)
其中TRANS()表示转置操作。
转换4:深度级联->卷积
转换4对于转换3推广到分组情况很有效,在转换3中所讨论的为默认group=1的情况,当group>1时看成等价地将1×1conv-BN-K×Kconv-BN→K×Kconv分为g组,分别进行转换3操作,再级联输出,具体操作如下图所示。
转换5:平均池化->卷积
内核大小为K,步长为s应用到C通道的平均池化等效为具有相同K和s的卷积
转换6:多尺度卷积->卷积
上图展现的就是将1×1转化为3×3
类似于Inception的DBB模块:
从图中可以看出提出的DBB模块可以等效的转换为用于部署的一个K×K大小的卷积层。这样可以在不影响宏观建构或者测试时间的情况下使得训练时的卷积神经网络结构更复杂。此模块中内容全部包含于之前介绍的六种转换,因此可以实现将DBB模块转化成一个K×K大小的卷积。
三.实验结果
实验设置如下:
在CIFAR和ImageNet上的结果如下:
其中ACNet是将卷积换成下图左侧所示,DBB-Net是将卷积换成下图右侧所示(类似Inception)
其中ACNet中的ACB[8]模块是一个本文DBB的一个特殊的例子,通过上面的结果可以看出DBB-Net相对于ACNet结果更好,也就是说将路径与类似Inception的不同复杂性相结合可能比聚合多尺度卷积生成的特征对于模型更有利。
通过显示四个BN层的缩放因子来进一步验证每一个分支的重要性,结果如下图所示,缩放因子的分布多样性表明DBB-Net学习了每个模块的不同分支的不同组合。
目标检测和语义分割——消融实验
消融实验结果如下:
四.总结
本论文的重点在于构建的DBB模块,它通过单个卷积实现了不同分支的组合。DBB能够在没有额外测试成本的情况下提高现有卷积神经网络框架的性能。
首发:旷视研究院
作者:丁霄汉
专栏文章推荐
- CVPR 2021论文解读Vol.8 | UPFlow:基于特征金字塔结构的无监督光流估计学习
- 技术的真相 | 从AR口红试妆了解人工智能试妆技术
- ICCV 2021 官宣啦!旷视研究院入选论文亮点解读!
欢迎关注旷视研究院极术社区专栏,定期更新最新旷视研究院成果
加入旷视:career@megvii.com