《Vision Transformers: State of the Art and Research Challenges》论文翻译阅读

2023-11-01

作者:Bo-Kai Ruan , Hong-Han Shuai , Wen-Huang Cheng

概要

Transforme在自然语言处理中取得了巨大的成功。
由于Transformer的自注意机制具有强大的能力,研究人员开发vision transformer用于各种计算机视觉任务,如图像识别、目标检测、图像分割、姿态估计和三维重建。
本文全面概述了关于视觉transformer的不同架构设计和训练技巧(包括自监督学习)的文献。
我们的目标是提供一个系统的回顾与开放的研究机会。

1 引言

Transformers [Vaswani et al., 2017] 最初在自然语言处理方面取得了巨大的成功[Devlin et al.,2018; Radford et al., 2018] ,而且适用于各种任务,包括情绪分类、机器翻译、单词预测等等。
Transformers 的关键特征是自我注意机制,它帮助模型学习全局上下文,使模型能够获得长期依赖关系。
由于自然语言处理的巨大成功,Transformers 已经被计算机视觉任务所采用,导致了Transformers 的发展。
Transformers 近年来已经流行起来,并在图像分类[Dosovitskiy et al., 2021; Liu et al., 2021]、视频分类[Arnab et al., 2021]、目标检测[Carion et al., 2020; Fang et al., 2021]、语义分割[Xie et al., 2021a;
Li et al., 2021b]和姿态检测[Zhu et al., 2021]等许多领域取得了相当大的成功。

尽管该体系结构取得了成功,但仍有一些缺陷需要解决,例如,缺乏数据(data-hungry)、缺乏局部性(lack of locality)和跨补丁(cross-patch)信息。
因此,最近的一系列研究已经被提出来进一步增强视觉Transformers 。
本调查介绍了解决这些问题的重要思路,并旨在为未来的研究阐明这些主题。
此外,由于自监督学习方法在视觉Transformers中起着重要的作用,我们还提出了几种用于视觉Transformers 的自监督学习方法。
本文的其余部分组织如下。我们从Transformer视觉Transformer的初步研究开始,然后介绍视觉Transformer的变体架构。随后,介绍了在视觉Transformer中使用的训练技巧,以及自监督学习。最后,我们总结了本文,并讨论了未来的研究方向和挑战。

2 准备工作

2.1 自注意力机制

注意机制是深度学习研究中最有益的突破之一,它衡量的是一个有助于获得最终结果的特征的重要性。
使用注意机制通常会教会模型集中于特定的特征。对于自我注意,输入和输出大小是相同的,而自我注意机制允许输入之间的交互,发现他们应该注意的。
然后,根据注意力分数,通过加权输入来增强每个输出。例如,有一句关于“a dog is saved from pond after it fell through the ice”的话,自我关注可以通过关注“dog”来增强“it”的嵌入。自我关注是为了帮助模型学习长期依赖属性下的全局上下文。
图1a

图1a是自注意力机制的模块。设 X ∈ R L × d X\in \mathbb{R} ^{L\times d} XRL×d表示一个向量序列 ( x 1 , x 1 , . . . , x L ) (x_{1},x_{1},...,x_{L}) (x1,x1,...,xL),其中 d d d为每个向量的嵌入维数。为了帮助模型学习每个向量之间的关系,查询、关键和值矩阵从X中用线性层投影,分别用 Q Q Q K K K V V V表示。例如,查询矩阵是通过用一个线性层 W q W_{q} Wq投影 X X X得到的,即 Q = X W q Q = XW_{q} Q=XWq。具体来说,注意权重 E E E Q Q Q K T K^{T} KT s o f t m a x softmax softmax函数的归一化乘积计算,即:
E = s o f t m a x ( Q K T d ) (1) E=softmax(\frac{QK^{T} }{\sqrt{d} } ) \tag 1 E=softmax(d QKT)(1)
S o f t m a x Softmax Softmax函数将 ( 0 , 1 ) (0,1) (0,1)中每个查询键对的注意权重归一化,其中1表示最重要的信息,0表示无用的信息。最后,通过将注意权重 E E E应用到 V V V来增强输出特征 O O O,如下所示:
O = A t t e n t i o n ( Q , K , V ) = E V = s o f t m a x ( Q K T d ) V (2) O=Attention(Q,K,V)=EV=softmax(\frac{QK^{T} }{\sqrt{d} } )V \tag 2 O=Attention(Q,K,V)=EV=softmax(d QKT)V(2)

多头注意力机制

为了学习不同位置的不同表示,将输入 X X X转换为 n h n_{h} nh不同的表示(头),用 h 1 , ⋅ ⋅ ⋅ , h i , ⋅ ⋅ ⋅ , h n h h_{1},···,h_{i},···,{h_{n}}_{h} h1,⋅⋅⋅,hi,⋅⋅⋅,hnh表示。首先分别用投影矩阵 W q i W_{q}^{i} Wqi W k i W_{k}^{i} Wki W v i W_{v}^{i} Wvi计算每个头部 h i h_{i} hi Q i 、 K i Q_{i}、K_{i} QiKi V i V_{i} Vi的注意力。
h i = A t t e n t i o n ( Q i , K i , V i ) (3) h_{i}=Attention(Q^{i},K^{i},V^{i}) \tag 3 hi=Attention(Qi,Ki,Vi)(3)
然后,所有的头连接形成多头表示H如下:
H = C o n c a t ( h 1 , h 2 , . . . , h n h ) (4) H=Concat(h_{1},h_{2},...,{h_{n}}_{h}) \tag 4 H=Concat(h1,h2,...,hnh)(4)
最后,用投影矩阵 W O W^{O} WO H H H转换为 d d d维,即 O = H W O O = HW^{O} O=HWO。由于输入之间的关系的数量通常是未知的,因此多头注意力通常用于以数据驱动的方式捕获输入元素之间的不同关系。

2.2 Transformer

Transformer,由瓦斯瓦尼等人提出[瓦斯瓦尼等人,2017],在NLP任务中普遍存在[Devlin等人,2018;布朗等人,2020;Peyrard等人,2021]。图2为Transformer的体系结构。
图2

单个Transformer块可分为编码器和解码器,两者均可进一步分解为1)自注意力机制。2)按位置方向排列的前馈网络。3)位置编码。

按位置方向排列的前馈神经网络

前馈网络( F F N FFN FFN)主要由全连接层组成,可写入:
F F N ( X ) = δ ( X W 1 + b 1 ) W 2 + b 2 (5) FFN(X)=\delta (XW_{1}+b_{1})W_{2}+b_{2} \tag 5 FFN(X)=δ(XW1+b1)W2+b2(5)
其中, W 1 ∈ R d × h W_{1}\in R^{d\times h} W1Rd×h W 2 ∈ R h × d W_{2}\in R^{h\times d} W2Rh×d为权重, b 1 b_{1} b1 b 2 b_{2} b2为偏差项。 δ \delta δ是ReLU的激活函数。 h h h是隐藏的维度,通常被设置为 4 d 4d 4d

位置编码(positional encoding)

由于自我注意放松了顺序,transformer使用位置编码来保持顺序信息。作者提出使用不同频率的正弦和余弦函数来推导出位置编码,这使得模型可以学习相对位置,因为任何位置编码都可以被其他位置编码线性组合。
具体来说,位置编码在位置位置的第 i i i维,用 P E ( p o s , i ) PE_{(pos,i)} PE(posi)表示,可以计算如下:
P E ( p o s , i ) = { s i n ( p o s / 1000 0 i / d ) i f   i   i s   e v e n , c o s ( p o s / 1000 0 ( i − 1 ) / d ) o t h e r w i s e , PE_{(pos,i)}=\begin{cases} sin(pos/10000^{i/d}) & if\ i\ is\ even,\\ cos(pos/10000^{(i-1)/d}) & otherwise, \end{cases} PE(pos,i)={sin(pos/10000i/d)cos(pos/10000(i1)/d)if i is even,otherwise,
其中, d d d是输入特征的维数。

编码器

单个编码器块有两个子层,即多头注意网络和位置级前馈网络。每个子层之后都是残差连接[He et al.,2016]和层归一化[Ba et al.,2016]。编码器的输出将在第二个多头注意层中以 K K K V V V的形式发送到解码器中。

解码器

每个解码器块由三个子层组成。前两层是多头注意块,最后一层是位置级前馈网络。与编码器块类似,所有三层之后都是残差连接和层归一化。由于解码器是自回归的,即仅根据之前的预测依次预测一个新的结果,因此解码器中的多头注意层利用掩模操作只关注预测的结果,以防止违反因果关系。

2.3 Vision Transformer(ViT)

ViT[多索维茨基等人,2021]用多个变压器层取代了所有的CNN支柱,并在图像识别方面达到了最先进的性能,被称为视觉变压器的先驱。ViT包括三个部分:1)补丁和位置嵌入。2)变压器编码器。3)多层感知器(MLP)头。

patch和位置嵌入(positional Embedding)

为了转换图像 X ∈ R C × H × W X\in \mathbb{R}^{C×H×W} XRC×H×W到1维向量序列,图像将转换成 X p ∈ R N × ( P 2 C ) X_{p}\in \mathbb{R}^{N×(P^{2}C)} XpRN×(P2C)如图1b所示, P × P P×P P×P是每个补丁的分辨率,补丁的数量是 N = H W / P 2 N = HW/P^{2} N=HW/P2。然后通过一个线性层将补丁投影到补丁嵌入中。类似于BERT [Devlin等人,2018],在 X p X_{p} Xp中添加了一个可学习的类令牌 x c l s ∈ R 1 × ( P 2 C ) x_{cls}\in R^{1×(P^{2}C)} xclsR1×(P2C)。然后,将位置嵌入添加到输出 [ x c l s ; X p ] [x_{cls}; X_{p}] [xcls;Xp]中,以获取位置信息。
图1b

Transformer编码器

ViT不同时使用编码器和解码器,而是只使用变压器编码器,因为其目标是找到一个更好的表示,而不是自回归预测。图像补丁被转换成序列,然后发送到编码器中。唯一的区别是,图层的归一化是在子层(预范数)之前添加的[Xiong et al.,2020]。

Class Tokens

类标记被训练为包含类信息,并可用于表示整个特性。因此,它可以用来将数据分类为不同的类别。

MLP Head

MLP 头通常用于下游任务。具体来说,设 Z = [ Z 0 , Z 1 , ⋯   , Z N ] Z = [Z_{0},Z_{1},\cdots,Z_{N} ] Z=[Z0,Z1,,ZN]表示变压器编码器的输出。由于输入序列前的类标记可以视为图像表示,最终结果 y y y是根据编码器输出 Z 0 Z_{0} Z0的第一个标记确定的,即:
Z = T r a n s E n c o d e r ( [ x c l s ; X p ] ) Z=TransEncoder([x_{cls};X_{p}]) Z=TransEncoder([xcls;Xp])
y = M L P ( Z 0 ) y=MLP(Z_{0}) y=MLP(Z0)

3 各种Transformer结构

尽管ViT的性能很有希望,但它仍然存在几个问题。例如,ViT需要在一个大的数据集上进行训练。由于ViT最初是在JFT数据集上进行训练的[Sun等人,2017],使用≈300M图像,然后在ImageNet上进行细化(≈120万张图像)[俄罗斯萨科夫斯基等人,2015]。如果数据集不足,该模型的性能可能比基于cnn的方法更差。虽然预先训练好的权重可以用于各种任务,但许多数据集是不可转移的,甚至具有较差的性能。此外,ViT不是一个通用的骨干,因为它只适用于图像分类,而不适用于密集的预测,如目标检测和图像分割。
图3

图3显示了具有三个主流方向的视觉变压器的分类法。具体来说,Sec 3.1首先引入了基于局部性的模型,该模型设法将局部性添加到架构中。接下来,在Sec 3.2中介绍了基于特征的模型,旨在使特征表示多样化。接下来在Sec 3.3 中介绍了基于分层的模型,减少了特征大小层,以提高推理速度。一些没有属于上述类别的架构被包括在Sec 3.4中,请注意,这些模型被分为某些类别,但这些类别并不是相互排斥的。

3.1基于局部的模型

ViT缺乏局域性和翻译等价性,其表现通常比CNN差。因此,研究人员开始将CNN结构纳入视觉转换器,因为卷积内核有助于模型捕获局部信息。因此,从CNN中添加局部性,提高了视觉转换器的数据效率,从而在小数据集上获得更好的性能。下面,我们将介绍几种考虑局部性的方法。

DeiT

[Touvron等人,2021a]使用CNN作为教师模型来训练视觉转换器,它利用知识蒸馏[Hinton等人,2015]将感应偏差转移到视觉转换器,并对输入数据应用更强的数据增强。这种方法允许其他人从头开始训练视觉转换器,而不需要在大数据集上进行预训练。

ConViT

[d‘Ascoli等人,2021]与DeiT相似,因为ConViT也将CNN的归纳偏差结合到模型中。ConViT不使用知识蒸馏,而是包括门控位置自注意(GPSA),它可以初始化为卷积层[科顿尼尔等人,2020],用于在训练阶段开始时捕获局部信息。因此,ConViT可以利用CNN的软归纳偏差的优势,而不局限于CNN。换句话说,GPSA允许视觉转换器与CNN相同,以提高小数据集上的数据效率,但当在训练中使用无限的数据时,可以比CNN更好。

LeViT

[Graham et al.,2021]从四个卷积层中获得嵌入,该模型可以在开始时提取局部特征,并减少输入大小。最重要的是,LeViT进一步降低了一些注意力块的输入大小,从而加快了推理时间。这些优势有助于在准确性、数据效率和训练速度之间取得平衡。

CeiT

直接从卷积块中获得嵌入特征,并在模型开始时添加局部性,类似于LeViT。此外,作者在FFN中加入了一个深度卷积层,以鼓励模型提取局部特征。为了在不同的层中交换类信息,CeiT利用分层的类标记注意,通过计算类标记上的自注意来收集不同的类表示。

CvT

也获得了具有卷积层的嵌入。此外,CvT在自注意操作之前使用卷积层来创建查询、键和值,从而提供局部空间信息。此外,CvT还通过使用步幅=2来缩小键的大小和值来加速计算。

LocalViT

[Li等人,2021c]被设计为使用FFN中的卷积层来提取每个变压器块中的局部特征。作者还尝试在FFN层中应用不同的激活函数(ReLU6,h-swish)和体系结构(SE-Block,ECA模块)来提高性能。

CCT

[Hassani等人,2021]被提出来解决数据饥饿问题,使视觉变压器在小数据集上表现良好。具体来说,CCT获得了带有卷积层的嵌入,并通过删除位置嵌入来使输入形状灵活。在此基础上,CCT在变压器层的末端合并了序列池,以计算输出序列的权重。

3.2 基于特征的模型

这些模型致力于多样化特征,例如,视觉转换器中的注意力地图。具有不同的特征图表明模型可以提取各种特征,这使得模型表现良好。

DeepViT

[Zhou et al.,2021]是在作者检查了ViT的注意图并发现注意崩溃发生在更深层之后创建的。这个问题阻碍了模型的代表性,并会降低性能。作者改变了自注意层,并在注意层之后提供了一个可学习的变换矩阵,通过刺激模型生成一组新的注意映射来解决这个问题。

T2T-ViT

[Yuan et al.,2021b]是在作者观察从标记重塑的特征图并指出大多数标记图在ViT中没有意义后设计的。为了提高标记映射的多样性,作者在模型的开始部分插入了一个t2t模块。T2t模块由少量的T2t变压器组成。这些T2T-变压器可以被视为原始的变压器层,也可以被[Choromanski等人,2021]中使用的表演者所取代。在t2t变压器之间是t2t过程,它将图像裁剪成几个重叠的斑块。重叠策略使模型能够在相邻模型之间共享信息,从而提高特征的多样性。

3.3 基于分层的模型

ViT的原始版本因其计算量大而臭名昭著。值得注意的是,当输入尺寸增加时,成本增加。因此,减少特征大小肯定有助于减少训练时间。以下是解决此问题的一些方法。

PVT

[王等人,2021]主要用于解决密集预测问题(例如,目标检测和语义分割)。它使用空间归约层,通过降低K和V的维数来减少计算。特征尺寸在每个阶段开始时通过块嵌入层减小。由于其金字塔结构,该模型可以生成多尺度特征图,并且可以以较小的特征尺寸更快地进行训练。

PiT

[Heo等人,2021]包括池层,池层使用深度卷积层来实现降维。作者还在不同的鲁棒性基准上测试了PiT,并获得了出色的性能。

Swin-Transformer

[Liu等人,2021]提出基于ViT推导通用主干,可用于不同应用,例如图像分类和语义分割。由于逐像素应用自关注导致了巨大的计算复杂性,SwinTransformer形成了分层结构,该结构在每个Swin Transformer块之后合并补丁,因此由于只在每个局部移位窗口内计算自关注,因此对于输入图像大小具有近似线性的计算时间复杂性。

Twins-SVT

[Chu等人,2021]还计算了移动窗口内的注意力,而全局注意力在局部窗口注意力之后进行评估。这有助于每个窗口保留外部窗口信息,类似于重叠策略。同样,在阶段开始时合并面片以形成分层形状。

NexT

[Zhang等人,2021]基于不同的策略创建,以执行分层计算。具体地说,首先将图像分割成n个块,并且每四个块在变换层之后合并。此外,提出了基于梯度的类感知树遍历,以可视化从子节点到根节点的最关键路径,这揭示了模型如何在给定输入图像的情况下做出决策。值得注意的是,由于其树结构,NexT可用于通过颠倒树来生成图像。

3.4 其他结构

在下文中,我们介绍了改善ViT的几个有前景的方向,这些方向以前没有分类。

CrossViT

[Chen等人,2021a]可以从两个分支提取多尺度特征。这些分支是L分支和S分支,其中前者使用较大的补丁大小,后者使用较小的补丁大小。通过使用双分支结构,该模型能够获得不同尺度的空间信息。为了融合分支之间的空间信息,通过将类标记从一个插入到另一个来应用交叉关注。

RVT

[Mao等人,2021]是在研究ViT中不同组件的稳健性后设计的,例如在对抗性攻击下的准确性。基于这些结果,RVT决定1)通过平均特征来移除对视觉变换器不重要的类标记,2)将CNN添加到嵌入层和FFN层以增加局部性,3)使用更多的注意力头来获得不同的特征。此外,原始的自我注意力被位置感知注意力标度(PAAS)所取代,它向自我注意力添加了一个可学习矩阵,以显示每个Q-K对的重要性。PAAS被证明能够抑制噪声输入中的不相关信号。此外,逐块增强在不同的块上应用不同的增强,以使训练数据多样化。

CaiT

[Touvron等人,2021b]采用分层尺度标准化,使用可学习因子自适应标准化特征。归一化加快了收敛速度,并允许深度模型得到良好的训练。CaiT还包括类注意层,用于计算类嵌入和整体特征之间的注意,以便更好地了解输入。

XCiT

[Ali等人,2021]被提议降低自我注意力的时间复杂性。减少是通过交叉协方差注意力来完成的,它使用了自注意力的转置版本,即,自注意力是在特征信道上计算的,而不是在标记上计算的。因此,时间复杂度从O(n2D)降低到O(n2d/h)。此外,采用局部面片交互块来使用深度卷积网络进一步提取不同面片之间的信息。

视觉Transformer的训练技巧(Training Tricks for Vision Transformer)

为了更好地训练视觉变换器,提出了几种技巧来增加数据的多样性并提高模型的通用性。

Data Augmentation

用于增加训练数据的多样性,例如翻译、裁剪,这有助于模型通过改变输入模式来学习主要特征。为了找到各种数据集的最佳组合,AutoAugment【Cubuk等人,2019】和RandAugment【Cubuk等,2020】旨在搜索更好的组合。这些增强策略被证明可转移到不同的数据集。

Exponential moving average (EMA)

通常被添加以稳定训练过程。设θl和θl0分别表示第l次迭代中的模型参数和由优化器更新的参数。第(l+1)次迭代中的模型参数可通过以下公式计算:
θ l + 1 = λ θ l + ( 1 − λ ) θ l ′ \theta ^{l+1}=\lambda \theta ^{l} + (1-\lambda )\theta ^{l^{'}} θl+1=λθl+(1λ)θl
其中λ是范围[0,1]中的超参数。EMA通过平滑新旧参数来稳定训练过程。

随机深度(SD)

[Huang等人,2016]首次提出训练深层网络,如ResNet[He等人,2016],其将整个块作为正则化方法。类似地,当训练视觉变换器时,随机深度在注意或FFN层之后但在剩余连接之前将一些样本随机地保留为0。这一步骤可以被视为用某些样本的身份函数随机替换网络。

Fixing Resolution Discrepancy

【Touvron等人,2019年】旨在缓解数据增强中随机裁剪导致的训练和测试图像大小之间的差异。作者发现,对训练数据进行上采样可以缓解由不同分辨率引起的差异。这就是为什么许多模型训练的尺寸为384或更大。

视觉Transformer的自监督学习

自我监督学习(SSL)将模型训练为监督学习,但仅使用数据本身创建标签,而不是手动注释。SSL与利用数据相比具有相当大的优势,特别是对于那些广泛的数据集。它还帮助模型学习数据中的基本信息,并使模型健壮且可移植。
目前,计算机视觉中的SSL主要分为借口任务和对比学习。前者是为模型设计一个特定的作业,以便在对下游任务进行微调之前学习,例如预测旋转度、着色或解决拼图难题。相反,后者为同一类数据生成类似的特征,并排除其他负面样本。下面,我们将介绍视觉转换器中使用的几种SSL方法。

SiT

[Atito等人,2021]包括两个在通过视觉转换器传递输入数据后出现对比丢失的借口任务。这些任务包括预测(0、90、180、270)的旋转度和图像重建。
图像首先被增强并分割成不同的补丁。旋转任务是匹配输入图像的预测度和实际度。重建任务是将增强图像重建回原始图像。最后,对比度损失最大化了相同输入之间的相似性。

MoCoV3

[Chen等人,2021b]明确设计用于基于V1和V2的视觉变换器[He等人,2020;Chen等人,2020]。每个图像都有两个不同的版本,由数据增强生成,不同版本的图像被送入两个不同编码器。然后,该模型学习减少两幅相同图像之间的差异,并增加这些阴性样本的距离,其中差异由InfoNCE测量【Oord等人,2018年】。其他修改包括:1)删除内存队列,这样可以减少大batchsize的需求;2)采用对称化损失。假设第一个编码器输出q1、q2,第二个编码器输出k1、k2,则对称化损耗L通过以下公式计算:
ι = i n f o N C E ( q 1 , k 2 ) + i n f o N C E ( q 2 , k 1 ) \iota = infoNCE(q_{1}, k_{2}) + infoNCE(q_{2}, k_{1}) ι=infoNCE(q1,k2)+infoNCE(q2,k1)

DINO

[Caron等人,2021]也接受了InfoNCE培训,但方法不同。输入被裁剪为全局视图和局部视图,其中全局视图具有更高的分辨率。教师模型只能看到全局视图,而学生模型可以利用所有视图。在更新阶段,优化器更新学生模型,而教师模型使用学生模型的EMA更新参数。为了避免崩溃,DINO在每个教师输出中添加了中心,这可以被视为一个偏差术语,以帮助模型生成均匀分布。这些中心根据教师产出的平均值平滑更新。

MoBY

[Xie等人,2021b]结合了MoCoV2【Chen等人,2020年】和BYOL【Grill等人,2020】的培训策略。MoBY没有使用vanilla ViT作为主干,而是将其替换为Swin Transformer[Liu等人,2021]。
此外,更新策略类似于DINO。最重要的是,为了避免大批量,MoBY遵循MoCoV2创建内存队列,以重用过去的特性。

EsViT

[Li等人,2022]使用分层变压器来降低计算成本。EsViT不使用位置嵌入,而是使用相对位置偏移来避免位置信息受到不同裁剪分辨率的影响。此外,EsViT使用与DINO和MoBY相同的更新方法。除此之外,EsViT还添加了额外的区域级任务,以连接区域间关系。

BEiT

[Bao等人,2022]是基于BERT设计的。将图像分割为面片,通过训练离散的V AE将面片标记为不同的离散值[Ramesh等人,2021]。然后,制作视觉转换器来预测遮罩贴片的标记。令牌的基本真相由第一阶段训练的离散V AE用非掩码补丁生成。

MAE

[He等人,2021]是根据自动编码器训练视觉变换器所采用的方法创建的。显然,输入图像首先会被高达75%的遮罩。这些应用于图像的掩蔽策略包括随机、分块和网格。然后,通过ViT将屏蔽图像编码为特征,解码器通过另一个ViT将特征解码为原始非屏蔽图像。令人惊讶的是,该策略最终获得了前所未有的高精度,并且蒙版图像可以很好地重建。

6 挑战和讨论

虽然现有的工作取得了相当大的成功,但仍有许多挑战有待解决。下面,我们将讨论视觉变换器的几个开放挑战和未来方向。

Universal pre-trained weights普遍的预训练权重

视觉变换器的灵感来自于Transformer中的自我关注,它最初用于解决NLP问题。然而,从文本到视觉的适应还没有完全探索出来。一个有希望的方向是找出适用于不同类型输入(例如文本、图像或音频)的通用预训练权重。目前,[Li等人,2021a]讨论了文本和视觉之间的关系。对一般条件的更多探索使我们能够揭开变压器基本原理的面纱。

Fixed input size固定输入大小

尽管自我关注接受不同的序列长度,但位置嵌入需要每个输入的固定长度。解决这个问题的一种方法是插值,它有助于扩展或压缩给定大小的嵌入。然而,当输入大小与训练大小极不相同时,这将导致信息丢失。目前,唯一可行的方法是直接从卷积层中提取特征,而不添加位置嵌入。然而,仅使用卷积层缺乏全局位置信息。

鲁棒性

当输入图像由于一些不可控的原因而改变或损坏时,测试模型的鲁棒性是很重要的。这些变化包括亮度、背景、模糊、噪声、数字伪影,甚至是对抗性攻击。尽管RVT检查了不同组件的健壮性,但它只关注视觉变换器架构。其他方面,如数据增强或学习目标尚未探讨。前者包括什么样的数据增强组合可以抵抗噪声输入,而后者与使模型能够过滤噪声攻击的学习准则相关联。

移动设备的轻量级模型

由于近年来深度学习逐渐流行,越来越多的制造商将深度学习模式移植到移动设备中。然而,由于尺寸和成本的限制,移动设备中的计算资源不适合运行视觉转换器。因此,减小模型大小也是在移动设备上扩展使用的一个重要主题。目前,关注解决相关问题的出版物很少[Mehta和Rastegari,2022]。

Feature Collapsing特征崩溃

提取特征的能力会极大地影响模型性能。如第3.2节所述,原始视觉变换器会发生特征崩溃,无法生成各种表示,这在训练深度视觉变换器时是一个严重的问题。当前的方法通常添加额外的模块(T2TViT)或可学习参数(DeepViT)来解决问题,这可能会导致推理时间的开销。研究其他方法,如改变架构或训练策略、添加附加标准和采用不同的数据增强,也是防止视觉变换器崩溃的很有希望的方向。

7 总结

我们介绍了几种视觉变压器模型,并重点介绍了创新组件。具体来说,引入了不同的体系结构来处理诸如数据饥饿、效率低和健壮性差等弱点。这些思想包括转移来自CNN的归纳偏差、添加局部性、强大的数据增强、跨窗口信息交换和降低计算成本。我们还回顾了训练技巧以及自我监督学习,它训练数据集而不需要任何标签,但甚至可以达到比监督方法更高的精度。在本文的最后,我们讨论了未来研究的一些开放性挑战。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《Vision Transformers: State of the Art and Research Challenges》论文翻译阅读 的相关文章

  • 蒙特卡洛在发电系统中的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 【多源数据融合】基于Dempster-Shafer理论的信念对数相似度测量及其在多源数据融合中的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 喜报|华测导航荣获“张江之星”领军型企业称号

    近日 2023年度 张江之星 企业培育名单发布 上海华测导航荣获2023年度 张江之星 领军型企业称号 据悉 张江之星 企业培育是上海科创办为落实 关于推进张江高新区改革创新发展建设世界领先科技园区的若干意见 张江高新区加快世界领先科技园区
  • 利用CHAT写实验结论

    问CHAT 通过观察放置在玻璃表面上的单个水滴 人们可以观察到水滴充当成像系统 探究这样一个透镜的放大倍数和分辨率 CHAT回复 实验报告标题 利用玻璃表面的单一水滴观察成像系统的放大倍数和分辨率 一 实验目的 通过对比和测量 研究和探索玻
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 基于java的ssh医院在线挂号系统设计与实现

    基于java的ssh医院在线挂号系统设计与实现 I 引言 A 研究背景和动机 基于Java的SSH医院在线挂号系统设计与实现的研究背景和动机 随着信息技术的迅速发展和应用 医院在线挂号系统已成为医院管理的重要组成部分 传统的挂号方式存在许多
  • 让CHAT介绍下V2ray

    CHAT回复 V2Ray是一个网络工具 主要用于科学上网和保护用户的网络安全 它的名字源自Vmess Ray 光线 通过使用新的网络协议 为用户提供稳定且灵活的代理服务 下面是一些V2Ray的主要特性 1 多协议支持 V2Ray 提供了大量
  • 面对AI革新时,Soul App等社交应用的“出圈”解法是什么?

    2023年初 ChatGPT掀开海内外互联网 AI革新 的序幕 公众在惊讶于ChatGPT对于海量信息富有逻辑的整合归纳 帮助大家提升工作及学习效率之余 更为期待的莫过于有一天人工智能的 意识觉醒 十余年前由斯派克 琼斯 Spike Jon
  • 用CHAT分析高校体育智慧教学体系构建与探索研究现状

    CHAT回复 现阶段 高校体育智慧教学体系的构建与探索研究还处于初级阶段 但全球数字化转型大潮的推动下 一些较为前沿的研究和实践已经开始出现 1 教学平台的建设 很多高校已经开始尝试使用在线教育平台进行体育教学 把传统的面对面授课模式转变为
  • 毕业设计:基于卷积神经网络的验证码识别系统 机器视觉 人工智能

    目录 前言 设计思路 一 课题背景与意义 二 算法理论原理 2 1 字符分割算法 2 2 深度学习 三 检测的实现 3 1 数据集 3 2 实验环境搭建 3 3 实验及结果分析 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实
  • 无人机视角、多模态、模型剪枝、国产AI芯片部署

    无人机视角 多模态 模型剪枝 国产AI芯片部署是当前无人机技术领域的重要研究方向 其原理和应用价值在以下几个方面进行详细讲述 一 无人机视角 无人机视角是指在无人机上搭载摄像头等设备 通过航拍图像获取环境信息 并进行图像处理和分析 这种技术
  • 如何快速申请GPT账号?

    详情点击链接 如何快速申请GPT账号 一OpenAI 1 最新大模型GPT 4 Turbo 2 最新发布的高级数据分析 AI画图 图像识别 文档API 3 GPT Store 4 从0到1创建自己的GPT应用 5 模型Gemini以及大模型
  • 做大模型也有1年多了,聊聊这段时间的感悟!

    自ChatGPT问世以来 做大模型也有1年多了 今天给大家分享这一年后的感悟 过去一年应该是AI圈最万千瞩目的一年了 大家对大模型 OpenAI ChatGPT AI Native Agent这些词投入了太多的关注 以至于有一年的时间好像经
  • 机器学习算法实战案例:Informer实现多变量负荷预测

    文章目录 机器学习算法实战案例系列 答疑 技术交流 1 实验数据集 2 如何运行自己的数据集 3 报错分析 机器学习算法实战案例系
  • 主流进销存系统有哪些?企业该如何选择进销存系统?

    主流进销存系统有哪些 企业该如何选择进销存系统 永久免费 的软件 这个可能还真不太可能有 而且就算有 也只能说是相对免费 因为要么就是数据存量有限 要么就是功能有限 数据 信息都不保障 并且功能不完全 免费 免费软件 免费进销存 诸如此类
  • 蒙特卡洛在发电系统中的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 15天学会Python深度学习,我是如何办到的?

    陆陆续续有同学向我们咨询 Python编程如何上手 深度学习怎么学习 如果有人能手把手 一对一帮帮我就好了 我们非常理解初学者的茫然和困惑 大量视频 书籍 广告干扰了大家的判断 学习Python和人工智能 成为内行人不难 为此 我们推出了
  • 基于节点电价的电网对电动汽车接纳能力评估模型研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 5_机械臂运动学基础_矩阵

    上次说的向量空间是为矩阵服务的 1 学科回顾 从科技实践中来的数学问题无非分为两类 一类是线性问题 一类是非线性问题 线性问题是研究最久 理论最完善的 而非线性问题则可以在一定基础上转化为线性问题求解 线性变换 数域 F 上线性空间V中的变

随机推荐