“新卷王”X-volution

2023-11-13

编辑: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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“新卷王”X-volution 的相关文章

随机推荐

  • 双层神经网络模型

    第8到12行为正向传播算法 输出一个损失函数 其中h为sigmod激活函数 第11行为L2损失函数 第14到20行为反向传播算法 使用梯度下降法对权值进行优化 注 常见的几种Activation Functions
  • FAT32文件系统中文件的“修改时间”

    海思 项目背景 项目中用到AV3板 AV1板及CPU板 AV3板给AV1板校时 CPU板给AV3板校时 AV3板是UTC时间 AV1板和CPU板是CST时间 且时区不能修改 问题说明 AV3板产生的文件的 修改时间 在windows里面查看
  • ESP8266 + Arduino (四) 客户端向服务器发送数据信息---2022.3.5

    学习目的 通过两块esp8266模块实现互联 一块作为服务器 另一块作为客户端 连接成功后客户端发送http请求 并通过客户端的按键来控制服务器端的LED 的亮灭 在这个示例中 ESP8266客户端将会通过HTTP协议向ESP8266服务器
  • MySQL数据类型char与varchar中数字代表的究竟是字节数还是字符数?

    实例是最好的说明 所以 废话少说 看表看例子 mysql gt show create table test varchar utf8 G 1 row Table test varchar utf8 Create Table CREATE
  • 搜索引擎使用技巧汇总,一篇就够了

    搜索引擎使用必知必会技巧汇总 写在前面 我们在从互联网获取信息的时候 使用最频繁的莫过于搜索引擎 查Bug 找资源过程中很浪费时间 而学习一些搜索技巧可以大大提高我们的效率 小Tip 注 以下方法在Google搜索引擎上正常使用 百度未测试
  • CodeWhisperer插件使用体验

    官方教程点击跳转 使用工具 1 vscode 2 插件 AWS Toolkit 免费使用 安装以后如何使用 1 首先要有一个aws账号 2 插件下载好以后登录aws账号 我们主要用这款插件的CodeWhisperer这个功能 其它的自行看官
  • C++多态性:虚函数的调用原理

    C 多态性 虚函数的调用原理 多态性给我们带来了好处 多态使得我们可以通过基类的引用或指针来指明一个对象 包含其派生类的对象 当调用函数时可以自动判断调用的是哪个对象的函数 一个函数说明为虚函数 表明在继承的类中重载这个函数时 当调用这个函
  • Python 三目运算符讲解(作用、语法、代码示例)

    这篇文章介绍三目运算符的作用 语法 利用例子体验一下三目运算符 三目运算符的作用 化简代码量的 化简的是非常简单的if else的代码 也就是if条件成立就执行一句代码 不成立就执行另外一句代码 三目运算符含义 三目运算符也叫作三元运算符或
  • Linux - 系统性能监控

    重点讨论一些有助于监视系统整体性能的工具 当理解了工作负荷的系统整体性能特征之后 还可以使用这组工具标识出哪些特定进程是整体工作负荷的性能瓶颈 在许多情况下 系统监视工具有助于推动系统调优工作 使得关键的性能瓶颈得到极大减少或消除 另一些情
  • PHP反序列化漏洞——云演

    昨天搞了搞掌控的反序列化 突然想到当时打CTF时老师给我们冲了个云演的靶场 就去看了看 也有反序列化漏洞 顺手搞搞加深一下印象 第一题 点进去后是这样的 还记得昨天的 php中有一类特殊的方法叫 Magic function 魔术方法 这里
  • tf.keras遇见的坑:Output tensors to a Model must be the output of a TensorFlow `Layer`

    报错为 Output tensors to a Model must be the output of a TensorFlow Layer 再编写TEXT CNN模型时 代码报错 以下为报错代码 convs inputs keras la
  • 如何用Flask和Redis来动态维护代理池

    我们在爬虫时可能会遇到封IP的问题 那么利用代理就可以进行IP的伪装 然后进行爬虫的请求 我们有时会需要非常多的ip 那么维护一个代理池 代理的队列 可以存入或取出 需要对整个池进行定期的检查和更新 以此来保证代理的高质量 也就是代理的检测
  • 腹部仿体abdomen phantom的MATLAB实现及探讨

    abdomen phantom 官网给出的切片图如下 我利用MATLAB实现的情况如下 切片像素矩阵为256 256时 中心切片如图 切片像素矩阵为512512时 中心切片如图 可见 1 512512尺寸的在线对区域差别明显 多一条竖直线
  • 学习Java——自动拆装箱

    目录 引言 基本数据类型 数据类型有什么好处 整数的取值范围 超出范围怎么办 包装类型 为什么需要包装类 拆箱与装箱 自动拆箱与装箱 实现原理 哪些场景会用到 场景一 将基本数据类型放入集合类 场景二 包装类型和基本类型的大小比较 场景三
  • AD软件点击启动没有反应

    文章目录 一 AD无法启动 二 解决方法 一 AD无法启动 之前用了很久的AD16 突然某一天打开电脑 点开AD 结果一点反应没有 我还楞了一下 怎么今天你小子不想上班了 然后又点了一次 还是没反应 于是头铁继续试了几次 离了个大谱 一点东
  • vue-element-admin 页面内点详情跳转

    之前都是点击按钮以弹窗的形式展示信息 现在有个需求是点了页面内的详情按钮后进行路由跳转 跳到一个新的页面上去 1 先添加路由 route index js path test component Layout redirect test n
  • Windows Server2016 安装docker 所踩的坑

    献给小白用户 首先参考官网文档 https docs microsoft com zh cn virtualization windowscontainers deploy containers deploy containers on s
  • 2023年最新前端面试题汇总大全二(含答案超详细,Vue,TypeScript,React,微信小程序,Webpack 汇总篇)-- 持续更新

    HTML篇 CSS篇 JS篇 Vue篇 TpeScript篇 React篇 微信小程序篇 前端面试题汇总大全 含答案超详细 HTML JS CSS汇总篇 持续更新 前端面试题汇总二 逐步更新 五 Vue 篇 1 谈谈你对MVVM开发模式的理
  • 万物革新人们刷脸支付需求越来越多元化

    随着时代的进步 技术的革新 消费者的消费逐渐感性化 它们已经不满足于大众化的同类消费 独出心裁 别具匠心的个性化消费逐渐成为潮流 刷脸支付的出现 让消费者拥有更具科技感 新鲜感 以及高效的消费体验 更是尽可能的满足了年轻一代消费者的支付需求
  • “新卷王”X-volution

    编辑 Happy 首发 AIWalker 在本文中 华为上交 华为海思提出了一种集成卷积与自注意力的Xvolution 它将卷积与自注意力进行了集成 同时利用卷积的局部特征提取能力与自注意力的全局建模能力 更重要的是 它通过结构重参数化机制