前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >即插即用 AdaNCA ,改善ViT的对抗样本性能,为视觉Transformer带来显著性能提升 !

即插即用 AdaNCA ,改善ViT的对抗样本性能,为视觉Transformer带来显著性能提升 !

作者头像
用户5536580
发布2024-07-04 15:31:29
500
发布2024-07-04 15:31:29
举报
文章被收录于专栏:未来先知未来先知

视觉 Transformer (ViTs)在图像分类任务中展示了卓越的性能,特别是当它们通过区域注意力或卷积装备了局部信息时。尽管这些架构改善了从不同粒度特征聚合的能力,但它们通常未能提升网络的鲁棒性。 神经细胞自动机(NCA)通过局部交互建模全局细胞表示,其训练策略和架构设计赋予了强大的泛化能力和对抗噪声输入的鲁棒性。在本文中,作者提出了适配神经细胞自动机(AdaNCA)用于视觉 Transformer ,它将NCA作为即插即用的 Adapter 置于ViT层之间,增强了ViT在对抗样本以及分布外输入下的性能和鲁棒性。 为了克服标准NCA的大量计算开销,作者提出了动态交互用于更有效的交互学习。此外,基于对AdaNCA放置和鲁棒性提升的分析,作者开发了一个算法来识别AdaNCA最有效的插入点。 在参数增加不到3%的情况下,AdaNCA在ImageNet1K基准上的对抗攻击下,绝对提高了超过10%的准确率。此外,作者通过在8个鲁棒性基准和4个ViT架构上的广泛评估表明,AdaNCA作为一个即插即用的模块,一致地提高了ViTs的鲁棒性。

1 Introduction

视觉 Transformer (ViTs)通过自我注意力机制全局建模token间的交互,在图像分类中表现出令人印象深刻的性能。近期工作显示,将局部信息整合到ViTs中,例如使用区域注意力或卷积,进一步增强了ViT在图像分类中的能力。尽管先进的局部结构有助于更好地捕捉局部信息,但ViTs的鲁棒性并未增强。它们仍然容易受到噪声输入的影响,例如对抗样本和分布外(OOD)输入。

最近,神经细胞自动机(NCA)被提出作为一种轻量级架构,用于建模局部细胞交互[43],其中细胞由1D向量表示。与ViTs中的token交互理念相似,NCA中的细胞通过交替基于卷积的_交互_阶段和基于MLP的_更新_阶段[45; 48]来执行下游任务。然而,关键区别在于,NCA中的细胞交互随时间演变,而ViT在每层中以单步计算token交互。在此过程中,细胞根据与邻居的交互动态调制其表示,并逐渐扩大其感受野。与常用的卷积神经网络不同,NCA在邻域扩展过程中保持分辨率,并且循环中的参数共享进一步正则化学习过程,防止NCA过拟合并增强其泛化能力[43; 45]。此外,NCA训练涉及各种随机性[44],使模型能够泛化到输入变化并适应不可预测的扰动。正是对局部信息和训练过程中随机性的调制使NCA能够抵抗噪声输入。

然而,在ViTs中常见的高维空间操作时,原始NCA的计算开销相当大。将NCA整合到ViTs中是一个不小的挑战。为了降低交互结果的维度,从而降低计算成本,作者提出了_动态交互_来替代标准的_交互_阶段。此外,token根据对环境的观察动态修改交互策略。这种对环境可变性的适应有助于模型鲁棒性。作者修改后的适配NCA(AdaNCA),作为一个即插即用的模块,如Figure 1所示,提高了ViTs的性能。将AdaNCA添加到不同的ViT架构中,一致地提高了它们对对抗攻击和OOD输入的鲁棒性。AdaNCA还提高了干净准确度。

受到网络冗余与模型鲁棒性之间存在正关系的实证观察[27]的启发,作者开发了一个动态规划算法,用于计算AdaNCA在ViT内最有效的插入位置,基于作者提出的网络冗余量化方法。作者的方法在8个鲁棒性基准测试和4种不同的 Baseline ViT架构上均取得了持续的改进。关键的是,作者证明这些改进并不源于参数和FLOPs的增加,而是归功于AdaNCA。

作者的贡献如下:

  • 作者提出了AdaNCA,将神经 细胞 自动机整合到ViTs的中间层,作为轻量级的** Adapter **,以增强ViTs在图像分类中对对抗攻击和OOD输入的鲁棒性。使用不到3%的额外参数,AdaNCA扩展的ViTs在特定对抗攻击下可达到10%的更高准确度。
  • 作者引入了_动态交互_来替代标准NCA中的_交互_阶段,从而在参数和计算方面提高了模型的鲁棒性和效率。
  • 作者提出了一种方法,用于确定AdaNCA在实现最大鲁棒性改进时的最有效插入位置。

2 Related Works

近年来,在人工智能领域,尤其是在计算机视觉领域,已经取得了显著的进展。提出了各种先进技术,并在一系列任务上展示了卓越的性能。本节将对领域中一些最相关的工作进行回顾,重点关注以下领域:

Local structure in Vision Transformer

自从Vision Transformer(ViT)[14]被提出以来,一系列的工作将局部结构引入到ViT中以增强其性能。在这里,作者提到了最早的局部结构修改之一以及与作者的工作相关的内容。Ramachandran等人提出的独立自注意力(SASA)[53],在ViT中利用滑动窗口自注意力。在此基础上,Liu等人[37]开发了一种非滑动窗口注意力机制,该机制将特征图分割并计算这些分区内的自注意力以及分区间的自注意力,称为Shifted Window(Swin)注意力。另一种建模局部信息的方法是卷积。d'Ascoli等人[16]引入了使用门控位置自注意力的软局部归纳偏置,融合自注意力和卷积。尽管在更好地建模局部信息方面取得了这些进展,但很少有方法为更健壮的ViT架构做出贡献[41],使得模型在遇到稍微有噪声的输入或分布偏移时表现不佳。

Vision Transformer中的健壮架构

研究者们开发了各种架构变化,以构建对抗FGSM[60]或PGD[40]等对抗攻击以及分布外(OOD)输入,如图像损坏[27]的更健壮的ViT。 Zhou等人[77]提出了全注意力网络,以增强ViT对抗OOD图像的鲁棒性。Mao等人[41]首先系统地分析了ViT中不同组件之间的关系,指出卷积块嵌入以及MLP中的卷积与ViT对抗对抗样本和OOD数据的鲁棒性之间存在正相关关系。扩展[41]和[77],Guo等人[22]提出了一种输入依赖的平均池化方法,为不同的token自适应选择不同的聚合邻域,实现在OOD泛化方面最先进的健壮ViT。对自注意力操作的不同解释也可以导致更健壮的架构[23, 57]。然而,那些引入附加架构的方法[22, 23, 57, 77]要么在有限大小的ViT上实现,要么专注于非对抗鲁棒性。相反,作者的方法将NCA作为轻量级的即插即用 Adapter 引入基础级ViT,提高了它们对干净准确性以及对对抗样本和OOD输入的鲁棒性。

Neural Cellular Automata

莫尔多万茨耶夫等人[43]提出NCA(邻域细胞自动机)以模拟生物细胞间的相互作用并建模形态发生。在此基础上,一些研究将NCA应用于计算机视觉领域,包括纹理合成[42, 45, 48, 47, 49],图像生成[32, 46, 50, 61],以及图像分割[31, 56]。兰达佐等人[54]提出将NCA应用于图像分类任务上的集体智能建模,尽管其对二值图像的限制限制了其实际应用。特斯法尔德等人[61]首次通过递归局部注意力建立了ViT(视觉 Transformer )与NCA之间的联系。然而,他们的应用仅限于在小型数据集上如MNIST[1]和CIFAR10[35]进行图像修复。作者的工作首次将NCA应用于ImageNet1K上的图像分类,并使用基础 Level 的ViT模型。此外,作者提出了名为_Dynamic Interaction_的新方法,用于高效地建模细胞相互作用,减少计算开销并提高模型性能。方法

作者方法的概述如图2所示。在本节中,作者首先在3.1节回顾NCA模型和ViT架构,并从 Token 交互建模的角度建立NCA与ViT之间的联系。然后,在3.2节中,作者介绍作者设计的AdaNCA。作者将AdaNCA插入到ViT的中间层以增强其鲁棒性,并在3.3节介绍AdaNCA插入位置与模型鲁棒性相对改进之间的关系,这导致了决定AdaNCA最有效放置位置的算法。

Preliminaries

视觉 Transformer 视觉 Transformer (ViTs)在标记图 上操作,其中标记的数量为 ,每个标记由一个 维向量表示。ViTs 通过自注意力 [63] 学习这些标记之间的交互,并计算交互结果 ,如公式 1 所述。

分别代表 Query 、键和值。它们是从输入的不同线性投影中得出的,即 ,其中 。 是自注意力中的隐藏维度。 是 Softmax。自注意力之后,标记被送入多层感知机(MLP)以得到更新的表示 :

是多层感知机, 代表其参数。自注意力和MLP构成了一个单独的 ViT 块,通过堆叠 ViT 块可以构建一个 ViT 模型。

神经细胞自动机NCA旨在模拟细胞交互。在2D域中,细胞生活在一个大小为 的2D网格上。每个细胞由一个维度为 的向量表示。所有细胞共同定义了细胞状态 。在 NCA 的单个步骤中,细胞首先在交互 Interaction 阶段 [48] 与其邻域进行交互以进行信息交换,生成交互输出 ,通常通过深度卷积 [43; 45; 47] 实例化:

由给出。式(3)中,是第个卷积核,表示核的总数。这些核可以是固定的[48; 47]或可学习的[43; 45]。所有核的结果在操作中以通道方式拼接。然后在_Update_阶段[48]传递给MLP,细胞得到更新状态:

。式中,是MLP,表示其参数。通常,NCA使用最简单的MLP,包含两个线性层和一个它们之间的激活层。,从中采样,是一个随机二值 Mask ,用于在NCA中引入随机性,确保在细胞更新过程中的异步性[44]。是逐点乘法。NCA学习控制细胞行为的底层动态[49],如式(5)中的随机微分方程(SDE)所示:

中,表示_Interaction_以及_Update_阶段的操作。是包含这两个阶段可训练参数的集合。将SDE离散化,其中,自然得到一个循环残差更新方案:

。式

NCA将时间时的细胞状态输出以完成下游任务。是在一定范围内的随机选择的整数。

3.1.1 Connecting NCA and ViT

NCA和ViT都学习了元素集合之间的交互作用,即ViT中的token和NCA中的细胞。从现在开始,作者将NCA中的细胞称为token,与ViT中的概念保持一致。由随机 Mask 引入的异步性[44]可以看作是细胞级的随机深度[30],这是样本级随机深度的一个更细粒度的版本。在先前的NCA工作中,测试时保持了随机性[45]。在判别任务中,这种方案是有问题的,因为可靠的数值输出至关重要。为此,作者采用了类似于dropout技术[58; 30]的策略,在训练过程中补偿激活值。给定,AdaNCA中NCA的演化定义为:

此外,NCA通常在一个随机的时间步长 Query 细胞状态,导致所有细胞都有随机的更新步骤。这种随机性确保了NCA在不同时间步长上的稳定性[43]。因此,训练出的模型能有效处理输入的可变性和不可预测性,从而对噪声输入具有很强的鲁棒性。作者在第4.3节的消融研究中展示了这两种策略在提高模型性能和鲁棒性方面的有效性。

AdaNCA architecture

AdaNCA的架构如图3所示。它与标准NCA在方程7中描述的更新方案类似,但由于提出的动态交互阶段,计算效率更高。所有用于 Token 交互的卷积核都是可训练的。在以下段落中,作者首先介绍动态交互阶段的设计,然后介绍一种使用多尺度动态交互实现更高效 Token 交互的方法。

3.2.1 Dynamic Interaction

原始NCA中的_交互_阶段执行来自不同深度卷积的结果的通道级连接。而作者的_动态交互_计算这些结果的加权和。具体来说,权重计算模块 以标记图作为输入,并输出每个标记的标量权重 。作者将方程3修改为方程8:

其中 。作者使用两层卷积网络实例化权重计算模块 。第一层将维度从 转换到 ,第二层计算实际权重,为每个标记产生 个标量。两层都使用 卷积以考虑标记及其邻居的信息。为了稳定训练,作者在两个卷积之间添加批量归一化。作者设计的权重计算网络与[22]中的相同,尽管作者的重点是提取相同邻域内的各种信息,而不是聚合来自不同邻域的数据。

3.2.2 Multi-scale Dynamic Interaction

受到[47]中使用多尺度标记_交互_以促进长距离标记通信的启发,作者提出了多尺度_动态交互_。具体来说,方程8中的所有卷积现在在扩张上多了一个自由度。扩张表示当前的运行尺度为,且。因此,原始的_动态交互_是时的一个特例。为了增加特征的表现力,作者在所有尺度的输出上执行加权求和,其中每个标记的权重由网络生成,如方程9中所述。

其中,。权重计算网络与_动态交互_中的具有相同的结构。

Insert positions of AdaNCA

在给定一个ViT和一个AdaNCA的情况下,作者需要确定在哪里插入AdaNCA以最大化鲁棒性的提升。为此,作者首先建立了AdaNCA插入位置与其带来的鲁棒性增强之间的相关性。由于层冗余有助于提高鲁棒性[27],作者假设AdaNCA的效果应该与插入位置对应的层冗余相关。为了量化这种冗余,作者提出了集合凝聚力指数。对于一个具有层的训练模型和两个层索引,其中i<j\kappa(i,j)在方程10中定义。< p=""></j\kappa(i,j)

-\frac{\mathbb{1}_{j<l}}{(l-j)(j-i+1)}\sum_{m\in[i,j],n_{1}\in[j+ 1,l]}sim(m,n_{1})

其中表示指示函数。是用于量化层和输出相似性的函数。作者选择中心核对齐(CKA)[34],这是衡量神经网络内部或之间层相似性的一种常见度量[24]。较高的表示由层至层定义的层集合更为凝聚。在层之后插入AdaNCA会将网络划分为两个层集合,作者可以计算层前后层的之和,即,作为与位置对应的网络冗余的量化。作者假设与所有ViTs中的单个层相比,AdaNCA太小,不会改变层相似性结构。

另一方面,作者用插入AdaNCA的模型与相应 Baseline 的攻击失败率相对增加来量化AdaNCA带来的鲁棒性提升。具体来说,如果一个模型可以达到的干净测试准确度以及在对抗攻击下的准确度,攻击失败率就是。鲁棒性提升然后定义为。在作者的实验中,作者发现与网络冗余显著相关()。有关实验细节,请读者参考附录A。这些结果验证了作者的假设,并表明AdaNCA应该插入到可以最大化网络冗余的位置。作者开发了一个动态规划算法来找到这些位置,并请读者参考附录A.1以获取详细信息。

4 Experiments

作者选择了4个ViT模型作为 Baseline :Swin-B [37],FAN-Base-Hybrid (FAN-B) [77],RVT-Base-Plus (RVT-B) [41],以及ConViT-Base (ConViT-B) [16]。作者的选择包括了一个分层模型(Swin),一个卷积-注意力混合模型(FAN),以及两个所有层共享相同结构的常规模型(RVT和ConViT)。RVT特别构建为一个健壮模型,而ConViT则不是。这4个模型都已配备了不同种类的局部结构。此外,作者还选择了两种在对抗分布外(OOD)数据鲁棒性方面的SOTA模型,即TAPADL-RVT和TAPADL-FAN [22]进行对比。需要注意的是,SOTA方法涉及使用额外的损失(ADL)进行训练,而作者没有在作者的训练中合并它,因为作者的重点是架构变化的影响。作者遵循各个模型的训练方案,从零开始在ImageNet1K上训练配备了AdaNCA的模型。作者进行了第3.3节中提出的分析,以决定插入多个AdaNCA模块的最佳位置,其中用于分析的ImageNet1K预训练权重来自PyTorch Image Models库 [68]。为了在计算成本和鲁棒性提升之间取得平衡,作者根据模型架构限制AdaNCA的数量为2或3。所有AdaNCA的递归时间步从中选择,并且作者遵循ViT的设计原则,即在中层或高层放置更多的计算资源[37]。在测试时,作者将随机步骤固定为从范围中选择的单个整数,以获得精确的结果并确保在对抗攻击期间的非随机性。AdaNCA中MLP使用的所有激活函数都是GELU [28],MLP的输入、隐藏和输出维度都相同。作者所有的实验都是在4个Nvidia A100 GPU上进行的。

Results on Image Classification

作者在ImageNet1K验证集上测试所有模型的干净准确度。对于对抗鲁棒性的评估,作者选择了常见的对抗攻击方法:PGD [40],CW [5],APGD-DLR [9],和APGD-CE [9]。此外,作者还包含了ImageNet-A(IM-A)[13]中的自然对抗样本。对于PGD攻击,作者遵循[41]中的设置:最大幅度,步长,步数。其他攻击的详情请读者参考附录C.7。对于OOD泛化的测试,作者使用了ImageNet-C(IM-C)[27],ImageNet-R(IM-R)[29],和ImageNet-Sketch(IM-SK)[66]。作者在表1中报告了ImageNet-C上的平均污染误差(mCE)和其他所有类型的鲁棒性基准上的准确度。作者的结果显示,AdaNCA增强的ViTs在多种鲁棒性测试以及干净准确度上均持续优于相应的 Baseline 模型。重要的是,扩大了的 Baseline 模型(标志)并没有给AdaNCA带来可比较的改进,这表明增强并不只是来自于计算预算的增加。然而,将局部结构引入ViTs的现有方法[22]可能会潜在地削弱 Baseline 的对抗鲁棒性。

在表2中,作者对ImageNet-C中不同类别常见污染的污染误差进行了深入研究。结果显示,AdaNCA增强了鲁棒性,而那些忽略纹理信息的方法[17, 52]则存在权衡。虽然这些方法可能改善非模糊噪声的mCE,但它们常常会恶化模糊噪声的mCE[52]。相比之下,AdaNCA在大多数类别上一致提高了鲁棒性。更多结果请读者参考附录C。

层相似性结构

作者在3.3节中的关键假设是,由于AdaNCA的大小较小,它不会改变层相似性结构,这就是为什么作者使用预训练的网络进行分析的原因。在这里,作者检查了Swin-B[37]和Swin-B-AdaNCA中的成对层相似性,如图4所示。是所有层集的平均值。更多结果请读者参考附录C.11。AdaNCA不仅保留了原始的层相似性结构,还促使阶段分区更加清晰,验证了作者在3.3节中的假设。结果可能归因于AdaNCA在不同层集之间传递信息,因此每个集合内的层不必费心适应集合外的层。

Ablation studies

作者在ImageNet100上进行消融研究,这是ImageNet1K的一个100类子集。以前的研究[7; 15; 71; 73]表明,ImageNet100是ImageNet1K的一个具有代表性的子集。因此,在高效利用计算资源的同时,作者可以获得代表性结果以对模型进行自我评估。所有消融实验都基于Swin-tiny[37]模型。根据第3.3节和附录A的分析,作者在第四层之后插入它以获得最佳的鲁棒性提升。首先,作者对两个超参数进行消融研究,即在_Dynamic Interaction_阶段使用的卷积核数量()和多尺度_Dynamic Interaction_阶段使用的最大尺度()。清洁准确度和攻击失败率如图5所示。攻击失败率的量化方法与第3.3节和附录A中的相同。多尺度交互可以提高性能,而过大的尺度可能会丢失局部信息。增加核的数量有助于性能,但过多的核会削弱鲁棒性。根据结果,作者选择,。然后作者对以下几个设计选择进行消融研究:

  • 循环更新(Recur)。 对AdaNCA中的平均时间步长进行展开,将循环变为个独立的时间步长为1的AdaNCA。
  • 随机更新(StoC)。 在训练过程中消融随机更新,导致所有标记的更新全局同步[44]。
  • 随机步长(RandS)。 将循环时间步长从范围内随机选择的整数更改为。如果没有循环,它不能开启。
  • 动态交互(DynIn)。 消融_Dynamic Interaction_,将交互结果简单相加。核的数量保持不变。

结果如表3所示。作者的设计选择有助于模型性能和鲁棒性。

Noise sensitivity examination

一个对抗性鲁棒模型的缺点是它们对特定频段的噪声更加敏感[59]。例如,虽然经过对抗训练的模型能够抵御对抗性攻击,但与标准模型相比,它们可能对更大频带范围内的噪声敏感[59]。在这里,作者采用了来自[59]的方法和数据来检验AdaNCA增强的ViTs的噪声敏感性。具体来说,作者评估了一组混合了不同幅度和频率噪声的图像上的分类性能。

对特定噪声类型更高的分类准确率表明模型对该噪声的敏感性较低。图6展示了包括从[59]中获取的人类数据的结果。作者的发现表明,AdaNCA通过减少对某些频率成分的噪声敏感性,增强了ViTs,使ViTs具备了更类似人类的抗噪声能力。关键的是,AdaNCA增强ViTs的模型鲁棒性与对抗训练不同,因为AdaNCA增强的ViTs并未表现出对噪声的敏感性增加。作者定量验证了这一结论,并请读者参考附录C.13以获取详细信息。

5 Limitation

AdaNCA具有一定的局限性。首先,配备了AdaNCA的ViTs不能适应未见过的AdNCA的循环步骤,限制了泛化能力。例如,如果AdaNCA的训练步范围是[3, 5],那么在测试步为6时,它不能产生有意义的结果。此外,AdaNCA在原始架构中引入了不可忽视的计算量。此外,作者的实验是在ImageNet1K上进行,图像大小为224 224。AdaNCA是否能在更大规模的问题上,例如ImageNet22K,带来显著的改进,仍是一个问题。图像的大小也会影响标记交互的效率。

6 Broader Impact

AdaNCA使得ViTs更加健壮,有助于它们在现实世界场景中的应用。此外,作者在大规模图像分类任务中连接了两个强大的模型,NCA和ViT,这可能会鼓励更多研究致力于它们在实际设置中的协同组合。作者对AdaNCA提高网络冗余的发现可以激发更多关于深度学习中架构健壮性的研究工作,这涉及到增加冗余以增强鲁棒性。

7 Conclusion

作者提出了AdaNCA,一种高效的神经细胞自动机(NCA),将其插入到网络中间层后,可以提升ViT的性能和对对抗攻击以及分布外输入的鲁棒性。作者从NCA和ViT在标记交互建模方面的联系出发,提出了“动态交互”来提高标准NCA的计算效率。

利用NCA中的训练策略和设计选择,即随机更新、随机步骤和多尺度交互,作者进一步增强了AdaNCA增强型ViT的干净准确性和鲁棒性。为了决定AdaNCA的放置位置,作者提出了集合凝聚力指数,该指数通过层相似性量化网络冗余,并得出结论认为AdaNCA应该插入到由冗余层组成的两个层集合之间。作者的结果显示,AdaNCA一致地提高了ViT的性能和鲁棒性。

证据表明,作者获得改进的机制降低了ViT对某些类型噪声的敏感性,并使ViT的噪声抗性能力更接近人类。

参考

[1].AdaNCA: Neural Cellular Automata As Adaptors For More Robust Vision Transformer.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未来先知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 2 Related Works
  • Local structure in Vision Transformer
    • Vision Transformer中的健壮架构
    • Neural Cellular Automata
    • Preliminaries
    • 3.1.1 Connecting NCA and ViT
    • AdaNCA architecture
    • 3.2.1 Dynamic Interaction
    • 3.2.2 Multi-scale Dynamic Interaction
    • Insert positions of AdaNCA
    • 4 Experiments
    • Results on Image Classification
      • 层相似性结构
      • Ablation studies
      • Noise sensitivity examination
      • 5 Limitation
      • 6 Broader Impact
      • 7 Conclusion
      • 参考
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档