来源:机器之心

Transformer 近来在各种视觉任务上表现出卓越的性能,感受野赋予 Transformer 比 CNN 更强的表征能力。然而,简单地扩大感受野会引起一些问题。一方面,使用密集注意力(例如 ViT)会导致过多的内存和计算成本,并且特征可能会受到超出兴趣区域的无关部分的影响;另一方面,PVT 或 Swin Transformer 中采用的稀疏注意力与数据无关,可能会限制对远程(long range)关系建模的能力。

为了缓解这些问题,清华大学、AWS AI 和北京智源人工智能研究院的研究者提出了一种新型可变形自注意力模块,其中以数据相关的方式选择自注意力中键值对的位置。这种灵活的方案使自注意力模块能够专注于相关区域并捕获更多信息特征。

在此基础上,该研究提出了可变形注意力 Transformer(Deformable Attention Transformer,DAT),一种具有可变形注意力的通用主干网络模型,适用于图像分类和密集预测任务。该研究通过大量基准测试实验证明了该模型的性能提升。

论文地址:https://arxiv.org/abs/2201.00520v1

可变形注意力 Transformer

现有的分层视觉 Transformer,特别是 PVT 和 Swin Transformer 试图解决过多注意力的挑战。前者的下采样技术会导致严重的信息损失,而后者的 Swin 注意力导致感受野的增长要慢得多,这限制了对大型物体进行建模的潜力。因此,需要依赖于数据的稀疏注意力来灵活地对相关特征进行建模,从而导致首先在 DCN [9] 中提出可变形机制。

然而,在 Transformer 模型中实现 DCN 是一个不简单的问题。在 DCN 中,特征图上的每个元素单独学习其偏移量,其中 H ×W ×C 特征图上的 3 × 3 可变形卷积具有 9 HWC 的空间复杂度。如果在注意力模块中直接应用相同的机制,空间复杂度将急剧上升到 N_qN_kC,其中 N_q、N_k 是查询和键的数量,通常与特征图大小 HW 具有相同的比例,带来近似于双二次的复杂度。

尽管 Deformable DETR [54] 已经设法通过在每个尺度上设置较少数量的 N_k = 4 的键来减少这种开销,并且可以很好地作为检测头,但由于不可接受的信息丢失(参见附录中的详细比较),在骨干网络中关注如此少的键效果不佳。与此同时,[3,52] 中的观察表明,不同的查询在视觉注意力模型中具有相似的注意力图。因此,该研究选择了一个更简单的解决方案,为每个查询共享移位键和值,以实现有效的权衡。

模型架构

该研究在 Transformer(等式 (4))中的可变形注意力替换了 vanilla MHSA,并将其与 MLP(等式 (5))相结合,以构建一个可变形的视觉 transformer 块。在网络架构方面, DAT 与 [7, 26, 31, 36] 共享类似的金字塔结构,广泛适用于需要多尺度特征图的各种视觉任务。如下图 3 所示,形状为 H × W × 3 的输入图像首先被步长为 4 的 4 × 4 非重叠卷积嵌入,然后一个归一化层获得补丁嵌入。

为了构建分层特征金字塔,主干包括 4 个阶段,步幅逐渐增加。在两个连续的阶段之间,有一个步长为 2 的非重叠 2×2 卷积,对特征图进行下采样,将空间大小减半并将特征维度加倍。

在分类任务中,该研究首先对最后阶段输出的特征图进行归一化,然后采用具有池化特征的线性分类器来预测对数;在对象检测、实例分割和语义分割任务中,DAT 在集成视觉模型中扮演主干的角色,以提取多尺度特征。该研究为每个阶段的特征添加一个归一化层,然后将它们输入到以下模块中,例如对象检测中的 FPN [23] 或语义分割中的解码器。

实验

该研究在 3 个数据集上进行了实验,以验证提出的 DAT 的有效性。该研究展示了在 ImageNet-1K [10] 分类、COCO 目标检测和 ADE20K 语义分割任务上的结果。此外,该研究提供了消融研究和可视化结果,以进一步展示该方法的有效性。

ImageNet-1K 分类

ImageNet-1K [10] 数据集有 128 万张用于训练的图像和 5 万张用于验证的图像。研究者在训练分割上训练 DAT 的三个变体,并报告验证分割上的 Top-1 准确度,并与其他 Vision Transformer 模型进行比较。

该研究在下表 2 中给出了有 300 个训练 epoch 的结果。与其他 SOTA 视觉 Transformer 模型相比, DAT 在具有相似计算复杂性的情况下在 Top-1 精度上实现了显著提高。DAT 在所有三个尺度上都优于 Swin Transformer [26]、PVT [36]、DPT [7] 和 DeiT [33]。没有在 Transformer 块 [13, 14, 35] 中插入卷积,或在补丁嵌入 [6, 11, 45] 中使用重叠卷积,DAT 比 Swin Transformer [26] 实现了 +0.7、+0.7 和 +0.5 的增益。在 384 × 384 分辨率下进行微调时,该模型继续比 Swin Transformer 性能好 0.3。

COCO 目标检测

COCO 目标检测和实例分割数据集有 118K 的训练图像和 5K 的验证图像。该研究使用 DAT 作为 RetinaNet [24]、Mask R-CNN [17] 和 Cascade Mask R-CNN [2] 框架中的主干,以评估该方法的有效性。该研究在 ImageNet-1K 数据集上对该模型进行 300 个 epoch 的预训练,并遵循 Swin Transformer [26] 中类似的训练策略来公平地比较该方法。该研究在 1x 和 3x 训练计划中报告在 RetinaNet 模型上的 DAT。如下表 3 所示,在微型和小型模型中,DAT 的性能优于 Swin Transformer 1.1 和 1.2 mAP。

当在两阶段检测器(例如 Mask R-CNN、Cascade Mask R-CNN)中实现时,DAT 模型在不同尺寸的 Swin Transformer 模型上实现了一致的改进,如下表 4 所示。

下表 5 给出了在验证集上各种方法的 mIoU 分数。

消融实验

为了验证 DAT 模型中关键组件设计的有效性, 该研究进行了消融实验,报告了基于 DAT-T 的 ImageNet-1K 分类结果。对于几何信息开发,该研究首先评估了所提可变形偏移和可变形相对位置嵌入的有效性,如下表 6 所示。

对于不同阶段的可变形注意力,该研究用不同阶段的可变形注意力替换了 Swin Transfomer [26] 的移位窗口注意力。如下表 7 所示,仅替换最后阶段的注意力提高了 0.1,替换最后两个阶段导致性能增益为 0.7(达到 82.0 的整体准确度)。然而,在早期阶段用更多可变形注意力替换会略微降低准确性。

可视化

该研究在 DAT 中可视化学习变形位置的示例,以验证该方法的有效性。如下图 4 所示,采样点描绘在对象检测框和实例分割掩码的顶部,从中可以看到这些点已转移到目标对象。

重磅!DLer-CVPR2022论文分享交流群已成立!

大家好,这是CVPR2022论文分享群里,群里会第一时间发布CVPR2022的论文解读和交流分享会,主要设计方向有:图像分类、Transformer、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。

进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)

当Swin Transformer遇上DCN,效果惊人!相关推荐

  1. 当Swin Transformer遇上DCN,清华可变形注意力Transformer模型优于多数ViT

    ©作者 | 小舟 来源 | 机器之心 本文中,来自清华大学.AWS AI 和北京智源人工智能研究院的研究者提出了一种新型可变形自注意力模块,其中以数据相关的方式选择自注意力中键值对的位置,使得自注意力 ...

  2. 超越Swin Transformer!谷歌提出了收敛更快、鲁棒性更强、性能更强的NesT

    [导读]谷歌&罗格斯大学的研究员对ViT领域的分层结构设计进行了反思与探索,提出了一种简单的结构NesT,方法凭借68M参数取得了超越Swin Transformer的性能. 文章链接:htt ...

  3. 【论文阅读】Swin Transformer Embedding UNet用于遥感图像语义分割

    [论文阅读]Swin Transformer Embedding UNet用于遥感图像语义分割 文章目录 [论文阅读]Swin Transformer Embedding UNet用于遥感图像语义分割 ...

  4. Congested Crowd Instance Localization with Dilated Convolutional Swin Transformer

    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Congested Crowd Instance Localization with Dilated Convolution ...

  5. 继 Swin Transformer 之后,MSRA 开源 Video Swin Transformer,在视频数据集上SOTA

    关注公众号,发现CV技术之美 继上半年分享的『基于Transformer的通用视觉架构:Swin-Transformer带来多任务大范围性能提升』.『Swin Transformer为主干,清华等提出 ...

  6. 【读点论文】A ConvNet for the 2020s,结合swin transformer的结构设计和训练技巧调整resnet网络,在类似的FLOPs和参数量取得更好一点的效果

    A ConvNet for the 2020s Abstract 视觉识别的"咆哮的20年代"始于视觉transformer(ViTs)的问世,它迅速取代ConvNets成为最先进 ...

  7. 无需在数据集上学习和预训练,这种图像修复新方法效果惊人 | 论文

    林鳞 编译自 Github 量子位 出品 | 公众号 QbitAI Reddit上又炸了,原因是一个无需在数据集上学习和预训练就可以超分辨率.修补和去噪的方法:Deep image prior. 帖子 ...

  8. 站在CNN肩膀上的巨大腾飞,Swin Transformer:实现对各类SOTA的降维打击

    作者丨陀飞轮@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/360513527 导读 本文介绍了一种称为Swin Transformer的新型transformer, ...

  9. 当图网络遇上计算机视觉!计算机视觉中基于图神经网络和图Transformer的方法和最新进展...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 可能是目前最全面的<当图网络遇上计算机视觉>综述!近四 ...

最新文章

  1. 坑 之 Tensorflow安装在导入模块时会出现ImportError: DLL load failed: 找不到指定的模块的问题
  2. html5录音怎么保存到本地,详解HTML5 录音遇到的坑
  3. SAP Enable Now
  4. Python安装pygame教程
  5. python爬取微博评论_python爬虫手把手教你抓取微博评论(完整代码)
  6. Spark入门项目Top10
  7. Linux操作系统安全加固总结
  8. php 孤儿进程组,孤儿进程组(Orphaned Process Groups) APUE2学习笔记
  9. python repr函数_python的str和repr函数
  10. 基于51单片机的智能汽车雨刮器的程序设计proteus仿真
  11. python解一元二次方程虚根_怎么用python解一元二次方程
  12. 使用STM32F4浮点运算(FPU)功能开启+使用DSP库
  13. PyQt(Python+Qt)学习随笔:formLayout的layoutLabelAlignment 属性
  14. 轻量级rpc框架Hessian
  15. 02-Lynda备用
  16. JTS Geometry
  17. 友好城市(线性dp)
  18. php中英尺厘米换算,将cm换算为ft (厘米换算为英尺)
  19. 2.6. 字符类型与字符编码
  20. font-family解惑

热门文章

  1. 通过几个Hello World感受.NET Core全新的开发体验
  2. 如何给iOS 分类添加 属性
  3. Cocos2d之Texture2D类详解之将文件加载成Texture2D对象
  4. SIPp工具Linux下安装
  5. js的Prototype属性 解释及常用方法
  6. AdminStudio 9.x优惠升级到AdminStudio 11.0的机会只剩三周
  7. 第五节13读取配置中的连接字符串
  8. Windows server 2008 R2 通过策略关闭密码复杂性
  9. 在Windows 7下安装Oracle 11g的解决方法
  10. 前端 圆形进度图_图解CSS3制作圆环形进度条的实例教程