ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

读论文——ViT(Transformer跨界CV)

2021-12-03 19:02:01  阅读:200  来源: 互联网

标签:Transformer mathbf 跨界 LN transformer ViT 图像 图片


第一遍

  • 标题

    An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

  • 作者

    Alexey Dosovitskiy 谷歌研究院 大脑团队

  • 摘要

    1. 目前位置,注意力机制在计算机视觉中使用得不够充分
    2. 在图片分类任务上,用于图片块序列的纯transformer框架可以表现更好
    3. 通过在大的数据集上进行预训练,可以迁移学习到多个中小型图像识别基准
  • 结论

    1. 不再是仅仅使用自注意力模块对视觉任务进行处理,而是在将图片变成patch序列后,直接使用transformer框架,在大的数据集上可以超过CNNs的表现。简单、可拓展、相对便宜。
    2. 展望:1. 将ViT用于目标检测和语义分割 2. 拓展自监督预训练方法 -
  • 介绍

    1. CV中之前的工作,局部使用注意力,在特征图中使用自注意力;全局使用注意力,local-attention(按照CNNs的想法,对图片局部使用attention),axis-attention(在宽和高两个维度上使用注意力)。

    2. 本文将16×16个像素作为一个patch,将一个patch看作是一个词,进行类似BERT的处理方式

    3. 由于ViT缺乏归纳偏置(先验知识),在较小数据集(ImageNet)上,ViT表现不如ResNet。1)translation equivariance(平移变化不变性,一层理解,由于卷积核在图片上滑动的特征提取器,那么无论特征出现在图像哪里,都可以提取出来;二层理解,由于特征图中的特征核图像中特征是相对应的,因此在上面继续进行卷积和池化操作,并不会破坏图像提取出来的信息,即卷积和池化操作是可以部分顺序的。) 2)locality。卷积核一次提取图像某个局部的信息,背后的含义是图像中相邻像素表达的是一个特征。

    4. ViT在大的数据集上(JFT 300M)表现超过了所有其他模型

第二遍

重要图表

  1. 图1

    在这里插入图片描述

  2. 表1

    在这里插入图片描述

  3. 表2

    在这里插入图片描述

  4. 图2

    在这里插入图片描述

  5. 图3

    在这里插入图片描述

  6. 图4

    在这里插入图片描述

  7. 图5

    在这里插入图片描述

  8. 图6

    在这里插入图片描述

  9. 图7

在这里插入图片描述

第三遍

相关工作

方法

3.1 ViT

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JlYgfilV-1638429128961)(C:\Users\nabai\Documents\markdown图片\image-20211201215154137.png)]

将图片变成patch embedding,图片 x ∈ R H × W × C x \in \mathbb R^{H \times W \times C} x∈RH×W×C转换为图像块 x p ∈ R N × ( p 2 ⋅ C ) x_p \in \mathbb R^{N \times (p^2 \cdot C)} xp​∈RN×(p2⋅C)

一般对于图像分类中224 × 224 × 3的图片,变成图像块就是196 × 768

为了保持和BERT更大的相似性,patch embedding中也加入了[class]token, z 0 0 = x c l a s s z_0^0 = x_{class} z00​=xclass​,经过L个transformer后,输出为 z L 0 z_L^0 zL0​

整个流程公式表示为:
z 0 = [ x class  ; x p 1 E ; x p 2 E ; ⋯   ; x p N E ] + E pos  , E ∈ R ( P 2 ⋅ C ) × D , E pos  ∈ R ( N + 1 ) × D z ℓ ′ = MSA ⁡ ( LN ⁡ ( z ℓ − 1 ) ) + z ℓ − 1 , ℓ = 1 … L z ℓ = MLP ⁡ ( LN ⁡ ( z ′ ℓ ) ) + z ℓ ′ , ℓ = 1 … L y = LN ⁡ ( z L 0 ) \begin{array}{rll} \mathbf{z}_{0} & =\left[\mathbf{x}_{\text {class }} ; \mathbf{x}_{p}^{1} \mathbf{E} ; \mathbf{x}_{p}^{2} \mathbf{E} ; \cdots ; \mathbf{x}_{p}^{N} \mathbf{E}\right]+\mathbf{E}_{\text {pos }}, & \mathbf{E} \in \mathbb{R}^{\left(P^{2} \cdot C\right) \times D}, \mathbf{E}_{\text {pos }} \in \mathbb{R}^{(N+1) \times D} \\ \mathbf{z}_{\ell}^{\prime} & =\operatorname{MSA}\left(\operatorname{LN}\left(\mathbf{z}_{\ell-1}\right)\right)+\mathbf{z}_{\ell-1}, & \ell=1 \ldots L \\ \mathbf{z}_{\ell} & =\operatorname{MLP}\left(\operatorname{LN}\left(\mathbf{z}^{\prime} \ell\right)\right)+\mathbf{z}_{\ell}^{\prime}, & \ell=1 \ldots L \\ \mathbf{y} & =\operatorname{LN}\left(\mathbf{z}_{L}^{0}\right) & \end{array} z0​zℓ′​zℓ​y​=[xclass ​;xp1​E;xp2​E;⋯;xpN​E]+Epos ​,=MSA(LN(zℓ−1​))+zℓ−1​,=MLP(LN(z′ℓ))+zℓ′​,=LN(zL0​)​E∈R(P2⋅C)×D,Epos ​∈R(N+1)×Dℓ=1…Lℓ=1…L​

MSA表示多头自注意力层

  • 混合框架

    先通过ResNet等卷积神经网络得到14×14特征图,然后再利用transformer结构。这种结构在数据量较小时,相较于ResNet和纯transformer都要好,相当于结合了这两者的优点,一个具有归纳偏置,一种具有全局注意力。

3.2 微调和更大的分辨率

当预训练模型在一个具有更高分辨率的图像上微调,如果保持图像块大小不变,那么图像块序列长度必然会增加,虽然transformer可以允许序列变长,但是之前预训练的位置编码可能就失去了意义。因此,这里采用了二维插值,根据预先训练好的position embedding嵌入到原始图像中。

实验

4.1 模型训练

在这里插入图片描述

训练了三种不同规模的ViT

4.2 模型比较

在这里插入图片描述

模型全面刷榜,而且训练时间相对也减少了

4.3 预训练数据要求

在这里插入图片描述

可以发现,随着数据的增加,卷积网络性能慢慢落后于ViT

4.5 ViT原理探究

在这里插入图片描述

如图可以看出,在图片分类任务中,自注意力机制缺失让模型注意到图片中需要识别的物体。

在这里插入图片描述

如左图可知,transformer结构也可以学习图片中,颜色或者纹理等信息。

中间图不同图像块的位置编码的余弦相似度,可以发现对应位置的行和列能够具有更高的关注度。

右图表示在特征图中,相互关联像素点之间的距离,可以发现在靠近图像的一些层,关注距离是有大有小的,随着网络层数加深,注意力机制开始关注距离较远的特征(由此可以假设,模型的深度建模能力增强了,能够表达更深的语义信息)。

4.6 自监督

BERT得益于MLM、NSP等无监督训练方法,具有很强的学习能力,因此作者希望找到一种针对图像的高效地无监督学习。

小结

  1. 本文是2020-2021期间的transformer跨界CV的重要论文,主要思想就是将图片变成图片块,然后变成类似token embedding形式,可以直接输入到类似BERT架构中,然后在大规模数据集上继续预训练可以得到很不错的效果。
  2. 表明着一方面transformer还没有达到性能的极限,另一方面也为CV和NLP大一统埋下了伏笔。
  3. 顺带一提,论文中还尝试多种不同的位置编码,但是对最终性能没有很大影响,因此论文中依然保留了一维的位置编码,侧面也表达了自注意力机制对位置的不敏感,可以对图片进行全局建模。

标签:Transformer,mathbf,跨界,LN,transformer,ViT,图像,图片
来源: https://blog.csdn.net/y1040468929/article/details/121677904

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有