Swin Transformer理论讲解
本文提出了一个新的视觉Transformer,称为Swin Transformer,它可以作为计算机视觉的一个通用骨干(backbone)。将Transformer从语言改编为视觉的挑战来自于两个领域之间的差异,比如视觉实体的尺度变化很大,以及与文本中的文字相比,图像中的像素分辨率很高。为了解决这些差异,我们提出了一个层次化的Transformer,其表示方法是通过 S \textbf{S} Shifted win \textbf{win} windows来计算的。移位的窗口方案通过将自我注意(self-attention)的计算限制在不重叠的局部窗口,同时也允许跨窗口的连接,从而带来了更高的效率。这种分层结构具有在不同尺度上建模的灵活性,并且相对于图像大小具有线性计算复杂性。Swin Transformer的这些特质使其与广泛的视觉任务兼容,包括图像分类(ImageNet-1K上87.3%的最高准确率)和密集预测任务,如物体检测(COCO test-dev上58.7%的APbox和51.1%的APmask)和语义分割(ADE20K val上53.5% mIoU)。它的性能超过了以前的最先进水平,在COCO上为+2.7% APbox和+2.6% APmask,在ADE20K上为 +3.2% mIoU,证明了基于Transformer的模型作为视觉骨干的潜力。分层设计和移位窗口的方法也被证明对所有MLP架构有益。代码和模型在this https URL公开提供。
This paper presents a new vision Transformer, called Swin Transformer, that capably serves as a general-purpose backbone for computer vision. Challenges in adapting Transformer from language to vision arise from differences between the two domains, such as large variations in the scale of visual entities and the high resolution of pixels in images compared to words in text. To address these differences, we propose a hierarchical Transformer whose representation is computed with \textbf{S}hifted \textbf{win}dows. The shifted windowing scheme brings greater efficiency by limiting self-attention computation to non-overlapping local windows while also allowing for cross-window connection. This hierarchical architecture has the flexibility to model at various scales and has linear computational complexity with respect to image size. These qualities of Swin Transformer make it compatible with a broad range of vision tasks, including image classification (87.3 top-1 accuracy on ImageNet-1K) and dense prediction tasks such as object detection (58.7 box AP and 51.1 mask AP on COCO test-dev) and semantic segmentation (53.5 mIoU on ADE20K val). Its performance surpasses the previous state-of-the-art by a large margin of +2.7 box AP and +2.6 mask AP on COCO, and +3.2 mIoU on ADE20K, demonstrating the potential of Transformer-based models as vision backbones. The hierarchical design and the shifted window approach also prove beneficial for all-MLP architectures. The code and models are publicly available at~\url{this https URL}.
Subjects: Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG)
Cite as: arXiv:2103.14030 [cs.CV]
(or arXiv:2103.14030v2 [cs.CV] for this version)
https://doi.org/10.48550/arXiv.2103.14030
Focus to learn more
Submission history
From: Han Hu [view email]
[v1] Thu, 25 Mar 2021 17:59:31 UTC (1,064 KB)
[v2] Tue, 17 Aug 2021 16:41:34 UTC (1,065 KB)
ICCV 2021 Best Paper
论文地址:https://doi.org/10.48550/arXiv.2103.14030
源码地址:https://github.com/microsoft/Swin-Transformer
0. 引言
0.1 Swin Transformer与Vision Transformer的对比
二者的不同之处:
- Swin-Transformer所构建的特征图是具有层次性的,很像我们之前将的卷积神经网络那样,随着特征提取层的不断加深,特征图的尺寸是越来越小的(4x、8x、16x下采样)。正因为Swin Transformer拥有像CNN这样的下采样特性,能够构建出具有层次性的特征图。在论文中作者提到,这样的好处就是:正是因为这样具有层次的特征图,Swin Transformer对于目标检测和分割任务相比ViT有更大的优势。
在ViT模型中,是直接对特征图下采样16倍,在后面的结构中也一致保持这样的下采样规律不变(只有16x下采样,不Swin Transformer那样有多种下采样尺度 -> 这样就导致ViT不能构建出具有层次性的特征图)
- 在Swin Transformer的特征图中,它是用一个个窗口的形式将特征图分割开的。窗口与窗口之间是没有重叠的。而在ViT中,特征图是是一个整体,并没有对其进行分割。其中的窗口(Window)就是我们一会儿要讲的Windows Multi-head Self-attention。引入该结构之后,Swin Transformer就可以在每个Window的内部进行Multi-head Self-Attention的计算。Window与Window之间是不进行信息的传递的。这样做的好处是:可以大大降低运算量,尤其是在浅层网络,下采样倍率比较低的时候,相比ViT直接针对整张特征图进行Multi-head Self-Attention而言,能够减少计算量。
0.2 Swin Transformer与其他网络准确率对比分析
0.2.1 ImageNet-1K数据集准确率对比
这些模型先在ImageNet-1K数据集上进行预训练后,再在ImageNet-1K上的表现。
可以看到:
- RegNet的准确率整体表现是不如EfficientNet系列的(考虑到EfficientNet有不同的输入尺寸,其实这么比较也不是那么公平),模型的参数量也比EfficientNet要大。
- ViT整体的Top-1准确率是最低的,而且尤其是ViT-L/16在参数量和FLOPs上“一骑绝尘
Swin Transformer理论讲解相关推荐
- Swin Transformer代码讲解
Swin Transformer代码讲解 下采样是4倍,所以patch_size=4 2. 3. emded_dim=96就是下面图片中的C,经过第一个Linear Embedding处理之后的通道数 ...
- AI绘画能力的起源:通俗理解VAE、扩散模型DDPM、DETR、ViT/Swin transformer
前言 2018年我写过一篇博客,叫:<一文读懂目标检测:R-CNN.Fast R-CNN.Faster R-CNN.YOLO.SSD>,该文相当于梳理了2019年之前CV领域的典型视觉模型 ...
- 【深度学习】论文阅读:(ICCV-2021))Swin Transformer
这里写目录标题 论文详情 VIT缺点 改进点 概述 核心思想 整体结构 名称解释 Window.Patch.Token 与vit区别 结构过程 Patch Embedding BasicLayer P ...
- Swin Transformer: Hierarchical Vision Transformer using Shifted Windows 论文翻译 + 网络详解
目录 1 3 4 5 是论文的翻译,如果看过论文也可以直接看关于网络的结构详解. Abstract 1. Introduction 3. Method 3.1 Overall Architicture ...
- 《预训练周刊》第29期:Swin Transformer V2:扩大容量和分辨率、SimMIM:用于遮蔽图像建模的简单框架...
No.29 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 本期周刊,我们选择了10篇预训练相关的论文,涉及图像处理.图像屏蔽编码.推荐系统.语言模型解释.多模态表征.多语言建模.推 ...
- Swin Transformer对CNN的降维打击
一.前言 一张图告诉你Transformer现在是多么的强!几乎包揽了ADE20K语义分割的前几名! 该文章详细解读Swin-transformer的相关内容以及高明之处.看完学不会,你在评论区打我! ...
- 专访 Swin Transformer 作者胡瀚:面向计算机视觉中的「开放问题」 原创
文 | 刘冰一.Echo 编辑 | 极市平台 本文原创首发于极市平台,转载请获得授权并标明出处. 胡瀚,湖北潜江人,本博均毕业于清华大学自动化系,曾就职于百度研究院深度学习实验室,目前任职于微软亚洲研 ...
- 当Swin Transformer遇上DCN,清华可变形注意力Transformer模型优于多数ViT
©作者 | 小舟 来源 | 机器之心 本文中,来自清华大学.AWS AI 和北京智源人工智能研究院的研究者提出了一种新型可变形自注意力模块,其中以数据相关的方式选择自注意力中键值对的位置,使得自注意力 ...
- Swin Transformer升级版来了!30亿参数,刷榜多项视觉任务
©作者 | 杜伟.陈萍 来源 | 机器之心 微软亚洲研究院升级了 Swin Transformer,新版本具有 30 亿个参数,可以训练分辨率高达 1,536×1,536 的图像,并在四个具有代表性的 ...
最新文章
- 教你如何处理Nginx禁止ip加端口访问的问题
- 【收藏】Zeppelin与Linkis、Scriptis的实践对比
- JAVA中的字符串操作
- SAP Hybris Commerce里的数据库表
- 如何使用 Linq 获取每个分组中的第一个元素?
- 使用JavaScript的图像识别游戏
- jQuery获得select的值及其他操作
- 服务器iis配置 所需文件,iis服务器配置手册.pdf
- dockerfile详解-dockerfile构建过程解析,dockerfile体系结构保留字解析,案例解析
- python客户端与服务器端_Python实现的FTP通信客户端与服务器端功能示例
- [转][ASP.net]后台页面刷新
- 人工智能在日常农业种植中的应用
- 狗年出生的宝宝取名都有哪些注意事项呢?起名真不是简单事
- FPGA之三八译码器
- 【线性代数笔记】矩阵的特征值和特征向量在哪些变换过程中变化?
- 向Linux增加一个系统调用或内核模块
- 工业POE交换机出现不供电怎么办?
- SIPP对Freeswitch进行压力测试
- 2022年,短视频直播现状与发展趋势
- 黑客暴力破解必备的12大逆向工具!设置再复杂的密码也没用!
热门文章
- Swin Transformer代码讲解