DeSparsify: Adversarial Attack Against Token Sparsification Mechanisms
Vision transformers(ViT)在计算机视觉领域表现卓越,但计算需求高,token 稀疏化机制可提升其资源效率。然而,这些机制的动态性和平均情况假设使其易受攻击。本文提出 DeSparsify 攻击,针对使用 token 稀疏化机制的 Vit 的可用性,通过定制损失函数生成对抗样本,使稀疏化机制失效,同时保持模型原始分类。实验评估了该攻击对三种 token 稀疏化机制的效果,对比不同攻击变体,探讨了其可转移性和对 GPU 资源的影响,并提出了相应的缓解措施。
摘要-Abstract
Vision transformers have contributed greatly to advancements in the computer vision domain, demonstrating state-of-the-art performance in diverse tasks (e.g., image classification, object detection). However, their high computational requirements grow quadratically with the number of tokens used. Token sparsification mechanisms have been proposed to address this issue. These mechanisms employ an input-dependent strategy, in which uninformative tokens are discarded from the computation pipeline, improving the model’s efficiency. However, their dynamism and average-case assumption makes them vulnerable to a new threat vector – carefully crafted adversarial examples capable of fooling the sparsification mechanism, resulting in worst-case performance. In this paper, we present DeSparsify, an attack targeting the availability of vision transformers that use token sparsification mechanisms. The attack aims to exhaust the operating system’s resources, while maintaining its stealthiness. Our evaluation demonstrates the attack’s effectiveness on three token sparsification mechanisms and examines the attack’s transferability between them and its effect on the GPU resources. To mitigate the impact of the attack, we propose various countermeasures.
Vision transformers 对计算机视觉领域的发展做出了巨大贡献,在多种任务(如图像分类、目标检测)中展现出最先进的性能。然而,其高昂的计算需求会随着所使用 token 数量的增加呈二次方增长。为解决这一问题,人们提出了 token 稀疏化机制。这些机制采用依赖输入的策略,即从计算流程中丢弃无信息的 token,以此提高模型效率。然而,它们的动态性和平均情况假设使其容易受到一种新的威胁——精心构造的对抗样本,这些样本能够欺骗稀疏化机制,导致模型出现最差的性能表现。在本文中,我们提出了 DeSparsify 攻击方法,这是一种针对使用 token 稀疏化机制的 Vision transformers 可用性的攻击。该攻击旨在耗尽操作系统的资源,同时保持其隐蔽性。我们的评估展示了该攻击对三种 token 稀疏化机制的有效性,并研究了其在不同机制之间的可迁移性以及对GPU资源的影响。为减轻攻击的影响,我们提出了多种应对措施。
引言-Introduction
这部分内容主要介绍了研究背景、相关工作进展以及本文的研究内容与贡献,具体如下:
- 研究背景:近年来, Vision Transformer 在计算机视觉任务中性能卓越,超越了传统卷积神经网络。但其计算需求会随 token 数量增加呈二次方增长,不适合在边缘设备部署。为解决该问题,Token 稀疏化(TS)技术应运而生,它通过基于 token 重要性动态采样,提升了资源效率。然而,TS在测试时的动态性和平均性能假设,为攻击者创造了新的攻击面,可能影响模型可用性。
- 相关工作进展:机器学习领域对针对模型可用性的对抗攻击研究逐渐增多。例如,Shumailov等人提出的海绵样本,利用数据稀疏性增加GPU操作,导致推理时间和能耗上升;Cinà等人在训练阶段用海绵样本对模型投毒,影响推理阶段性能;还有研究发现动态神经网络的层跳过和提前退出机制也易受恶意输入攻击。
- 本文研究内容与贡献:本文提出 DeSparsify 攻击,针对 TS 机制,利用其测试时的动态性破坏模型可用性。在生成对抗样本时,使用自定义损失函数,在保持模型原始分类的同时,触发模型最差性能。实验评估了该攻击对不同稀疏化机制、transformer 模型的效果,对比了不同攻击变体,研究了对抗样本在不同TS机制间的可转移性及集成效果。具体贡献包括:首次指出TS机制的动态性是威胁因素,并提出相应攻击方法;对多种配置进行全面评估;探讨了缓解攻击威胁的对策 。
图1:针对三种 token 稀疏化(TS)机制 (b)- (d),干净图像(顶部)和对抗图像(底部)在 Transformer 块方面的 token 深度分布。颜色表示每个 token 在被丢弃前达到的最大深度。对抗图像是使用单图像攻击变体(第4.1节)生成的,这会导致最差的性能表现。
背景-Background
该部分主要介绍了 Vision Transformer 的基本结构和单头注意力的计算方式,为理解后续 token 稀疏化机制及攻击方法奠定基础。具体内容如下:
- Vision Transformer 结构:Vision Transformer包含骨干网络,通常由 L L L 个Transformer 编码器块构成,每个块又包含多头自注意力层(MSA)和前馈网络(FFN)。以接收输入样本 x ∈ X x \in X x∈X、输出 M M M 个实数值(代表模型对每个类别的置信度)的 Vision Transformer f : X → R M f: X \to \mathbb{R}^{M} f:X→RM 为例,输入图像 x ∈ R C × W × H x \in \mathbb{R}^{C ×W ×H} x∈RC×W×H 会先被切分成 N N N 个二维 patch,经线性投影映射为 patch 嵌入,接着添加可学习的类别 token,使序列大小变为 N + 1 N + 1 N+1,最后加入位置嵌入以提供位置信息。
- 单头注意力计算:单头注意力的计算公式为 A t t n ( Q , K , V ) = S o f t m a x ( Q K T d k ) V = A V Attn(Q, K, V)=Softmax\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V = AV Attn(Q,K,V)=Softmax(dkQKT)V=AV,其中 Q Q Q、 K K K、 V ∈ R ( N + 1 ) × d V \in \mathbb{R}^{(N + 1) ×d} V∈R(N+1)×d 分别代表查询、键和值矩阵,它们由 Transformer 块前一个块的输出 Z l Z_{l} Zl 推导而来(对于第一个块 z 0 z_{0} z0,其值对应上述输入图像的扁平patch)。
相关工作-Related Work
该部分主要介绍了与本文研究相关的工作,包括 token 稀疏化机制和可用性导向攻击两个方面,具体内容如下:
- Token 稀疏化(TS)
- Adaptive Token Sampling (ATS):ATS是一种可微的无参数模块,能根据图像内容自适应下采样输入token。它通过自注意力层中分类 token 的注意力权重为每个块的输入 token 分配重要性分数,自动选择每个阶段的最佳 token 数量,且无需额外参数调整即可集成到预训练的 Vision Transformer 中。
- AdaViT:AdaViT是一个端到端的 Vision Transformer 框架,根据输入图像自适应决定 token、自注意力头和 Transformer 块的使用。它在骨干网络的每个 Transformer 块中插入一个轻量级子网(决策网络),该网络与 Transformer 骨干网络联合优化,以在保持分类精度的同时降低计算成本。
- A-ViT:A-ViT是一种输入依赖的空间自适应推理机制,能在不同深度停止不同 token 的计算,动态为判别性 token 保留计算资源。它在MLP层中分配单个神经元实现基于停止分数的模块,无需额外参数或计算。
- 可用性导向攻击
- 研究起步与发展:在深度神经网络(DNN)领域,可用性导向的对抗攻击研究起步较晚。Shumailov等人引入海绵示例,通过利用数据稀疏性和计算维度,最大化GPU操作和内存访问,增加推理时间和能耗。Cinà等人在此基础上提出海绵中毒攻击,在训练阶段使用海绵攻击来降低模型性能。
- 针对动态神经网络的攻击:动态神经网络(DyNNs)在运行时根据输入自适应调整结构或参数,也易受对抗攻击。如Haque等人针对采用层跳过机制的DNN,迫使恶意输入通过所有层;Hong等人愚弄采用早期退出策略的DNN,使恶意输入绕过早期退出,导致最差性能。Pan等人则提出统一方法,生成能攻击动态深度和宽度网络的对抗样本。
- 针对DNN后处理阶段的攻击:还有研究聚焦于DNN的后处理阶段。Shapira等人发现大量增加输入到非极大值抑制(NMS)组件的候选数量,会使目标检测模型执行时间增加;Liu等人将该方法扩展到LiDAR检测模型。
- 本文研究方向:本文提出一种新的攻击向量,针对采用TS机制的高效基于 Transformer 的模型的可用性进行对抗攻击,这是此前未被研究过的方向。
方法-Method
这部分内容主要介绍了DeSparsify攻击的方法,涵盖威胁模型设定、攻击的具体实现方式以及针对不同 token 稀疏化机制的攻击策略,具体如下:
- 威胁模型
- 攻击者目标:首要目标是生成对抗扰动 δ δ δ,使 token 稀疏化(TS)机制使用所有可用 token,避免 token 被稀疏化;次要目标是增强攻击的隐蔽性,维持模型的原始分类。
- 攻击者知识:评估 TS 机制安全漏洞时考虑三种场景,分别是攻击者对受害模型有全面了解的白盒场景、仅知晓部分潜在模型信息的灰盒场景,以及在替代模型上生成扰动并应用于不同受害模型的黑盒场景。
- 攻击变体:基于包含样本与标签对的数据集 D D D,提出三种攻击变体。单图像攻击为数据集中每个样本分别生成不同的扰动;类通用攻击针对目标类生成单个扰动;通用攻击则为数据集中所有样本生成一个通用扰动。
- DeSparsify攻击
- 攻击框架:基于投影梯度下降(PGD)攻击,通过修改损失函数实现。
在迭代 t t t 时,扰动 δ δ δ 的更新公式为 δ t + 1 = ∏ ∥ δ ∥ p < ϵ ( δ t + α ⋅ s g n ( ∇ δ ∑ ( x , y ) ∈ D ′ L ( x , y ) ) ) \delta^{t + 1}=\prod_{\| \delta\| _{p}<\epsilon}\left(\delta^{t}+\alpha \cdot sgn\left(\nabla_{\delta} \sum_{(x, y) \in \mathcal{D}'} \mathcal{L}(x, y)\right)\right) δt+1=∏∥δ∥p<ϵ(δt+α⋅sgn(∇δ∑(x,y)∈D′L(x,y)))
其中 α \alpha α 是步长, Π \Pi Π 是投影算子, L \mathcal{L} L 是损失函数, D ′ \mathcal{D}' D′ 根据不同攻击变体进行选择。 - 损失函数:定制的损失函数为 L = L a t k + λ ⋅ L c l s \mathcal{L}=\mathcal{L}_{atk }+\lambda \cdot \mathcal{L}_{cls } L=Latk+λ⋅Lcls, λ \lambda λ 是通过网格搜索确定的缩放项。其中, L c l s \mathcal{L}_{cls} Lcls 用于实现保持模型原始分类的次要目标,公式为 L c l s = 1 M ∑ m = 1 M L C E ( f m ( x + δ ) , f m ( x ) ) \mathcal{L}_{cls}=\frac{1}{M} \sum_{m = 1}^{M} \mathcal{L}_{CE}\left(f_{m}(x+\delta), f_{m}(x)\right) Lcls=M1∑m=1MLCE(fm(x+δ),fm(x)); L a t k \mathcal{L}_{atk } Latk 用于实现使TS机制使用所有 token 的主要目标,针对不同TS机制有不同定义。
- 针对不同TS机制的攻击策略
- ATS:ATS依据分类 token 的注意力权重等计算 token 的重要性分数,通过采样确定保留的 token 。为防止其稀疏化 token ,攻击的目标是让采样过程尽可能多地采样唯一 token,将分数向量推向均匀分布,其损失分量 L A T S = 1 L ∑ l L ℓ K L ( S l , S ^ ) \mathcal{L}_{ATS}=\frac{1}{L} \sum_{l}^{L} \ell_{KL}\left(S^{l}, \hat{S}\right) LATS=L1∑lLℓKL(Sl,S^), ℓ K L \ell_{KL} ℓKL 是KL散度损失。
- AdaViT:AdaViT在每个 Transformer 块中插入决策网络,预测补丁嵌入等的使用。
攻击旨在将所有决策值推向“激活”决策,避免稀疏化,损失分量定义为 L A d a V I T = 1 L ∑ l L ( 1 2 ∑ b 2 ℓ M S E ( M l b , M ^ l b ) + 1 M l 0 = 1 H ∑ h H ℓ M S E ( M l h , M ^ l h ) + 1 N ∑ p N ℓ M S E ( M l p , M ^ l p ) ) \mathcal{L}_{AdaVIT}=\frac{1}{L} \sum_{l}^{L}\left(\frac{1}{2} \sum_{b}^{2} \ell_{MSE}\left(M_{l}^{b}, \hat{M}_{l}^{b}\right)+\frac{\mathbb{1}_{M_{l}^{0}=1}}{H} \sum_{h}^{H} \ell_{MSE}\left(M_{l}^{h}, \hat{M}_{l}^{h}\right)+\frac{1}{N} \sum_{p}^{N} \ell_{MSE}\left(M_{l}^{p}, \hat{M}_{l}^{p}\right)\right) LAdaVIT=L1∑lL(21∑b2ℓMSE(Mlb,M^lb)+H1Ml0=1∑hHℓMSE(Mlh,M^lh)+N1∑pNℓMSE(Mlp,M^lp)), ℓ M S E \ell_{MSE} ℓMSE 是均方误差损失。 - A-ViT:A-ViT利用全局停止机制,根据输入相关的停止分数自适应停用 token。攻击希望将所有块的累积分数推到阈值以下,趋向于零,使 token 在所有块中都被使用,损失分量为 L A − V I T = 1 N ∑ j = 1 N ( 1 L ∑ n = 1 L 1 I j < n ( ℓ M S E ( ∑ l = 1 n h j l , 0 ) ) ) \mathcal{L}_{A - VIT}=\frac{1}{N} \sum_{j = 1}^{N}\left(\frac{1}{L} \sum_{n = 1}^{L} \mathbb{1}_{I_{j}<n}\left(\ell_{MSE}\left(\sum_{l = 1}^{n} h_{j}^{l}, 0\right)\right)\right) LA−VIT=N1∑j=1N(L1∑n=1L1Ij<n(ℓMSE(∑l=1nhjl,0))), 1 I j < n \mathbb{1}_{I_{j}<n} 1Ij<n 用于避免惩罚已停止的 token。
- 攻击框架:基于投影梯度下降(PGD)攻击,通过修改损失函数实现。
评估-Evaluation
该部分主要介绍了对DeSparsify攻击的评估实验,涵盖实验设置、结果分析等方面,具体内容如下:
- 实验设置
- 实验模型:选用数据高效图像变换器(DeiT)的小尺寸(DeiT-s)和微小尺寸(DeiT-t)版本,以及Tokens-to-Token ViT(T2T-ViT)19-block版本,这些模型均在ImageNet-1K上进行过预训练。
- 实验数据集:采用ImageNet和CIFAR-10数据集的验证集图像,这些图像未用于训练上述模型。针对不同攻击变体,从不同类别中选取图像进行训练和测试。
- 评估指标:使用 token 利用率(TUR)、内存消耗、吞吐量、能耗、每秒千兆浮点运算次数(GFLOPS)和准确率等指标,评估攻击的有效性。
- 对比基线:将攻击效果与干净图像(未扰动)、随机扰动、标准PGD攻击、海绵示例攻击进行对比。
- 实现细节:攻击聚焦于 ℓ i n f \ell_{inf } ℓinf 范数有界的扰动,设置 ϵ = 16 255 \epsilon=\frac{16}{255} ϵ=25516,步长 α \alpha α 采用余弦退火策略从 ϵ 10 \frac{\epsilon}{10} 10ϵ 降至0,缩放项 λ = 8 ⋅ 1 0 − 4 \lambda=8 \cdot 10^{-4} λ=8⋅10−4。实验在RTX 3090 GPU上进行,各TS机制使用作者提供的预训练模型及设置。
- 实验结果
- 对抗扰动的效果:单图像攻击变体对模型性能影响最大,在ATS、AdaViT和A-ViT上,GFLOPS分别提升74%、44%和100%,且对分类准确率影响较小。A-ViT最易受攻击,TUR从72%提升到100%;AdaViT受攻击影响最小,部分原因是其决策网络的整体行为,如某些块在干净图像上就不使用 token。此外,容易分类的图像受攻击影响更大。
表1:DeiT-s在结合不同 token 稀疏化(TS)模块时,针对各种基线和攻击变体的评估结果。“Clean w/o”表示非稀疏化模型处理干净图像时的性能,“ensemble”表示使用三种TS机制训练得到的扰动。括号中的数字是干净图像与非稀疏化模型处理干净图像性能之间的百分比变化。
图2:AdaViT机制在测试干净图像和对抗(单图像变体)图像时,(a) token、(b) 注意力头和 © 块的分布情况。
图3:干净图像和对抗图像中,ATS 每个模块中激活 token 的分布情况。 - 通用扰动:类通用和通用扰动(包括通用补丁)比随机扰动基线表现更好。类通用扰动使 ATS、AdaViT 和 A-ViT 的 GFLOPS 分别提升21%、30%和49%,同时保持较高准确率;通用补丁攻击性能更佳,但会大幅降低模型准确率,隐蔽性较差。通用扰动可影响多个或一类图像,适用于广泛的对抗攻击。
- 可迁移性和集成:不同 TS 机制间,扰动的可转移性有限,部分组合无法完全转移。集成训练策略中,在所有 TS 机制上训练的对抗样本能有效影响所有机制,接近在相同机制上训练和测试的性能,适合攻击者对TS机制了解有限的情况。
图4:单图像变体攻击的GFLOPS(每秒十亿次浮点运算)可转移性结果。“Ensemble”(集成)指的是同时在所有模块上训练得到的扰动。 - 攻击对硬件的影响:仅对 ATS 机制的硬件指标进行评估,单图像攻击变体相比干净图像,使内存使用增加37%,能耗增加72%,吞吐量增加8%,而其他基线对GPU性能影响较小。
**表2:针对ATS,以GPU硬件指标衡量的攻击和基线性能。括号中的数字表示与干净图像性能相比的变化。 **
- 对抗扰动的效果:单图像攻击变体对模型性能影响最大,在ATS、AdaViT和A-ViT上,GFLOPS分别提升74%、44%和100%,且对分类准确率影响较小。A-ViT最易受攻击,TUR从72%提升到100%;AdaViT受攻击影响最小,部分原因是其决策网络的整体行为,如某些块在干净图像上就不使用 token。此外,容易分类的图像受攻击影响更大。
应对措施-Countermeasures
这部分主要针对 DeSparsify 攻击提出了相应的应对措施,并通过实验验证了其有效性,具体内容如下:
- 增强模型鲁棒性与攻击脆弱性分析:根据评估结果可知,token 稀疏化(TS)机制计算过程涉及的参数数量与模型对攻击的鲁棒性相关。一般来说,参数越多,模型对攻击的抵抗能力越强,如 AdaViT 的决策网络相较于 A-ViT 的单个神经元,能使模型更具鲁棒性。然而,当 TS 机制基于未针对防范攻击优化的参数时,如 ATS 的注意力分数,模型反而不太容易受到攻击。
- 设置 token 数量上限的应对策略:为主动缓解 DeSparsify 攻击的威胁,可以为每个 Transformer 块中使用的 token 数量设置上限。具体做法是通过计算保留集上每个块中活动 token 的平均数量来确定该上限。这样既能保留 token 稀疏化的能力,又能在性能和安全性之间取得平衡。
- token 移除策略的评估:针对 token 数量超过上限时的 token 移除策略,评估了随机策略和基于置信度的策略。实验结果表明,与未采取防御措施的模型相比,这两种策略都能显著降低攻击的有效性。例如,在测试ATS时,采用防御机制后,对抗图像的GFLOPS从4.2降至3.17(干净图像的GFLOPS为3.09)。在准确率方面,基于置信度的策略在处理干净图像时甚至有所提高,说明原 token 稀疏化机制可能存在优化空间;但在防御能力上,随机策略比基于置信度的策略表现更好,可能是因为随机策略能在早期块中移除一些可能干扰模型的 token,而基于置信度的策略倾向于保留高排名 token,这些 token 可能在后续计算中被攻击者利用。
结论-Conclusion
本文的结论部分主要总结了研究成果、局限性以及未来研究方向,具体内容如下:
- 研究成果总结:强调了在资源受限环境中部署的 Vision Transformer 面临的风险,即容易受到旨在破坏模型可用性的对手攻击。特别指出使用 token 稀疏化机制的 Vision Transformer 易受可用性攻击,并展示了针对它们的实际攻击DeSparsify。通过全面评估,研究了该攻击对三种 token 稀疏化机制的影响,探索了不同攻击变体和集成的使用,还研究了攻击对系统资源的影响,最后讨论了减轻攻击威胁的方法。
- 研究局限性:DeSparsify攻击在不同 token 稀疏化机制和模型之间的可转移性有限,仅取得了一定程度的成功。虽然提出了集成训练方法来解决这一问题,但效果仍有待提高。
- 未来研究方向:计划探索该攻击在其他领域(如自然语言处理)的效果,进一步研究开发统一的损失函数,以更有效地针对所有 token 稀疏化机制,提升攻击的通用性和有效性。