“新卷王”X-volution | 将卷积与自注意力进行高效集成,上交与华为海思提出了Xvolution

编辑:Happy
首发:AIWalker

标题&作者团队

在本文中,华为上交&华为海思提出了一种集成卷积与自注意力的Xvolution,它将卷积与自注意力进行了集成,同时利用卷积的局部特征提取能力与自注意力的全局建模能力。更重要的是,它通过结构重参数化机制将卷积与自注意力组合的多分支结构转换乘了等价单一卷积形式,达到了涨点的同时具有高度硬件实现友好的目的。此外,Xvolution是一种广义形式,其自注意力部分可以是自注意力形式还是可以是Involution形式。相比自注意力与Involution,所提方案取得了更佳的性能提升。

Abstract

卷积与自注意力是深度神经网络两种最基本部件,前者以线性方式提取局部图像特征,后者通过非局部方式编码高阶上下文关系。尽管两者本质上具有互补性,但由于两者计算模式的差异性,当前优秀的架构(包含CNN与Transformer)仍缺少一种将上述两部件统一到同一模块的方案。

我们从理论上推导了一种全局自注意力近似机制,它通过卷积操作在变换特征上对自注意力进行近似。基于所提逼近机制,我们构建了一种包含卷积与自注意力操作的多分支模块以同时利用了局部与非局部特征交互作用。更重要的是,完成训练后,该多分支模块可以通过结构重参数化转换为单个卷积操作。我们将其称之为X-volution,它是一种“即插即用”模块,可以嵌入到任意深度卷积网络中。

我们在ImageNet分类、COCO检测与分割等任务上验证了所提Xvolution的有效性。比如,Xvolution在ImageNet上取得了1.2%top1精度提升;在COCO检测任务上取得了1.7boxAP指标提升;在COCO分割任务上取得了1.5mAP指标提升。

Method

我们首先对卷积与自注意力的本质数学公式进行回顾;然后针对全局自注意力提出了一种简单的近似机制,它可以直接转为了卷积形式;最后我们了介绍了如何在推理阶段将卷积与自注意力合并为单一卷积操作。

The Convoution Module

卷积是一种计算密集型算子,它在局部区域通过线性加权方式估计输出。给定输入张量$ X \in R^{C_i \times H \times W} , 估 计 的 输 出 ,估计的输出 Y \in R^{C_o \times H \times W}$可以通过如下公式计算得到:
Y C o , i , j = ∑ c i = 0 C i ∑ ( δ i , δ j ) ∈ Δ k w c o , c i , δ i + ⌊ K / 2 ⌋ , δ j + ⌊ K / 2 ⌋ X c i , i + δ i , j + δ j + B c o Y_{C_o, i,j} = \sum_{c_i=0}^{C_i} \sum_{(\delta_i, \delta_j) \in \Delta_k} w_{c_o, c_i, \delta_i + \lfloor K/2\rfloor, \delta_j +\lfloor K/2 \rfloor} X_{c_i, i+\delta_i, j+\delta_j} + B_{c_o} YCo,i,j=ci=0Ci(δi,δj)Δkwco,ci,δi+K/2,δj+K/2Xci,i+δi,j+δj+Bco

从上述公式可以看到:卷积是一种一阶线性加权操作

The Self-Attention Module

自注意力是视觉任务中另一种涨点必备模块,它旨在通过构建长距离语义交互提升模型性能。与卷积不同,自注意力不是直接在张量层面进行处理,而是先将特征张量reshap为向量 X ∈ R C × L X \in R^{C\times L} XRC×L,然后通过如下方式计算:
Y = s o f t m a x ( ( W Q X ) T W K X ) W V X = W ~ ( X ) X Y = softmax((W^QX)^TW^KX)W^V X = \tilde{W}(X)X Y=softmax((WQX)TWKX)WVX=W~(X)X
从上述公式可以看到:自注意力是一种动态的、空间可变的操作,是一种高阶全局操作

The Approximation of Global Self-Attention

全局自自注意力是最原始的注意力机制,其优势源自全局性。然而,它的计算复杂度 O ( n 2 ) O(n^2) O(n2)是不可接受的,这使得其在视觉任务中的应用极为有限。关键问题就变成了:我们能否推导出一个关于 W ~ ( X ) \tilde{W}(X) W~(X)的合理近似?,也就是说我们能否从离线操作(比如卷积、元素乘)中找到一个关于 W ~ ( X ) \tilde{W}(X) W~(X)的紧致计算模式?。接下来,我们将表明:通过简单的元素移位与点乘,我们可以通过卷积形式进行全局自注意力的近似

假设特征张量X某一位置的特征向量表示为 x o x_o xo,其注意力 s 0 s_0 s0可以描述如下:

其中, α t = w p w q w k x \alpha_t = w^pw^qw^kx αt=wpwqwkx。从上式可以看到,它将全局子注意力转换为了两部分:局部与非局部,可参见下图,绿色区域代表局部区域,灰色区域代表非局部区域。

因此, x 0 x_0 x0处的全局自注意力可以通过对近邻像素的注意力结果加权得到。也就是收,我们可以设计一种近似操作通过点到点的上下文相关传播估计全局注意力。因此,我们提出了全局注意力近似机制:PSSA(Pixel Shift Self-Attention),它采用像素移位与卷积估计全局注意力。具体来说,我们首先对特征图沿给定方向(比如左、右、上、下)移位L像素,然后我们计算量两者之间的点乘得到变换特征。事实上,移位乘操作构建了近邻点之间的上下文关系,通过分层堆叠,我们可以将上下文关系传播到全局区域。最后,我们在变换后特征上执行加权和得到近似自注意力图。注:所提PSSA的计算复杂度为 O ( n ) O(n) O(n)。尤其值得一提的是:PSSA转自注意力转成了变换特征的标准卷积操作。其计算流程可参见下图。

X-volution

卷积凭借局部与各向同性的归纳偏置具有平移不变性,然而卷积的局部特性使其无法构建长距离关系,而这对于图灵原子完备操作非常重要。相反,自注意力则忽视了上述归纳偏置,力求在没有明确模型假设的情况下从数据集中发现自然模式,这使得自注意力非常大的自由度进行复杂关系(比如长距离依赖于、各向异性、强局部相关等)探索,进而导致该机制需要更大的训练数据。此外,自注意力比较难以训练,需要更长的训练周期与复杂的技巧。

有鉴于此,AANet与CVT认为应当将卷积引入到自注意力中医改善其鲁棒性与性能。简而言之,同时利用不同模型假设,进而同时利用两者的优化特性、注意力范畴以及内容依赖性

不同于AANet与CVT,我们采用前面Figure1所示的方案,它同时利用了结构重参数化思想将训练与测试进行解耦。

  • 在训练阶段,所提模块为多分支结构:一个分支为标准卷积,一个分支为本文所提全局自注意力近似版。
  • 在推理阶段,将两个分支合并为单一卷积操作。

结构重参数化可以简单网络结构使其变得更为规整,同时具有加速计算的效果。值得注意的是:在这里,我们对其尽心该扩展以合并卷积与自注意力。按照上述公式,我们可以等价的将多分支模块转换为动态卷积操作Xvolution。

Network Architecture

下表以ResNet50为例说明了所得到Xvolution的嵌入方式以及改进后ResNet50的架构信息。

Experiments

在实验方面,我们在ImageNet分类、COCO检测与分割等任务上进行了对比。关于实验超参配置请自行查看原文,这里略多,仅提供主要结果。

上表&图提供了ImageNet数据集上的结果对比以及所构建的Bottleneck示意图。从表中数据可以看到:

  • 在ResNet34与ResNet50方面,所提Xvolution取得了一致性能提升,验证了所提多分支设计的有效性;
  • 不同阶段的Xvolutio嵌入具有不同的影响,Stage3嵌入可以带来更佳的性能提升。

上表给出了所提方案在COCO检测任务上的性能对比,从中可以看到:

  • 三个版本的Xvolution均超越了其对应的自注意力形式。
  • X-volution(SA)取得了最佳性能提升:1.7boxAP;
  • 上述结果表明:图灵完备原子操作有助于视觉理解,而这却被现有计算操作忽视了
  • 基于PSSA的Xvolution取得了与X-volution(SA)相当的性能,这意味着Xvolution的近似表现很好,而它对于硬件实现与计算更为友好。

上表给出了所提方案在COCO分割任务上的性能对比,从中可以看到:

  • 所提Xvolution以较大优势超越了其他方案,比如自注意力与Involution;
  • 相比ResNet50,Xvolution(SA取得了2.0boxAP与1.5mAP指标提升,同时比自注意力方案提升1.7boxAP与1.1mAP指标;
  • 与Involution的组合取得了比Involution更佳的性能,指标超出0.3boxAP与0.1mAP;
  • 上述结果验证了Xvolution操作的优越性,说明:局部与全局上下文信息的集成有助于更精确的实例分割

个人理解

这篇论文从一个比较新颖的角度出发,将卷积与自注意力机制进行了巧妙集成与转换,达到了取二者之长的目的。

该文还采用结构重参数化机制进行训练与推理结构。但是,这里的结构重参数化与RepVGG、ACNet、DBB等重参数化不一样。之前的重参数化后的模块就是一个标准卷积,而这里结构重参数化后是一个动态卷积。但实际上,动态卷积并不是一个硬件实现友好的操作。

该文将自注意力与卷积通过多分支方式进行了巧妙集成,这种集成方式其实与RepMLP有异曲同工之妙。本文采用了自注意力机制进行全局信息建模,而RepMLP则采用MLP进行全局信息建模。两者的区别在于:全局建模的动态性与静态性

自注意力与卷积的结合其实在去年就已有了,比如港中文贾佳亚团队投于CVPR2020的SANet从双边滤波的角度同时集成了局部与自注意力特性,当然也可以转换成本文推理阶段的动态卷积形式。可以参考笔者之前的解读:

比CNN更强有力,港中文贾佳亚团队提出两类新型自注意力网络|CVPR2020

推荐阅读

  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. Face++张祥雨&孙剑新作WeightNet,高性能涨点并将SENet与CondConv进行统一
  9. SANet|融合空域与通道注意力,南京大学提出置换注意力机制
  10. RepVGG|让你的ConVNet一卷到底,plain网络首次超过80%top1精度
  11. 通道注意力新突破!从频域角度出发,浙大提出FcaNet:仅需修改一行代码,简洁又高效
  12. HS-ResNet | 超越ResNeSt,ResNet又一改进,“分层拆分模块”
  13. 消除Aliasing!加州大学&英伟达提出深度学习下采样新思路:自适应低通滤波器层
  14. 与SENet互补提升,华为诺亚提出自注意力新机制:Weight Excitation|ECCV2020
  15. 新一代移动端模型MobileNeXt来了!打破常规,逆残差模块超强改进,精度速度双超MobileNetV2
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIWalker-Happy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值