深度学习中对抗攻防技术的发展及展望-滕达博士

2021-01-15

摘要:

从Szegedy提出对抗样本(Adversarial Sample)[1]和Goodfellow提出GAN[2]以来,对抗攻击(Adversarial Attack)和相关的防御算法已经成为了CV领域的一个重要课题。本文将调查并总结对抗性攻击和防御研究领域中最前沿的研究成果,并对这些攻击和防御方式的有效性进行评述。

研究者发现现有深度学习算法存在着严重的安全隐患,加入特定噪声的良性样本可以轻易使正常训练的模型输出置信度很高的错误预测,但人从视觉上难以分辨,这种现象被称为对抗攻击,它被认为是在生产中部署深度学习模型的巨大障碍,因此激发了人们对对抗攻击和防御研究的广泛讨论。根据威胁模型可以将现有的对抗性攻击分为白盒、灰盒和黑盒攻击。这3种模型之间的差异在于攻击者了解的信息。在白盒攻击的威胁模型中,假定攻击者具有关于其目标模型的完整知识,包括模型体系结构和参数。因此攻击者可以通过任何方式直接在目标模型上制作对抗性样本。在灰盒威胁模型中,攻击者了解的信息仅限于目标模型的结构和查询访问的权限。在黑盒威胁模型中,攻击者只能依赖查询访问的返回结果来生成对抗样本。在这些威胁模型的框架中,研究者开发了许多用于对抗样本生成的攻击算法,比如基于有限内存的BFGS(limited-memory Broyden-Fletcher-Goldfarb-Shan-no,L-BFGS)、快速梯度符号法(fast gradient sign method,FGSM)、基本迭代攻击/投影梯度下降(ba-sic iterative attack/projected gradient descent,BIA/PGD、分布式对抗攻击(distributionally adversarial attack,DAA)、Carlini和Wagner(C&W)攻击、基于雅可比的显著图攻击(Jacobian-based saliency map attack,JSMA以及DeepFool。本文将调查并总结对抗性攻击和防御研究领域中最前沿的研究成果,并对这些攻击和防御方式的有效性进行评述。

1.对抗攻防简介

对抗样本(Adversarial Sample)指在正常样本上引入不易察觉的噪声后形成的样本。这类样本可以使CNN模型输出高置信度的错误输出。如图1所示,只需要对原图(雪山或者河豚)添加一些肉眼难以察觉的噪声,即可使模型给出完全错误的预测。

 image.png

图1 分类问题中的对抗样本

同样的问题也会出现在生物识别算法中。图2就给出了人脸比对算法中的对抗样本。叠加对抗噪声后,人脸的比对分从100分急剧下降到了60以下。也就是说,人脸比对算法此时已经无法成功识别出这两个人了。

image.png 

图2 人脸比对中的对抗样本

2 对抗攻击方法

目前,学术界主流的生成对抗样本的方法有两类。根据攻击形式的不同分为黑盒攻击和白盒攻击。黑盒攻击是在神经网络只有有限结果反馈的情况下的攻击;而白盒则是算法完全开放的情况,可获得包括网络结构,梯度等情况下的攻击。尽管目前绝大部分的场景下,我们只能进行黑盒攻击,但很多学者发现,对类似网络的攻击具有迁移性,往往白盒攻击能达到更好的效果。另外,根据攻击目标的不同,攻击也可分为targeted与non-targeted。顾名思义,两种方法分别针对扰动至目标标签/样本或只针对样本本身标签,而在实际实验结果中non-targeted往往具有更好的泛化性。

 image.png

图3 主流对抗攻击方法

具体举例来说,IPGD(Iterative Project Gradient Descent)攻击通过最大化分类损失函数,并将梯度的投影或梯度的方向直接叠加到输入图像上,从而得到对抗样本。GAN-based攻击,即使用生成模型来产生对抗样本。这两类方法各有优劣,总体来说,GAN-based攻击上限更高,但是IPGD攻击更加稳定且可复现。两种类型攻击都在图3中给出。以下是文中部分攻击方法的描述。

2.1 快速梯度符号法(FGSM)

Goodfellow等首先提出了一种有效的无目标攻击方法,称为快速梯度符号法(FGSM),该方法通过在良性样本的L∞范数限制下生成对抗样本,如图1所示。FGSM是典型的一步攻击算法,它沿着对抗性损失函数J(θ, x, y)的梯度方向(即符号)执行一步更新,以增加最陡峭方向上的损失。FGSM生成的对抗性样本表示如下:

 image.png

式中,ε 是扰动大小。通过降低J(θ, x, y′)的梯度(其中y′表示目标类别)可以将FGSM轻松地扩展为目标攻击算法(targeted FGSM)。如果将交叉熵作为对抗损失,则此更新过程可以减少预测概率向量和目标概率向量之间的交叉熵。目标攻击算法的梯度更新可以表示为:

 image.png

此外,在良性样本上先添加随机扰动再执行FGSM可以提高FGSM生成对抗样本的性能和多样性。

2.2 基本迭代攻击和投影梯度下降

Kurakin等提出了BIA方法,该方法通过将一个迭代优化器迭代优化多次来提高FGSM的性能。BIA以较小的步长执行FGSM,并将更新后的对抗样本裁剪到有效范围内,通过这样的方式总共T次迭代,在第k次迭代中的梯度更新方式如下:

式中,αT = ε。投影梯度下降(PGD)可以看作是BIA的广义形式,这种方法没有约束αT = ε。为了约束对抗性扰动,PGD将每次迭代学习的对抗性样本投影到良性样本的ε- L∞邻域中,从而使对抗性扰动值小于ε。其更新方式如下:

image.png

式中,Proj会将更新后的对抗样本投影到ε- L∞邻域和有效范围内。

2.3 动量迭代攻击(momentum iterative attack)

受动量优化器的启发,Dong等提出将动量记忆集成到BIM的迭代过程中,并推导了一种新的迭代算法Momentum Iterative FGSM(MI-FGSM)。该方法通过以下方式迭代更新其对抗样本:

 image.png

式中,梯度gk+1通过gk+1 = μ•gk + Δx J(θ,xk',y)/|| Δx J(θ,xk',y)||1更新。文献提出的方案是以一组集成模型为目标,在黑盒/灰盒设置下攻击一个不可见的模型。其基本思想是考虑多个模型相对于输入的梯度,并综合确定一个梯度方向,这种攻击方法生成的对抗样本更可能转移攻击其他黑盒/灰盒模型。MI-FGSM与集成攻击方案的结合在NIPS 2017无目标攻击和度量攻击竞赛(黑盒设置)中获得了第一名。

2.4 Carlini 和Wagner 攻击

Carlini和Wagner提出了一组基于优化的对抗攻击C&W,它们可以生成L0、L2和L∞范数限制下的对抗样本CW0、CW2和CW∞。与L-BFGS类似,将优化目标函数表示为:

 image.png

式中,δ 是对抗扰动;D(∙,∙)表示L0、L2或L∞距离度量;f(x +δ)是自定义的对抗损失,当且仅当DNN的预测为攻击目标时才满足f(x +δ)≤0。为了确保x +δ产生能有效的

图像(即x +δ ∈ [0, 1]),引入了一个新变量来代替δ,如式(11)所示:

 image.png

这样,x +δ =1/2(tanh(k) + 1)在优化过程中始终位于[0, 1]中。除了在MNIST、CIFAR10和ImageNet的正常训练DNN模型上获得100%的攻击成功率外,C&W攻击还可以破坏防御性蒸馏模型,而这些模型可以使L-BFGS和Deepfool无法找到对抗性样本。

2.5 通用对抗攻击

上述所有攻击都是针对良性样本来精心设计对抗性扰动的。换句话说,对抗性扰动不会在良性样本之间传递。因此一个自然的问题是:是否存在一种普遍的扰动会欺骗大多数良性样本的网络?在每次迭代中,对于当前扰动无法欺骗的良性样本,将求解一个类似于L-BFGS的优化问题,以找到危害这些样本所需的最小附加扰动。附加扰动将添加到当前扰动中。最终,扰动使大多数良性样本欺骗了网络。实验表明,这种简单的选代算法可以有效地攻击深度神经网络,如CaffeNet、GoogleNet、VGG和ResNet。出乎意料的是,这种可在不同样本中传递的扰动同时可以应用到其他不同的模型中,例如,在VGG上制作的通用扰动在其他模型上也可以达到53%以上的欺骗率。

3 防御对抗攻击方法

有攻击,自然就会有防御。目前学术界的防御对抗样本的方法可以分为两类。一类是对抗训练,即在训练过程中加入对抗样本,使得分类模型对于对抗样本产生鲁棒性。另一类则是单独训练“对抗样本检测器”。目前已经有相关工作证明[]对抗训练无法对多种不同种类攻击产生鲁棒性(例如L1PGD和LinfPGD的鲁棒性在理论上就是不可兼得的)。同时,我们也做了相关对抗训练的实验,发现即使对于同一种攻击,对抗训练后的模型不能很好泛化到不同的攻击强度。而“对抗样本检测器”虽然带来了额外的inference time,但是对于攻击类型、攻击强度的泛化能力要远好于对抗训练。同时,[4]证实使用对抗攻击的类似的方法训练模型,也能获得对对抗攻击较为鲁棒,稳定的模型。

3.1 对抗训练

对抗训练是一种针对对抗样本的直观防御方法,该方法试图通过利用对抗样本进行训练来提高神经网络的鲁棒性。从形式上讲,这是一个Min-Max的游戏,可以表述为:

  image.png

式中,J(θ, x′, y)是对抗损失函数;θ是网络权重;x′是对抗输入;y是标签真值。D(x, x′)表示x和x′之间的某种距离度量。内部的最大化优化问题是找到最有效的对抗样本,这可以通过精心设计的对抗攻击实现,如FGSM和PGD。外部的最小化优化问题是损失函数最小化的标准训练流程。最终的网络应该能够抵抗训练阶段用的生成对抗性样本的对抗性攻击。最近的研究表明:对抗性训练是对抗性攻击最有效的防御手段之一。主要是因为这种方法在几个基准数据集上达到了最高的精度。FGSM 对抗训练:Goodfellow等首先提出用良性和FGSM生成的对抗样本训练神经网络以增强网络其鲁棒性的方法。他们提出的对抗目标函数可以表达为:

  image.png

式中,x +ϵsign( ΔxJ(θ, x, y))是良性样本x根据FGSM方法生成的对抗样本;c是用于平衡良性和对抗性样本的准确性。文献中的实验表明,该网络对于FGSM方法生成的对抗性样本变得有些健壮。具体来说,在对抗训练中对抗样本的错误率从89.4%急剧下降至17.9%。尽管该方法对FGSM的攻击有效,但是训练后的模型仍然容易受到基于迭代/优化方式的对抗攻击。因此许多研究进一步挖掘了具有更强对抗性攻击(如BIA/PGD攻击)的对抗性训练。

3.2 随机化

最近的许多防御措施都采用随机化来减轻输入/特征域中对抗性扰动的影响,因为从直觉上看,DNN总是对随机扰动具有鲁棒性。基于随机化的防御方法试图将对抗性效应随机化为随机性效应,当然这对大多数DNN而言都不是问题。在黑盒攻击和灰盒攻击的设置下,基于随机化的防御获得了不错的性能,但是在白盒攻击下,EoT方法能够通过在攻击过程中考虑随机过程来破坏大多数防御方法。 

3.3 去噪

就减轻对抗性扰动/效果而言,降噪是一种非常简单的方法。之前的工作指出了设计这种防御的两个方向,包括输入降噪和特征图降噪。其中第一个方向试图从输入中部分或完全消除对抗性扰动,第二个方向是减轻对抗性扰动对DNN学习高级功能的影响。  

3.4 基于贝叶斯模型的防御

Liu等将贝叶斯神经网络(Bayesian neural network,BNN)与对抗训练相结合,从而学习在对抗攻击下的最优模型的权重分布。具体来说,作者假设网络中的所有权重都是随机的,并使用BNN理论中常用的技术训练网络。通过对抗性训练,这种随机的BNN,与RSE和CIFAR10以及STL10和ImageNet143的常见的对抗性训练相比,显著提高了对抗鲁棒性。Schott等建议基于贝叶斯模型对输入数据的分类条件分布进行建模,并将新样本分类为相应类别条件模型产生最高似然性的类别。他们将模型命名为Analysis by Synthesis model(ABS)。ABS被称为MNIST数据集上针对L0、I2和L∞。攻击的第一个健壮模型。ABS在抵抗L0和L2攻击方面达到了最先进的性能,但在L∞的攻击下其性能要比PGD对抗训练的模型稍差。

4 讨论

4.1 现实因素

虽然目前学术界已经提出了很多种对抗攻击的方法。在特定条件下,大多方法都可以做到100%攻破模型。但是,物理世界中,学术界的绝大部分方法是无法攻破生物识别系统的。这其中有两个原因。第一是对抗攻击泛化能力差,对于未知模型的算法,性能急剧下降。第二点,也是更重要的一点,物理世界中,生物识别算法数据来自于采集系统(摄像头),而对抗样本在生成后,还需要通过采集系统(摄像头)才能进入算法。正如[6]指出的摄像头的采集过程会极大弱化对抗攻击的效果,使得攻击成功率大大降低。

4.2 对抗攻击与防御研究趋势之间的差异

对抗攻击的研究趋势主要包括两个方向。第一个是设计更有效、更强大的攻击用来评估新兴的防御系统,第二个是实现物理世界中的对抗攻击。Kurakin首先通过使用模型梯度相对于输入的期望值并加上环境因素引起的随机噪声来实现物理世界中的对抗攻击。Ekholt等进一步考虑了掩膜和制造误差,从而实现了交通标志的对抗性扰动。最近Cao等成功生成的对抗目标可以用来欺骗基于激光雷达的检测系统,这些都验证了物理对抗样本的存在。在防御方面,由于大多数启发式防御都无法防御自适应白盒攻击,因此研究者开始关注可证明的防御,这种防御是指无论攻击者采用哪种攻击方式,可证明防御都可以在一定程度下保证防御的性能。但到目前为止,可扩展性不足仍然是普遍存在的问题,因此与攻击相比,防御系统的发展面临着更多的挑战。

4.3 主要挑战

(1)对抗样本背后的因果关系。早期对这一问题的研究将对抗样本的出现归功于模型结构和学习方法,研究者认为适当的策略和网络结构将显著提高对抗样本的鲁棒性。研究者沿着这种思路尝试过一些探索,特别是与产生模糊梯度相关的研究,然而实际上这可能是一种不太合理的研究方向。相反,最近的研究发现对抗性的出现更可能是高维数据几何和训练数据不足的结果。Ludwig等表明对抗性强的任务比普通的ML任务需要更多的数据,并且所需的数据大小缩放。基于上述两个问题,现在学术界正在研究如何将算法攻击迁移到物理世界中,即进行物理对抗攻击。现在针对通用物体检测、通用物体识别的物理对抗攻击已经取得了一些进展。而对于生物识别系统的物理对抗攻击研究也在逐步展开。今年,莫斯科华为研究院就在公开的人脸模型上进行了物理对抗攻击ADVHAT[7],作者使用对抗算法在帽子区域生成的贴纸干扰算法,达到了干扰识别为本人的效果。但是论文中并未成功攻击目标用户,因此在实际业务场景并没有有效的攻击特定账户的手段。[8]也对监控摄像头人体识别进行了攻击尝试。由此可见,未来在物理世界进行对抗攻击的防御、检测将是计算机视觉领域的一个重要课题。

(2)通用鲁棒决策边界的存在。由于在不同度量标准下定义了许多对抗攻击方法,尽管PGD对抗训练对各种L范数,攻击表现出显著的抵抗力,但有文献表明它仍然容易受到其他范数的对抗攻击,如EAD和CW2。而决策边界也是不同的,它们的差异随着数据集的共维(即数据流形的维数与整个数据空间的维数之差)而增大。

(3)有效防御白盒攻击。我们仍然没有看到一种能够很好地平衡效果和效率的防御。在有效性方面,对抗性训练表现出最好的性能,但计算成本很高。在效率方面,许多基于随机和去噪的防御/检测系统的配置只需几秒钟。然而,最近的许多论文表明这些防御方法并没有他们声称的那样有效。这些研究可证明防御理论为实现对抗防御指明了一条道路,但其准确性和有效性都远远不能满足实际要求。

参考文献:

[1] Bruna, Joan, et al. "Intriguing properties of neural networks." (2013).

[2] Goodfellow, Ian, et al. "Generative adversarial nets." Advances in neural information processing systems. 2014.

[3] Tramèr, Florian, and Dan Boneh. "Adversarial Training and Robustness for Multiple Perturbations." arXiv preprint arXiv:1904.13000 (2019).

[4] Madry, Aleksander, et al. "Towards deep learning models resistant to adversarial attacks." arXiv preprint arXiv:1706.06083 (2017).

[5] Tramèr, Florian, and Dan Boneh. "Adversarial Training and Robustness for Multiple Perturbations." arXiv preprint arXiv:1904.13000 (2019).

[6] Kurakin, Alexey, Ian Goodfellow, and Samy Bengio. "Adversarial examples in the physical world." arXiv preprint arXiv:1607.02533 (2016).

[7] Komkov, Stepan, and Aleksandr Petiushko. "AdvHat: Real-world adversarial attack on ArcFace Face ID system." arXiv preprint arXiv:1908.08705 (2019).

[8] Thys, Simen, Wiebe Van Ranst, and Toon Goedemé. "Fooling automated surveillance cameras: adversarial patches to attack person detection." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. 2019.