当前位置: 首页 > news >正文

ICCV 2021 Oral | CoaT: Co-Scale Conv-Attentional Image Transformers

ICCV 2021 Oral | CoaT: Co-Scale Conv-Attentional Image Transformers

在这里插入图片描述

  • 论文:https://arxiv.org/abs/2104.06399
  • 参考:https://zhuanlan.zhihu.com/p/536517021

主要工作

  • 设计了一种简化的线性注意力形式,factorized attention。
  • 设计了一种基于深度分离卷积的卷积相对位置编码。
  • 搭建了一种多尺度交叉形式的架构。

注意力的改进

在这里插入图片描述

线性注意力

A = 1 d Q [ softmax ( K ⊤ ) V ] + E V A = \frac{1}{\sqrt{d}} Q [\text{softmax}(K^{\top})V] + EV A=d 1Q[softmax(K)V]+EV

在设计思路上延续了 Linear Attention的形式,几种不同的Attention可以参考我之前的文章:Vision Transformer之LambdaNetworks。

线性注意力:Softmax 应用于 KV 之间要被消去的维度,即序列索引的维度。这里的运算形式可以看做是 KV 就是对 Q 进行 global data-dependent linear transformation 的权重(空间共享的通道变换)。这种设计在没有位置编码的情况下,考虑到 Transformer 仅由线性层和自注意力组成,一个 token 的输出依赖于相应的输入,而没有考虑到其局部附近特征的任何差异,该属性不利语义分割等任务(例如,天空和具有相同外观属性的蓝色斑块可能被划分为同一类别),所以有必要引入位置信息。

卷积相对位置编码

模型整体使用了卷积位置编码和卷积相对位置编码。其中卷积位置编码与原始的CPE一致。但是卷积相对位置编码就是作者们自己的设计了。

在这里插入图片描述
这里的核心是相对位置嵌入 E V ∈ R N × C EV \in \mathbb{R}^{N \times C} EVRN×C。独立计算的时候,时空复杂度均为序列长度的平方级别。

  • E ∈ R N × N E \in \mathbb{R}^{N \times N} ERN×N 中每个元素表示 Q 中元素与 V 中元素的关系,且 E i , j = 1 ( i , j ) q i ⋅ p j − i , 0 ≤ i , j ≤ N E_{i,j}=\mathbb{1}(i,j)q_i \cdot p_{j-i}, 0 \le i,j \le N Ei,j=1(i,j)qipji,0i,jN
  • 大小为 M M M 的相对位置编码 P = { p i ∈ R C , i = − M − 1 2 , … , M − 1 2 } P = \{p_i \in \mathbb{R}^{C}, i=-\frac{M-1}{2}, \dots, \frac{M-1}{2}\} P={piRC,i=2M1,,2M1}

对于图像而言有:
E V i , j , c v = ∑ ∣ k − i ∣ < M 2 , ∣ l − j ∣ < M 2 ∑ c q ( Q i , j , c q P k , l , c q ) V k , l , c v = ∑ c q Q i , j , c q ∑ ∣ k − i ∣ < M 2 , ∣ l − j ∣ < M 2 ( P k , l , c q V k , l , c v ) EV_{i,j,c_v} = \sum_{|k-i| < \frac{M}{2}, |l-j| < \frac{M}{2}} \sum_{c_q} (Q_{i,j,c_q} P_{k,l,c_q}) V_{k,l,c_v} \\ = \sum_{c_q} Q_{i,j,c_q} \sum_{|k-i| < \frac{M}{2}, |l-j| < \frac{M}{2}} (P_{k,l,c_q} V_{k,l,c_v}) EVi,j,cv=ki<2M,lj<2Mcq(Qi,j,cqPk,l,cq)Vk,l,cv=cqQi,j,cqki<2M,lj<2M(Pk,l,cqVk,l,cv)

所以为了降低计算复杂度,这里将 Q、P 和 V 的每个通道独立作为一个 head 进行处理,即这里的处理就没有了通道维度的索引,变为:

E V i , j c = ∑ ∣ k − i ∣ < M 2 , ∣ l − j ∣ < M 2 ( Q i , j c P k , l c ) V k , l c = Q i , j c ∑ ∣ k − i ∣ < M 2 , ∣ l − j ∣ < M 2 ( P k , l c V k , l c ) EV^c_{i,j} = \sum_{|k-i| < \frac{M}{2}, |l-j| < \frac{M}{2}} (Q^c_{i,j} P^c_{k,l}) V^c_{k,l}\\ = Q^c_{i,j} \sum_{|k-i| < \frac{M}{2}, |l-j| < \frac{M}{2}} (P^c_{k,l} V^c_{k,l}) EVi,jc=ki<2M,lj<2M(Qi,jcPk,lc)Vk,lc=Qi,jcki<2M,lj<2M(Pk,lcVk,lc)

而后面这个形式可以通过深度分离卷积来实现,窗口的相对位置编码即为卷积的权重,V 即为被卷积的特征。输出结果与 Q 直接相乘即可。

基于以上推导,深度卷积可以看做是相对位置编码的一种特殊情况。

多尺度架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验结果

在这里插入图片描述

对比实验

分类密集预测
在这里插入图片描述在这里插入图片描述

消融实验

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

相关文章:

  • js单行代码------数组
  • 量化C++国产框架千星+ WonderTrader
  • Java基于ssm+vue+nodejs的私人牙科门诊预约系统element
  • 微服务项目:尚融宝(56)(核心业务流程:投资列表展示(1))
  • 【文档资料】Linux、Vi/Vim常用命令
  • javascript入门经典 第6版
  • Pr 视频效果:键控
  • 【JavaScript】五个常用功能/案例:高精度乘法 | 批量修改对象属性 | 属性遍历 | 判断是否包含数字 | 检查重复字符串
  • idea运行项目错误 Error running ‘XXXXXXXApplication‘: Command line is too long
  • 计算机/信息类保研er--不同档次学校问的问题类型
  • 计算机毕业设计 SSM与VUE的在线医疗诊断跟踪系统(源码+论文)
  • 【CSS布局】盒子模型
  • 编程语言:微软 Azure CTO 表示,是时候停止在新项目中使用 C 和 C++
  • 韩媒评UDC大会:区块链行业刮“环保之风”,TRON为最环保的企业
  • CSDN竞赛—第六期题解与感想
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • CentOS从零开始部署Nodejs项目
  • express如何解决request entity too large问题
  • HTML中设置input等文本框为不可操作
  • Js基础知识(一) - 变量
  • js中的正则表达式入门
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • npx命令介绍
  • Python socket服务器端、客户端传送信息
  • SAP云平台里Global Account和Sub Account的关系
  • 百度地图API标注+时间轴组件
  • 搭建gitbook 和 访问权限认证
  • 前端自动化解决方案
  • 如何用vue打造一个移动端音乐播放器
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 延迟脚本的方式
  • 一道闭包题引发的思考
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • !$boo在php中什么意思,php前戏
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)为什么要选择C++
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)原始图像数据和PDF中的图像数据
  • ./configure,make,make install的作用
  • .“空心村”成因分析及解决对策122344
  • .describe() python_Python-Win32com-Excel
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .so文件(linux系统)
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)