AAAI 2022 | 无注意力+PatchOut,复旦大学提出面向视觉transformer的迁移攻击方法

简介: AAAI 2022 | 无注意力+PatchOut,复旦大学提出面向视觉transformer的迁移攻击方法

与卷积神经网络(CNN)相比,Vision transformers(ViTs)在一系列计算机视觉任务中表现出惊人的性能。然而,ViTs 容易受到来自对抗样本的攻击。在人的视角中,对抗样本与干净样本几乎没有区别,但其包含可以导致错误预测的对抗噪声。此外,对抗样本的迁移性允许在可完全访问的模型(白盒模型)上生成对抗样本来攻击结构等信息未知的模型(黑盒模型)。

目前,对抗样本的迁移性在 CNNs 中得到了较为详尽的研究。这些工作利用数据增强或更优的梯度计算来防止对抗样本过拟合白盒模型,以此提高针对黑盒模型的攻击成功率。但关于 ViTs 中对抗样本迁移性的研究较少,且由于 CNNs 和 ViTs 间结构存在较大差异,在 CNNs 中表现良好的方法很难迁移到 ViTs 中来。

针对 ViTs 结构中的图像块(patch)输入和多头自注意力(Multi-headed Self-Attention,MSA)模块,来自复旦大学以人为本人工智能研究中心和马里兰大学的研究人员提出了双重攻击框架,包含无注意力(Pay No Attention,PNA)攻击和 PatchOut 攻击,来提高不同 ViT 模型之间甚至 ViT 与 CNN 之间对抗样本的迁移性。研究论文已被 AAAI 2022 接收。



无注意力攻击

ViTs 中的 MSA 模块通过映射来自多头的拼接输出,整合来自不同表示子空间的信息。而研究人员发现在梯度反向传播过程中跳过注意力路径(如下图(a)所示),可以有效提升对抗样本的迁移性。为了验证这一假设,研究人员将 ViT-B/16 模型中的 12 层 MSA 模块划分为 3 个部分:MSA 1-4,MSA 5-8 和 MSA 9-12。通过包含或删除每一部分的注意力路径,可获得 8 条不同的梯度反向传播路径。

这里使用 BIM(Basic Iterative Method)方法沿着 8 条不同梯度反向传播路径生成对抗样本,并评估在其他黑盒 ViTs 模型上的攻击成功率。该结果如下图(b)所示,红色路径表示梯度反向传播路径经过所有 MSA 模块,绿色路径表示跳过所有 MSA 模块中的注意力路径。结果显示通过在梯度反向传播中跳过注意力路径可以将迁移攻击成功率由 29.92% 提高至 42.47%。

PNA 攻击允许每个 patch 关注自身,而不是依赖于复杂的 patch 间的相互作用。而在 Interaction-Reduced(IR)攻击中表明对抗迁移性与 patch 间的相互作用负相关。因此,PNA 攻击可降低 patch 间相互作用,从而提升对抗迁移性。这是 PNA 可提升对抗迁移性的一个原因。

PNA 攻击的示意图和验证性实验

使用表示输入的 patch embedding,其中N为 patch 的数目,D为 patch 的特征大小;使用别表示 query、key 和 value 的权重,那么注意力图可以表示为:



得到的注意力图,那么该 MSA 模块的输出则为:


此时,Z'关于输入Z的梯度信息可以表示为:


其中表示 Kronecker 积。由于 PNA 攻击在梯度反向传播过程中跳过了注意力路径,则,那么梯度信息将变为:


通过以上方式,PNA 攻击强迫白盒 ViTs 模型不利用高度模型特异的注意力信息,而挖掘 patch 自身的特征表达,以此生成具有高迁移性的对抗样本。

PatchOut 攻击
ViTs 将输入图像划分为多个 patch 来作为输入。根据这一特性,PatchOut 攻击在每次迭代攻击中随机选择部分 patch 来生成对抗样本。该操作类似于在 patch 中执行 dropout 操作来减轻过拟合。此外,还类似于 Diversity Input(DI)攻击,采取多样性的输入来提升对抗样本的迁移性。为了验证 PatchOut 的有效性,研究人员随机选择 10 个 patch 作为一个输入模式,称之为 “ten-patches”。下图展示了不同 ten-patches 数目下单独优化和整体优化对于迁移攻击成功率的影响。可以看出,叠加单独优化的 ten-patches 噪声比整体优化的相同的 ten-patches 噪声具有更高的迁移性。这一结果说明通过叠加来自不同输入模式的噪声可以提高对抗样本的迁移性。

不同 ten-patches 数目下的攻击成功率对比

由于迭代攻击次数的限制,PatchOut 攻击选择在每次迭代中随机选取部分 patch 来生成对抗噪声。这里,使用表示输入图像,表示其对应真实标签,其中H,W,C分别表示图像的高度,宽度和通道数,K表示类别数目。使用表示 patch,其中表示x的第i个 patch,(P,P)表示的分辨率,为 patch 的数目。使用表示模型对于输入的预测结果。定义为对抗噪声,那么攻击目标可以定义为,其中,且限制定义为损失函数。使用来控制在每次迭代中 patch 的数目,并且使用来表示选择到的 patch。那么攻击掩码可定义为:



其中为所对应的掩码。结合最大化 L2 距离后,PatchOut 攻击的目标函数可以定义为:


其中表示逐元素相乘,损失中的第二项鼓励对抗样本远离x,λ为控制 L2 项和损失项间平衡的超参数。

双重攻击框架的整体算法如下,其中用来限制生成的对抗噪声满足


结果讨论与分析
为了探究 PNA 和 PatchOut 攻击的性能,研究人员在 ImageNet 数据集上,针对 8 个 ViTs 模型:ViT-B/16、DeiT-B、TNT-S、LeViT-256、PiT-B、CaiT-S-24、ConViT-B、和 Visformer-S,4 个 CNNs 模型:Inception v3、Inception v4、Inception Resnet v2 和 Resnet v2-152,3 个经过对抗训练的 CNNs 模型:Inception v3_ens3、Inception v3_ens4、Inception Resnet v2_ens 进行实验。其中,分别选取 ViT-B/16、PiT-B、CaiT-S-24、Visformer-S 作为白盒模型来生成对抗样本,使用剩余的模型作为黑盒模型,并计算攻击成功率(Attack Success Rate,ASR)来评估对抗样本的迁移性。

研究人员首先在不同的 ViTs 中评估了双重攻击框架的性能,如下表所示。首先 TI 和 ATA 作为在 CNNs 上有效的迁移性方法,却在 ViTs 中表现不佳。这是由于 ViTs 的模型结构具有较 CNNs 更少的图像特异的归纳偏差。其次,受限于类别词元(class tokens)的数目,专门为 ViTs 设计的 SE 方法的性能也较差。而研究人员提出的双重攻击方法取得了最好的性能,可平均达到 58.67% ASR。该实验结果验证了所提出双重攻击框架在不同 ViTs 模型间的有效性。

不同攻击方法在 ViTs 上的攻击成功率结果对比

研究人员进一步利用 ViTs 上生成的对抗样本攻击 CNNs 模型,其结果如下表所示。首先,所有方法的 ASR 发生了显著地下降,这意味着对抗样本在同结构模型中更易迁移。其次,与其他方法相比,所提出的双重攻击框架仍旧实现了更好的性能。该结果表示使用 ViTs 来攻击经过对抗训练的 CNNs 是可行的。

不同攻击方法在 CNNs 上的攻击成功率结果对比

所提出的双重攻击框架还可以与其他现有方法相结合,以进一步提升对抗样本的迁移性。其结果如下表所示。可以看出,结合现有方法后可在 ViTs,CNNs 和经过对抗训练的 CNNs 上都取得更好的性能。结果证明了双重攻击方法的易拓展性。

结合现有方法的平均 ASR 结果对比

此外,研究人员还针对双重攻击框架中的多个组件进行了消融实验,如下表所示。可以看到,任何一个组件都可以在 ViTs 和 CNNs 上带来性能提升,其中 PNA 攻击方法提升最明显。且当组合三个组件时达到了最佳结果,表明三个组件以互补的方式提高了对抗样本的迁移性。

不同组件的性能对比结果

研究人员还对使用 patch 的数目T和超参数λ进行了调节。当T=N时,PatchOut 方法退化为 BIM 方法。而当T过于小时,PatchOut 无法在有限的迭代次数里生成更强的对抗样本,因此对于参数T取值的研究是十分有必要的。下图(a)展示了不同T的 ASR,可以看出当T=130时,PatchOut 攻击可取得最优的结果。此外,图(b)对不同取值的超参数进行了研究。当λ=0.1时,PatchOut 取得最好的结果。

使用不同(a)或(b)下 ASR 的变化情况

相关文章
|
应用服务中间件 Linux Shell
Docker基础 docker创建centos7容器然后安装配置Nginx,并在浏览器访问
docker 在容器里下载配置nginx,并可在浏览器上访问的方法, 并将容器转为镜像,或将容器转为文件,再将文件转为镜像的两种方式,创建容器时绑定端口的方法,
Docker基础 docker创建centos7容器然后安装配置Nginx,并在浏览器访问
默认网关填了不能保存问题秒解
周末的休息,电脑也跟着一起休息了起来,晕晕乎乎了两天,没想到电脑也受到了感染,变成了中毒的状态,具体特征表现为:默认网关填写之后确定不能保存;当然电脑也就不能够通过网络与外网或者局域网通信了~
|
3月前
|
数据采集 人工智能 自然语言处理
一文看懂Playwright MCP如何引爆AI智能体爆发
Playwright MCP让AI直接操作浏览器,实现自然语言驱动的自动化测试、数据采集与办公任务。告别代码编写,一句话完成复杂操作,开启人机协同新时代。
|
9月前
|
边缘计算 负载均衡 NoSQL
FreeMQTT Plus: 一个新型 MQTT Broker 集群的实现
FreeMQTT Plus 是一款基于 MQTT 协议的高性能消息中间件,采用分布式架构解决单点瓶颈问题。其核心由 Nginx 负载均衡器、黑(A)节点(MQTT Broker)、白(B)节点(消息路由)和日志(L)节点组成。通过无主从设计,支持高可用性、负载均衡与灵活扩展。针对会话同步、消息路由等挑战,FreeMQTT Plus 利用 MQTT5 特性定义元命令,实现节点间高效通信,无需依赖第三方组件。适用于物联网海量设备接入与高并发场景,为未来边缘计算和多级集群部署提供坚实基础。
1553 74
|
存储 机器学习/深度学习 测试技术
模型量化技术综述:揭示大型语言模型压缩的前沿技术
在这篇文章中,我将在语言建模的背景下介绍量化,并逐一探讨各个概念,探索各种方法论、用例以及量化背后的原理。
605 0
模型量化技术综述:揭示大型语言模型压缩的前沿技术
|
运维 关系型数据库 Java
DataKit6.0将MySQL8.0迁移至openGauss6.0
DataKit6.0将MySQL8.0迁移至openGauss6.0
|
监控 Kubernetes 测试技术
掌握Docker网络模式:构建高效容器通信
【10月更文挑战第3天】本文深入探讨了Docker的网络模式,包括它们的工作原理、使用场景以及如何配置和优化容器间的通信。希望能够帮助开发者在项目中有效地应用Docker网络模式,构建高效的容器化应用。
|
定位技术 C++ Python
ArcMap软件卡在加载界面且闪退无法打开的多种解决办法
ArcMap软件卡在加载界面且闪退无法打开的多种解决办法
944 1
|
JSON 前端开发 JavaScript
【amis低代码前端框架】vue2集成百度低代码前端框架amis
【amis低代码前端框架】vue2集成百度低代码前端框架amis
1200 0