Press "Enter" to skip to content

ICML 2022 NUS&NVIDIA提出完全注意力网络《FAN》,在分类、检测、分割多个CV任务上SOTA,代码已开源!

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

关注公众号,发现CV技术之美

 

 

 

本篇文章分享 ICML 2022 论文 『Understanding The Robustness in Vision Transformers』, NUS&NVIDIA 提出完全注意力网络 FAN,在分类、检测、分割多个CV任务上SOTA,代码已开源!

 

详细信息如下:

 

 

论文链接:https://arxiv.org/abs/2204.12451

 

项目链接:https://github.com/NVlabs/FAN

 

      01        

 

摘要

 

最近的研究表明,视觉Transformer(VIT)对各种任务具有很强的鲁棒性。虽然这一特性部分归因于自注意机制,但仍缺乏系统的理解。在本文中,作者研究了自注意在学习鲁棒表征中的作用。

 

本文的研究受到视觉transformer中visual grouping的特性的推动,这表明自注意可以通过改进中级表征来提高稳健性。作者进一步提出了一系列全注意网络(FANs),通过整合注意通道处理设计来加强这一能力。作者在各种层次主干上全面验证了设计。

 

本文的模型在ImageNet-1k和ImageNet-C上达到了SOTA的87.1%的精度和35.8%的mCE,参数为76.8M。作者还展示了在两个下游任务中SOTA的准确性和鲁棒性:语义分割和目标检测。

 

      02        

 

Motivation

 

 

视觉识别的最新进展标志着视觉Transformer的兴起,成为最先进的模型。不同于ConvNet使用“滑动窗口”策略来处理视觉输入,最初的ViT具有模仿自然语言处理中的Transformer的设计——输入图像首先被分成一系列的patch(token),然后是进行自注意力以聚集这些token并产生它们表示。自推出以来,ViT在许多视觉识别任务中都取得了良好的性能。

 

与ConvNets不同,ViTs结合了使用自注意的非局部关系建模,在多个方面发挥了优势。一个重要的问题是对各种任务的鲁棒性。与干净图像上的标准识别任务不同,一些研究表明,ViTs在鲁棒性方面始终优于ConvNets。ViTs的强大鲁棒性部分归因于他们的自注意设计,但这一假设最近受到新兴研究ConvNeXt的挑战。这就提出了一个有趣的问题,即自注意在鲁棒泛化性中的实际作用。

 

在本文中,作者旨在找到上述问题的答案。本文始于一个有趣的观察,即在图像分类过程中,ViTs中自然会出现有意义的目标分割。这促使作者想知道,自注意是否通过视觉分组促进了中级表征的改善。作者使用spectral clustering分析每个ViT层的输出token,其中完整性矩阵的重要特征值对应于主要的聚类成分。本文的研究表明,重要特征值的数量与输入损坏引起的扰动之间存在有趣的相关性:它们在中层都显着减少,这表明这些层上的分组和鲁棒性是共生的。

 

 

如上图a所示,之前的ViT采用多头注意设计,然后使用MLP块来聚合来自多个单独头部的信息。由于不同的头部倾向于关注对象的不同组成部分,因此多头注意力设计本质上形成了混合的信息瓶颈。因此,如何聚合来自不同matters的信息至关重要。作者的目标是提出一种聚合设计,以加强分组和健壮性的共生关系。如上图b所示,作者提出了一种新的注意力通道处理设计,它通过重新加权来促进通道选择。与MLP块中的静态卷积操作不同,注意设计是动态的,并且依赖于内容,导致更具组合性和鲁棒性的表征。提出的模块产生了一个新的Transformer主干系列,在其设计之后创造了完全注意网络(Fully Attentional Networks,FANs)。

 

      03        

 

方法

 

3.1. Preliminaries on Vision Transformers

 

标准ViT首先将输入图像均匀地划分为n个patch,并将每个patch编码为一个token嵌入。然后,所有这些token都被馈送到Transformer块堆栈中。每个transformer块利用自注意力进行token混合,利用MLP进行通道特征转换。

 

Token mixing

 

Vision transformers利用自注意力来聚合全局信息。假设输入token嵌入张量为,SA使用参数进行线性变换,将其嵌入key,query,value。然后,SA模块计算注意矩阵,并聚合token特征,如下所示:

 

 

其中是一个线性变换,是聚合的token特征和是比例因子。然后将SA的输出归一化并馈入MLP,以生成下一个block的输入。

 

Channel processing

 

大多数ViT采用MLP块将输入token转换为特征Z:

 

 

该区块包含两个线性层和一个GELU层。

 

3.2. Intriguing Properties of Self-Attention

 

 

作者首先观察到ViT的token特征z上出现了有意义的聚类。作者使用spectral clustering来研究这种现象,其中token特征矩阵定义为。由于主要集群的数量可以通过S的重要特征值的多重性来估计,因此作者绘制了不同ViT-S区块的重要特征值的数量(上图(a))。可以观察到,通过馈送高斯噪声x∼ N(0,1),产生的扰动(通过归一化特征范数测量)随着显着特征值的数量迅速减少。这样的观察表明分组的共生性和对中间块的鲁棒性的改进。

 

此外,作者还将在上图(b)中对FAN-S-ViT的相同曲线图进行可视化,其中类似趋势更为明显。在上图(c)中,作者进一步将ViT和FAN的噪声衰减与ResNet-50进行了比较。

 

作者观察到:1)ResNet-50的鲁棒性在下采样时趋于提高,但在常规卷积块上趋于平稳。2) ResNet-50的最终噪声的衰减不太显着。

 

 

最后,作者在上图中可视化了在不同块中获得的分组token,它演示了通过逐渐挤出不重要的组件来进行可视化分组的过程。

 

3.3. Fully Attentional Networks

 

通过以上IB解释的混合,作者打算设计一个通道处理模块,通过跨不同头的聚合来增强健壮的表示。本文的设计主要由两个方面驱动:1)为了促进更多的成分表示,最好引入通道重新加权,因为某些头或通道确实比其他头或通道捕获更多重要信息。2) 重新加权机制应该在空间上更全面地考虑每个通道,以利用提升的分组信息,而不是做出“非常局部”的通道聚合决策。

 

 

为了实现上述目标,作者引入一种类似于XCiT的通道自注意力设计。如上图所示,通道注意(CA)模块采用自注意设计,将MLP块移动到自注意块中,然后与来自通道注意分支的D×D通道注意矩阵相乘。

 

Attentional feature transformation

 

FAN块引入以下通道注意(CA)来执行特征转换,其公式如下:

 

 

和是线性变换参数。与SA不同,CA计算注意矩阵沿通道维度而非token维度,它利用特征协方差进行特征变换。具有较大相关性值的强相关特征通道将被聚合,而具有较低相关性值的离群特征将被隔离。这有助于模型过滤出不相关的信息。在CA的帮助下,该模型可以过滤不相关的特征,从而为前景和背景token形成更精确的token聚类。

 

3.4. Efficient Channel Self-attention

 

在通道维度上应用传统的自注意力计算机制有两个限制。

 

第一个是 计算开销 。引入的CA的计算复杂度与D 成二次比例,其中D是通道维数。对于现代金字塔模型设计中,通道尺寸在顶部阶段变得越来越大。因此,直接应用CA可能会导致巨大的计算开销。

 

第二个问题是 参数效率低 。在传统的SA模块中,通过Softmax操作来锐化注意权重的注意分布。因此,只有部分通道有助于表征学习,因为大多数通道通过乘以一个小的注意权重而减少。

 

为了克服这些问题,作者探索了一种新的类似自注意的机制,该机制同时具备较高的计算效率和参数效率。具体而言,进行了两项主要修改。首先,作者通过对通道维度进行平均生成一个token原型,而不是计算token特征之间的关联矩阵。直观地,聚合了由token表示的每个空间位置的所有通道信息。

 

因此,在token特征和token原型之间计算相关矩阵是信息丰富的。其次,作者没有应用Softmax函数,而是使用Sigmoid函数来归一化注意权重,然后将其与token特征相乘,而不是使用MatMul来聚合通道信息。直观地说,作者不强制通道仅选择少数“重要”token特征,而是基于空间相关性重新加权每个通道。实际上,通道特征通常被认为是独立的。价值较大的渠道不应限制其他渠道的重要性。通过结合这两个设计概念,作者提出了一种新的通道自注意力,计算如下 :

 

 

这里,σ表示沿token维度的Softmax操作,表示token原型()。具体结构如下图所示,作者验证了新的有效通道自注意力在显着提高性能的同时消耗更少的计算成本。

 

 

      04        

 

实验

 

 

作者提出了多种模型变体,具体的模型结构细节如上表所示。

 

 

作者根据实验评估了如何使用不同的训练配方来提高鲁棒性,结果如上表所示。可以观察到,广泛使用的技巧,如知识提取(KD)和大数据集预训练,确实提高了绝对精度。

 

 

作者对加入高级技巧后ResNet-50模型的稳健性如何变化进行了逐步的实证研究。作者尝试了三种设计选择:training recipe、attention mechanism和down-sampling方法。

 

对于training recipe,作者采用与训练ViT-S模型相同的配方。对于attention,作者使用SENet,并将其沿通道维度应用于每个块的特征输出。对于down-sampling方法,作者还研究了不同的降采样策略,即平均池化和strided convolution。可以看出,增加注意力和使用更高级的训练方法确实显着提高了ResNet-50的鲁棒性。

 

 

为了进行公平比较,作者使用上述所有经过验证的训练技巧来训练ViT-S和ResNet-50,使其达到最佳性能。上表中的结果表明,即使使用相同的训练配方,ViTs在鲁棒性方面仍优于ResNet-50。这些结果表明,ViTs鲁棒性的提高可能来自于其具有自注意力的架构优势。

 

 

从上表可以看出,与ConvNeXt模型相比,DeiT实现了更好的鲁棒性,参数数量减少了24.1%。因此,作者认为,具有全局SA模块的Transformer仍然比最先进的ConvNeXt模型更健壮。

 

 

上表给出了不同形式的通道注意力对GPU内存消耗、清晰图像精度和鲁棒性的影响。与原来的自注意模块相比,SE attention消耗的内存更少,实现了相当清晰的图像精度和模型鲁棒性。通过考虑空间关系,本文提出的ECA产生了最佳的模型稳健性,与SE注意的内存消耗相当。

 

 

上表给出了本文方法和其他SOTA方法在图像分类任务上的实验结果。

 

 

上表给出了本文方法和其他SOTA方法在语义分割任务上的实验结果。

 

 

上表给出了本文方法和其他SOTA方法在目标检测任务上的实验结果。

 

 

上图给出了有脉冲噪声和雪污染图像的分割可视化结果。

 

      05        

 

总结

 

在这篇论文中,作者验证了自注意力是提高视觉Transformer鲁棒性的一个因素。本文的研究表明,自注意促进token中自然形成的集群。为了推动具有自注意力的鲁棒表征学习的边界,作者引入了一系列完全注意力网络(FAN)结构,其中自注意在token混合和通道处理中都得到了利用。与CNN和ViT模型相比,FAN模型的稳健性显着提高。本文的工作为理解视觉Transformer的工作机理提供了一个新的角度,显示了超越卷积的inductive biases的潜力。

 

参考资料

 

[1]https://arxiv.org/abs/2204.12451

 

[2]https://github.com/NVlabs/FAN

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注