跳转至

总览

因为这篇文章是综述类的,所以我打算原原本本地按它的结构进行呈现总结。本文全面回顾了截至 2017 年底深度学习中对抗样本的研究现状,涵盖了攻击方法、分类、应用和防御对策,并重点分析讨论了该领域面临的核心挑战与潜在解决方向,旨在为后续研究提供参考。对于每个方面,作者会罗列多条并列的方法,比如对抗样本生成的十几种方法,因此我也很难以更简略的方式写这个阅读报告,只好将其一一列出,总结其要点。

对抗样本不仅是威胁,研究它们也有助于理解深度学习模型的内部工作机制,发现模型决策边界的问题,从而提高模型的鲁棒性和性能,并改善其可解释性。

本篇文章只讨论在测试/部署阶段进行攻击的情况,不包含训练投毒的话题;专注讨论针对深度神经网络构建的模型的攻击,这些攻击对于传统模型(SVM,随机森林)仍然有效;攻击者仅旨在破坏完整性(由性能分数量化),暂不讨论隐私机密泄露等问题。

  • 本文的主要贡献有三点:
  • 提出分类体系: 为了系统地分析对抗样本的生成方法,作者从不同维度(轴)对攻击方法进行了分类,提供了一个易于理解和直观的概览。
  • 方法调研与比较: 作者调研了近期的对抗样本生成方法及其变种,并使用提出的分类体系进行比较。同时,展示了对抗样本在多个应用领域(如强化学习、生成模型、人脸识别、物体检测、语义分割、自然语言处理、恶意软件检测)的实例,并讨论了相应的防御对策。
  • 挑战与未来方向 : 作者基于三个核心问题(对抗样本的迁移性、对抗样本的存在性、深度神经网络的鲁棒性评估)概述了该领域面临的主要挑战和潜在的未来研究方向。

攻击分类

作者提出一套 分类学(taxonomy),用三条主轴来整理纷繁的攻击方法:

  1. 威胁模型(Threat Model)

    规定攻击者掌握的能力与信息:白盒/黑盒、是否篡改训练阶段、定向/非定向等。

  2. 扰动属性(Perturbation)

    关注扰动的 度量方式p 范数、PASS 等)、范围(逐样本 vs. 通用扰动)、约束(优化目标或硬阈值)。

  3. 评测基准(Benchmark)

    数据集(MNIST、CIFAR‑10、ImageNet…)与受害模型(LeNet、ResNet…),用来衡量攻击/防御强弱和可比性。

威胁模型四分法

  1. Adversarial Falsification(对抗型误判)

    假阳性(False Positive):负样本被误判为正;

    假阴性(False Negative):正样本被误判为负。

  2. Adversary’s Knowledge(信息掌握程度)

    白盒(White‑box):模型结构、参数、梯度全可见;

    黑盒(Black‑box):仅能查询输出(标签或置信度)。

  3. Adversarial Specificity(针对性)

    定向攻击(Targeted):强制输出特定类 l

    非定向攻击(Non‑targeted):只需改变原标签即可。

  4. Attack Frequency(迭代次数)

    一次性(One‑shot):如 FGSM,速度快、转移性好;

    多次迭代(Iterative):如 BIM、C&W,扰动更小但计算量大。

扰动的三个维度

  1. Scope(作用范围):单样本 vs. 通用;
  2. Limitation(约束方式):把扰动当目标最小化 (追求最优)or 设定硬阈值(效率较高);
  3. Measurement(度量手段)p 范数、PASS(人认为的相似) 等 。

    1. 0: 计算扰动 δ 中非零元素的个数。即尽可能改动少量像素点。

    2. 2: 计算扰动 δ 中所有元素的平方和再开根,即扰动后图像和原图像的欧氏距离,希望我们每个像素改动尽可能小,但是范围可以较大。

    3. : 计算扰动 δ 中最大的值,即给单个像素扰动设定一个上限。

Benchmark的两个维度

  1. 数据集 还是 受害模型 来评估攻击样本效果;

  2. 数据集:MNIST/CIFAR 并不能代表真实世界挑战,ImageNet 更具权威性;

  3. 受害模型:攻击应在多种网络(LeNet, AlexNet, VGG, ResNet…)上验证,以排除“仅对某一体系有效”的情况。

对抗样本生成

本章节中,作者讨论图像分类任务中的对抗样本的生成方法,枚举了十几种方法。

白盒攻击

攻击者完全了解模型,包括其架构、参数(权重)、训练数据(可能)、激活函数等。这使得攻击者可以利用模型的梯度等内部信息来精确地生成对抗样本。

1. L‑BFGS

如下,追求最小扰动。引用超参 c 来平衡扰动和分类损失:过大 c 会优先减少分类损失,但扰动可能很大;过小 c 又不能保证成功误分类。这是一个白盒攻击方法。

image-20250409103457786

2.FGSM

一种追求快速生成对抗样本,的单步攻击方法。计算每个像素在损失函数上的梯度,在梯度的符号方向加一个小常量(要么是 +ε,要么是 -ε)。这是一个白盒攻击方法。

image-20250409113421869

同时可以修改为targeted版本,即让模型将对抗样本识别为指定的类l, 只需要降低模型在类l上识别的损失函数。

image-20250409114412592

3. BIM

和FGSM类似,不过每次迭代只移动一小步,即把 FGSM 的一大步 ε拆成 多小步 α

通常比FGSM攻击成功率更高,并且首次证明了对抗样本可以在物理世界生效。

4.JSMA

基于雅可比矩阵的显著图攻击,其目标是0范数,即尽可能修改较少的像素。基于雅可比矩阵构建显著图,以指示输入特征对分类结果的重要性,从而修改重要性分数最高的像素。

通常较为有效,但是成本较高。

5. DeepFool

寻找将样本推过分类决策边界所需的最小扰动(主要关注2 范数)。 特点: 迭代地逼近最近的决策边界,假设局部线性。计算效率相对较高,能找到较小的 2扰动。

6. C&W

基于优化的攻击(支持02)。使用特制的间隔损失和变量替换技巧 来生成高质量对抗样本。

攻击效果非常强,常作为评估防御方法的基准。计算成本高。

7. 通用对抗扰动

核心思想: 找到一个单一的、固定的扰动向量 v,将其添加到大部分不同的干净图像 x 上后,都能导致模型 fx+v 产生误分类。这个扰动是“通用的”。

生成成本较高;跨模型泛化性好。

8. 特征对抗

不直接攻击模型的最终输出层,而是通过修改输入,使其在模型的某个中间层(特征层)的表示 接近(或远离)目标(或原始)图像在该层的表示。其中ϕk是第k层神经网络的输出

image-20250409120758436

生成的对抗样本可能在视觉上更“自然”或更接近目标类别的高级特征。

黑盒攻击

攻击者无法访问模型内部信息(结构、参数、梯度)。主要依赖模型的输入输出查询。

9. 基于迁移性的攻击

利用对抗样本的迁移性(在一个模型上有效的攻击,可能也对其他模型有效)。攻击者在自己已知或训练的替代模型 (substitute model) 上生成对抗样本,然后直接用于攻击目标黑盒模型。

简单易行,无需查询目标模型(如果已有替代模型)。效果依赖于模型间的迁移性有多强。

10. 替代模型训练

通过查询目标黑盒模型来获取数据(输入-输出对),然后用这些数据训练一个替代模型来模仿目标模型的行为。之后,在替代模型上使用白盒攻击生成对抗样本,并迁移到目标模型上。

比单纯基于迁移性的攻击更具针对性,但需要大量查询目标模型,成本较高,且可能被检测。

11. ZOO

无法获取梯度的情况下,通过有限差分等方法估计梯度。它向输入添加微小扰动,观察输出变化来近似梯度方向。然后将估计出的梯度用于类似白盒攻击的优化过程(如 C&W)。

将梯度优化攻击(如 C&W)扩展到黑盒场景。需要极大量的查询来估计梯度,效率较低。

12. 边界攻击

从一个确定是对抗样本的输入开始,然后在保持对抗性的前提下(人话就是,还是分类错的),逐步减少它与原始输入之间的距离(通常是2距离),使其越来越像原始输入,但仍然被误分类。它沿着决策边界移动。

只需要模型输出最终的类别标签(硬标签),不需要概率分数。相比 ZOO 等方法,在某些情况下查询效率更高。属于决策型攻击。

13. 单像素攻击

通过仅仅修改一个像素的值来欺骗深度神经网络。是一种极端的0范数攻击。

使用差分进化算法来搜索要修改哪个像素以及修改成什么值,通过查询模型输出概率(分数)来指导搜索。

效果惊人地有效。

14. 热/冷方法

生成多样化的对抗样本。迭代地将样本推向目标类(热类),同时远离原始类(冷类)。使用一种更符合人类感知的相似度度量 PASS 来约束扰动,而不是传统的p范数。

15. 自然生成对抗网络

利用生成对抗网络 (GAN) 来生成更自然、更逼真的对抗样本,使扰动看起来不像人工噪声,而是像真实数据的自然变化。

生成的样本更自然;可应用于图像、文本等领域。

16. 基于模型的集成攻击

为了提高对抗样本(尤其是目标性样本)的迁移性,在生成对抗样本时,同时攻击一个*已知模型(白盒)的集合 *。优化对抗样本 x',使其能欺骗多个已知模型的加权组合,比如将损失函数设置为所有模型的损失函数之和。

可以显著提升对抗样本在不同模型间的迁移能力,对黑盒攻击非常有效。

17. 基准真相攻击

利用形式化验证 (Formal Verification) 工具来寻找理论上最小的扰动,从而得到“基准真相”级别的对抗样本。

提供扰动大小的严格下界;计算成本极高;主要用于评估模型的真实鲁棒性。

对抗样本应用

这一章节主要讲除了图像分类的那些任务中,对抗样本的作用和效果。

强化学习

对抗样本在深度强化学习(DRL)领域的应用,主要是作为攻击手段。相关研究揭示:

  1. DRL 易受攻击:基于深度神经网络的 DRL 策略(如 DQN, TRPO, A3C)与监督学习模型一样,容易受到对抗样本的攻击。
  2. 由于 DRL 计算量大,研究主要采用了计算快速的单步攻击方法,如 FGSM

  3. 攻击 DRL 时,无需扰动每一帧输入,仅扰动部分帧就可能足以使策略失效。

生成模型

  1. 生成模型也易受攻击: 像 VAE 和 GAN 这样的生成模型,尽管在生成逼真数据方面很成功,但它们同样容易受到对抗攻击。对输入进行微小扰动,导致模型重构的输出发生巨大变化,破坏其编码,解码能力。
  2. 攻击 GAN 判别器,可以通过 FGSM 等方法,对生成器产生的图像添加微小扰动,使得原本能骗过判别器的图像轻易被识别为假,揭示了生成图像在判别器决策边界附近的脆弱性。
  3. 评估生成模型质量: 对抗鲁棒性可以作为一个新的维度来评估生成模型。对扰动更鲁棒的模型可能意味着它学习到了更稳定、更优质的数据表示。

人脸识别

  1. 物理攻击: 研究证明通过精心设计的物理对象(如眼镜框)可以成功攻击人脸识别系统。
  2. 攻击效果: 物理攻击可以实现高成功率的躲避(目标不被识别)和冒充(另一目标)。

语义分割

  1. 这些任务的模型与分类模型任务类似,可以推断,并且也证实了其易受到对抗攻击。现有的攻击技术(如 FGSM、BIM)可以被调整用于攻击分割和检测模型。
  2. 即使是顶尖模型也存在此漏洞,微小扰动就能导致灾难性错误,这对自动驾驶等安全攸关的现实应用构成了严峻挑战。这点和上课提到的许多例子呼应。

NLP

  1. 研究通过在阅读理解段落末尾添加干扰句,发现模型存在“过稳定”问题,即难以发现微小的语义变化,甚至矛盾。

  2. 且NLP的攻击具有迁移性,对抗训练效果不佳。不过好的对抗样本需要人工进行修改润色,不能完全靠公式生成。一些研究者则使用强化学习,寻找最少单词移除来攻击情感分类器,能够有效。

  3. 提高 NLP 对抗样本的自然性和隐蔽性仍是重要研究方向。

防御手段

当时的对抗防御方法普遍存在局限:大多仅对部分已知攻击有效,难以防御强攻击或未知攻击,且研究主要集中于计算机视觉领域。

网络蒸馏

一种主动防御手段,利用高温度 T 的 Softmax 从教师模型提取平滑的概率分布来训练学生模型。其核心思想是降低模型对输入的敏感性,从而抵抗利用敏感性的对抗攻击。虽然在 MNIST/CIFAR-10 上对 JSMA 攻击显示了一定的效果(成功率降低 0.5%/5%),但其防御能力可能有限。

蒸馏同时也能提升模型的泛化能力。

对抗训练

对抗训练是目前最主流和有效的主动防御方法,它将动态生成的对抗样本(及其正确标签)注入训练过程 。早期基于单步攻击的方法主要防御同类攻击并起正则化(防止过拟合)作用,并且对抗训练还能提高模型在干净数据上的准确率。

续研究发现模型对白盒攻击鲁棒性优于黑盒迁移攻击。改进方法包括:

  • 最小化正确样本和对抗样本在隐藏层中的向量表示的距离,因为对抗样本试图最大化它和原样本的差异,来误导模型,所以训练时,将它们在隐藏层中表示的距离加入损失函数,使其最小化,是有益的。

  • 集成对抗训练(使用来自多模型的样本)以提升对黑盒攻击的鲁棒性,让模型熟悉不同所谓的视角的攻击。

对抗检测

对抗检测作为被动防御在推理时识别恶意输入。方法多样,包括训练专门的辅助检测器、利用模型不确定性、分析统计特性、使用生成模型评估似然度等等。然而,关键弱点在于易被了解检测机制的自适应攻击绕过,可靠性存疑。

输入重建

输入重建也是被动防御,试图在输入送入模型前“净化”掉对抗扰动。常用技术包括训练各种自编码器将输入映射回干净数据流形,或应用简单变换如添加噪声。本质上是把输入“拉回”到模型认为最接近它的、最“自然”的图像。

分类器鲁棒化

分类器鲁棒化属于主动防御,侧重于改进模型本身架构。一种方法是将高斯过程融入 DNN,利用其不确定性估计能力识别可疑输入。另一种方法基于对抗攻击常诱导模型将其判断为少数错误类的观察,将类别细分为子类,通过投票集合子类预测结果来增强对错误分类的抵抗力,提升整体鲁棒性。

网络验证

网络验证运用形式化方法(一些检查器),试图提供数学保证,证明在特定扰动范围内不存在对抗样本,潜力在于防御未知攻击。具体方法有Reluplex,证明relu网络有小范围内的鲁棒性;和DeepSafe,寻找安全区域,或者保证样本不会被误分类到某一个类别。

主要瓶颈是 NP-complete 的计算复杂度和极差的可扩展性,通常仅适用于小型网络。虽有优化尝试,但实用性仍受限。毕竟算整个网络这件事太复杂了。

问题与挑战

对抗样本领域的问题与挑战,涵盖了对抗样本的存在性根源迁移性机制与阻断以及模型鲁棒性评估等方面

迁移性

  1. 迁移性是对抗样本能攻击未知模型的关键属性,对黑盒攻击至关重要。理解并阻断迁移性是防御研究的重要方向。迁移性不仅存在于不同 DNN 之间,甚至可以跨越传统机器学习模型和 DNN,显示了其广泛性。

  2. 根据迁移的难度,将迁移性划分为三个层次:

    • 最低难度: 模型架构相同,仅训练数据不同。

    • 中等难度: 任务相同,但模型架构不同。

    • 最高难度: 不仅模型架构不同,连任务都不同(如分类模型的对抗样本迁移到检测模型)。

  3. 非目标性攻击(只为让模型出错)比目标性攻击(误判到某个类别)更容易迁移,这可能与不同模型决策边界的对齐有关。可以通过集成攻击(同时对多个模型进行攻击的训练)提升目标性攻击的迁移性。

  4. 一种几何解释认为迁移性源于:模型间决策边界距离,小于样本到边界距离。

存在性

为什么对抗样本存在?为什么更改几个像素点就会让模型误判,这是神经网络的固有弱点吗?但并无定论,只有几个假说。

  1. 一种假说认为对抗样本源于训练数据不完备,未能覆盖低概率的边界情况,模型在这些区域行为异常,也就是说增加数据量和覆盖面可能可以提升鲁棒性。
  2. 也有一派假说认为,模型自身架构有缺陷。但是这一派内部也不能统一说法。有的认为模型在高维过于线性,另一派认为模型灵活性不足,还有观点归咎于数据流形本身的特性。
  3. 更悲观的假说认为 DNN 的决策边界未捕捉语义,即根本上,理论上,就不存在完全鲁棒的模型。。

鲁棒性评估

  1. 现状是:有新的攻击方法,就有新的防御方法,而这个防御方法很快被找到新的漏洞,所以需要有一个好办法来进行鲁棒性评估,但是目前还没有,所以作者呼吁设立一些理论与benchmark
  2. 并且,对于神经网络,最重要的是评估其面对全新的攻击方法的鲁棒性,这有助于人们理解模型预测的置信度 以及我们在现实世界中可以多大程度上依赖它们。
  3. 缺乏公开代码和统一标准导致对抗攻防研究难以复现和比较。建立一个标准化的benchmark平台,统一实验设置(威胁模型、数据、模型等)。现有的一些学术平台(Cleverhans/Foolbox,NIPS )各有各的缺点,还需要完善。