<EYD与机器学习>:对抗攻击基础知识(一)

<EYD与机器学习>:对抗攻击基础知识(一)

各位知乎儿好,这是<EYD与机器学习>专栏的第十一篇文章。从本篇开始,将开启一个全新的板块,成员将开始陆续分享一些最近在看的新论文和新算法,希望能与各位知乎儿共同交流进步。之前更新的《Hands-on Machine Learning with Scikit-Learn and TensorFlow》读书笔记系列仍将持续更近,下一周 @笨笨 将为大家更新第十一章的内容。

深度神经网络(DNN)发展至今,已经在计算机视觉领域占据了重要地位,但是DNN在面临对抗样本攻击时鲁棒性不强的问题仍然亟待解决。所谓攻击样本,即向原始样本中添加一些人眼无法察觉的噪声,这样的噪声不会影响人类的识别,但是却很容易愚弄DNN,使其作出与正确答案完全不同的判定。试想,如果犯罪分子将人烟稀少地区的交通信号牌改为立即停车,人眼不会觉得有什么不妥,但是无人驾驶系统却会乖乖停车,那么此时车上人员的安全何以保障?恐怖分子可能更为简单粗暴,将禁止右转改为右转,造成交通事故就只在弹指一挥间了。究其本质原因,还是因为现有的DNN仍然没能完全复现人类看东西的过程,不能完全区分哪些特征是对分类有用的,哪些是可以忽略的。可以想象,如果这一问题得不到解决,未来将DNN应用于需要高可靠性的领域时,必将带来不小的安全隐患。

图一 对抗样本

如图一所示(左图为原始样本,右图为生成的对抗样本),在加入对抗性扰动后,原始图形被误判。停止的警示牌被认为可以通行,原来是虎斑猫的样本被认定为鳄梨色拉酱,雪山变成了狗,河豚变成了螃蟹。而在人眼看来,这些噪声并不能使我们产生如此离谱的误判。本篇文章将向各位科普这个方向的一些基础知识,帮助大家理解后续更新攻击对抗网络方向的文章。

1.攻击模式分类

下面介绍的两种分类方式,是在实际运用中测试防御模型效果较为常用的攻击模式。其中,黑盒攻击和白盒攻击的概念将会在防御算法的论文中被反复提及。一般提出的新算法,都需经受黑盒攻击和白盒攻击两种攻击模式的测定。

2.1 黑盒攻击与白盒攻击

白盒攻击:攻击者能够获知机器学习所使用的算法,以及算法所使用的参数。攻击者在产生对抗性攻击数据的过程中能够与机器学习的系统有所交互。

黑盒攻击:攻击者并不知道机器学习所使用的算法和参数,但攻击者仍能与机器学习的系统有所交互,比如可以通过传入任意输入观察输出,判断输出。

在实际应用中,这两者的区别体现为:通过模型A来生成对抗样本,进而攻击模型B。当模型A与模型B是一个模型时,为白盒攻击;当模型A与模型B不为一个模型时,则为黑盒攻击。

2.2 有目标攻击与无目标攻击

无目标攻击(untargeted attack):对于一张图片,生成一个对抗样本,使得标注系统在其上的标注与原标注无关,即只要攻击成功就好,对抗样本的最终属于哪一类不做限制。

有目标攻击(targeted attack):对于一张图片和一个目标标注句子,生成一个对抗样本,使得标注系统在其上的标注与目标标注完全一致,即不仅要求攻击成功,还要求生成的对抗样本属于特定的类。

2.常见对抗样本生成方式[6][7]

FGSD(Fast gradient sign method)[1]: 这是一种基于梯度生成对抗样本的算法,其训练目标是最大化损失函数 J(x^{*},y) 以获取对抗样本 x^{*},其中 J 是分类算法中衡量分类误差的损失函数,通常取交叉熵损失。最大化 J 即使添加噪声后的样本不再属于 y类,由此则达到了上图所示的目的。在整个优化过程中,需满足 L_{\infty} 约束 \left| \left| x^{*}-x \right| \right|_{\infty} \leq \epsilon ,即原始样本与对抗样本的误差要在一定范围之内。

其中 sign() 是符号函数,括号里面是损失函数对 x 的偏导。

图二 FGSD生成的对抗样本 ,\epsilon = 0.07

图二展示了FGSD生成对抗样本的过程,在添加噪声之前,原始图片被认为有57.7%可能为一只熊猫,添加噪声后,这张图片被认为99.3%的可能为一种吉娃娃。

除此之外,还有一种FGM(fast gradient method)算法,它对FGSD做了推广,使其能够满足 L_{2} 约束 \left| \left| x^{*}-x \right| \right|_{2} \leq \epsilon

IFGSD(Iterative gradient sign Method)[2]: IFGSD也是对FGSD的一种推广,是对上述算法的多次应用,以一个小的步进值 \alpha 多次应用快速迭代法:

为了使得到的对抗样本满足 L_{\infty} ( 或L_{2})约束,通常将迭代步长设置为 \alpha = \epsilon /T ,其中 T 为迭代次数。实验表明,在白盒攻击时,IFGSDFGSD效果更好

图三 IFGSD以不同的 \epsilon 生成对抗样本

图三展示了以IFGSD算法对原始进行黑盒攻击的效果图,未添加噪声前,样本被判定为53.98%的可能性为一个洗衣机,而添加噪声后,判定为洗衣机的概率变小,分类模型将其分类为保险箱,甚至音响。

Deepfool[3]: Deepfool是基于超平面分类思想的一种对抗样本生成方法。众所周知,在二分类问题中,超平面是实现分类的基础 ,那么要改变某个样本 x 的分类,最小的扰动就是将 x 挪到超平面上,这个距离的代价最小。多分类的问题也是类似。

C&W(Carlini & Wagner)[4]: C&W算法与IFGSD同属于一种迭代攻击算法,它使用一个变量 w_{n} 辅助寻找最小扰动 r_{n} :

基于 w_{n} 可以写出C&W优化过程的损失函数:

其中 f(\cdot) 被定义为:

上式中的 Z(x)_i 是类别 i 的罗基斯特输出,通过调整 \kappa 来控制错误分类发生的可信度。参数 \kappa 鼓励求解器找到敌对样本 x' ,越大的 \kappa 值,意味着将 x' 分为 t 类的可能性越大。

图四 C&W算法进行有目标攻击示意图

图四展示了C&W算法按照不同的攻击目标生成的不同的对抗样本,例如第八行第四列,表示C&W算法向原本应该识别为数字8的图片添加扰动,所生成的对抗样本,被分类器判定为数字4,但是这样的扰动并没有对人眼的识别造成误导,我们还是很容易看出该图片中的数字为8。

Optimization based method[5]: 这一算法的训练目标是在能够达到攻击目的(使分类器对对抗样本的分类出错)的前提下,最小化对抗样本和原始样本之间的距离。表达式为:

图五 原始样本(左),原始样本与对抗样本的误差(中),对抗样本(右)

如图五所示,原始样本在被添加相应的噪声后,生成的对抗样本全部被识别为鸵鸟。

上面提及的几种算法是目前用于测试防御算法能力最常用的算法,其中FGSD尤为重要,应用最广。

3.常见防御方法分类

由于目前防御方法仍然没有一个权威的分类方式,故笔者将目前看到过的一些防御方法大致分为以下四类:对抗训练、梯度掩码、随机化、去噪等。

对抗训练:对抗训练旨在从随机初始化的权重中训练一个鲁棒的模型,其训练集由真实数据集和加入了对抗扰动的数据集组成,因此叫做对抗训练。

梯度掩码:由于当前的许多对抗样本生成方法都是基于梯度去生成的,所以如果将模型的原始梯度隐藏起来,就可以达到抵御对抗样本攻击的效果。

随机化:向原始模型引入随机层或者随机变量。使模型具有一定随机性,全面提高模型的鲁棒性,使其对噪声的容忍度变高。

去噪:在输入模型进行判定之前,先对当前对抗样本进行去噪,剔除其中造成扰动的信息,使其不能对模型造成攻击。

上述几种防御类型对对抗样本扰动都具有一定的防御能力,效果参差不齐,以后专栏将陆续更新这几类中具有代表性的一些算法,故这里就不举例了。

4.总结

本文将作为下面介绍攻击防御方向的科普性前篇,主要为各位介绍了一些基础知识,使各位对这个方向有一定的了解,对日后可能要用到的一些名词有一个基础认知。如果有对这个方向感兴趣的知乎儿,欢迎与我们讨论,希望能与各位共同进步。在接下来的文章中,我们将为各位分享一些当前最新提出的攻击或防御算法,形式为论文的读书笔记,感兴趣的朋友,欢迎指导或投稿^_^。

如果对本文章有任何问题和建议,欢迎指正和提出。


Eva

编辑

参考文献:

[1] Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples. arXiv preprint arXiv:1412.6572, 2014.

[2] Kurakin A, Goodfellow I, Bengio S. Adversarial examples in the physical world. arXiv preprint arXiv:1607.02533, 2016.

[3] Moosavi Dezfooli S M, Fawzi A, Frossard P. Deepfool: a simple and accurate method to fool deep neural networks//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2016 (EPFL-CONF-218057).

[4] Carlini N, Wagner D. Towards evaluating the robustness of neural networks//Security and Privacy (SP), 2017 IEEE Symposium on. IEEE, 2017: 39-57.

[5] Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199, 2013.

[6] Dong Y, Liao F, Pang T, et al. Boosting Adversarial Attacks with Momentum.

[7] Xie C, Wang J, Zhang Z, et al. Mitigating adversarial effects through randomization. arXiv preprint arXiv:1711.01991, 2017.

编辑于 2018-07-08

文章被以下专栏收录