Vision Transformer Explained | Papers With Code
有趣的特性
在cnn中处理的不太好,但是在transformers 都能处理的很好的例子。
Intriguing Properties of Vision Transformers | Papers With Code
标题
AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
理解一下:把每个图片都切分为16*16的patch
摘要
- 在大规模的数据集做预训练 可以很好的做迁移。
- 较少的训练资源 也是对比更耗时的模型来说。
vision transfomer 为啥会存在?
- 把transformer 引用到cv 最难的部分,因为在做自注意力的时候 是两两相互的,计算的复杂度是O(n2) 。
- 第一个问题 如何把每个2d的图片转化为1d的序列集合?
- 简单粗暴:转成像素点 拉直 扔到transformer ,复杂度太高( 224*224 = 50176)
- 所以问题就转化成了 序列长度太长,想办法去降低序列长度。把特征图 而不是像素点传入transformer 2018 cvpr
- stand alone attention 使用局部的小窗口 使用 windows attention 而不是整张图 neurips 2019 有点回到卷积的意思 回到局部小窗口
- 先在高度的 维度做self-attention axial attention eccv 2020
- 以上这些问题呢 很难训一个大模型
引言
- 没有看到数据过拟合的现象。
- 被NLP的可拓展性受到启发,所以想直接作用于图片,尽量做少的修改。
- 基于【为啥会存在】 vision transformer 把每个图片都切分成了16 * 16的patch 。
他们工作 证明了在一个标准的大规模数据集上做预训练的话, 是可以不用做其他更多的修改,就可以很好的迁移到其他场景。
结论
- 与之前的self-attention 工作不一样的点,除了抽图像块不一样,位置编码,用了图像特有的归纳偏置。直接把图片理解为序列的图像块,无需再对图像领域有更多的理解。cv nlp 大一统。
- 未解决的问题,挖坑的论文。
- vit 只做了分类任务,还需要后续的任务,检测,分割。
- 后续的detr,改变了整个目标检测。
- swin transfomer 把多尺度的设计 融合到了 transfomer中。
- 探索自监督的方式
- 提出把vit 变大 性能更强的方向 。scaling vision transformer cvpr 2022
参考:ViT论文逐段精读【论文精读】_哔哩哔哩_bilibili