没有残差连接的ViT准确率只有0.15%!北大&华为提出用于ViT的增强 Shortcuts,涨点显著!

详细信息如下:
  • 论文链接:https://arxiv.org/abs/2106.15941

  • 项目链接:未开源

导言:
近年来,Transformer模型在计算机视觉领域取得了很大的进展。视觉Transformer的快速发展主要得益于其从输入图像中提取信息特征的能力。然而,主流Transformer模型采用深层架构设计,随着深度的增加,特性多样性将不断减少,即特征崩溃(feature collapse)
在本文中,作者从理论上分析了特征崩溃现象,并研究了这些Transformer模型中的shortcuts和特征多样性之间的关系。然后,作者提出了一个增强的shortcuts方案,该方案在原始shortcuts上并行插入具有可学习参数的附加路径。为了节省计算成本,作者进一步探索了一种有效的方法,使用块循环投影(block-circulant projection)来实现增强的shortcuts。在基准数据集上进行的大量实验证明了该方法的有效性,在不明显增加参数和FLOPs的情况下,使SOTA的视觉Transformer的精度提高了1%。

      01      

Motivation
源于自然语言处理,Transformer模型最近在各种计算机视觉任务中取得了巨大进展,如图像分类、目标检测和图像处理。其中,ViT模型将输入图像划分为视觉序列,并获得88.36%的top-1精度,这与SOTA的卷积神经网络(CNN)模型(例如,EfficientNet)性能相似。与具有先验知识(局部性、平移等变性)的CNN相比,视觉Transformer引入的假设偏置更小,并且在不同视觉任务上实现更好性能的潜力更大。
视觉Transformer中除了自注意层外,通常还包括一个shortcut,可以直接将多个层用恒等映射连接起来。shortcut的引入源于CNN的残差结构设计。目前有一系列关于解释和理解shortcut作用的工作。
有的工作对深层网络的梯度进行了分析,结果表明,shortcut连接可以有效地缓解梯度消失和爆炸的问题;有的工作将ResNet视为具有不同长度的路径的集合,可以通过shortcut解决梯度消失问题;还有的工作证明了shortcut连接可以避免网络参数陷入伪局部最优,使网络参数收敛到全局最优值。因此,除了CNN之外,shortcut连接也在其他深度网络中被应用,比如LSTM。
在视觉Transformer中,shortcut连接绕过了多头自注意(MSA)和多层感知机(MLP)模块,这对视觉Transformer的成功起着关键作用。如上表所示,去掉shortcut的ViT性能非常低。
根据实验,删除shortcut会导致不同patch的特征随着网络的变深而变得难以区分(如上图(a)所示),并且这些特征对于下游任务预测的表示能力也有限,作者把这种现象称为特征崩溃 。在Transformer中添加shortcut可以缓解这种现象(如上图(b)所示),并使生成的特征多样化。然而,传统的shortcut只是将输入特征复制到输出,限制了其增强特征多样性的能力。
在这篇文章中,作者提出了一种增强的shortcut方案来提高视觉Transformer中的特征多样性(如上图所示)。除了传统的shortcut外,作者还提出将MSA模块与多个参数化shortcut并行,以提供更多的替代路径来绕过注意机制。实现上,将增强的shortcut构造为具有可学习参数和非线性激活函数的线性投影序列。
作者从理论上证明了,Transformer模型配备了增强的shortcut,可以避免特征崩溃,并产生更多样化的特征。
由于计算效率的原因,作者进一步用块循环矩阵(block-circulant matrices)代替了原始的密集矩阵,这些矩阵在傅立叶频域具有较低的计算复杂度,而在空间域具有较高的表示能力。
由于循环投影的紧凑性,与MSA和MLP模块相比,由增强的shortcut引入的参数和计算成本可以忽略不计。
作者在ImageNet数据集上使用ViT模型及其SOTA变体对增强shortcut的有效性进行了评估。结果表明,配备增强shortcut后,这些模型的性能可提高约1%,且计算成本相当,如下图所示。

      02      

方法

2.1. Preliminaries

视觉Transformer(ViT)采用Transformer中提出的架构,MSA和MLP模块交替堆叠。对于图像,ViT将其拆分为N个patch,并将每个patch投影到d维向量中。因此,视觉Transformer的输入可以看作是矩阵。带有H个头的MSA模块定义为:
其中,表示第层的特征,和分别是第h个头中相应的注意图和value投影矩阵。表示H个头特征的拼接,是输出投影矩阵。
注意力矩阵由自注意机制计算得到,即,
和分别是query和value的投影矩阵,注意矩阵反映了不同patch之间的关系,值越大表明patch和patch之间的关系越强。
MLP模块独立地从每个patch中提取特征,这是由两个线性投影层(参数为)和一个非线性激活函数构成的,表示为。Transformer通过交替堆叠的MLP和MSA模块来构建。
除了MSA和MLP之外,shortcut连接对于实现高性能也起着至关重要的作用,删除shortcut会严重损害ViT模型的精度。为了探究背后的原因,作者分析ViT类模型中的中间特征,并计算了不同patch特征之间的余弦相似性,并在上图中显示了低层(第1层)、中层(第6层)和深层(第12层)的相似矩阵。随着网络深度的增加,不同patch的特征很快变得难以区分。作者称这种现象为特征崩溃 ,它极大地限制了特征表示能力,进而阻碍了更高的性能。
特征崩溃主要是由注意机制引起的,注意机制将不同patch的特征逐层聚集在一起。将表示为输出特征,注意机制可以表示为:
其中,来自第i个patch的特征是来自所有其他patch的特征的加权平均值,权重是注意图中的值。虽然注意机制捕获了全局关系,但patch特征的多样性也减少了。理论上,特征的多样性可以通过特征和Rank-1矩阵之间的差异来衡量,即:
其中 表示矩阵范数,是向量,是一个全1的向量。矩阵的秩为1,直观上,如果可以表示N个patch的,则生成的特征是冗余的。较大意味着特征较强的多样性,因此,作者用作为多样性指标。由于MSA模块会导致特征崩溃,因此作者将重点放在由注意力模块堆叠的模型上,并具有以下定理:
定理1:给定由MSA模块堆叠的模型,第 层特征的多样性 可以由输入数据 限定:
其中 是head的数量, 是特征维度, γ是与MSA模块中权重矩阵范数相关的常数。
和通常小于1,因此特征多样性会随着网络深度的增加而迅速减小。此外,作者也从实验上证明了定理1,如下图所示:
可以看出,添加一个与MSA模块并行的shortcut连接可以保持特征多样性,具有shortcut的MSA模块可表述为:
其中残差映射(即) 与MSA模块平行。shortcut连接绕过MSA模块,并提供另一条替代路径,在该路径中,特征可以直接复制到下一层,而不受其他patch的干扰。shortcut的成功表明,使用额外的路径绕过注意层是增强特征多样性和改进transformer模型性能的有效方法。
然而,在一般的vision transformer模型中,每个MSA模块只有一个shortcut连接,它仅将输入特征复制到输出。这种简单的映射可能没有足够的表示能力来最大限度地提高特征多样性。因此,作者重新定义了视觉Transformer中现有的shortcut连接,并探索有效且强大的增强shortcut,以产生具有更高多样性的视觉特征。

2.2. Augmented Shortcuts

作者提出了增强的Shortcuts,通过添加更多并行的参数化的投影来减轻特征崩溃。配备T个增强Shortcuts的MSA模块可以表述为:
其中,是第l层的第i个增强的shortcut,表示其参数。除了原始的shortcut外,增强的shortcuts还提供了更多的替代路径来绕过注意力机制。
与直连映射将输入patch复制到相应的输出不同,参数化投影可以将输入特征转换为另一个特征空间。实际上,投影将对输入特征进行不同的变换,只要它们的权重矩阵不同,并行更多的增强shortcuts可以丰富特征空间。
的简单公式可以是线性投影和激活函数的序列,即:
其中 为权重矩阵,σ 为非线性激活函数。
在没有shortcuts的Transformer的模型中,特征多样性的上限随着网络深度的增加而急剧下降 (见定理1)。
定理2:给定由AugMSA模块堆叠的模型,第 层特征的多样性 可以由输入数据 限制,即:
其中  。是第m层第i个增强shortcut中的权重矩阵, λ是激活函数  σ 的Lipschitz常数。
通过比较定理1和定理2,可以看出增强的shortcut多样性引入了额外的一项。因为通常大于1,所以多样性会随着深度增加而增大,这就可以抑制注意力机制引起的多样性衰减。
考虑到在MSA和MLP模块中都存在shortcut连接,因此增强shortcut也可以嵌入到MLP中,即:
其中是第l层中MLP模块的输入特征,表示增强shortcut的参数。

2.3. Efficient Implementation via Circulant Projection

如上所述,在vision transformer中使用MSA和MLP模块并行多个增强shortcut可以提高特征多样性以获得更高的性能。然而,直接实现涉及大量的矩阵乘法,计算成本很高。例如,给定特征和权重矩阵,矩阵乘法消耗 FLOPs,并且d通常在视觉Transformer中很大。
因此,作者提出使用块循环矩阵来实现增强的shortcut,与视觉Transformer中的其他模块相比,其计算成本可以忽略不计。
循环矩阵是结构化矩阵,在傅立叶域上具有极少的参数和极低的计算复杂度。循环矩阵只有个参数,并且与向量之间的乘积通过快速傅立叶变换 (FFT) 仅具有的计算复杂度。因此,作者利用循环矩阵来实现增强的shortcut。首先,将原始矩阵 拆分为个子矩阵,即:
其中,是子矩阵的大小,。每个子矩阵是通过循环一个维向量中的元素而生成的循环矩阵,即:
为了有效实现投影,作者首先将输入拆分为个切片,即,然后将每个切片乘以循环矩阵。原定义域中的循环矩阵和向量之间的乘积等价于傅立叶定义域中的元素乘,即,,其中是离散傅立叶变换, 表示中的每一行与中的相应元素相乘。离散傅里叶变换及其逆变换都可以用快速傅里叶变换FFT和它的逆IFFT来有效地计算,并且只有计算复杂度。输出的计算方式为:
其中是的切片。最后,通过将切片拼接得到, 即,。

      03      

实验

3.1. Experimental Results

上表展示了不同baseline网络,加入增强shortcut之后的对比结果,可以看出,本文的方法对于不同的baseline网络都是有效的。

3.2. The number of augmented shortcuts

上表展示了不同增强shortcuts数量对结果的影响,可以看出,当路径数量为2时,性能趋于饱和。

3.3. Location for implementing the augmented shortcuts

上表展示了不同位置上实现增强shortcuts对结果的影响,可以看出,在MLP和MSA上都加增强shortcut性能更好。

3.4. Efficiency of the block-circulant projection

上表展示了不同参数b下块循环卷积实现和不使用块循环卷积实现的结果,可以看出块循环卷积可以降低计算量,并且性能降低有限。b=4时能够在性能和计算量之间达到比较好的平衡。

3.5. Formulation of the augmented shortcuts

上表展示了不同增强shortcut实现的性能对比。

3.6. Feature Visualization

上表展示了ViT中三种不同设置下,底层、中层和高层特征图的可视化结果。可以看出,Aug-ViT的特征更具有可辨别性。

3.7. Object Detection with Pure Transformer

上表展示了本文方法和baseline在目标检测任务上的性能对比。

3.8. Transfer Learning

为了验证本文方法的泛化能力,作者也在其实数据集上做了实验,结果如上表所示。

      04      

总结
在本文中,作者提出了增强的shortcut,用于解决视觉Transformer中的特征崩溃问题。增强的shortcut与原来的残差连接平行,并且每个连接都有其可学习的参数,以对输入特征进行各种转换。作者采用有效的循环投影用于实现增强的shortcut,其显存和计算成本与视觉Transformer中的其他组件相比可以忽略不计。与残差连接类似,增强的shortcut也不依赖于特定的结构设计,可以将其快速嵌入到视觉Transformer的各种变体中, 用于增强它们在不同任务上的性能。
在本文中,作者的Motivation是,注意力计算是基于全局的,所以越往深层,特征多样性就会越小,残差连接可以缓解这一现象,但是不能生成更多多样性的特征。因此作者加入了多个并行的增强shortcut来获得更多多样性的特征来解决问题。为了计算的高效,作者引用了块循环矩阵来实现这一方法。
▊ 作者简介
研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。
知乎/公众号:FightingCV

END

(0)

相关推荐