首页 > 其他分享 >swin transformer

swin transformer

时间:2023-08-26 09:56:19浏览次数:34  
标签:Transformer swin 复杂度 attention transformer window Swin

摘要核心
1.本文提出一种可以适用于多种任务的backbone->swin transformer
2.Transformer迁移到CV中有两点挑战->物体尺度不一,图像分辨率大
3.为了解决尺度不一的问题,Swin Transformer使用了分层的结构(Pyramid)
4.为了能够在高分辨率上运行,Swin Transformer限制了attention的计算范围
5.Swin Transformer在多种任务上取得了非常好的性能

 

SRA的问题
Q与K的感受野不一样,而且空间复杂度还是0(n2),只是限制了常数项,在224800等常用输入尺寸下总复杂度可以接受,但是继续放大会有困难。

 

W-MSA
Swin Transformer使用window multiscale self attention,将attention的计算限制在同一个窗口内,使得复杂度降到了O(n)

W-MSA的问题
显然这样硬性的限制会丢失全局信息,限制模型能力,因此需要一个跨Window的操作,增强window间的交互:

SW-MSA的加速方法
Naive版本
可以通过padding的方式将window的尺寸变一样,在mask掉其他值,这样就可以直接调用原本的方法了

Cyclic-shift
可以通过padding的方式将window的尺寸变一样,在mask掉其他值,这样就可以直接调用原本的方法了

这里的相对位置编码是对每个window内的patch写死的,是不可学习的

 

CNN与Trans的异同

Inductive Bias
直译为归纳偏置
归纳->总结,也就是从现存的例子中找到一些比较通用的规则偏置->选择偏好。
整理在一起可以理解为:在面对一些特定问题的时候,我们认为模型应该会有哪些特点会比较容易work,因此而做出的一系列对模型的人为限制
比如图像处理中,每个位置的信息与周围的信息相关,因此设计出conv。
比如NLP中,认为输出的结果与单词的先后顺序相关,因此设计出RNN。

 

CNNs的假设及奇怪性质
Pixel只与周围Pixel相关->局部连接->Conv固定大小空间平移不变性 ->权重共享
为什么常见的conv都是奇数大小的?
为什么深层的Feature Map难以理解?
为什么从ImageNet迁移到肿瘤分类仍然有不错的性能?

标签:Transformer,swin,复杂度,attention,transformer,window,Swin
From: https://www.cnblogs.com/dwletsgo/p/17655038.html

相关文章

  • 使用 AutoGPTQ 和 transformers 让大语言模型更轻量化
    大语言模型在理解和生成人类水平的文字方面所展现出的非凡能力,正在许多领域带来应用上的革新。然而,在消费级硬件上训练和部署大语言模型的需求也变得越来越难以满足。......
  • transformer模型首次体验代码
    首先是安装python,更新pip源到清华源。安装transformerpipinstalltransformer安装jupyterlab,也简单一行pipinstalljupyterlab现在不想用anaconda了,因为国内没有源了,国外的又慢。直接用pip吧。然后开始体验之旅吧:打开终端,输入:jupyterlab会弹出一个web页面,代开后......
  • 使用 Transformers 优化文本转语音模型 Bark
    ......
  • Transformer计算公式
    LLMinferenceworkflowGenerativeInference.AtypicalLLMgenerativeinferencetaskconsistsoftwostages:i)theprefillstagewhichtakesapromptsequencetogeneratethekey-valuecache(KVcache)foreachtransformerlayeroftheLLM;andii)thed......
  • bert,Bidirectional Encoder Representation from Transformers
    BERT的全称是BidirectionalEncoderRepresentationfromTransformers,是Google2018年提出的预训练模型,即双向Transformer的Encoder,因为decoder是不能获要预测的信息的。模型的主要创新点都在pre-train方法上,即用了MaskedLM和NextSentencePrediction两种方法分别捕捉词语和句子......
  • transformer
     maskedmutil-headattetionmask表示掩码,它对某些值进行掩盖,使其在参数更新时不产生效果。Transformer模型里面涉及两种mask,分别是paddingmask和sequencemask。其中,paddingmask在所有的scaleddot-productattention里面都需要用到,而sequencemask只有在decod......
  • java Swing 有没有文件夹选择器?
    这两天做一个图形化软件需要选择文件并进行文件读取,因此需要使用到JAVASpring中的文件选择框。参考:https://blog.51cto.com/u_92655/6514099参考2:https://blog.csdn.net/shalimu/article/details/128145834如果要选择文件夹,则需要设置参数:......
  • java Swing:对话框(Dialog)怎么做?
    对话框是桌面应用程序中一种很重要的组件,例如在删除一个文件的时候,系统就会用对话框的形式提醒用户是否确定要删除这个文件。Swing体系中有两类对话框:第一类是系统对话框,第二类是自定义对话框。系统对话框就是Swing体系已经定义好的对话框,它们的基本界面是Java基础类库已经设计好......
  • Java_swing_边框简单实现
    ->效果->源码//:Show.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/***//显示框架*@authorcyb_23*/publicclassShow{ /** *框架 *@paramjp *@paramwidth *@paramheight */ publicstaticvoidinFrame(JPane......
  • transformer模型的历史
    Transformer模型在深度学习领域,尤其是自然语言处理(NLP)中,起到了革命性的作用。以下是其发展历程的简要概述:背景:在Transformer出现之前,循环神经网络(RNN)及其更先进的版本,如长短时记忆网络(LSTM)和门控循环单元(GRU)是处理序列任务的主流架构,例如机器翻译和文本生成。这些模型逐......