【AI】VIT Transformer论文学习笔记

论文:Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[J]. arXiv preprint arXiv:2010.11929, 2020

在这里插入图片描述

1.文章背景

计算机视觉当前最热门的两大基础模型就是Transformer和CNN了。

  • Transformer的应用

Transformer提出后在NLP领域中取得了极好的效果,其全Attention的结构,不仅增强了特征提取能力,还保持了并行计算的特点,可以又快又好的完成NLP领域内几乎所有任务,极大地推动自然语言处理的发展。
但在其在计算机视觉领域的应用还非常有限。在此之前只有目标检测(Object detection)中的DETR大规模使用了Transformer,其他领域很少,而纯Transformer结构的网络则是没有。
VIT这篇文章就是将Transformer模型应用在了CV领域,它将图像处理成Transformer模型可以应用的形式,沿用NLP领域中Transformer的方法,直接验证了其精度可以和ResNet不相上下,展示了在计算机视觉中使用纯Transformer结构的可能,为Transformer在CV领域的应用打开了大门。

  • Transformer的优势

1.并行计算
例如RNN,它每一层的参数都依赖前一个参数的计算结果,较难进行并行计算。而例如CNN,它每一层的计算的输入都是上一次的结果直接获取来的,可以进行并行计算,Transformer模型也具有这种能力。
在这里插入图片描述

2.全局视野
其计算可以层叠更大的图像范围

3.灵活的堆叠能力
由于MultiHead Attention机制,其堆叠能力更加灵活
在这里插入图片描述

2.文章导读

2.1摘要核心

  1. Transformer在NLP中已经成为经典
  2. 在CV中,Attention机制只是作为一个补充在使用
  3. 我们使用纯Transformer结构就可以在图像分类任务上取得不错的结果
  4. 在足够大的数据集上训练后,ViT可以拿到和CNN的SOTA不相上下的结果

2.2 VIT结构

VIT的主要思想就是迁移在NLP中应用很好的Transformer模型,以求在使用时做出最小的改动,来验证模型在CV领域应用的效果。要把原来的NLP中的模型应用在CV领域,需要对图像输入做出处理,这就隐身出来本文的核心idea:把图像切分重排,当作输入。
在这里插入图片描述

2.3 Attention 注意力机制

Attention其本质可以认为是加权平均。
在这里插入图片描述
输入层的各个参数与权重相乘后求和得出一个预测值。权重是如何获取的呢,实际上就是相似度计算。
将输入的图像解析之后,每个输入的要素都转换成坐标系上的向量,计算要素的相似度就可以转换为计算要素向量在坐标系上的距离,距离近的相识度高,距离远的相识度低,就可以使用向量的点积运算来做处理。
在这里插入图片描述
Q是输入值,K是关键词,self attention的计算实际上是在计算每个q和每个k的相似度。除以dk的平方根是为了避免较大的数值,较大的数值会导致softmax之后值更极端,softmax的极端值会导致梯度消失。softmax是将所有的值的权重和置为1,这个操作就想人的注意力似的,人对所有这些要素的注意力为1,有的要素注意力多点,有的要素注意力少点,softmax之后可以使权重更加集中。
相乘之后再进行相加,类比一词多意理解,这个词的多个意思都代表了这个词,具体要使用哪个意思需要借助其在句子中的意思。

然后进行MultiHead Attention操作,有多个Wq,Wk,Wv重复多次,结果concat一起。
在这里插入图片描述

2.3 输入端适配

将图像切图重排成一个个Patches,Patch经过Flatten操作后,获得一个个向量(Flattened patohes),然后经过Linner Projection获取到Input vector。
在这里插入图片描述

2.4 位置编码

图像切分重排后失去了位置信息,并且Transformer的内部运算是空间信息无关的,所以需要把位置信息编码重新传进网络;ViT使用了一个可学习的vector来编码,编码vector和patch vector直接相加组成输入
在这里插入图片描述

2.5 数据流

在这里插入图片描述

3.实验结果

ViT和ResNet Baseline取得了不相上下的结果
在这里插入图片描述
VIT 的性能可能依赖更大量的数据
在这里插入图片描述
Attention距离和网络层数的关系
Attention的距离可以等价为Conv中的感受野大小
可以看到越深的层数,Attention跨越的距离越远
但是在最底层,也有的head可以覆盖到很远的距离
这说明他们确实在负责Global信息整合
在这里插入图片描述

  • 29
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值