论文阅读|Swin transformer

 论文链接:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

源码地址:https://github.com/microsoft/Swin-Transformer

参考资料:Swin Transformer:Hierarchical Vision Transformer using Shifted Windows (论文阅读笔记)_酉意铭的博客-优快云博客

(51条消息) Swin-Transformer网络结构详解_霹雳吧啦Wz-优快云博客_swin transformer结构

目录

摘要

Introduction

Related works

CNN和其变种

基于self-attention的backbone架构

self-attention / transformer 补充CNNs


基于Transformer的基准框架

Method

总体架构

Patch Merging

基于shifted window 的self-attention

非重叠窗口中的self-attention

连续块中的shifted window分区

Efficient batch computation for shifted configuration

相对位置编码

参数

 Architecture Variants


摘要

CV中使用transformer挑战:

  1. 目标尺寸多变。不像NLP任务中token大小基本相同,目标检测中的目标尺寸不一,用单层级的模型很难有好的效果。
  2. 图片的高分辨率。尤其是在分割任务中,高分辨率会使得计算复杂度呈现输入图片大小的二次方增长。

相比于Vision Transformer(讲解),Swin Transformer做出了几点改进:

  1. 层次化构建方法:使用了类似卷积神经网络中的层次化构建方法(Hierarchical feature maps),比如特征图尺寸中有对图像下采样4倍的,8倍的以及16倍的,这样的backbone有助于在此基础上构建目标检测,实例分割等任务。而Vision Transformer中直接下采样16倍,后面的特征图也是维持这个下采样率不变。
  2. 特征图划分:在Swin Transformer中使用了Windows Multi-Head Self-Attention(W-MSA)的概念,比如在下图的4倍下采样和8倍下采样中,将特征图划分成了多个不相交的窗口,并且Multi-Head Self-Attention只在每个窗口内进行。相对于Vision Transformer中直接对整个特征图进行Multi-Head Self-Attention,这样做的目的是减少计算量,尤其是在浅层特征图很大的时候。
  3. 窗口变换:特征图划分虽然减少了计算量,但会隔绝不同窗口之间的信息传递,因此所以在论文中作者又提出了Shifted Windows Multi-Head Self-Attention(SW-MSA)的概念,目的是在相邻窗口中传递信息。

Introduction

Transformer 是专为序列建模和转导任务而设计,以其对数据中的长期依赖关系建模的关注而著称。 它在语言领域的巨大成功促使研究人员研究其对计算机视觉的适应性,最近它在某些任务上展示了有希望的结果,特别是图像分类和联合视觉语言建模。

 如图 1(a) 所示,Swin Transformer 通过从小尺寸的patches(灰色轮廓)开始并逐渐合并更深的 Transformer 层中的相邻patches来构建分层表示。通过这些分层特征图,Swin Transformer 模型可以方便地利用先进的技术进行密集预测,例如特征金字塔网络 (FPN) 或U-Net。线性计算复杂度是通过在分割图像的非重叠窗口中局部计算self-attention来实现的(以红色标出)。每个窗口中的patches数量是固定的,因此复杂度与图像大小成线性关系。这些优点使 Swin Transformer 适合作为各种视觉任务的通用backbone,与之前基于 Transformer 的架构形成对比,后者产生单一分辨率的特征图并具有二次复杂性。

 Swin Transformer 的一个关键设计元素是它在连续自注意力层之间的窗口分区的移动(shift),如图 2 所示。移动的窗口(shifted windows)桥接前一层的窗口,提供它们之间的连接,显着增强建模能力(见表 4)。 这种策略在现实世界的延迟方面也很有效:窗口内的所有查询补丁(qu

### Swin Transformer 学术论文 Swin Transformer 是一种基于窗口的分层视觉变换器架构,在计算机视觉任务上表现出色[^1]。为了满足特定需求,研究者们引入了多种改进方法来优化训练过程并提升性能。 #### 论文推荐 一篇重要的学术论文是《Swin Transformer: Hierarchical Vision Transformer using Shifted Windows》。该文章提出了通过移位窗口机制实现局部性和全局性的有效建模,从而提高了模型效率和准确性。此设计使得Swin Transformer能够在保持竞争力的同时减少计算成本。 另一篇值得关注的文章是《AutoFormer: Searching Transformers for Visual Recognition》,其中探讨了自动化搜索技术应用于构建高效的Transformer结构的方法论。虽然重点不完全放在Swin Transformer上,但对于理解如何进一步优化这类模型具有重要价值。 对于希望深入了解Swin Transformer及其应用的研究人员来说,《Masked Autoencoders Are Scalable Vision Learners》也是一份有价值的参考资料。尽管主要讨论的是掩码自编码器作为可扩展的学习工具的作用,但文中提到的技术进步同样适用于增强像Swin Transformer这样的先进框架的表现力。 ```python import torch from swin_transformer import SwinTransformerModel # 假设这是导入预训练好的Swin Transformer库的方式 model = SwinTransformerModel(pretrained=True) def load_swin_paper(): papers = [ "Liu Z, Mao H, Wu C, et al. Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows[J]. arXiv preprint arXiv:2103.14030, 2021.", "Touvron H, Cord M, Douze M, et al. Focal Self-attention for Local-Global Interactions in Vision Transformers[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 7986-7995." ] return papers papers_list = load_swin_paper() for index, paper_info in enumerate(papers_list): print(f"{index + 1}. {paper_info}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值