【论文笔记】Focal Self-attention for Local-Global Interactions inVision Transformers

声明

不定期更新自己精度论文,通俗易懂,初级小白也可以理解

涉及范围:深度学习方向,包括 CV、NLP、Data Fusion、Digital Twin


论文标题:

Focal Self-attention for Local-Global Interactions in Vision Transformers

Vision Transformer 中局部-全局互动的焦点自我关注

论文链接:https://arxiv.org/abs/2107.00641

论文代码:https://github.com/microsoft/Focal-Transformer

发表时间:2021年7月

创新点

1、提出了一种焦点自注意力机制 Focal-Self-Attention(FSA)

2、基于焦点自注意力机制,提出了一种 Focal Transformer

Abstract

最近,Vision Transformer 及其变体在各种计算机视觉任务上表现出了巨大的潜力。 通过自我注意捕捉短期和长期视觉依赖的能力是成功的关键。但由于二次计算开销,它也带来了挑战,特别是对于高分辨率视觉任务(例如对象检测)。最近的许多工作都试图通过应用粗粒度的全局注意力或细粒度的局部注意力来降低计算和内存成本并提高性能。然而,这两种方法都削弱了多层 Transformer 原始自注意力机制的建模能力,从而导致了次优解决方案。

在本文中,我们提出了焦点自注意力机制,这是一种结合了细粒度局部和粗粒度全局交互的新机制。在这种新机制中,每个令牌都以细粒度关注其最近的周围令牌,而以粗粒度关注远离的令牌,因此可以有效地捕获短程和长程的视觉依赖关系。通过焦点自注意力,我们提出了一种新的 Vision Transformer 模型变体,称为 Focal Transformer,它在一系列公共图像分类和对象检测基准上实现了优于最先进 (SoTA) 视觉 Transformer 的性能。

特别是,我们的 Focal Transformer 模型具有 51.1M 的中等大小和 89.8M 的较大大小,在 224 × 224 的 ImageNet 分类上分别实现了 83.5% 和 83.8% 的 Top-1 准确度。当用作主干时,Focal Transformers 在 6 种不同的对象检测方法中,对当前的 SoTA Swin Transformers 实现一致且实质性的改进。我们最大的 Focal Transformer 在 COCO mini-val/test-dev 上产生 58.7/58.9 box mAP 和 50.9/51.3 mask mAP,在 ADE20K 上产生 55.4 mIoU 用于语义分割,在三个最具挑战性的计算机视觉任务上创建了新的 SoTA。

Method

首先,首先将图像 I 划分为大小为 4×4 的块;

然后,进入 Patch Embedding 层,Patch Embedding层为卷积核和步长都为4的卷积;

再进入,N 个 Focal Transformer 层,在每个stage中,特征的大小减半,通道维度变为原来的两倍。

对于不同任务在最后阶段有所不同,

对于图像分类,我们取最后阶段输出的平均值,并将其发送到分类层;

对于目标检测,根据作者使用的特定检测方法,将最后3个或全部4个阶段的特征映射送到检测头。

Focal self-attention

特征图中的一个查询标记本身以最小的粒度关注其最近的环境。然而,当它进入更远的区域时,它会关注总结的标记来捕获粗粒度的视觉依赖关系。区域离查询越远,粒度越粗,因此它可以有效地覆盖整个高分辨率的特征图,同时在自注意计算中引入的标记数比在完全自注意机制中要少得多。

因此,它能够有效地捕获短期和长期的视觉依赖关系。作者称这种新的机制为焦点自我关注,因为每个令牌都以焦点的方式关注他人。

在下图中,展示了标准自我注意和焦点自我注意的感受野区域。

Window-wise attention

由于,焦点机制能够以更少的时间和内存成本实现远程自我关注,因为它关注的周围 token 数量要少得多;

然而,在实践中,为每个查询位置提取周围的 token 会受到高时间和内存成本的影响,因为需要为所有可以访问它的查询复制每个令牌;

,引用在窗口级别执行焦点自注意力成为一种解决方案。

假设有一个大小为 20 × 20 的输入特征图;

首先,将图片划分为大小为 4 × 4 的 5 × 5 个窗口,以中间的 4 × 4 蓝色窗口作为查询,以多粒度提取其周围的标记级别,作为它的键和值;

对于第一级,我们以最细的粒度提取最接近蓝色窗口的 8 × 8 标记;

然后在第二级,我们扩展注意力区域并池化周围的 2×2 子窗口,从而产生 6×6 池化的令牌;

第三级,我们参与覆盖整个特征图和池 4 × 4 子窗口的更大区域。

最后,将这三个级别的令牌连接起来计算蓝色窗口中 4 × 4 = 16 个token(查询)的键和值 

Focal level(标记级别)

三个粒度级别用于组成蓝色查询的注意区域 ;

可以表示FSA中对特征关注的细粒度程度。level L的下标越小,对特征关注也就越精细。

Sub-windows Pooling

其作用是将多个 token 信息进行聚合,以此来减少计算量。聚合的 token 数越多,后期 attention 计算需要的计算量也就越小,关注的程度也就更加粗粒度,同样聚集的 token 越多感受野越大

Experiments

实验目标:模型配置 

实验目标:不同模型架构下 ImageNet-1k 上图像分类的完整比较

实验结果:Focal Transformer 具有明显优势

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

来自γ星的赛亚人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值