首页 > 其他分享 >Swin Transformer

Swin Transformer

时间:2023-04-19 21:44:26浏览次数:32  
标签:Transformer Swin 窗口 16 尺度 patch 复杂度

22年初的屠榜模型

题目:用了移动窗口的层级式的vision transformer

摘要:Swin transformer可以作为CV中通用骨干网络。与NLP不同的第一个是对象尺度的问题,第二是多次提到的分辨率太大的问题,之前工作已经用很多办法减少过输入模型的序列长度。移动窗口可以让每次只计算一个窗口内的自注意力,而移动操作使得窗口之间有了交互,使得上下层级之间变相的拥有了全局建模的能力,非常类似CNN,也就是说这个归纳偏置(先验知识)已经又和CNN差不多了,即首先关注局部信息。层级结构不仅可以提供各个尺度的信息,而且计算复杂度随图像大小线性增长(而非平方级别)。

导言:先看图,朱老师说CV中多尺度特征是一个很重要的事,之前无论是分类还是分割任务,都用一些办法尽可能的发挥各个尺度上特征的作用。

ViT处理的都是单一尺寸的特征(16*16),所以可能并不适合密集预测的任务,如分割。此外,它的自注意力始终是在整张图上进行,所以其计算复杂度是图片尺寸的平方倍增长。而Swin里面每一个窗口大小一固定,计算复杂度就固定了,窗口数量随图片大小线性增长。他这里提到全局计算自注意力对于CV来说是浪费资源的,例如同一个物体的不同部位,或者语义相近的不同物体总是在同一块区域出现的。

这里我也想到,对于海洋来说,可能需要根据数据的分辨率,来确定各个尺度的过程对应什么样大小的窗口以及信息互通的程度,比如说,也许大到一定尺度的时候完全不需要再提取高层的特征,只需要进行简单的信息交流就够了。

如何生成多尺寸特征:在CNN中,我们通过池化操作来扩大卷积核的视野范围,类似的,在Swin中这里提出了一个patch merging,将相邻的小patch合并为一个大patch。

 ViT是只有16*16的patch,Swin是从底到顶逐渐增大的。有了各个尺寸的特征以后就可以给FPN(第一个图)做检测或者构造Unet做分割。

 如图所示,灰色是patch,红色是窗口。移动窗口的意思就是将红色窗口往右下角移了两个patch。之前的方法窗口和窗口之间的Patch是无法交流的,如果一个目标刚好被分到两个窗口里就无法构成一个完整的语义信息。现在滑动窗口以后,patch之间可以进行cross window connection。 再配合上patch merging,到模型的最后几层时就可以看到大部分图片了。

标签:Transformer,Swin,窗口,16,尺度,patch,复杂度
From: https://www.cnblogs.com/andoblog/p/17333337.html

相关文章

  • MFC-IsWindow判断指定窗口句柄是否标识了现有窗口
     HWNDhWnd=GetSafeHwnd();BOOLbb=IsWindow(hWnd);//判断指定窗口句柄是否标识了现有窗口//返回值:如果窗口句柄标识现有窗口,则返回值为非零//如果窗口句柄未标识现有窗口,则返回值为零     ......
  • CVPR 2023|两行代码高效缓解视觉Transformer过拟合,美图&国科大联合提出正则化方法DropK
    前言 美图影像研究院(MTLab)与中国科学院大学突破性地提出正则化方法DropKey,用于缓解VisionTransformer中的过拟合问题。该方法通过在注意力计算阶段随机drop部分Key以鼓励网络捕获目标对象的全局信息,从而避免了由过于聚焦局部信息所引发的模型偏置问题,继而提升了基于Tra......
  • ViT-Adapter:用于密集预测任务的视觉 Transformer Adapter
    前言 这篇文章提出了一种用于使得ViT架构适配下游密集预测任务的Adapter。简单的ViT模型,加上这种Adapter之后,下游密集预测任务的性能变强不少。本文给出的ViT-Adapter-L在COCO数据集上达到了60.9的boxAP和59.3的maskAP。本文转载自极市平台作者|CV开发者......
  • Transformer之Positional encoding
    1.前言我在学习NLP的时候,围绕着我不懂得技术点,逐个击破,以此期望能够把各个模块理解的更深入,使我在今后的学习中,能够更深入的分析,让自己更通透。接下来切入正题,介绍下Transformer中需要使用的Positionalencoding,它主要为Transformer这种并行计算模型,难以理解输入句子的语序而针对......
  • Transformer课程 Transformer自模型BERT Fine-tuning
    Transformer自模型BERTFine-tuning从传统机器学习和TransferLearning的区别出发,剖析BERTFine-tuning底层原理,包括对最大后验概率MAP的剖析、Prior先验领域知识的数学原理、工程实践,尤其是结合BERT架构及其训练任务MLM以及NSP来解密,BERT针对具体下游任务微调的力量之源Transform......
  • THFuse: An infrared and visible image fusion network using transformer and hybri
    THFuse:Aninfraredandvisibleimagefusionnetworkusingtransformerandhybridfeatureextractor一种基于Transformer和混合特征提取器的红外与可见光图像融合网......
  • YOLOv7引入Swin Transformer以及CCNet出现的问题
    YOLOv7引入SwinTransformer以及CCNet出现的问题一、YOLOv7训练完,运行test.py的时候出现:RuntimeError:expectedscalartypeFloatbutfoundHalf 错误采用GPU训练时......
  • GPT前世今生-transformer-注意力机制
    GPT前世今生-transformer-注意力机制背景:心理学知识,随意线索和非随意线索。 启发:注意力机制中概念:query:你的要求查询的东西。如问“你要干嘛?”key:如杯子,......
  • Java使用IntelliJ IDEA创建一个基于Swing的GUI图形化程序,打包发布为jar
    1、创建GUI窗体首先,直接新建一个默认的空的Java模块即可,随便取个名字之后再src目录下右键,新建,创建一个Swing的GUI窗体,随便取个名字给主窗体改个名字到java代码中生成一个窗......
  • GPT前世今生-transformer
    GPT前世今生-transformer  FAQ1多头注意力机制中什么是key,value和query?答:在Transformer中的多头注意力机制中,每个头都会有自己的“key(键)”、“value(值)”和“quer......