Vision Transformer (ViT)、Swin Transformer 和 Focal Transformer

news2024/11/13 19:28:20

 1. Vision Transformer (ViT)

Vision Transformer详解-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qq_37541097/article/details/118242600?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522F8BBAFBF-A4A1-4D38-9C0F-9A43B56AF6DB%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=F8BBAFBF-A4A1-4D38-9C0F-9A43B56AF6DB&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~hot_rank-1-118242600-null-null.142%5Ev100%5Econtrol&utm_term=Vision%20Transformer&spm=1018.2226.3001.4187

ViT 是最早将 Transformer 应用于图像任务的模型,最先由 Google 提出。它采用了与 NLP 中 Transformer 类似的结构,但做了一些调整以适应图像数据。

主要特点:
  • Patch Embedding:ViT 将输入图像分割为固定大小的非重叠小块(patch),例如 16×16,然后将每个 patch 展开为一个向量,类似于 NLP 中的词嵌入。
  • Positional Encoding:由于 Transformer 没有卷积层,因此缺乏对图像中空间信息的直接感知,ViT 使用位置编码来保留图像的空间信息。
  • 全局注意力机制:ViT 的注意力机制是全局的,允许任意两个 patch 之间进行信息交换,但由于每个 patch 都参与到计算中,所以当图像尺寸较大时,计算成本非常高。
优点:
  • 全局信息捕捉能力强:全局注意力机制使 ViT 能够很好地捕捉到图像中的长距离依赖关系。
  • 适合大规模数据:ViT 在大规模数据集(如 ImageNet-21k)上训练时表现优异,能够充分利用数据。
缺点:
  • 对数据需求较高:ViT 在小规模数据集上表现较差,因为其需要大量数据才能学到有效的表示。
  • 计算成本高:全局注意力机制带来了较高的计算和内存开销。

2. Swin Transformer

Swin-Transformer网络结构详解_swin transformer-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qq_37541097/article/details/121119988?ops_request_misc=%257B%2522request%255Fid%2522%253A%25223B8A1942-84DA-4C42-ACEC-D87B5803F3AE%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=3B8A1942-84DA-4C42-ACEC-D87B5803F3AE&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-121119988-null-null.142%5Ev100%5Econtrol&utm_term=Swin%20Transformer&spm=1018.2226.3001.4187

主要特点:
  • 层级结构:Swin Transformer 通过构建分层的特征图结构(类似于 CNN 的金字塔结构),从而可以捕捉到不同尺度的特征。其输入从高分辨率开始,逐步降低分辨率,增加通道数,类似于 ResNet 等卷积神经网络。
  • 滑动窗口注意力机制:为了降低全局注意力的计算开销,Swin Transformer 在每一层仅在局部的滑动窗口内计算自注意力。每个窗口内的 patch 之间进行注意力计算,窗口大小固定。
  • 跨窗口交互:在后续的层次中,通过移位窗口机制,可以让不同窗口之间也进行交互,提升全局信息的融合能力。
优点:
  • 高效的局部注意力机制:滑动窗口和移位窗口机制大大降低了计算复杂度,使得 Swin Transformer 在计算上更加高效。
  • 强大的特征层次化表示:通过构建层级结构,Swin Transformer 在处理不同尺度的物体时表现更好。
  • 良好的泛化能力:Swin Transformer 在多个视觉任务(如图像分类、目标检测、语义分割)中表现出色。
缺点:
  • 注意力依然局限于局部:虽然 Swin Transformer 引入了跨窗口交互机制,但在某一层中,注意力机制依然主要局限于局部范围,全局信息的捕捉依赖于深层网络。

 3. Focal Transformer

Focal Transformer 是一种在 Swin Transformer 的基础上进一步改进的模型,它通过引入多尺度的注意力机制来更好地捕捉全局和局部信息。这种方法在注意力计算时结合了细粒度的局部信息和粗粒度的全局信息,旨在平衡精度和效率。

主要特点:
  • 多尺度注意力:Focal Transformer 的注意力机制融合了不同尺度的信息。在小范围内(局部),使用高分辨率的细粒度注意力;在较大范围内(全局),使用低分辨率的粗粒度注意力。这种设计使得模型既能关注到局部的细节,又能捕捉到全局的长距离依赖。
  • 渐进式注意力范围:Focal Transformer 不仅局限于固定窗口,还通过多个层次逐渐扩大注意力范围,确保模型能够从局部信息逐步扩展到全局信息。
  • 灵活的层次化结构:与 Swin Transformer 类似,Focal Transformer 也构建了一个层次化的结构,通过逐层降低分辨率、增加通道数来捕捉多尺度特征。
优点:
  • 平衡局部和全局信息:通过多尺度注意力机制,Focal Transformer 在保持局部细节的同时,能更有效地捕捉全局信息。
  • 计算效率较高:虽然引入了多尺度注意力,但这种机制比全局注意力的计算效率更高,能够在较大的特征图上运行得更快。
  • 表现更稳定:Focal Transformer 在小型和大型数据集上都有不错的表现,不像 ViT 需要极大规模的数据集来进行训练。
缺点:
  • 架构相对复杂:与 ViT 或 Swin Transformer 相比,Focal Transformer 的多尺度注意力设计引入了更多复杂的计算模块,难以直接适用于极端高效的模型设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

互联网全景消息(5)之RocketMq快速入门(下)

一、RocketMQ的存储设计 1.1 Domain Model 1.1.1 Message Message是RocketMQ消息引擎中的主体。messageId是全局唯一的。MessageKey是业务系统(生产者)生成的,所以如果要结合业务,可以使用MessageKey作为业务系统的唯一索引。 1.1.2 Topic subTopics==Message Queue,其实…

机器学习——Stacking

Stacking: 方法:训练多个模型(可以是强模型),然后将这些模型的预测结果作为新的特征,输入到下一层新的模型(可以是多个)中进行训练,从而得到最终的预测结果。 代表:Stacking本身并没…

跨游戏引擎的H5渲染解决方案(腾讯)

本文是腾讯的一篇H5 跨引擎解决方案的精炼。 介绍 本文通过实现基于精简版的HTML5(HyperText Mark Language 5)来屏蔽不同引擎,平台底层的差异。 好处: 采用H5的开发方式,可以将开发和运营分离,运营部门自…

新峰商城之订单(一):确认页面开发

新峰商城订单从生成到处理结束,主要以下几个流程: (1)提交订单(商城用户发起) (2)订单入库(后台逻辑) (3)支付订单(商城…

人生小满胜万全

大家好,这里是大话硬件。 最近大家都在讨论房贷利率的问题,昨天晚上看到很多群里在发要降息的小道消息,但是今天早上看到央行发了通告不降息。 下午又在群里看到这个买房对比的截图。对于没买房的人来说,肯定在想,还好当时没有买啊。对于买了房的人来说,可能有些人也在想…

「漏洞复现」灵当CRM marketing/index.php SQL注入漏洞

0x01 免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删…

Isaac Sim 跑Slam学习过程2024.9.20

# 本文随着时间逐渐增加内容,是学习笔记 # 诶怎么今天Isaac Sim 4.2.0 突然出现了,这哪来的时间再去试试新的.... 没有大佬带...自己学吧 希望使用仿真环境跑定位Slam,现在IMU在Isaac Sim中有现成的传感器模块,GPS则没有&am…

电商ISV 电商SaaS 是什么

Independent Software Vendors的英文缩写,意为“独立软件开发商” 软件即服务(SaaS) 指一种基于云技术的软件交付模式 订阅收费 这些公司叫做ISV软件供应商,通过SaaS服务交付收费 为什么会有电商ISV 从商家角度划分:有独立品牌商家、大商…

MySQL篇(SQL优化)(持续更新迭代)

目录 一、插入数据:Insert 1. 优化方案一:批量插入数据 2. 优化方案二:手动控制事务 3. 优化方案三:主键顺序插入,性能要高于乱序插入 4. 大批量插入数据 5. 案例 5.1. 创建表结构 5.2. 设置参数 5.3. load加载…

计算机毕业设计 基于Python的校园个人闲置物品换购平台 闲置物品交易平台 Python+Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Wireshark学习使用记录

wireshark 是一个非常好用的抓包工具,使用 wireshark 工具抓包分析,是学习网络编程必不可少的一项技能。 原理 Wireshark使用的环境大致分为两种:一种是电脑直连互联网的单机环境,另外一种就是应用比较多的互联网环境,也就是连接…

macOS 中搭建 Flutter 开发环境

如果你的 Mac 是 Apple silicon 处理器,那么有些 Flutter 组件就需要通过 Rosetta 2 来转换适配(详情)。要在 Apple silicon 处理器上运行所有 Flutter 组件,请运行以下指令来安装 Rosetta 2。 sudo softwareupdate --install-ro…

低代码可视化工具-uniapp页面跳转传参-代码生成器

uniapp页面跳转传参 在uni-app中,页面间的跳转和传参是一个常见的需求。uni-app提供了多种页面跳转方式,如uni.navigateTo、uni.redirectTo、uni.reLaunch、uni.switchTab、uni.navigateBack等,每种方式适用于不同的场景。以 页面跳转并传参…

【笔记】第三节 组织与性能

3.1 基本成分 3.2 微观组织特征 0.6-0.8C%碳素钢的组织为珠光体和少量的铁素体。 如何把组织和性能联系起来?德国克虏伯公司的研究——珠光体片间距与渗碳体片层厚度成比例: t s 0 ( ρ 15 ( C % ) − 1 ) ts_0(\frac{\rho}{15(C\%)}-1) ts0​(15(C%)…

【EtherCAT】CiA402简介

目录 1、CiA402是CANopen协议的子协议 2、CiA402是 用于驱动和运动控制的CANopen设备配置文件 3、 CiA402主要由三部分组成 4、CiA介绍 4.1、操作模式 4.2、对象字典 5、一般对象字定义 6、详细对象字定义 7、Profile position mode 8、Homing mode 9、 Position co…

【Unity踩坑】UI Image的fillAmount不起作用

在游戏场景中,我们经常在界面上展示进度条,当然有各种形状的,线性的,长方形的,圆形,环形等等。 Unity中实现这种效果的话,最基本的方法说是改变Image的fillAmout属性。 如果你是初次使用UI Ima…

如何安装1Panel面板并架设一个静态网站

我们通常要架设网站在vps上,就要用到面板,一般是宝塔,但这个面板收费项目较多,用着不太方便。相比宝塔面板,1panel面板是国内功能强大、操作简单、免费易学的Linux服务器管理面板。我们还可以使用一键代码来安装这个面…

新手教学系列——基于统一页面的管理后台设计(二)集成篇

在现代企业级应用中,后台管理系统不仅是业务运营的核心,还承担着数据管理、用户权限控制等重要功能。随着业务规模的不断扩大,系统架构逐渐向微服务转变,多个后端服务模块协同工作,如何高效地集成这些模块,确保系统的稳定性和可维护性,成为开发者亟需解决的问题。在《新…

网络丢包定位记录(一)

数据在Internet上是以数据包为单位传输的,单位为字节,数据在网络上传输,受网络设备,网络质量等原因的影响,使得接收到的数据少于发送出去的数据,造成丢包。 数据包接收、发送原理 发送数据包: …

刷题训练之字符串

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握字符串算法。 > 毒鸡汤:学习,学习,再学习 ! 学,然后知不足。 > 专栏选自:刷题…