初识 CV Transformer 之《ViT》论文精读
题目:An Image is Worth 16x16 Words:Transformers for Image Recognition at Scale
作者: Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov,
Dirk Weissenborn, Xiaohua Zhai …
单位: Google Brain
发表会议及时间: ICLR2021
论文泛读
研究背景
- Transformer很强, 但视觉任务中的应用还有限
Transformer提出后在NLP领域中取得了极好的效果, 其全Attention的结构, 不仅增强了特征提取能力, 还保持了并行计算的特点, 可以又快又好的完成NLP领域内几乎所有任务, 极大地推动自然语言处理的发展。
但在其在计算机视觉领域的应用还非常有限。 在此之前只有目标检测(Object detection)中的DETR大规模使用了Transformer, 其他领域很少, 而纯Transformer结构的网络则是没有。
Transformer基本结构
Transformer的优势
- 并行计算
- 全局视野
- 灵活的堆叠能力
ViT和ResNet Baseline 取得了不相上下的结果
ImageNet等: 数据集名称
JFT: 谷歌闭源数据集, 规模是ImageNet的30倍左右
ViT-H/14: ViT-Huge模型, 输入序列14x14
BiT : 一个大ResNet进行监督+迁移学习的模型
Noisy Student: 一个半监督学习的EfficientNet-L2
ViT-H/14: ViT-Huge模型, 输入序列14x14
研究意义
• 展示了在计算机视觉中使用纯Transformer结构的可能
• 拉开了这一轮Transformer研究热潮的序幕
摘要核心
- Transformer在NLP中已经成为经典
- 在CV中,Attention机制只是作为一个补充在使用
- 我们使用纯Transformer结构就可以在图像分类任务上取得不错的结果
- 在足够大的数据集上训练后,ViT可以拿到和CNN的SOTA不相上下的结果
论文精读
ViT结构
• The Architecture
• Follow the original Transformer
• 实际上只使用了Transformer的Encoder
• Transformer的scale能力强
• 其 实现简单
Attention 一切的开始
背景介绍——以机器翻译为例
Attention 背后的直觉:
并不用完全编码
一个翻译至于有限的几个词有关
Attention示意图
Attention计算——本质相似性计算
Attention优点:
- 并行计算
- 全局视野
MultiHead-Attention
Self Attention
Self Attention计算:实际上是在进行相似度计算,即计算每个q和每个k的相似度
公式:
Q,K,V都是什么?
Query: 查询, 询问
Key: 键值, 关键词
Value: 价值, 数值
为什么点积可以表示相似性?
New value的意义是什么?
单词意义->句中意思的转化
计算可以矩阵化并行
MultiHead Attention
有多个Wq,Wk,Wv上述操作重复多次结果concat一起
Why MultiHead Attention?
答:给注意力提供多种可能性。
Transformer Encoder
输入端适配
直接把图片切分,然后编号输入网络即可。
位置编码
图像切分重排后失去了位置信息
并且Transformer的内部运算是空间信息无关的,所以需要把位置信息编码重新传进网络
ViT使用了一个可学习的vector来编码,编码vector和patch vector直接相加组成输入
为什么直接相加,而不是concat?
因为相加是concat的一种特例。
数据流
实验设置及结果分析
大规模使用Pre-Train
先在大数据集上预训练, 然后到小数据集上Fine Tune
迁移过去后, 需要把原本的MLP Head换掉, 换成对应类别数的FC层(和过去一样)
处理不同尺寸输入的时候需要对Positional Encoding的结果进行插值。
实验结果
ImageNet等: 数据集名称
JFT: 谷歌闭源数据集, 规模是ImageNet的30倍左右
ViT-H/14: ViT-Huge模型, 输入序列14x14
BiT : 一个大ResNet进行监督+迁移学习的模型
Noisy Student: 一个半监督学习的EfficientNet-L2
ViT-H/14: ViT-Huge模型, 输入序列14x14
实验分析
ViT的性能需要大量的数据
不然ViT Large的性能无法充分发挥
结果分析
Attention距离和网络层数的关系
Attention的距离可以等价为Conv中的感受野大小
可以看到越深的层数, Attention跨越的距离越远
但是在最底层, 也有的head可以覆盖到很远的距离
这说明他们确实在负责Global信息整合
Attention 可视化
论文总结
关键点
- 模型结构——Transformer Encoder
- 输入端适配——切分图片再重排
- 位置编码——可学习的vector来表示
创新点
- 纯Transformer做分类任务
- 简单的输入端适配即可使用
- 做了大量的实验揭示了纯
- Transformer做CV的可能性。
- 点赞
- 收藏
- 关注作者
评论(0)