原文链接:https://arxiv.org/abs/2311.12914
author={Quazi Mishkatul Alam and Bilel Tarchoun and Ihsen Alouani and Nael B. Abu-Ghazaleh}
一、摘要
最新一代的基于Transformer的视觉模型在多个视觉任务中已经证明优于基于卷积神经网络(CNN)的模型,这主要归因于它们在关系建模方面的卓越能力。可变形视觉Transformer通过稀疏注意力结构显著降低了建模注意力的二次复杂性,使其能够应用于更大规模的场景,例如多视角视觉系统。近期的研究表明,针对Transformer的对抗攻击已经被提出;然而,我们的研究表明,由于其稀疏注意力结构,这些攻击并不能直接转移到可变形Transformer上。具体而言,可变形Transformer中的注意力是通过指向最相关的其他标记(tokens)的指针来建模的。
在本研究中,我们首次提出了一种对抗攻击方法,能够操控可变形Transformer的注意力,使其分散到图像中的不相关区域。此外,我们还开发了新的协作攻击方法,其中源补丁操控注意力指向目标补丁,以对系统进行对抗性攻击。在实验中,我们发现仅1%的输入图像区域被攻击就能导致平均精度(AP)降至0%。我们还表明,这些攻击因其能够在攻击者的控制下重新分配注意力,从而具备支持不同攻击场景的显著灵活性。
二、介绍
Transformer模型在运行时间的可扩展性方面存在局限性,这主要是由于注意力机制的复杂性。注意力机制的学习从像素级别开始,不同的注意力头在不同的分辨率上工作,从而产生大量的标记(tokens)。这使得这些模型难以扩展。例如,自注意力模块的时间复杂度与标记数量(如像素)成平方关系。
为了提升Transformer的计算性能和可扩展性,可变形Transformer(Deformable Transformers)采用了稀疏化的注意力模型 [24]。具体而言,可变形Transformer不再跟踪所有可能标记的注意力值,而是识别每个标记最相关的一组固定标记(例如4个)。学习这种注意力机制需要同时识别这些相关标记并学习每个标记的注意力值。
可变形视觉Transformer(Deformable Vision Transformers, DViTs)能够在多个尺度上考虑特征,从而捕捉不同大小(从非常小到非常大)的目标。DViTs通过将注意力集中在一小部分标记上,实现了传统Transformer的全局注意力优势,同时显著提升了运行时性能,相较于传统Transformer提速10倍,同时保持卓越的模型性能 [24]。DViTs的时间复杂度相对于标记数量呈线性增长(而不是平方增长),并且训练速度也显著提升,平均只需要传统Transformer 10% 的训练周期即可达到相同的性能 [24]。这些优势使DViTs成为视觉Transformer应用中的热门选择。
图1.指针操纵攻击:此图的顶部显示了指向图像左上方目标位置的指针的热图。随着攻击的进行,我们会看到更多的指针被恶意操纵指向目标。下半部分是一张热图,显示了人们对左上角目标的关注程度;我们再次看到,人们的注意力越来越多地转移到这一点。
对DViT提出的协作补丁攻击概述(我们的四种策略之一)。所有攻击都依赖于通过对抗补丁的指针操作,该补丁是通过反向传播标识最相关令牌的指针方向损失和注意力值损失(以红色显示)生成的;这些都允许攻击者将注意力集中在目标补丁上。模型损失用于创建使模型损失最大化的目标片。
在本文中,我们首次探索了可变形视觉Transformer(DViTs)的对抗特性。我们首先证明了传统视觉Transformer的攻击无法成功转移到DViTs上,这可能是由于它们采用了不同的注意力模型。我们提出了一种全新的对抗攻击方法,专门用于操控DViTs的稀疏注意力模型中的指针方向。图1中展示了一个指针操控攻击的示例:随着攻击从图中的左侧向右侧逐步进行,越来越多的注意力指针和更高的注意力值被引导至目标。图2概述了攻击的工作原理。
我们的攻击解耦了注意力操控过程,直接反向传播指针和注意力损失函数,以操控注意力指针指向攻击者控制的图像位置。基于这一洞见,我们提出了四种针对DViTs的基于指针的攻击方式:(i) 向内指针攻击(Inward Pointer),(ii) 向外指针攻击(Outward Pointer),(iii) 独立补丁攻击(Standalone Patch),以及 (iv) 协作补丁攻击(Collaborative Patch),每种攻击方式对应不同的攻击目标。
特别值得注意的是,在协作补丁攻击中,两个协作的补丁(一个补丁引导指针指向另一个补丁,而该补丁包含用来欺骗模型的对抗性噪声)可以协同作用,形成一种极具威胁性的攻击。我们的代码已公开于 GitHub。
本文主要贡献总结:
- 首次针对可变形Transformer架构开发攻击方法:这些方法能够突破此前基于注意力的攻击所无法攻克的防御机制,专门针对这些模型的稀疏注意力结构。
- 提出四种基于指针的攻击策略:每种策略针对不同的攻击目标,包括全新的协作补丁攻击,通过重定向注意力至对抗性补丁,最大化对模型损失的影响。
- 在不同数据集上的基准测试:我们在MS COCO [15] 和多摄像头目标检测数据集 Wildtrack [7] 上测试了这些攻击方法,并与现有攻击进行了对比。结果表明,这些攻击在可变形DeTr(单视角)和MVDeTr(多视角)模型上表现出卓越的效果
三、Background and Preliminaries
1. 多头点积注意力Transformer架构[20]最初设计用于对文本数据中单词标记之间的复杂上下文关系进行建模。他们随后适应了视觉,在一系列视觉任务中,他们的表现取得了显着的改善[14]。在视觉转换器(ViT)中,卷积层仍然在管道的早期阶段用作特征提取器,因为它们非常擅长捕捉局部特征。在实践中,基于VGG [19]或Resnet [12]的特征提取器用于将输入帧转换为特征图。基于变换器的模块由编码器和解码器组成,每个编码器和解码器都使用多头注意机制,处理特征图[14,20]。Transformer使模型能够学习图像中的远程空间关系,从而获得比传统视觉模型更上级的性能。
多头点积注意模块负责对输入数据中的标记关系进行建模,表示为一组查询和键。编码器和解码器都由这些注意力模块的堆叠层组成,这些注意力模块计算多个头部中输入查询和键之间的自注意力和交叉注意力。给定一组查询Q和键K,如果zq ∈ RC表示第q个查询的特征向量,xk ∈ RC表示第k个键的特征向量,则多头注意力函数可以用公式表示如下[20]:
其中,H是头部的总数,Wh ∈ RC×Ch和W′ h ∈ RCh×C是每个头部中的可学习权重,C和Ch是特征向量的总长度和每个头部的长度。注意力权重计算为:
其在所有关键元素上归一化,其中Uh,U′ h ∈ RCh×C也是可学习的权重。该点积多头注意力模块在编码器处计算特征映射内的自注意力,并且类似地,在解码器处,其评估自注意力以建立对象查询之间的连接和交叉注意力以确定对象查询和编码特征之间的关系。
2.多头稀疏注意力:这种多头点积注意力模块的主要缺点是与计算每头注意力权重Ah相关联的成本。在大型特征图的情况下,例如来自多个相机的特征和用于小物体检测的不同尺度的特征,计算注意力权重可能会非常昂贵。此外,收敛也是一个问题,因为所有键的注意力权重都是类似地初始化的(均匀或随机分配),而不管它们与查询的相关性如何。
为了解决ViT中的计算问题,提出了可变形视觉变换器(DViT)。DViTs取代了传统的基于点积的注意力模块,它跟踪注意力矩阵中所有标记对之间的关系,具有稀疏的注意力机制。不是学习关于查询的每个键的注意力权重,而是为每个查询学习一个明显较小的子集。这个attention模块引入了一个额外的可学习结构,它可以为每个查询预测指针(2D平面中的参考点和偏移量)以及对显着键的相关关注,我们称之为指针预测器模块。在这些可变形架构中,注意力不再是一个标量值,而是一个由方向和标量权重组成的向量,因此,在未来的章节中,我们将互换使用术语指针和注意力。多头可变形注意力[24]函数可以公式化为:
其中,Wh ∈ RC×Ch和W′ h ∈ RCh×C是每个头中的可学习权重。此外,pq表示参考点,R表示指针的总数(R<<lK),lK表示键的总数。最后,是DViTs中的附加可学习权重。
3.针对Transformer的对抗性攻击:虽然最初认为Transformer具有对抗对抗性攻击的内在弹性,但研究人员开发了针对Transformer结构中的点积注意力模块的新攻击。这些新出现的攻击[10,16]操纵多头注意力模块的注意力权重Ah。他们采用具有无界噪声的局部对抗补丁,通过最大化以下人均损失函数来将关键特征移向查询特征的重心:
其中,lQ表示查询的总数,并且i * 表示目标键。这种每头损失可以进一步扩展到编码器和解码器中的所有层,以得到总损失函数:
我们证明了这些攻击对变形变换器是无效的,原因如下:(i)变形变换器中的查询令牌不涉及所有可用的密钥令牌;因此,即使对于最流行的键,也会存在与它们不相关联的查询,并且(ii)每个查询指向的键在这种情况下是动态的并且是查询本身的特征向量的函数,因此,注意力最大化不会导致有效的攻击。
四、Adversarial Attacks on DViTs
我们提出了首次针对可变形Transformer(DViTs)的对抗攻击,特别是针对DViTs模型。我们的攻击方法利用对抗扰动来操控DViTs稀疏化注意力模型中的核心指针。一旦攻击者能够操控这些指针,他们就能够利用这种能力实施多种灵活的攻击策略。我们探索了四种基于指针的攻击方法,这些方法基于指针的重定向位置以及补丁目标的不同,旨在实现不同的攻击目标;我们预计未来可能会探索其他策略。具体而言,我们研究了以下几种攻击方式:
-
向内指针攻击(Inward Pointer, IP):操控指针,使其朝向预定的目标点聚集。此攻击及下一种攻击并不故意针对模型的损失,而是通过控制指针来分散模型的注意力。
-
向外指针攻击(Outward Pointer, OP):操控指针,使其远离目标点。
-
独立补丁攻击(Standalone Patch, SP):使用单一补丁来操控指针指向该补丁本身,同时对模型损失进行对抗性攻击。
-
协作补丁攻击(Collaborative Patch, CP):一个源补丁操控注意力指针指向目标补丁,后者再对模型损失进行攻击。
在这些攻击场景中,我们假设攻击者可以访问Transformer的参数,具体来说,需要访问决定指针及其相应注意力的指针预测模块。虽然通过构建代理模型可能开发出黑盒攻击,但本文并未探索这一可能性。我们将补丁限制在图像中的小范围内,但不限制补丁内部的噪声预算,这与其他基于物理补丁的攻击一致。
攻击(i)到(iii)可以通过打印一个补丁T恤并走到摄像头前来在现实中实现。而攻击(iv)则需要一个静态补丁,比如印有图案的包或帐篷,除了印有图案的T恤之外。最后,对于攻击(iii)和(iv),我们进一步假设已知用于训练端到端模型的损失函数 LmodelL_{model}Lmodel,以便在生成攻击补丁时利用该损失函数。
4.1Manipulating pointer direction
我们从攻击(i)和(ii)开始开始,其中我们只分散每个令牌的指针,要么向一个点收敛,要么从一个点发散。这些攻击子集表明,可以在不访问其训练中使用的模型损失Lmodel的情况下攻击DViT。考虑以下场景:我们被给予输入样本的集合X = [x1,...,xN],其中x ∈ R3×H×W,并且白盒访问DViT的权重。没有有关训练中使用的模型损失Lmodel的信息,也没有地面事实标签Y = [y1,...,yN]在对抗性攻击时可用。此外,我们决定源位置S = [s1,s2,...]其中源片将被放置,以及目标位置T = [t1,t2,...]所有其他标记的指针要么收敛要么发散。这些集合的大小需要小于或等于每个头在多头稀疏注意模块中携带的指针(R)的数量。
向内指针(IP)攻击
对于此攻击,我们希望所有令牌的指针收敛到一组位置。我们通过重复点来扩大源位置T的集合,确保每个点至少包含一次,并使其大小等于R。我们还使用扰动框架E ∈ R3×H×W进行优化,并使用掩码M ∈(0,1)H×W在反向传播过程中将梯度引导到适当的位置。给定位置(p,q)∈ S和长度a,我们使用以下等式来设置掩码M的条目:
使用这个函数,我们初始化掩码M,长度为a,如下所示:
其中i和j是M的第(i,j)个元素。我们使用扰动框架E和maskM来扰动样本数据,如下所示:
其中,矩阵乘法运算符表示逐元素矩阵乘法运算符。对于IP攻击,我们执行了一个组合的单任务优化,将指针指向T中的位置,并最大化(甚至)它们的相关注意力。为了实现这一点,我们使用ADAM优化器来最小化以下向内指针损失函数Lin和注意力损失函数Latt:
其中,A表示稀疏注意模块中的pre-softmax注意。组合损失函数L = Lin + Latt用于生成补片,同时使用梯度手术[23]来管理冲突梯度。
外显指针(OP)攻击:我们引导所有标记的指针偏离一组位置。与前面的攻击类似,我们将集合T扩大到大小K。我们类似地使用扰动框架E和使用等式n构造的掩模。4和5.我们使用等式1将掩码添加到干净的数据。6.我们使用ADAM优化器来最小化向外损失函数Lout和注意力损失函数Latt。外部指针丢失函数如下:
我们创建组合损失函数为L = Lout+Latt。
五、Multi-objective attacks
在攻击(iii)和(iv)中,我们控制每个令牌的指针指向与DViT的模型损失相关联的目标对抗补丁。对于这些攻击,除了输入样本的集合X = [x1,...,xN],我们还需要相关联的地面实况标签Y = [y1,...,yN]。此外,我们还需要有关用于训练模型的损失Lmodel的信息。与之前的攻击一样,我们也假设白盒访问模型参数。对于CP攻击,我们需要源位置S和目标位置T,然而,在SP攻击中,源补丁移动到目标补丁并与目标补丁合并,仅需要目标位置。
协作补丁(CP)攻击:我们创建一个源补丁,负责将所有令牌的指针重定向到第二个目标补丁。目标补丁主机对抗扰动与DViT的模型损失。为了实现多目标攻击,除了源扰动框架E和源掩码M外,还引入了目标扰动框架F ∈ R3×H×W和目标掩码N ∈(0,1)H×W.源和目标掩模使用等式1初始化。图4和图5使用相应的点S和T。我们使用输入样本X沿着扰动标架和掩模来导出扰动数据:
我们驱动两个补丁:(1)源:在扰动帧E上优化,以使用等式1重定向指针。7、Eqn。(2)目标:通过最大化模型损失函数Lmodel在扰动框架F上优化。
独立补丁(SP)攻击。这种攻击对于单补丁攻击非常有用。与合作补丁攻击不同,我们也只有一个扰动框架F ∈ R3×H×W和一个掩码N ∈(0,1)H×W。在该实验中,源位置和目标位置是相同的,并且因此仅T中的目标位置被用于用等式n初始化掩模N。4和5.然后,我们使用输入样本X′沿着目标扰动系F和目标掩码N来如下构造扰动输入:
我们使用特征手术[23],利用来自组合损失函数L = Lin + Latt +(−Lmodel)的梯度来优化目标扰动F。
六、Evaluation
我们评估了两个著名的可变形视觉变换器提出的对抗性攻击。首先,我们使用MS COCO [15]数据集对多尺度对象检测器Deformable DeTr [24]进行攻击,MS COCO [15]数据集是用于评估原始设计的数据集。除了展示攻击的性能之外,我们还探索了它相对于各种攻击参数的动态变化。然后,我们展示了我们的攻击对大特征空间的适用性。具体来说,我们对Shadow Transformer进行攻击,这是一种用于多视图对象检测器MVDeTr [13]的可变形Transformer,用于聚合世界特征图。我们使用Wildtrack多视图数据集评估对MVDeTr的攻击。
对抗补丁生成。
对于这两个数据集,我们采样360帧用于训练,40帧用于评估鲁棒性。当鲁棒准确度达到零或完成100次迭代时,我们停止训练。我们使用Adam优化器来优化使用模型梯度的对抗补丁,将学习率(η)设置为0.22。我们还使用了一个调度器,衰减率(γ)为0.95,步长为10。由于内存限制,我们将MVDeTr的批处理大小限制为1。最后,对于单视图对象检测,我们使用性能度量AP(平均精度),对于多视图对象检测,我们使用MODA(多对象检测精度),这分别是Detr [24]和MVDeTR [13]使用的度量。
6.1. Attack on Deformable Detr
我们使用所有四种策略对Detr变形视觉Transformer [24]进行攻击:(i)向内指针(IP);(ii)向外指针(OP);(iii)协作补丁(CP);以及(iv)独立补丁(SP),如第3节和第4节所述。以前对密集点积注意力转换器的攻击,如Patch-Fool [10]和AttentionFool [16]也攻击注意力;我们遵循Attention-Fool创建一个基于注意力的攻击,具有相同的损失函数,但适应稀疏注意力结构(我们在以下部分中称这种攻击为“Att”)。最后,在上述每一种攻击中,我们还使用注意力损失Latt来最大化重定向指针的注意力。
补丁大小的影响
在这个实验中,所有的攻击都使用一个补丁用于IP,OP和SP,两个补丁用于CP(总大小等于其他3个攻击中的单个补丁)。补丁大小从12x12增加到48x48,小于图像大小(768x768)的0.4%。图3显示了攻击实现的平均精度(AP)。与使用组合损失的CP和SP相比,依赖于注意力指针损失的IP和OP需要更大的补丁大小。利用对抗模型损失,CP和SP更有效地攻击系统,即使是小补丁也能达到低AP。最后,即使使用大补丁,Att攻击也不会有效地降低性能。
额外目标补丁的影响
我们显示了增加所有攻击的目标补丁数量的结果。对于IP和OP,不使用目标补丁,增加目标,为注意力提供额外的目标点。额外的目标使得从每个像素到目标的平均距离更小。如图4所示,额外目标补丁的影响相对于我们的攻击来说很小,单个目标足以操纵注意力。相反,一个组合的更大的补丁可能比许多分割的补丁更有吸引力。相比之下,Att攻击受益于额外的目标补丁,这为来自其他像素的注意力提供了额外的机会,以找到敌对目标。
补丁位置的影响
对于使用多个补丁的攻击,在本实验中,我们评估帧区域上补丁的分布如何影响攻击。如图5所示,贴片的均匀分布(将贴片放置在帧内的等距点处)比随机分布性能更好。均匀分布能够均匀地影响整个帧中的像素,给它们附近的对抗补丁,从而产生更有效的攻击。
层数的影响
我们还分析了攻击的性能与深度(多头注意层的数量)在DViT。直觉,随着模型深度的增加,它会学习令牌之间更复杂的关系和依赖关系,因此应该更难攻击。这一观察结果也反映在我们的实验中(图6):随着我们增加DViT架构中的层数,模型变得更难攻击,反之亦然。
源聚合器的影响
我们考虑了在不同的源位置使用多个源补丁的情况。我们希望创建一个通用的补丁,而不是派生源特定的补丁,它可以从每个相应的位置工作。这种情况对这些攻击在现实生活中的适用性有影响,作为打印在T恤上的通用补丁,例如如果放置在场景中的不同位置,则足以欺骗模型,或者考虑出现在不同位置的不同相机的视图中的相同补丁。
我们探索了两种不同的方法来创建补丁:(1)使用补丁上反向传播损失的梯度的平均值;(2)仅采用具有最大L2范数的梯度。图7显示了多源补丁场景中使用两种聚合方法(均值和最大范数)的通用补丁的性能。在我们的实验中,多个通用补丁的性能与两个不同的补丁相当(图中显示为无),支持这些攻击可以通过利用通用补丁转移到现实世界的场景中。
七、结论
可变形视觉Transformer(DViTs)在计算方面具有有趣的特性。事实上,这些架构在性能上与视觉Transformer(ViTs)相当,同时在计算效率上明显更高。其效率的关键在于采用了稀疏化的注意力结构,这种结构以计算高效且可扩展的方式捕获最重要的上下文关系,能够扩展到更大的上下文大小(例如,更大的图像或需要处理多视角的系统)。在本文中,我们首先表明,近期针对ViTs开发的对抗攻击无法成功转移到DViTs上。其原因在于这些攻击针对的是ViTs中的注意力机制,而DViTs中的注意力机制是不同的。具体而言,DViTs中的注意力是通过指向每个查询(源标记)最重要的键(目标标记)来建模,并且同时包含它们的相对注意力权重。
作为对DViTs安全性深入分析的一部分,我们提出了新的对抗攻击,这些攻击通过操控注意力指针来对DViTs进行攻击。基于这一通用原理,我们提出了一组基于指针的攻击,这些攻击在操控注意力指针的方式上有所不同。我们的结果表明,这些攻击成功地显著降低了DViT在单视角和多视角系统中的性能。最成功的攻击策略是使用对抗源补丁来控制指针,将指针引导到一个目标对抗补丁,目标是攻击模型的全局损失。该协作攻击在多种条件下都非常成功,表明DViTs确实容易受到对抗性攻击。
我们的结果扩展了视觉Transformer面临的威胁模型,我们希望这能为未来加强它们对抗对抗攻击的能力提供指导,我们计划在未来的工作中深入探讨这一点。我们预计,随着视觉系统复杂性的不断增加,像DViT这样的稀疏注意力Transformer将继续变得越来越重要。例如,可变形视觉Transformer使得多视角应用成为可能,其中上下文包括多个重叠的视频流,这对传统Transformer的可扩展性提出了挑战。视觉语言模型和其他系统也面临类似的可扩展性问题。我们计划在未来的工作中,在这些系统的背景下研究我们的攻击方法。同时,我们还计划探索加强可变形Transformer的方法,包括对抗训练,以及引入约束来限制注意力,防止恶意操控。