Swin-Transformer
Swin Transformer
1. 引⾔
卷积神经⽹络(CNNs)⼀直是计算机视觉建模的主流。从AlexNet[38]及其在ImageNet图像分类挑战中的⾰命性表现开始,CNN架构通过更⼤的规模[29,73]、更⼴泛的连接[33]和更复杂的卷积形式[67,17,81]⽽变得越来越强⼤。由于CNNs作为各种视觉任务的⾻⼲⽹络,这些体系结构的进步导致了性能的提⾼,从⽽⼴泛提升了整个领域。
另⼀⽅⾯,⾃然语⾔处理(NLP)中⽹络体系结构的演变⾛了⼀条不同的道路,今天流⾏的体系结构取⽽代之的是Transformer[61]。Transformer是为序列建模和转换任务⽽设计的,因为它关注数据中的长期依赖性建模。它在语⾔领域的巨⼤成功促使研究⼈员研究它对计算机视觉的适应性,最近它在某些任务上显⽰了有希望的结果,特别是图像分类[19]和联合视觉语⾔建模[46]。国际经济与贸易就业
综漫之冰蓝在本⽂中,我们试图扩展Transformer的适⽤性,使它可以像NLP和CNNs⼀样作为计算机视觉的通⽤主⼲。我们观察到,将其在语⾔领域的⾼
其中⼀个差异涉及尺度(scale)。与作为语⾔Transformer中处理的基本元素性能转移到视觉领域的重⼤挑
描写庐山的诗句战可以解释为两种模式之间的差异。其中⼀个差异涉及尺度(scale)
的单词标记不同,视觉元素在尺度上可能有很⼤的差异,这是⼀个在⽬标检测等任务中受到关注的问题[41,52,53]。在现有的基于Transformer的模型中[61,19],tokens都是固定尺度的,这种属性不适合视觉些应⽤。另⼀个区别是图像中像素数⽐⽂本段落中的单词数得多。存在许多视觉任务,如语义分割,需要在像素级进⾏密集的预测,这对于⾼分辨率图像上的Transformer来说是很困难的,因为它⾃⾝注意⼒的计算复杂度是图像⼤⼩的⼆次⽅。为了克服这些问题,我们提出了⼀种通⽤的变换器主⼲,称为Swin-Transformer,它构造了层次化的特征映射,并且计算复杂度与图像⼤⼩成线性关系。如图1(a)所⽰,Swin-Transformer通过从⼩尺⼨(编者注:⼩尺⼨应该是相对于ViT中的14x14或16x16⽽⾔)的图块(⽤灰⾊表⽰)开始,并在更深的Transformer层中,逐渐合并相邻图块来构造层次表⽰。有了这些分层特征映
射,Swin-Transformer模型可以⽅便地利⽤⾼级技术进⾏密集预测,如特征⾦字塔⽹络(FPN)[41]或U-Net[50]。线性计算复杂度是通过在分割图像的⾮重叠窗⼝(红⾊轮廓)内局部计算⾃注意来实现的。每个窗⼝中的图块数是固定的,因此复杂度与图像⼤⼩成线性关系。这些优点使得Swin-Transformer适合作为各种视觉任务的通⽤主⼲,与以前基于Transformer的体系结构形成对⽐[19],后者产⽣单⼀分辨率的特征图,并且具有⼆次复杂性。
图1。(a) 所提出的Swin Transformer通过在更深的层中合并图像块(以灰⾊显⽰)来构建分层特征图,并且由于仅在每
怎样在word中画横线个局部窗⼝(以红⾊显⽰)内计算⾃注意,因此对于输⼊图像⼤⼩具有线性计算复杂度。因此,它可以作为图像分类和密
集识别任务的通⽤主⼲。(b) 相⽐之下,以前的ViT[19]产⽣单⼀低分辨率的特征图,并且由于全局计算⾃我注意,相对于
输⼊图像⼤⼩具有⼆次计算复杂性
Swin Transformer的⼀个关键设计元素是它在连续的⾃注意层之间的窗⼝分区的移动(its shift of the window partition between consecutive self-attention layers),如图2所⽰。移动的窗⼝桥接了前⼀层的窗⼝(The shifted windows bridge the windows s of the preceding layer),提供了它们之间的连接,显著增强了建模能⼒(见表4)。这种策略对于真实世界场景的延迟也是⾼效的:⼀个窗⼝中的所有查询图块都共享相同的键图块集(all query patches within a window share the same key set)(注释:查询和键是⾃注意层中的投影向量),这有助于硬件中的内存访问。相⽐之下,早期的基于滑动窗⼝的⾃注意⽅法[32,49]由于不同查询像素的键集不同,在⼀般硬件上的延迟较低(注释2:虽然有⼀些⾼效的⽅法可以在通⽤硬件上实现基于滑动窗⼝的卷积层,但这是因为卷积层在整个特征映射中共享内核权重。⽽基于滑动
图2.在所提的Swin Transformer架构中,⽤于计算⾃注意的移位窗⼝⽅法的图⽰。在层(左),采⽤规则的窗⼝划分
图3.(a)Swin变压器(Swin-T)的结构;(b) 两个连续的SWN变压器组(符号为式(3))。W-MSA和
SW-MSA分别是
具有规则和移位窗⼝配置的多头⾃注意模块。
在这些patch tokens上计算⾃注意⼒修改版本的⼀些transformer块(Swin Transformer blocks)。这些transformer块不改变tokens的数
,与线性嵌⼊层⼀起,被称为阶段1。
为了产⽣⼀个层次化的表⽰,tokens的数量会随着⽹络渐深,在patch merging layer层中被减少。第⼀个patch merging layer拼接
图4.移位窗⼝划分中⽤于⾃注意的⾼效批处理计算⽅法的图⽰。
· Swin-T: C=96,层数={2,2,6,2}
· Swin-S: C=96,层数={2,2,18,2}
· Swin-B: C=128,层数={2,2,18,2}
· Swin-L: C=192,层数={2,2,18,2}
其中C是第⼀阶段中隐藏层的通道数
C是第⼀阶段中隐藏层的通道数。模型⼤⼩、理论计算复杂度(FLOPs)和ImageNet图像分类吞吐量如表1所⽰。
4.实验
我们在ImageNet-1K图像分类[18]、COCO⽬标检测[42]和ADE20K语义分割[80]上进⾏了实验。在下⾯,我们⾸先将所提出的Swin变压器架构与之前在这三项任务上的最新技术进⾏⽐较。然后,分析了Swin变压器的重要设计要素。
4.1. 基于ImageNet-1K的图像分类
设置 对于图像分类,我们在ImageNet-1K[18]上对所提出的Swin变换器进⾏了测试,其中包含1.28M个训练图像和来⾃1000个类的50K个验设置
证图像。报告了单个裁剪的最⾼精度。我们考虑两种训练设置:
· 常规ImageNet-1K训练。此设置主要遵循[60](编者注:在arxiv不同版本中,引⽤索引号会发⽣变化,这⾥指的是DeiT)。我们使⽤了⼀
20个阶段的线性预热。批量⼤⼩为1024,初始学习率为0.001,权重衰个AdamW[36]优化器,⽤于300个阶段,使⽤余弦衰减学习率调度器和20
减为0.05。我们将[60]中的⼤部分增强和正则化策略都包括在训练中,除了repeated augmentation [30]和EMA[44],它们不能提⾼性能。请注意,这与[60]相反,在[60]中,repeated augmentation 对于稳定ViT训练⾄关重要。
· ImageNet-22K预训练和ImageNet-1K微调。我们还对较⼤的ImageNet-22K数据集进⾏了预训练,该数据集包含1420万张图像和22K个类。我们采⽤⼀个AdamW优化器,使⽤线性衰减学习率调度器训练60个epoch,使⽤5个epoch的线性预热。批量⼤⼩为4096,初始学习率为0.001,权重衰减为0.01。在ImageNet-1K微调中,我们训练了30个阶段的模型,批⼤⼩为1024,恒定学习率为10e−5,重量衰减10e−8。常规ImageNet-1K训练的结果 表1(a) 给出了与其它主⼲⽹络的⽐较(包括基于Transformer和基于卷积⽹络的),使⽤常规ImageNet-常规ImageNet-1K训练的结果
1K训练。
与之前最先进的基于Transformer的架构(即DeiT[60])相⽐,Swin Transformers明显超过了具有类似复杂度的对应DeiT架构:使⽤沙雕女孩的可爱文案
dv2621
224×224输⼊时,Swin-T(81.3%)⽐DeiT-S(79.8%)⾼出1.5%,使⽤224×224/384×384输⼊时,Swin-B(83.3%/84.2%)⽐DeiT-B(81.8%/83.1%)分别⾼出1.5%/1%。
与最先进的卷积⽹络(即RegNet[47]和EfficientNet[57])相⽐,Swin Transformers实现了稍微好⼀点的速度精度折衷。注意到,虽然RegNet[47]和EfficientNet[57]是通过彻底的架构搜索获得的,所提出的Swin Transformer是从标准Transformer适配⽽来的,具有很强的进⼀步改进潜⼒。
ImageNet-22K预训练结果 我们还在ImageNet22K上预训练了更⼤容量的Swin-B和Swin-L。在ImageNet-1K图像分类上微调的结果如表ImageNet-22K预训练结果
1(b)所⽰。对于Swin-B,ImageNet22K预训练相⽐在ImageNet-1K从头训练,能带来⼤约1.8%到1.9%的提升。与之前ImageNet-22K预训练的最佳结果相⽐,我们的模型实现了显著更好的速度-精度折衷:Swin-B获得86.0%的top-1精度,⽐ViT⾼2.0%,具有相似的推理吞吐量(84.7 vs.85.9图像/秒)和略低的FLOPs(47.0G vs.55.4G)。更⼤的Swin-L模型达到86.4%的top-1精度,略好于Swin-B模型。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论