温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
针对
神经网络
对抗
攻击
及其
防御
针对神经网络的对抗攻击及其防御
何正保 黄晓霖
摘 要:随着深度学习和神经网络的不断开展,深度神经网络已经广泛应用于多个领域,其平安性也日渐受到人们的关注。对抗攻击和对抗样本作为神经网络最大的威胁之一,近年来成为研究的热点。同时,对抗攻击及其防御的研究也对神经网络认知能力的提升具有重要的意义。本文围绕对抗攻击及其防御,介绍了根本原理和一些经典算法,并就对抗攻击的意义与作用、开展趋势进行了阐述。
关键词:
深度学习;神经网络;对抗攻击;对抗样本;防御算法; 人工智能
中图分类号:TJ760;TP18文献标识码:A文章编号:
1673-5048(2023)03-0011-09
0 引言
随着深度学习的开展,深度神经网络已经广泛应用于图像识别[1-3]、医学影像分析[4-5]、自动驾驶[6-7]等领域,并且在许多复杂任务上的表现都超过了人类水平。但神经网络同样有很多问题,阻碍其进一步开展与应用。神经网络在对抗攻击下的脆弱性就是其中一个重要的问题,例如,对输入图片添加人眼不可见的扰动,就能使分类网络以高置信度将修改后的图片错误分类[8-10]。神经网络的脆弱性制约了其在复杂、未知、多变环境的应用,也制约了其在需要高可靠性的任务中的推广。这种脆弱性与神经网络在认知能力方面的缺乏紧密相关。近年来,针对研究神经网络弱点的对抗攻击及其防御,逐渐成为新的研究重点,其目的既在于增强神经网络的可靠性,也在于通过对攻击及其防御的迭代研究,提升神经网络的认知能力。
本文综述了对抗攻击的根本概念和原理,梳理经典的对抗攻击算法和相应的防御机制,同时探讨对抗攻击及其防御的开展趋势和其对人工智能的推动作用。
1 对抗攻击
1.1 数学描述与根本原理
对抗攻击是指对原始数据添加特定的扰动得到对抗样本,使得神经网络产生错误的输出。从深度学习的机理上理解,神经网络的训练是在训练数据集上进行的,而训练数据只是真实数据中的一局部,无法完全表示真实数据的分布特性。因此,总可以寻找到训练数据无法覆盖的空间使得神经网络发生错误。从神经网络的结构进行理解,由于深度神经网络是含有多个隐含层的高度非线性函数,输入数据的一些细小变化,都可能逐层传递、放大,并对最终输入结果产生巨大的影响。
对抗攻击的本质是寻找神经网络与人类认知的差异。其差异首先表现在神经网络会对特定的扰动过于敏感。以图像分类器为例,利用神经网络过于敏感的特性,可以对原始图像添加较小的扰动,使分类器将图片错误分类。上述攻击可表述为
式中:
x为原始样本;x′为所生成的对抗样本;f为被攻击的神经网络; 为事先设定的扰动裕度。
图1显示了对抗攻击与传统目标隐藏之间的区别(图片均下载于互联网)。训练集中的一个目标样本如图1(a)所示。传统上,为了使该型飞机不被识别,需要设计迷彩涂装用以欺骗人类的视觉系统。但针对人类设计的迷彩未必能欺骗机器视觉,相反,机器视觉系统对于
对抗攻击十分敏感。
如图1(c)所示,虽然图像和原始图像在视觉上没有显著的区别,但機器视觉系统却做出了错误的判断。这个例子展示了人类视觉系统和机器视觉系统的差异,也显示了在人工智能广泛应用的今天,
航空兵器这样存在强对抗的领域,研究其对抗攻击及其防御的必要性。
与过于敏感相对应,神经网络与人类感知的不一致性还表现在某些情况下过于迟钝,即对原始图像添加较大的扰动,而分类器仍然以较高的置信度将对抗样本分类为原始类别,其数学表述如下:
目前已有的对抗攻击集中于式(1)所描述的情况[8-10],关于式(2)的攻击可见文献[11-12];根据所对应的统计误差的分类,这两类对抗攻击被分别称为 Type Ⅱ和 Type I 对抗攻击。
1.2 特征的不一致
对抗样本的存在证实了神经网络与人类认知的差异。从特征的角度考察这种差异会发现,当深度神经网络所学习到的数据特征空间与真实数据特征空间不一致时,就会出现对抗样本。
当神经网络学习到数据中的冗余特征(一般是数据中的噪声特征)时,网络就会对这些冗余特征较为敏感(也因此,冗余特征又被称为非稳健特征)。如果在冗余特征空间中对输入做一定的扰动,由于人类的认知中没有考虑这类扰动而无法观察到显著的变化,但由于这类特征被神经网络识别并纳入决策体系之中,其微小的变化将使得神经网络的输出发生巨大的变化,即遭受Type Ⅱ攻击。相应地,如果神经网络学习到的数据特征空间较小时,会出现一些网络没有学习到的缺失特征。这局部特征为人类所重视,但是网络并不利用这局部特征进行决策,因此,缺失特征上较大的扰动能为人类所观测,但不会引起网络输出的相应变化,即遭受Type I 攻击。文献[13]给出了一个很有趣的例子。在这个看似简单的内外两个球面数据的分类问题中,如果特征数量与真实系统不一致(包括冗余特征[13]和缺失特征[12]),神经网络都会被对抗样本所攻击。
近年来,有很多研究者从理论的角度分析特征稳健性与对抗样本。文献[14]认为想要学习一个鲁棒的模型比学习一个标准模型需要更多的数据;文献[13,15-16]认为对抗样本在某些情况下是不可防止的,无论是由于计算的限制还是数据本身的特性等;文献[17]那么认为对抗样本作为神经网络学习到的非稳健特征之一,有助于模型的泛化,只是这种特征不易被人类觉察,这种观点认为对抗样本只是一种“以人为中心〞的现象。
1.3 防御策略的根本原理
对抗攻击会极大地降低神经网络的准确率,并且指出了神经网络的弱点。因此,人们希望设计针对对抗攻击的防御方法以增强神经网络的性能。防御策略一般可以分为四类:
对图像进行滤波[18-23]、修改模型结构[24-28]、对抗训练[29-32]以及特征与网络分析[33-34]。
1.3.1 图像滤波
常见的对抗攻击方法是通过在原始图像上添加精心设计的扰动实现的。由于这种扰动在某种程度上表现得像噪声,因此,可以通过对对抗样本进行去噪,使其更接近于原始样本,即去掉生成对抗样本过程中参加的噪声,将其尽可能恢复成原始样本,从而实现对对抗样本的准确分类。从流形学习的角度理解,滤波防御是通过去噪试图将对抗样本拉回到干净样本所在的子空间。
文献[18-21]通过对图像进行压缩以到达去噪目的;文献[22]通过一个去噪网络消除对抗样本中的扰动;文献[23]通过构造一个低维拟自然图像空间将对抗样本投影到自然图像空间中。图像滤波的方法不改变网络自身的结构,不需要重训练,但图像滤波没有在本质上提升神经网络的认知能力,因此,其防御效果有限。当攻击在图像上的变化幅度较小或者高频信息较小的时候,单纯的滤波难以区分图像细节与对抗噪声,使得这类防御方法会影响网络的识别精度。
1.3.2 修改模型结构
由于大多数对抗攻击算法是基于梯度来生成对抗样本,因此通过修改模型隐藏或限制网络的梯度是一种有效的防御方法。文献[24-26]通过添加新的单元或在网络中引入随机性以隐藏网络的梯度;文献[27-28]通过知识蒸馏和梯度正那么化等方法限制网络的梯度,给对抗样本的生成带来困难。对模型的修改在某种程度上提升了网络的认知性能,但存在需要针对特定网络特定攻击进行重训练的问题,其防御效率有待进一步提升。
1.3.3 对抗训练
通过利用对抗样本进行对抗训练以增加网络的鲁棒性是一种直接而有效的方式。按照对抗样本的获取方式,对抗训练可以分成直接训练[29]、集成训练[30]、生成模型训练[31-32]等。对抗训练对于增强网络性能具有重要的意义。由于通过对抗攻击,能够生成错误样本,从而可以更高效地提升已得到神经网络的性能,因此在小数据学习方面具有很好的应用前景。
1.3.4 特征与网络分析
原始样本与对抗样本在图像或网络响应方面特征的不同可以用来检测对抗样本。文献[33]提出一种利用隐写分析来检测对抗样本的方法;文献[34]提出了基于有效路径的对抗样本检测方法。这类方法与神经网络的分析相结合,有可能从本质上提升网络的性能,但目前的分析往往只在较为简单的网络和特定的攻击起作用,对于各类新型攻击的防御效果需要进一步研究。
2 不同的对抗攻击任务
在前述对抗攻击描述的根底上,本节将根据不同的被攻击对象,介绍对分类器的攻击、对检测器的攻击、对编码器的攻击,以及针对小样本学习和在线学习的数据投毒攻击方式。
2.1 对分类器的攻击
针对分类器的攻击一般是通过修改原始图像使分类器产生错误的分类结果以到达攻击目的,其中又分为目标攻击与非目标攻击。目标攻击指的是使分类器将对抗样本错误分类至指定的类别,而非目标攻击只需要分类器分类错误即可,对具体类别没有要求。根据是否知道被攻击对象的信息,对抗攻击分为白盒攻击和黑盒攻击,其中白盒攻击指完全知道网络的结构、参数等信息,而黑盒攻击指不知道网络的具体信息,而直接使用对抗样本欺骗神经网络。
2.1.1 FGSM及其变种
FGSM[8]是一种基于梯度生成对抗样本的算法,通过最大化损失函数以获取对抗样本,沿着梯度增加的方向进一步生成对抗样本:
xx=x+ηsgn(xJ(x, y))(3)
式中:
J为分类算法中衡量分类误差的损失函数;x为原始样本;y为原始样本对应的正确分类;sgn(·)为符号函数;η为攻击步长。最大化J使得添加噪声后的样本偏离y类,由此完成非目标攻击。
单纯的FGSM仅考虑导数的符号,且只进行一次的扰动,其对模型的攻击效果往往较为有限,Basic Iterative Method[35]基于FGSM进行改良,本质上是对前述算法的屡次应用,使用一个小的步长进行屡次迭代。
文献[36]借鉴优化的思想,在梯度迭代的根底上引入了动量,通过将动量项整合到攻击的迭代过程中,可以稳定更新方向,并在迭代过程中摆脱不良的局部最大值,以获得具有更好迁移性的对抗样本。
2.1.2 Jacobian-based Saliency Map Attack
在對抗攻击相关文献中,为保证添加的扰动不会被人觉察,通常会使用l∞范数或l2范数限制扰动的大小,文献 [9]提出的 JSMA方法使用l0范数约束添加扰动的大小,即只改变几个像素的值,而不是对整张图像进行修改。通过计算图像中每个像素的导数,可以找到对于模型判断影响较大的像素点,从而可以更改较少的像素点完成攻击任务。
2.1.3 Deepfool
Deepfool[10]是一种基于超平面分类思想的生成对抗样本的方法。在二分类问题中,超平面是实现分类的根底,假设需要改变分类器对某个样本的分类结果,最小的扰动就是将该样本移至超平面上,这种操作的距离代价最小,对于多分类问题也是如此。
在计算对抗样本过程中,Deepfool将位于分类边界内的图像逐步推到边界外,直至分类结果出现错误,相较于FGSM,该算法可以通过更小的扰动到达对抗攻击的效果。
2.1.4 C&W攻击
C&W[37]基于优化如下的目标函数实现攻击:
式中:
rn 为添加的扰动,通过将对抗样本映射到空间,使其可以在-∞至+∞做变换,更有利于优化;优化目标函数的第二局部中,Z(x)为样本x通过模型未经过Softmax的输出向量,其最大值对应的就是该样本分类的类别;k为置信度,越大的k代表模型以越高的置信度识别错误;超参数c用来平衡两个损失函数之间的相对关系。通过最小化该损失函数即可将分类类别拉至目标类别,从而实现目标攻击。
作为基于优化的攻击方法,C&W攻击通过改变可以调节置信度,同时对添加扰动的大小进行抑制,生成的扰动更小,但该方法的速度较慢。
2.1.5 Zeroth Order Optimization(ZOO)
ZOO[38]是一种经典的黑盒攻击,无需知晓网络内部参数,通过对图像的像素点逐步添加一个小的扰动,根据模型输出的逻辑值的变化估计其对每个像素的梯度。在估计所得梯度的根底上,直接使用白盒的C&W进行攻击。
2.1.6 One pixel attack
作为一种极端的对抗攻击方法,One pixel attack仅改变图像中的一个像素值以实现对抗攻击[39]。该算法采用差