Transformer架构已经成为自然语言处理任务的事实标准,但其在计算机视觉中的应用仍然有限。在视觉中,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体结构。论文表明,这种对CNN的依赖是不必要的,直接应用于图像块序列的纯变换器可以很好地执行图像分类任务。

在Transformer的基础上,ViT算法中尝试将标准的Transformer结构直接应用于图像,并对整个图像分类流程进行最少的修改。具体来讲,ViT算法中,会将整幅图像拆分成小图像块,然后把这些小图像块的线性嵌入序列作为Transformer的输入送入网络,然后使用监督学习的方式进行图像分类的训练。

参考论文:https://arxiv.org/pdf/2010.11929.pdf

我们将图像分割成固定大小的面片,线性嵌入每个面片,添加位置嵌入,并将生成的向量序列馈送给标准的Transformer编码器。为了执行分类,我们使用标准方法向序列中添加额外的可学习“分类标记”。

vit 模型结构示意图

作为原始图像块的替代方案,输入序列可以由CNN的特征图形成。在该混合模型中,将面片嵌入投影应用于从CNN特征图中提取的面片。作为一种特殊情况,面片可以具有空间大小1x1,这意味着通过简单地展平特征地图的空间维度并投影到变换维度来获得输入序列。如上所述,添加了分类输入嵌入和位置嵌入。

论文将图像分割成固定大小的面片,线性嵌入每个面片,添加位置嵌入,并将生成的向量序列馈送给标准的Transformer编码器。论文中的作者通过标准方法向序列中添加额外的可学习的分类标记。

作者评估了ResNet、visiontransformer(ViT)和hybrid的表征学习能力。为了理解每个模型的数据需求,对不同大小的数据集进行预训练,并评估许多基准任务。当考虑到预训练模型的计算成本时,ViT表现非常出色,以较低的预训练成本在大多数识别基准上达到了最先进的水平。

Transformer 是一种基于 encoder-decoder 结构的模型

每个解码器都可以分解成两个子层。

从编码器输入的句子首先会经过一个自注意力(self-attention)层,这层帮助编码器在对每个单词编码时提取多余特征。

自注意力层的输出会传递到前馈(feed-forward)神经网络中。每个位置的特征对应的前馈神经网络都完全一样。

解码器中也有编码器的自注意力(self-attention)层和前馈(feed-forward)层。

这两个层之间还有一个自注意力层。

总之就是输入图像,然后提取特征训练,最后通过分类器进行图像的分类

ViT(Vision Transformer)算法入门相关推荐

  1. VIT(vision transformer)结构解析

    文章目录 背景 网络结构 VIT简介 VIT模型概述 参考 transformer的出现彻底改变了自然语言处理的世界,然而在计算机视觉中,注意力机制保持原卷积网络整体结构,常与卷积网络结合.或是取代卷 ...

  2. ViT(Vision Transformer)学习

    ViT(Vison Transformer)学习 Paper:An image is worth 16×16 words: transformers for image recognition at ...

  3. CV攻城狮入门VIT(vision transformer)之旅——VIT原理详解篇

  4. ViT (Vision Transformer) ---- SimpleRNN + Attention

    Attention机制最早还是要来源Bengio在2015年发表的一篇文章Neural machine translation by jointly learning to align and tra ...

  5. ViT (Vision Transformer) ---- Vision Transformer

  6. ViT (Vision Transformer) ---- Transformer Model(2)

    上一节详细的介绍了transform的组件,本节就通过组件进行组装transform Self-attention层: 简化: 多头self-attention 上面是单头self-attention ...

  7. ViT (Vision Transformer) ---- Transformer Model(1)

    transform是2017年提出来的,当时横扫NLP领域的多个任务,Vaswani et al. Attention Is All You Need. In NIPS,2017. transform ...

  8. ViT (Vision Transformer) ---- SimpleRNN + Self-Attention

    首先attention第一次是在2015年应用在Seq2Seq模型上的,该模型有两个网络一个是Encoder,一个是decoder,后来研究者们发现,attention不仅仅可以应用到Seq2Seq模 ...

  9. ViT (Vision Transformer) ---- Seq2Seq

    对于seq2seq模型,网上很多文章直接就把抽象模型拿出来,这样对初学者很不友好,这里采用例子进行阐述,最后在通过抽象模型理解 英语翻译成德语 这个网站有很多的数据集 Tokenization 和创建 ...

  10. ViT (Vision Transformer) ---- Text Generation(文本生成器)

    使用RNN对文本预测 假如输入的文本是:the cat sat on the ma     那么下一个字符什么呢? 这里采用的是many to many模型,如下: 此时模型的输出字符概率为: 如何训 ...

最新文章

  1. tkinter安装_mac pyenv 安装tkinter,解决tkinter环境的问题
  2. [转] linux下查看nginx,apache,mysql,php的编译参数
  3. 警惕!勒索病毒DXXD 2.0版来袭,黑客称只能缴纳赎金无法破解
  4. MAC apache配置
  5. linux sort
  6. github怎么隐藏自己的pr记录_记便签的软件哪个好?怎么及时记录自己的想法
  7. 使用React Native和Spring Boot构建一个移动应用
  8. linux 启动ftp服务,sftp服务
  9. 仅用18天,英伟达新型GAN合成真假难辨高清明星脸
  10. vue assets图片_Vue实战—如何细化Vue项目目录设计(2)
  11. JavaWeb——mybatis一对一、一对多查询
  12. python释放变量内存_2020Python面试题:Python是如何进行内存管理的?
  13. HTML做成信纸格式,css3实现信纸/同学录效果的示例代码
  14. WEB前端(4)—— CSS经典案例(DIV+CSS布局)
  15. VMware没有未桥接的主机网络适配器,VMware bridge protocol服务卸载不掉
  16. Node.js 静态web服务
  17. 《庄子·杂篇·天下第三十三》
  18. CodeForces - 1144C Two Shuffled Sequences【优先队列】
  19. JAVA毕业设计html5在线医疗系统计算机源码+lw文档+系统+调试部署+数据库
  20. 有多个按钮,点击一个变色,点击另一个变色,原来的恢复颜色的方法

热门文章

  1. python+django+Vue社区医院管理服务系统
  2. GoodGuy -试图去揣摩一个好产品会如何进行消息推送管理平台的需求设计
  3. 中南林业科技大学c语言考研真题,中南林业科技大学植物学考研真题
  4. ubuntu安装php扩展包
  5. (C语言)八大排序之:堆排序、快速排序
  6. 【打卡定制版】11月最新H5定制版早起打卡支付已接带完整搭建教程
  7. 编程英语:常见代码错误 error 语句学习(7)
  8. matlab基础学习记录之阶跃函数、单矩形脉冲函数、周期矩形脉冲函数的构造与画图
  9. python怎么画高程三维网格图_matplotlib绘制等高线图
  10. 【译】做好这几件事,代码质量可以提升一个档次