首页 > 其他分享 >vit和swin transformer的区别

vit和swin transformer的区别

时间:2024-08-24 23:05:29浏览次数:11  
标签:transformer Swin vit Transformer swin ViT 图像 全局 注意力

ViT vs Swin Transformer

ViT 和 Swin Transformer 的区别

1. 架构设计

ViT (Vision Transformer):

  • ViT 直接将图像分割成固定大小的非重叠小块(patches),然后将每个小块展开成一个向量,并将这些向量序列作为输入送入标准的Transformer架构中。每个小块会被映射到一个高维特征空间,然后经过多个Transformer Encoder层进行全局信息的建模。
  • ViT不具备卷积神经网络 (CNN) 的局部感知特性,完全依赖自注意力机制来捕捉图像中的全局信息。

Swin Transformer (Shifted Window Transformer):

  • Swin Transformer引入了层次化的特征表示,逐层增加特征图的分辨率。
  • Swin Transformer通过窗口注意力机制(window attention)来进行局部注意力计算,每个窗口内进行自注意力计算,同时通过窗口的滑动(shifted window)机制来引入跨窗口的交互,这样既保留了局部信息,又捕捉到了跨区域的上下文信息。
  • Swin Transformer在图像中构建了类似于CNN的层次结构,但利用了Transformer的自注意力机制,使得它能够更高效地处理大尺寸图像。

2. 计算复杂度

ViT:

  • ViT 的自注意力计算复杂度与输入图像大小的平方成正比(O(N^2)),当处理高分辨率图像时,计算成本非常高。

Swin Transformer:

  • Swin Transformer的窗口注意力机制将自注意力的计算复杂度降低到与窗口大小线性相关(O(M^2)),而不是整个图像,因此能够更高效地处理大尺寸图像。

3. 全局 vs 局部特征

ViT:

  • ViT侧重于从全局角度理解图像信息,直接通过Transformer的全局自注意力机制捕捉全局特征。

Swin Transformer:

  • Swin Transformer结合了局部与全局特征的提取方式,通过局部窗口计算保持细粒度信息,同时通过层次结构逐步构建全局上下文信息。

4. 应用场景

ViT:

  • ViT 主要用于图像分类任务,在其他视觉任务中的表现不如Swin Transformer。

Swin Transformer:

  • Swin Transformer具有更广泛的应用场景,尤其在物体检测、图像分割等任务中表现优异。

标签:transformer,Swin,vit,Transformer,swin,ViT,图像,全局,注意力
From: https://www.cnblogs.com/chentiao/p/18378434

相关文章

  • Spark MLlib 特征工程系列—特征转换SQLTransformer
    SparkMLlib特征工程系列—特征转换SQLTransformer1.什么是SQLTransformerSQLTransformer是Spark提供的一个特征转换工具,它允许你通过SQL查询来对数据进行灵活的转换。使用SQLTransformer,你可以直接在DataFrame上编写SQL语句,进行特征工程或数据预处理。这种......
  • [JavaEE] 工作流- Activiti7 框架详解
    目录1、Activiti介绍1.1、BPMN设计器1.2、常见流程符号1.2.1、事件event1.2.2、活动activiti1.2.3、流向flow2、入门案例2.1、需求说明2.2、初始环境2.2.1、添加依赖2.2.2、添加配置2.2.3、添加引导类2.2.4、启动项目2.2.5、表结构2.2.6、常见api2.3、绘制流......
  • Android开发 - ServiceConnection 接口处理 Service 与客户端(如 Activity)之间的连接解
    什么是ServiceConnectionServiceConnection是一个用于处理Service与客户端(如Activity)之间连接的接口,它让客户端能够绑定到Service并与之进行交互。它定义了两个重要的回调方法,用于管理客户端与Service之间的连接。当客户端绑定到一个Service时,这些回调方法会被调用,允......
  • React 和 Vite 环境下 TailwindCSS 的配置指南
    1.安装tailwindcssnpminstall-Dtailwindcsspostcssautoprefixer2.生成tailwindcss配置文件npxtailwindinit-p3.tailwind.config.js配置/**@type{import('tailwindcss').Config}*/exportdefault{content:["./index.html",&q......
  • [Paper Reading] Egocentric Whole-Body Motion Capture with FisheyeViT and Diffusi
    EgocentricWhole-BodyMotionCapturewithFisheyeViTandDiffusion-BasedMotionRefinementlink时间:CVPR2024机构:马普所&SaarlandInformaticsCampus&Google&UniversityofPennsylvaniaTL;DR使用第一人称RGB单目鱼眼相机进行全身动捕的算法,融合了FisheyeVit&3......
  • 力压Transformer,详解Mamba和状态空间模型
    大家好,大型语言模型(LLMs)之所以能够在语言理解与生成上取得巨大成功,Transformer架构是其强大的支撑。从开源的Mistral,到OpenAI开发的闭源模型ChatGPT,都采用了这一架构。然而技术的探索从未止步,为进一步提升LLMs的性能,学界正在研发能够超越Transformer的新架构。其中,Mamba模型以......
  • GPT-SoVITS V2:深度定制你的专属语音 - 你得不到她,但你可以拥有她的声音!
    新版本的GPT-SoVITSV2,带来了声音克隆技术的全新突破,无论是游戏角色还是现实明星,都能轻松实现声音定制。游戏角色声音克隆直面天命,最近黑神话悟空刷爆了各大平台,何不试试用GPT-SoVITS克隆悟空的声音?只需几步,你就能重现《大话西游》里那些令人难忘的经典台词![https://www.zhis......
  • 声音克隆GPT-SoVITS 2.0软件和详细的使用教程!
    天命人,请允许我先蹭个热点!  原始声音:播放克隆声音:播放 文章写了一半,被《黑神话悟空》刷屏了。突发奇想,用里面的声音来做个素材试试看。B站捞了一点声音素材,随便剪一剪,训练一把过,没有调优,就直接拿来用了。情绪还差点意思,音色克隆的还不错。......
  • 为什么用Vite框架?来看它的核心组件案例详解
    Vite是一个前端构建工具,它以其快速的开发服务器和生产优化的打包器而闻名前端界,今天的内容,必须得唠唠Vite的关键能力,以下是Vite的核心组件分析,以及使用案例:原理分析:Vite利用了现代浏览器对ESModule语法的支持,在开发环境中不进行打包编译,而是通过启动本地devServer......
  • SLAB:华为开源,通过线性注意力和PRepBN提升Transformer效率 | ICML 2024
    论文提出了包括渐进重参数化批归一化和简化线性注意力在内的新策略,以获取高效的Transformer架构。在训练过程中逐步将LayerNorm替换为重参数化批归一化,以实现无损准确率,同时在推理阶段利用BatchNorm的高效优势。此外,论文设计了一种简化的线性注意力机制,其在计算成本较低的情况下......