论文阅读之AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

news2024/11/25 1:35:22

文章目录

  • 原文链接
  • 主要内容
  • 模型图
  • 技术细节
  • 实验结果

原文链接

AN IMAGE IS WORTH 16X16 WORDS:
TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

主要内容

这篇文章的主要内容是介绍了一种新的计算机视觉模型——Vision Transformer(ViT),这是一种将自然语言处理中广泛使用的Transformer架构直接应用于图像识别任务的尝试。文章通过大量实验验证了ViT在多个图像识别基准上的有效性,并与当时的最先进卷积神经网络(CNN)模型进行了比较。

以下是文章的主要内容概述:

引言:介绍了Transformer架构在自然语言处理(NLP)任务中的成功,并探讨了其在计算机视觉领域的潜在应用。指出以往的工作尝试将注意力机制与卷积网络结合,或者用注意力机制替换卷积网络的某些部分,但整体结构保持不变。

方法:提出了Vision Transformer(ViT),它将图像分割成一系列小块(patches),然后将这些块作为序列输入到标准的Transformer编码器中。这种方法避免了依赖于CNN,并且通过在大量数据上进行预训练,ViT在多个中等规模或小规模的图像识别基准上取得了与最先进CNN相比肩甚至更好的结果,同时训练所需的计算资源更少。

相关工作:回顾了Transformer在NLP中的应用,以及在图像处理中的一些尝试,包括局部自注意力和稀疏变换器等。

实验:详细描述了ViT在不同数据集上的预训练和微调过程,包括ImageNet、CIFAR-100和VTAB等,以及与其他模型的比较结果。

结论:文章总结了ViT的主要发现,并讨论了未来的研究方向,包括将ViT应用于其他计算机视觉任务、探索自监督预训练方法以及进一步扩展ViT的规模。

文章的主要贡献在于展示了Transformer架构在没有CNN特有的归纳偏差(如平移不变性和局部性)的情况下,通过大规模预训练,仍然能够有效地处理图像识别任务。这一发现为未来的图像处理模型提供了新的设计思路。

模型图

在这里插入图片描述
ViT将图像分割成固定大小的块,线性嵌入每个块,添加位置嵌入,并将生成的矢量序列提供给标准Transformer编码器。为了执行分类,使用向序列添加额外可学习的“分类标记”的标准方法。
在这里插入图片描述

技术细节

在这里插入图片描述
模型输入就是把图像切成小块,然后排列整齐输入,就像文本一样,可以简单将一块图片当作一个单词。

但是由于transformer输入是1D的,但是图像是2D的,所以需要reshape维度

例如原始图片高x宽x颜色数

在这里插入图片描述
reshape成:
在这里插入图片描述
其中N就是多少个小块,P就是一个小块的边长,C是颜色通道数
在这里插入图片描述
那么此时一个小块xp的维度就是P*P*C

此时再进行线性变换,就得到了小块的embedding了
在这里插入图片描述

在这里插入图片描述
E就是进行线性变换,Epos就是添加位置编码。

在这里插入图片描述
上标表示第几个小块的编码信息,下标表示经过了几层encoder(0表示输入,L就表示输出)

因为BERT中有[CLS]用来标记分类,这里多加了个xclass也用来分类
在这里插入图片描述
LN就是layer normalization

在这里插入图片描述
然后这就是对应编码部分,MSA就是multiheaded self-attention,L表示有L层来编码

实验结果

在这里插入图片描述‘训练时间少、效果好。
在这里插入图片描述

左图:预训练数据集越大,模型越大效果越好
右图:预训练数据集越大,ViT模型效果越好,并实现反超。

先这样吧。

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

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

相关文章

机器之心 | 基于DiT,支持4K图像生成,华为诺亚0.6B文生图模型PixArt-Σ来了

本文来源公众号“机器之心”,仅用于学术分享,侵权删,干货满满。 原文链接:基于DiT,支持4K图像生成,华为诺亚0.6B文生图模型PixArt-Σ来了 这个模型和 Sora 一样采用了 DiT 框架。 1 前言 众所周知&#x…

latex如何让标题section取消数字标号

解决方法——加一个*号 在LaTeX中,如果你想让section标题取消数字标号,可以使用section*代替section。section*将生成一个不带数字标号的节标题。 例如,你可以这样写: \section*{这是不带数字标号的节标题}这将生成一个标题&am…

protobuf原理解析-基于protobuf-c实现序列化,反向序列化

1.一个实例 前面介绍了使用protobuf的流程. (1). 定义proto文件来描述需要序列化和反向序列化传输的消息. (2). 借助proto-c,为proto文件生成对应的代码控制文件. (3). 程序借助生成的代码控制文件和protobuf-c动态库的支持实现类…

【C语言】数组结构体枚举联合详解

主页:醋溜马桶圈-CSDN博客 专栏:C语言_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.数据在内存中的存储 1.1 数据类型 1.2 整型在内存中的存储 1.2.1原码、反码、补码 1.2.2 大小端介绍 1.2.2.1 什么是大端小端 …

生骨肉冻干喂养有哪些优点?对猫身体好的生骨肉冻干分享

随着科学养猫知识的普及,生骨肉冻干喂养越来越受到养猫人的青睐。生骨肉冻干不仅符合猫咪的饮食天性,还能提供均衡的营养,有助于维护猫咪的口腔和消化系统健康。很多铲屎官看到了生骨肉冻干喂养的好处,打算开始生骨肉冻干喂养&…

module ‘mpmath‘ has no attribute ‘rational‘ 报错解决

**报错:**AttributeError: module ‘mpmath’ has no attribute ‘rational’ 解决: pip install mpmath1.3.0原因: 最新版本的mpmath有变动,直接使用旧版本即可

【virtio-networking 和 vhost-net 简介】

文章目录 Virtio 基本构建块Virtio spec 和 vhost 协议Vhost-net/virtio-net architectureVirtio-networking and OVS总结参考链接 Virtio 是作为虚拟机 (VM)访问简化device(如块设备和网络适配器)的 标准化开放接口而开发的。Virtio-net是一种虚拟以太…

some/ip CAN CANFD

关于SOME/IP的理解 在CAN总线的车载网络中,通信过程是面向信号的 当ECU的信号的值发生了改变,或者发送周期到了,就会发送消息,而不考虑接收者是否需要,这样就会造成总线上出现不必要的信息,占用了带宽 …

基于 Vue3打造前台+中台通用提效解决方案(中)

33、实现全屏展示功能 我们知道在原生dom上,提供了一些方法来供我们开启或关闭全屏: Element.requestFullscreen()Document.exitFullscreen()Document.fullscreenDocument.fullscreenElement一般浏览器 使用requestFullscreen()和exitFullscreen()来实现 早期版本Chrome浏…

基于python的4s店客户管理系统

技术:pythonmysqlvue 一、背景 进入21世纪网络和计算机得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的角角落落。这就促使管理系统的发展。网上办公可以实现远程处理事务…

NetSuite Saved Search-当前库存快照查询报表

最近,在项目上我们遇到了一个需求是,用户想要在一张报表上,看到某一个仓库中批次物料和非批次物料的库存On Hand信息。 其实,系统也有一张原生的库存当前快照报表,但是由于批次物料会涉及太多的批次信息,因…

力扣---打家劫舍---动态规划

思路 1: 我将res[i]定义为:一定要取第 i 个房子的前提下,能获取的最大金额。那么直接用cnt从头记录到尾,每个房子的res最大值即是答案。那么递推公式是什么?res[i]max(res[i-2],res[i-1],...,res[0])nums[i]。数组初始…

设计模式深度解析:适配器模式与桥接模式-灵活应对变化的两种设计策略大比拼

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 适配器模式与桥接模式-灵活应对变化的两种设计策略大比拼 探索设计模式的魅力:深入了…

如何实现在固定位置的鼠标连点

鼠大侠的鼠标连点功能是免费的 浏览器搜索下载鼠大侠,指定连点间隔和启动快捷键 点击设置,指定点击位置

【区间、栈】算法例题

目录 六、区间 48. 汇总区间 ① 49. 合并区间 ② 50. 插入区间 ② 51. 用最少数量的箭引爆气球 ② 七、栈 52. 有效的括号 ① 53. 简化路径 ② 54. 最小栈 ② 55. 逆波兰表达式求值 ② √- 56. 基本计算器 ③ 六、区间 48. 汇总区间 ① 给定一个 无重复元素 的 …

安防监控视频汇聚方案EasyCVR平台调用设备录像不返回视频流的原因排查

国标GB28181协议EasyCVR安防平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,平台支持7*24小时实时高清视频监控,能同时播放多路监控视频流&#xf…

使用Pygame做一个乒乓球游戏

项目介绍 使用Pygame做一个乒乓球游戏。左侧为电脑,右侧为玩家。 视频地址-YT 视频搬运-B站 视频教程约90分钟。 代码地址 环境:需要pygame库,可用pip安装:pip install pygame 1. 基础版本 首先进行一些初始化,初始…

MySQL 多表查询与事务的操作

一,多表联查 有些数据我们已经拆分成多个表,他们之间通过外键进行连接.当我们要查询两个表的数据,各取其中的一列或者多列. 这时候就需要使用多表联查. 数据准备: # 创建部门表 create table dept(id int primary key auto_increment,name varchar(20) ) insert into dept (n…

MySQL 多表关系(介绍) 一对多/多对多

一对多 举例介绍 例子: 部门与员工 在常理上来说: 一个部门有多个员工,一个员工只对应一个部门实现方式: 在多的一方建立外键,指向一的一方的主键 多对多 举例介绍 例子: 学生与课程 在常理上来说: 一个学生可以有多个课程,一门课程可以有多个学生实…

热插拔技术(番外)

5、总线热插拔及系统解决方案 在实际运用中,总线上插入板卡时,由于新插入板卡电容的充电以及上电过程中一些低阻抗通道的存在,会产生极大的浪涌电流,拉低总线电平,对总线上其他设备产生干扰,影响总线上其他…