部分内容参考科研篇二:对抗样本(Adversarial Example)综述 机器之心的总结也很好综述论文:对抗攻击的12种攻击方法和15种防御方法
一、主要内容
肯定了深度学习在计算机视觉等领域的贡献,但深度学习模型很容易受到低对抗攻击,本文对对抗性攻击进行了全面调查和总结,包括针对图像分类等任务的对抗性攻击及其方法,以及介绍了在现实世界条件中处理对抗性攻击的方法。同时对如何防御这些攻击也做出了总结和回答。
二、术语定义
- 对抗性样本/图像(Adversarial example/image):是一个干净的图像被故意干扰(例如,通过添加噪声)来混淆/欺骗一个机器学习(例如深度神经网络)的修改版本
- 对抗性扰动(Adversarial perturbation):添加到干净图像中的噪声,使其成为一个对抗性样本
- 对抗性训练(Adversarial training*):除了使用原始的干净图像之外,还使用对抗性样本/图像来训练模型
- 对抗方(Adversary):指产生对抗样本的代理(agent),有时候也把对抗样本本身称作对抗方
- 黑盒攻击(Black-box attacks):对抗样本是在不知道该模型的情况下生成的。在某些情况下,假设对抗方对模型的了解有限(例如,它的训练过程/或其体系结构),但肯定不知道模型的参数。在其他情况下,使用有关目标模型的任何信息都被称为“半黑盒”攻击。
- 探测器(Detector):一种(仅限)检测一个图像是否是对抗样本的机制
- 愚弄率(Fooling ratio/rate):一个被训练过的模型在图片被干扰之后改变其原本预测的类别的比例。
- 一次性/一步式/单步方法(One-shot/One-step methods):通过执行单步计算来产生对抗性扰动,例如计算一次模型损失(loss)的梯度。与之对应的是迭代方法,该方法多次执行相同的计算来获得一个单一的扰动,后者计算成本通常很高
- 外观不可感知的/难以察觉的(Quasi-imperceptible):对抗样本引入的干扰可以微小到不被人类感知
- 修正器(Rectifier):对对抗样本进行修正,使其在目标模型上的预测结果与原始干净样本的结果一致。
- 有目标攻击(Targeted attacks):让模型将对抗样本错误地分成某种特定的类别。与之对应的是无目标攻击,后者目的相对简单,它只追求让模型预测错误,并不具体到某一具体类别。
- 威胁模型(Threat model):指被一种方法所考虑到的潜在的攻击,如黑盒攻击
- 迁移性(Transferability):对抗样本即便在攻击其他模型(指不是用来生成该对抗样本的模型)时仍能保持其有效性的一种特性。
- 通用干扰(Universal perturbation):能够在任意图片上愚弄到模型。通用性指的是干扰在对图像没有任何知识的情况下的性质,与之前提到的迁移性不一样。
- 白盒攻击(White-box attacks):假设了目标模型的完整知识,包括其参数值,架构,训练方法,以及在某些情况下它的训练数据。
三、对抗攻击
主要内容:回顾主要在“实验室设置”中欺骗深度神经网络的对抗性攻击方法,按照时间顺序组织,介绍了流行方法的技术细节以及该领域新兴方向的一些代表性技术。主要分为两部分,一是攻击深度神经网络执行计算机视觉中最常见的任务的方法,即分类/识别,二是主要用于攻击此任务之外的深度学习方法
3.1 分类攻击
Box-constrained L-BFGS(盒约束的L-BFGS)
Fast Gradient Sign Method (FGSM)(快速梯度符号法)
三个团队的工作: Goodfellow等人,Kurakin等人,Miyato等人。总的来说,所有的这些方法都被视作“one-step”或者“one-shot”方法。
Basic & Least-Likely-Class Iterative Methods(BIM法)-基本迭代方法
"one-step"方法通过在增加分类器损失的方向上采取一个大的步骤(即一步梯度上升)来扰动图像。该想法的直观扩展是在调整每一步后的方向时迭代地采取多个小步骤,相当于∞版本的投影梯度下降(PGD),一种标准的凸优化方法
Jacobian-based Saliency Map Attack (JSMA) 基于雅可比矩阵的显著性映射攻击
该方法通过限制扰动的0-范数来创建对抗性攻击(大多采用∞范数或2范数),只需要修改图像中的几个像素,而不是干扰整个图像来欺骗分类器。该算法一次修改一个干净图像的像素,并监测该变化对结果分类的影响
Carlini and Wagner Attacks (C&W)
Carlini和Wagner在蒸馏防御之后提出了三种对抗攻击方法。他们的工作表明:针对目标网络的防御蒸馏几乎完全无法对抗这些攻击。同时还表明使用不安全(未蒸馏)网络生成的对抗性例子可以很好地转移到安全(蒸馏)网络中,从而让计算出的扰动适用于黑盒攻击。 此外,论文中还提到了其他攻击方法,如 One Pixel Attack, UPSET and ANGRI, Houdini ,Adversarial Transformation Networks (ATNs), Miscellaneous Attacks,
涉及到的方法总结如下:
3.2在其他方面的攻击
Attacks on Autoencoders and Generative Models(编码方面), Attacks on Deep Reinforcement Learning(强化学习方面),Attacks on Semantic Segmentation and Object Detection(语义分割和对象检测方面)
四、现实世界中的攻击
如面部属性攻击,手机摄像头攻击,道路标志攻击,3D对象攻击(更侧重真实世界中的物体)
五、关于普遍扰动的存在问题
Moosavi-Dezfooli等人最初认为,普遍的对抗性扰动利用了由分类器诱导的决策边界之间的几何相关性,它们的存在部分归功于一个包含了决策边界的法线的子空间,它们证实了存在共同的方向(跨数据点共享),沿着该放下,分类器的决策边界可以高度正弯曲。此外,Fawzi等人以及Tramer等人也认为,在数据点附近的决策边界的曲率与分类器等模型在面对攻击时的脆弱性有关。这也引发了后来GAN模型的出现。
六、 对抗防御
现在的对抗防御方法大致分为以下三类
对抗防御方法 | 方法描述 | 方法思路 |
---|
Modified training/input 修改训练/输入 | 在学习过程中,使用修改后的训练;或在测试过程中使用修改后的输入 | 通过对输入数据或训练进行处理来对抗扰动 | Modified networks 修改网络 | 修改网络,如通过添加更多的layers或sub-networks;改变loss函数或activation函数(损失或激活函数) | 从造成网络脆弱性的原因出发,如惩罚损失函数等 | Network add-on 增加附加网络 | 在对不可见的样本进行分类时,使用外部模型作为附加网络 | 添加“预输入”层等方法来检测扰动并修正输入或使用GAN思路 |
总结:第一个方法没有直接处理学习模型。另一方面,另外两个分类是更加关心神经网络本身的。这些方法可以被进一步细分为两种类型:(a) 完全防御;(b) 仅探测 (detection only)。完全防御 方法的目标是让网络讲对抗样本识别为正确的类别。另一方面,仅探测 方法意味着在对抗样本上发出报警以拒绝任何进一步的处理。
对于后两种还有两个分类
类别 | 描述 |
---|
Complete defence | 使得网络能够提升对对抗样本的鲁棒性 | Detection only | 发现潜在的对抗样本输入,进而拒绝对该样本做后续的处理 |
七、总结
内部的max问题简单来讲就是添加的扰动要尽量让网络迷惑。外部的min是对神经网络进行优化最小化公式,即当扰动固定的情况下,训练的网络模型可以使得在训练数据上的损失最小,即提高模型的鲁棒性。
|