位置: IT常识 - 正文

Vision Transformer 模型详解

编辑:rootadmin
Vision Transformer 模型详解 目录前言模型结构实验总结Question Summary前言

推荐整理分享Vision Transformer 模型详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

虽然说transformer已经是NLP领域的一个标准:BERT模型、GPT3或者是T5模型,但是当年

Vision transformer 提出时用transformer来做CV还是很有限的; 在视觉领域,自注意力要么是跟

卷积神经网络一起使用,要么用来把某一些卷积神经网络中的卷积替换成自注意力,但是还是保持

整体的结构不变; ViT是2020年Google团队提出的将Transformer应用在图像分类的模型,因为其

模型“简单”且效果好,可扩展性强(scalable,模型越大效果越好),成为了transformer在CV领域

应用的里程碑著作,也引爆了后续相关研究。

模型结构

作者将transformer结构去除掉decoder部分后经过改进将其运用到视觉领域。vision transformer模型结构主要包括三部分:

patch embeding 部分transformer encoder部分MLP head部分。

整个模型结构可以分为五个步骤进行:

1、将图片切分成多个patch。

2、将得到的patches经过一个线性映射层后得到多个token embedding。

3、将得到的多个token embedding concat一个额外的CLS token,然后和位置编码相加,构成完整的encoder模块的输入。

4、 将相加后的结果传入Transformer Encoder模块。

5、Transformer Encoder 模块的输出经过MLP Head 模块做分类输出。

Transformer Block:

Layer Norm层:标准归一化,为了更好的收敛。MHA层:多头自注意力机制输入和输出做残差连接Layer NormMLP层: Linear + GRLU +Linear +Dropout

L个Transformer Block 构成一个完整的Transformer Encoder模块。经过Transformer Block 后维度不变。

实验

Vision Transformer 模型详解

给出的最佳模型在ImageNet1K上能够达到88.55%的准确率(先在Google自家的JFT数据集上进行了预训练),说明Transformer在CV领域确实是有效的。 用vision transformer 模型和卷积神经网络(resnet)做了对比,实验发现在中小数据集上,

卷积神经网络的效果比vit模型的效果要好(原因在Question Summary)。随着数据及规模的增大,

ViT模型的效果要逐渐优于卷积神经网络的效果。

用vision transformer 模型和卷积神经网络(resnet)以及Hybrid结构(混合结构)做了对比,

结果相同,同时Hybrid结构在中小型数据集上也能够达到能好的性能(毕竟结合了卷积神经网络和

Transformer的优点),但随着数据集的增大,发现Transform的结构要比Hybrid结构性能优秀。 作者还做了关于自注意力机制的实验,从实验结果我们可以看出,模型可以很好的利用自注意力机制学习到图片的特征。 做了关于CLS Token和GAP以及关于不同维度的消融实验。ViT模型最后利用CLS Token做分类预

测,而卷积神经网络则是利用GAP(全局平均池化),从实验结果可以看出,CLS Token 可以和

GAP 达到同样的效果,但是要求不同的学习率。

总结

如果在足够多的数据上做预训练,也可以不需要卷积神经网路,直接使用标准的Transformer也能够

把视觉问题解决的很好;尤其是当在大规模的数据上面做预训练然后迁移到中小型数据集上面使用的

时候,Vision Transformer能够获得跟最好的卷积神经网络相媲美的结果。

Question Summary

在中小型数据集上,ViT模型不如卷积神经网络的原因:

卷积神经网络存在归纳偏置:locality 和translation equivariance。有了归纳偏置后,就有了先验知识,可以利用较少的数据去学习一个比较好的模型,而transformer没有先验知识,所以需要数据自己学习,所以在大数据集上的性能比中小数据集上。

位置编码:

如果不标注位置,在Transform看来图片就是一样的,所以需要加上位置编码。

CLS Token:

在NLP的分类任务中,被看作一个全局的对句子的理解,在这里可以看作一个图像的整体特征。

MLP Head:

一个通用的分类头,最后用交叉熵函数进行模型的训练。

论文:原论文链接 代码:pytorch代码

本文链接地址:https://www.jiuchutong.com/zhishi/294588.html 转载请保留说明!

上一篇:vue:聊天对话框的实现(vue聊天系统)

下一篇:【uni-app】小程序实现微信授权登陆(附流程图)(unigui 小程序)

  • 苹果移至app资源库的软件怎么弄到主屏幕(苹果移至app资源库)

    苹果移至app资源库的软件怎么弄到主屏幕(苹果移至app资源库)

  • 如何升级win10(电脑win7如何升级win10)

    如何升级win10(电脑win7如何升级win10)

  • 小米有品映趣是小米的吗(小米有品映趣电动剃须刀怎么样)

    小米有品映趣是小米的吗(小米有品映趣电动剃须刀怎么样)

  • iphone回声效果对方看不到(苹果用回声效果发送要多少钱)

    iphone回声效果对方看不到(苹果用回声效果发送要多少钱)

  • 计算器0n/c是什么键(计算器0n是什么键)

    计算器0n/c是什么键(计算器0n是什么键)

  • 域名有几个部分组成(域名有几个部分构成)

    域名有几个部分组成(域名有几个部分构成)

  • 腾讯视频账号突然下线(腾讯视频账号突然换成别人手机绑定了)

    腾讯视频账号突然下线(腾讯视频账号突然换成别人手机绑定了)

  • blued被对方拉黑会怎样(blued被对方拉黑没访问记录)

    blued被对方拉黑会怎样(blued被对方拉黑没访问记录)

  • 魅族17和17pro有什么区别(魅族17和17pro哪个更值得购买)

    魅族17和17pro有什么区别(魅族17和17pro哪个更值得购买)

  • 钉钉里的视频会议可以看回放吗(钉钉里的视频会议和直播有什么区别)

    钉钉里的视频会议可以看回放吗(钉钉里的视频会议和直播有什么区别)

  • 华为nova7se怎么调24小时(华为nova7se怎么看电池寿命)

    华为nova7se怎么调24小时(华为nova7se怎么看电池寿命)

  • 插着耳机闹钟还会响吗(插着耳机闹钟还会响吗华为)

    插着耳机闹钟还会响吗(插着耳机闹钟还会响吗华为)

  • 如何查看qq登录的地点位置(如何查看qq登录历史记录)

    如何查看qq登录的地点位置(如何查看qq登录历史记录)

  • al00x华为是什么型号(华为al00x是什么型号是什么价格)

    al00x华为是什么型号(华为al00x是什么型号是什么价格)

  • ipad变卡顿怎么解决(ipad变卡顿怎么办)

    ipad变卡顿怎么解决(ipad变卡顿怎么办)

  • 微信怎样关掉支付密码(微信怎么关掉支付)

    微信怎样关掉支付密码(微信怎么关掉支付)

  • iphonex换了电池还支持快充吗(iphonex换了电池后充电很慢)

    iphonex换了电池还支持快充吗(iphonex换了电池后充电很慢)

  • 手机必须充满电到100吗(手机必须充满电才能用吗)

    手机必须充满电到100吗(手机必须充满电才能用吗)

  • 为什么电脑任务栏总是卡住(为什么电脑任务栏一直在跳)

    为什么电脑任务栏总是卡住(为什么电脑任务栏一直在跳)

  • 手机收不到验证码怎么解决(手机收不到验证信息是什么问题)

    手机收不到验证码怎么解决(手机收不到验证信息是什么问题)

  • 华为手机圈圈怎么取消(华为手机上的圈圈怎么设置方法)

    华为手机圈圈怎么取消(华为手机上的圈圈怎么设置方法)

  • 苹果x怎么一键加速(苹果x怎么一键清理)

    苹果x怎么一键加速(苹果x怎么一键清理)

  • 华为手机如何唤醒小艺(华为手机如何唤醒小度)

    华为手机如何唤醒小艺(华为手机如何唤醒小度)

  • 结构化方法主要原则是(结构化方法主要有哪几种)

    结构化方法主要原则是(结构化方法主要有哪几种)

  • kindle fire是什么(kindle 啥意思)

    kindle fire是什么(kindle 啥意思)

  • 苹果手机怎么听amr(苹果手机怎么听本地音乐)

    苹果手机怎么听amr(苹果手机怎么听本地音乐)

  • 如何找到您会获得免费的Windows 11升级?(如何找到您会获得的权限)

    如何找到您会获得免费的Windows 11升级?(如何找到您会获得的权限)

  • webpack之常见性能优化(webpack常用属性)

    webpack之常见性能优化(webpack常用属性)

  • 买烟草可以开发票吗
  • 子公司借钱给母公司的会计处理
  • 小规模纳税人免税账务处理
  • 小规模季度30万免税
  • 网上银行回单是什么意思
  • 固定资产计入了主营业务成本,该怎么办
  • 固定资产原值错误的账务处理
  • 外经证到期如何填写最新有效期限
  • 税款追征期起算点 增值税重新计算
  • 划拨房二次出售缴纳出让金吗
  • 工程围挡做法
  • 场外货币基金赎回利息
  • 委托其他公司开票收款
  • 待认证转进项税额转出会计分录
  • 增值税专用发票电子版
  • 增值税发票税率6%是什么
  • 空报税怎么报
  • 开物流公司能挣多少钱
  • 买标书怎么做分录
  • 员工受伤报销
  • 分期开发是什么意思
  • 或有事项确认资金怎么填
  • windows11快捷操作
  • 小规模纳税人主要缴纳
  • 事业单位收受礼品怎么处理
  • 加计抵减怎么做账务处理小企业会计准则
  • win8系统出现你的电脑遇到问题需要重新启动
  • 完税证明和纳税申报表的金额不一致
  • 行政事业单位捐款支出怎么记账
  • ppap是什么意思中文
  • 农民工的职业培训
  • php array_search二维数组
  • 投资公司取得的发票
  • web自动化测试平台
  • php之间传递数据
  • 以小物件为话题写出背后的故事
  • 收到银行存款利息计入什么科目
  • 公积金计提按当月计算吗
  • 车辆购置税是税前还是税后
  • 产品结转基本步骤有哪些
  • 申报纳税的税务机关
  • 企业所得税如何征收
  • 不含税货款要开发票怎么弄
  • 工会经费按应发还是实发缴纳
  • 全资子公司注销的账务处理
  • 应付职工薪酬的会计科目
  • 费用计入什么表
  • 小规模减免增值税政策
  • 保险费用缴纳
  • 应收账款收不回来了应怎么做会计分录
  • 评估价计入什么科目
  • 现金余额不对怎么处理
  • 失控发票已补交什么意思
  • 收到对方的银行汇票算什么凭证
  • 小规模红冲发票怎么做分录
  • 库存现金日记账怎么填
  • 小规模纳税人增值税计算公式
  • 购货方享受现金折扣增值税
  • 开餐饮店需要什么条件才能开
  • 更新版本
  • win7旗舰版系统激活码
  • 有没有软件恢复
  • 电脑windows xp
  • Win10系统怎么截图快捷键
  • cocos2dx 3.5 win7 eclipse 环境搭建及hello world
  • opengl阴影平移
  • jsonp的使用
  • 脚本语言教程
  • javascript简明教程
  • vue.js打包部署
  • js处理时间
  • unity的text
  • 个人所得税app查不到工资记录
  • 资本公积如何转增股本的流程
  • 税务局函调情况说明
  • 国税系统如何查询发票
  • 税控发票开票系统对电脑配置有要求吗?
  • 纳税人如何划分
  • 混凝土搅拌站如何结转成本
  • 车辆保险代收车船税会计分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设