综述论⽂:对抗攻击的12种攻击⽅法和15种防御⽅法
这篇⽂章⾸次展⽰了在对抗攻击领域的综合考察。本⽂是为了⽐机器视觉更⼴泛的社区⽽写的,假设了读者只有基本的深度学习和图像处理知识。不管怎样,这⾥也为感兴趣的读者讨论了有重要贡献的技术细节。机器之⼼重点摘要了第 3 节的攻击⽅法(12 种)和第 6 节的防御⽅法(15 种),详情请参考原⽂。
尽管深度学习在很多计算机视觉领域的任务上表现出⾊,Szegedy et al. [22] 第⼀次发现了深度神经⽹络在图像分类领域存在有意思的弱点。他们证明尽管有很⾼的正确率,现代深度⽹络是⾮常容易受到对抗样本的攻击的。这些对抗样本仅有很轻微的扰动,以⾄于⼈类视觉系统⽆法察觉这种扰动(图⽚看起来⼏乎⼀样)。这样的攻击会导致神经⽹络完全改变它对图⽚的分类。此外,同样的图⽚扰动可以欺骗好多⽹络分类器。这类现象的深远意义吸引了好多研究员在对抗攻击和深度学习安全性领域的研究。
⾃从有了 Szegedy 的发现,机器视觉领域中陆续出现了好⼏个有意思的受对抗攻击影响的结果。例如,除了在特定图像的对抗性扰动之外,Moosavi-Dezfooli et al. [16] 展⽰了「通⽤扰动(universal perturbations)」的存在(如图 1 所⽰),这种通⽤扰动可以让⼀个分类器对所有图⽚错误分类。同样的,Athalye et al. [65] 展⽰了即使⽤ 3D 打印的真实世界中存在的物体也可以欺骗深度⽹络分类器(如图 2 所⽰)。考虑到深度学习研究在计算机视觉的重要性和在真实⽣活中的潜在应⽤,这篇⽂章⾸次展⽰了在对抗攻击领域的综合考察。这篇⽂章是为了⽐机器视觉更⼴泛的社区⽽写的,假设了读者只有基本的深度学习和图像处理知识。不管怎样,这⾥也为感兴趣的读者讨论了有重要贡献的技术细节。
图 1:三种⽹络的对抗样本和原始样本的对⽐,以及错误分类结果。
图 2:3D 打印的对抗样本。
第 2 节⾥列举了机器视觉中关于对抗攻击的常⽤术语。
第 3 节回顾了针对图⽚分类任务的对抗攻击。
图 3:单像素攻击。
第 4 节单独介绍了在实际⽣活场景中对抗攻击的⽅法。
图 4:⼈脸识别的对抗样本构造。
第 5 节关注对抗攻击的⼯作焦点和研究⽅向。
第 6 节讨论了防御对抗攻击的⽂献。
图 5:防御通⽤扰动的图⽰。
在第 7 章⾥,我们以讨论过的⽂献为基础的展望了未来的研究⽅向。
第 8 章总结并画上结尾。
论⽂:Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey
论⽂地址:/abs/1801.00553
深度学习正占据如今飞速发展的机器学习和⼈⼯智能领域的⼼脏地位。在机器视觉领域中,它已经变成了从⾃动驾驶到监控、安保应⽤中的主⼒。然⽽,即便深度⽹络已经展⽰了在处理复杂问题时所取得的
现象级成功,最近的研究表明它们对于输⼊中带有的轻微扰动是很脆弱的,从⽽导致错误的输出。对于图⽚来说,这样的扰动经常是太⼩了从⽽不能被⼈类感知,但是它们完全愚弄了深度学习模型。对抗攻击造成了深度学习在实践中成功的⼀系列威胁,进⽽引导了⼤量的研究进⼊这个⽅向。这篇⽂章展⽰了第⼀个对抗攻击在机器视觉领域的深度学习中的综合考察。我们回顾了对抗攻击设计的研究,分析了这些攻击的存在性以及提出的防御机制。为了强调对抗攻击在实际场所中存在,我们独⽴地回顾了实际场景中的对抗攻击。最终,我们引⽤⽂献来展望更⼴阔的研究⽅向。
3.1 对分类⽹络的攻击
本节列举了 12 种⽣成对抗样本的⽅法,专门针对分类⽹络。
1 Box-constrained L-BFGS
Szegedy[22] 等⼈⾸次证明了可以通过对图像添加⼩量的⼈类察觉不到的扰动误导神经⽹络做出误分类。他们⾸先尝试求解让神经⽹络做出误分类的最⼩扰动的⽅程。但由于问题的复杂度太⾼,他们转⽽求解简化后的问题,即寻最⼩的损失函数添加项,使得神经⽹络做出误分类,这就将问题转化成了凸优化过程。
2 Fast Gradient Sign Method (FGSM)
Szegedy 等⼈发现可以通过对抗训练提⾼深度神经⽹络的鲁棒性,从⽽提升防御对抗样本攻击的能⼒。GoodFellow[23] 等⼈开发了⼀种能有效计算对抗扰动的⽅法。⽽求解对抗扰动的⽅法在原⽂中就被称为 FGSM。
Kurakin[80] 等⼈提出了 FGSM 的「one-step target class」的变体。通过⽤识别概率最⼩的类别(⽬标类别)代替对抗扰动中的类别变量,再将原始图像减去该扰动,原始图像就变成了对抗样本,并能输出⽬标类别。
3 Basic & Least-Likely-Class Iterative Methods
one-step ⽅法通过⼀⼤步运算增⼤分类器的损失函数⽽进⾏图像扰动,因⽽可以直接将其扩展为通过多个⼩步增⼤损失函数的变体,从⽽我们得到 Basic Iterative
Methods(BIM)[35]。⽽该⽅法的变体和前述⽅法类似,通过⽤识别概率最⼩的类别(⽬标类别)代替对抗扰动中的类别变量,⽽得到 Least-Likely-Class Iterative Methods[35]。
4 Jacobian-based Saliency Map Attack (JSMA)
对抗攻击⽂献中通常使⽤的⽅法是限制扰动的 l_∞或 l_2 范数的值以使对抗样本中的扰动⽆法被⼈察觉。但 JSMA[60] 提出了限制 l_0 范数的⽅法,即仅改变⼏个像素的值,⽽不是扰动整张图像。
5 One Pixel Attack
这是⼀种极端的对抗攻击⽅法,仅改变图像中的⼀个像素值就可以实现对抗攻击。Su[68] 等⼈使⽤了差分进化算法,对每个像素进⾏迭代地修改⽣成⼦图像,并与母图像对⽐,根据选择标准保留攻击效果最好的⼦图像,实现对抗攻击。这种对抗攻击不需要知道⽹络参数或梯度的任何信息。
6 Carlini and Wagner Attacks (C&W)
Carlini 和 Wagner[36] 提出了三种对抗攻击⽅法,通过限制 l_∞、l_2 和 l_0 范数使得扰动⽆法被察觉。实验证明 defensive distillation 完全⽆法防御这三种攻击。该算法⽣成的对抗扰动可以从 unsecured 的⽹络迁移到 secured 的⽹络上,从⽽实现⿊箱攻击。
7 DeepFool
Moosavi-Dezfooli 等⼈ [72] 通过迭代计算的⽅法⽣成最⼩规范对抗扰动,将位于分类边界内的图像逐步推到边界外,直到出现错误分类。作者证明他们⽣成的扰动⽐ FGSM 更⼩,同时有相似的欺骗率。
8 Universal Adversarial Perturbations
诸如 FGSM [23]、 ILCM [35]、 DeepFool [72] 等⽅法只能⽣成单张图像的对抗扰动,⽽ Universal Adv
ersarial Perturbations[16] 能⽣成对任何图像实现攻击的扰动,这些扰动同样对⼈类是⼏乎不可见的。该论⽂中使⽤的⽅法和 DeepFool 相似,都是⽤对抗扰动将图像推出分类边界,不过同⼀个扰动针对的是所有的图像。虽然⽂中只针对单个⽹络ResNet 进⾏攻击,但已证明这种扰动可以泛化到其它⽹络上。
9 UPSET and ANGRI
Sarkar[146] 等⼈提出了两个⿊箱攻击算法,UPSET 和 ANGRI。UPSET 可以为特定的⽬标类别⽣成对抗扰动,使得该扰动添加到任何图像时都可以将该图像分类成⽬标类别。相对于 UPSET 的「图像不可知」扰动,ANGRI ⽣成的是「图像特定」的扰动。它们都在 MNIST 和 CIFAR 数据集上获得了⾼欺骗率。
10 Houdini
Houdini[131] 是⼀种⽤于欺骗基于梯度的机器学习算法的⽅法,通过⽣成特定于任务损失函数的对抗样本实现对抗攻击,即利⽤⽹络的可微损失函数的梯度信息⽣成对抗扰动。除了图像分类⽹络,该算法还可以⽤于欺骗语⾳识别⽹络。
11 Adversarial Transformation Networks (ATNs)
Baluja 和 Fischer[42] 训练了多个前向神经⽹络来⽣成对抗样本,可⽤于攻击⼀个或多个⽹络。该算法
通过最⼩化⼀个联合损失函数来⽣成对抗样本,该损失函数有两个部分,第⼀部分使对抗样本和原始图像保持相似,第⼆部分使对抗样本被错误分类。
12 Miscellaneous Attacks
这⼀部分列举了更多其它的⽣成对抗样本的⽅法,详情请参见原⽂。
表 1:以上列举的各种攻击⽅法的属性总结:「perturbation norm」表⽰其限制的 p-范数(p-norm)以使对抗扰动对⼈类不可见或难以察觉。strength 项(*越多,对抗强度越⼤)基于回顾过的⽂献得到的印象。
3.2 分类/识别场景以外的对抗攻击
除了 Houdini 这个例外, 在 3.1 节中概述的所有主流对抗攻击直接针对于分类任务——欺骗基于 CNN 的分类器。然⽽,因为对抗性威胁的严重性,对抗攻击的研究已经超越了分类/识别场景。⽂中概述了以下分类应⽤领域之外的攻击深度神经⽹络的⽅法:
在⾃编码器和⽣成模型上的攻击
在循环神经⽹络上的攻击
深度强化学习上的攻击
在语义切割和物体检测上的攻击
⽬前,在对抗攻击防御上存在三个主要⽅向:
1)在学习过程中修改训练过程或者修改的输⼊样本。
2)修改⽹络,⽐如:添加更多层/⼦⽹络、改变损失/激活函数等。
3)当分类未见过的样本时,⽤外部模型作为附加⽹络。
第⼀个⽅法没有直接处理学习模型。另⼀⽅⾯,另外两个分类是更加关⼼神经⽹络本⾝的。这些⽅法可
以被进⼀步细分为两种类型:(a)完全防御;(b)仅探测(detection only)。「完全防御」⽅法的⽬标是让⽹络将对抗样本识别为正确的类别。另⼀⽅⾯,「仅探测」⽅法意味着在对抗样本上发出报警以拒绝任何进⼀步的处理。详细的分类在图9 中展⽰了。剩下的章节是按这个分类来整理的。
图 9:防御对抗攻击的⽅法分类。
6.1 修改训练过程/ 输⼊数据
1 蛮⼒对抗训练
通过不断输⼊新类型的对抗样本并执⾏对抗训练,从⽽不断提升⽹络的鲁棒性。为了保证有效性,该⽅法需要使⽤⾼强度的对抗样本,并且⽹络架构要有充⾜的表达能⼒。这种⽅法需要⼤量的训练数据,因⽽被称为蛮⼒对抗训练。很多⽂献中提到这种蛮⼒的对抗训练可以正则化⽹络以减少过拟合 [23,90]。然⽽,Moosavi-Dezfooli[16] 指出,⽆论添加多少对抗样本,都存在新的对抗攻击样本可以再次欺骗⽹络。
2 数据压缩
注意到⼤多数训练图像都是 JPG 格式,Dziugaite[123] 等⼈使⽤ JPG 图像压缩的⽅法,减少对抗扰动对准确率的影响。实验证明该⽅法对部分对抗攻击算法有效,但通常仅采⽤压缩⽅法是远远不够的,并
且压缩图像时同时也会降低正常分类的准确率,后来提出的 PCA 压缩⽅法也有同样的缺点。
3 基于中央凹机制的防御
Luo[119] 等⼈提出⽤中央凹(foveation)机制可以防御 L-BFGS 和 FGSM ⽣成的对抗扰动,其假设是图像分布对于转换变动是鲁棒的,⽽扰动不具备这种特性。但这种⽅法的普遍性尚未得到证明。
4 数据随机化⽅法
Xie[115] 等⼈发现对训练图像引⼊随机重缩放可以减弱对抗攻击的强度,其它⽅法还包括随机 padding、训练过程中的图像增强等。
6.2 修改⽹络
5 深度压缩⽹络
⼈们观察到简单地将去噪⾃编码器(Denoising Auto Encoders)堆叠到原来的⽹络上只会使其变得更加脆弱,因⽽ Gu 和 Rigazio[24] 引⼊了深度压缩⽹络(Deep Contractive Networks),其中使⽤了和压缩⾃编码器(Contractive Auto Encoders)类似的平滑度惩罚项。
6 梯度正则化/ masking
使⽤输⼊梯度正则化以提⾼对抗攻击鲁棒性 [52],该⽅法和蛮⼒对抗训练结合有很好的效果,但计算复杂度太⾼。
7 Defensive distillation
distillation 是指将复杂⽹络的知识迁移到简单⽹络上,由 Hinton[166] 提出。Papernot[38] 利⽤这种技术提出了 Defensive distillation,并证明其可以抵抗⼩幅度扰动的对抗攻击。
8 ⽣物启发的防御⽅法
使⽤类似与⽣物⼤脑中⾮线性树突计算的⾼度⾮线性激活函数以防御对抗攻击 [124]。另外⼀项⼯作 Dense Associative Memory 模型也是基于相似的机制 [127]。
9 Parseval ⽹络
在⼀层中利⽤全局 Lipschitz 常数加控制,利⽤保持每⼀层的 Lipschitz 常数来摆脱对抗样本的⼲扰。
10 DeepCloak
在分类层(⼀般为输出层)前加⼀层特意为对抗样本训练的层。它背后的理论认为在最显著的层⾥包含着最敏感的特征。
11 混杂⽅法
这章包含了多个⼈从多种⾓度对深度学习模型的调整从⽽使模型可以抵抗对抗性攻击。
12 仅探测⽅法
这章介绍了 4 种⽹络,SafetyNet,Detector subnetwork,Exploiting convolution filter statistics 及 Additional class augmentation。
SafetyNet 介绍了 ReLU 对对抗样本的模式与⼀般图⽚的不⼀样,⽂中介绍了⼀个⽤ SVM 实现的⼯作。
Detector subnetwork 介绍了⽤ FGSM, BIM 和 DeepFool ⽅法实现的对对抗样本免疫的⽹络的优缺点。
Exploiting convolution filter statistics 介绍了同 CNN 和统计学的⽅法做的模型在分辨对抗样本上可以有 85% 的正确率。
6.3 使⽤附加⽹络
13 防御通⽤扰动
利⽤⼀个单独训练的⽹络加在原来的模型上,从⽽达到不需要调整系数⽽且免疫对抗样本的⽅法。
正则化综述
14 基于 GAN 的防御
⽤ GAN 为基础的⽹络可以抵抗对抗攻击,⽽且作者提出在所有模型上⽤相同的办法来做都可以抵抗对抗样本。
15 仅探测⽅法
介绍了 Feature Squeezing、MagNet 以及混杂的办法。
Feature Squeezing ⽅法⽤了两个模型来探查是不是对抗样本。后续的⼯作介绍了这个⽅法对 C&W 攻击也有能接受的抵抗⼒。
MagNet:作者⽤⼀个分类器对图⽚的流⾏(manifold)测量值来训练,从⽽分辨出图⽚是不是带噪声的。
混杂⽅法(Miscellaneous Methods):作者训练了⼀个模型,把所有输⼊图⽚当成带噪声的,先学习怎么去平滑图⽚,之后再进⾏分类。
以下是机器之⼼报道过的对抗攻击的案例:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。