Loading...
墨滴

AIWalker

2021/05/16  阅读:22  主题:极简黑

轻量化卷积:TBC,不仅仅是参数共享组卷积,更具备跨通道建模

编辑:Happy
首发:AIWalker

标题&作者团队
标题&作者团队

大家好,我是Happy。

今天看到一篇非常有意思的文章:Tied Block Convolution,它也是一种轻量化卷积算子,但还算不上即插即用。为什么这么说呢?我理解的即插即用应该是不用对现有模块中其他地方进行任何改进,直接采用该模块替换卷积即可。显然,TBC是做不到的。

言归正传,我们先来看一下TB到底是何方神圣?

Method

TBC Formulation

在证实介绍TBC之前,我们先看一下卷积与组卷机的定义。假设输入特征为 ,输出特征为 。卷积核尺寸表示为 ,为描述的简单性,这里假设输入与输出的分辨率不变。

标准卷积(见上图a)定义如下:

其中, 表示卷积核。也就是说,参数量为

组卷积(见上图b)的则是将输入特征拆分为G个通道数相等的特征 ,且每组共享卷积核参数,即组内为标准卷积,输出再进行concat拼接。组卷机的定义公式如下:

注: 表示concat操作,此时每组卷积核信息 ,组卷积的整体参数量为

Tied Block Convolution (见上图c)是一中有效降低参数量的轻量算子,类似组卷积,它同样将输入特征进行分组,每组内部采用标准卷积进行操作;但不同于组卷积之处在于:组间参数共享。定义公式如下:

注: 。由于组间参数共享,TBC的参数量只有 。很明显,TBC是一种组间参数共享的组卷积

你以为两者之间的异同就这么简简单单的完事了吗?NoNoNo!

  • 相比组卷积,TBC具有更少的参数量;
  • 组卷积需要G个fragmentations进行计算,而TBC仅需一个fragmentation,这可极大的降低并行度。下图对比了GC与TBC在GPU端计算时不同分组数的耗时对比,很明显:TBC耗时几乎不随组数增加而变化,而GC则成线性关系
image-20210515101116372
image-20210515101116372
  • TBC可以更好的建模跨通道相关性。由于GC每组滤波器仅作用于通道子集,因此难以进行跨通道全局建模;而TBC的滤波器可以作用于所有通道,故而可以更好的建模跨通道相关性。
  • 在目标检测与实例分割任务上,基于TCB的TiedResNet显著优于基于GC的ResNeXt模型;TiedResNet-S甚至凭借更小的模型(2x)优于ResNeXt,证实了TiedResNet可以更有效的利用模型参数

Tied Block Group Convolution 类似卷积到组卷积的过度,TBC也可以做成组TBC的形式:TGC,定义如下:

其中, ,G和B分别表示组卷积数与TBC数。

类似地,我们还可以构建Tied Block Fully Connected Layer,由于太简单了,略过吧。

TBC/TGC in Bottleneck Modules

上图给出了TGC、TBC在ResNet、ResNeXt以及ResNeSt中所构建的模块示意图。简单介绍如下:

  • 对于ResNet与ResNeXt中的 部分,我们先手进行分组,每组有各自的TBC/TGC。对于开头与结尾的 ,开头部分替换为TBC(B=2),结尾部分不变。
  • 对于ResNeSt,替换所有 卷积为TBC(B=2)。

默认配置信息:Tied-ResNet50(Tied-ResNeXt50)拆分为4个split且基础宽度为32/64,即 ;Tied-ResNet-S(Tied-ResNeXt50-S)的配置则为

所提TiedBottleNeck可以带来1%的性能提升,然而跨通道集成确实会弱化模型性能,为补偿组之,我们引入了mixer融合多个split的输出,此时可以带来额外的0.5%性能提升。

TBC and TFC in Attention Modules

上图给出了TBC、TFC与注意力模块SE、GCB的组合示意图。这里只是简单地TBC、TFC在对应模块的替换,不再赘述。

Experiments

接下来,我们从图像分类、目标检测、实例分割三个任务上对所提方案的有效性进行验证。

ImageNet Classification

上表对比所提方案与其他基线模型的性能对比,可以看到:

  • TiedResNet50-S取得了与ResNet50相当的性能,且仅需60%计算量、54%参数量;
  • TiedNet50与TiedResNet101同样可以更少的参数量超越了其对应的基线模型,指标分别提升1.5%、1.4%;
  • TiedResNeSt-50-S仅需59%参数量、82%的计算量取得了优于ResNeSt50的性能;
  • TiedResNet50-S凭借相当的参数量、计算朗超过了轻量化模型ShuffleNet50与GhostNet50.

Object Detection & Segmentation

上图给出了所提方案在目标检测方面的性能对比,可以看到:

  • 以Cascade R-CNN、RetinaNet、Mask R-CNN作为基线模型,所提方案可以带来2%-2.5%指标提升;
  • 以RetinaNet作为基线模型,所提方案TiedResNet101显著优于重度模型ResNeXt101-64x4d。
  • 在轻量型方面,TiedResNet-S与TiedResNet相较同量级模型可以带来1.1%、2.1%性能提升;
  • 无论基线检测器多强,我们总是可以看到TBC可以带来性能提升,这进一步说明了TBC的有效性。

上图a与上图b表明:ResNet会受遮挡影响,当 时,ResNet的 指标下降高达6%,而TiedResNet仅下降0.7%。类似地,随着遮挡比例增加,AP的直播啊提升从2.8%到5.9%。这意味着:TiedResNet具有极强的处理重叠实例的能力。上图c表明:TiedResNet具有更少的FP、更高的分割质量。

Lightweight Attention

上表给出了轻量型注意力模块方面的性能对比,从中可以看到:

  • 当B=8时,TiedSE可以带来64倍参数量(仅针对注意力模块)下降,并取得相当性能;
  • 无论是在SEResNet还是EfficientNet,所提TiedSE可以显著降低参数量且不会造成性能牺牲。

全文到此结束,更多消融与实验分析建议各位同学查看原文。

推荐阅读

  1. “重参数宇宙”再添新成员:RepMLP,清华大学&旷视科技提出将重参数卷积嵌入到全连接层
  2. 新坑!谷歌提出MLP-Mixer:一种无卷积、无注意力,纯MLP构成的视觉架构
  3. CVPR2021 | 动态滤波器卷积新高度!DDF:同时解决内容不可知与计算量两大缺陷
  4. 突破置换模块计算瓶颈,MSRA开源轻量版HRNet,超越主流轻量化网络!|CVPR2021
  5. EfficientNet v2来了!更快,更小,更强!
  6. CVPR2021|“无痛涨点”的ACNet再进化,清华大学&旷视科技提出Inception类型的DBB
  7. 动态卷积超进化!通道融合替换注意力,减少75%参数量且性能显著提升 ICLR 2021
  8. 新一代移动端模型MobileNeXt来了!打破常规,逆残差模块超强改进,精度速度双超MobileNetV2
  9. RepVGG|让你的ConVNet一卷到底,plain网络首次超过80%top1精度
- END -

AIWalker

2021/05/16  阅读:22  主题:极简黑

作者介绍

AIWalker

AIWalker让你更轻易的入门深度学习