什么是对抗样本攻击,这篇文章告诉你……
随着深度学习技术的兴起,深度神经网络在包括图像识别、自然语言处理等多个领域都发挥了巨大的作用。然而,研究人员发现,深度神经网络会受到对抗样本的威胁,即现有深度神经网络存在一定的安全漏洞,可能会出现绕过深度神经网络系统判别的样本。简而言之,对抗样本可以通过在良性样本中加入一些特别设计的小量级干扰来生成。尽管这些对抗性干扰对人类来说是难以察觉的,但它们可以很容易地欺骗性能良好的深层神经网络。综上所述,对抗样本给深度神经网络在高安全性等级系统中的应用带来了极大的威胁。
基于攻击者可获得的信息量,对抗样本生成方法可分为两类:一个是白盒方法,另一个是黑盒方法。在白盒攻击中,攻击者拥有深度神经网络的所有信息,包括模型层级,各层模型参数等。他们可以依据深度神经网络的参数信息来修改良性样本,达到生成对抗样本的目的。在黑盒攻击场景下,攻击者只知道输入样本信息和深度神经网络的输出,并且通过这两个信息决定如何对于良性样本进行修改。
对抗样本产生的根本原因业界并无具体的结论,现在普遍认同的产生原因大致有如下三点:
数据样本集覆盖不全面: 对抗样本存在于样本访问较少的盲区,采样的数据不足以覆盖这些盲区,导致分类器无法有效处理处于盲区的数据样本
深度学习网络表达能力欠缺:尽管深度学习模型具有大量的非线性转换,但仍有许多线性行为。因此,对具有多维特征的数据输入叠加微小扰动可能会使分类器得出错误结果
训练过拟合:对抗样本存在于采样数据子流形的分类边界,该边界无法完全与实际数据流形边界保持一致(对抗样本可能存在于数据方差分布较小的方向上,因此,推测对抗样本是一种局部过拟合的现象。)
图1:实际训练过模型和理论模型的差别。
AI在识别业务中存在一类风险,即分类器结果出错,将一类人/物识别成另一类,对抗样本产生的效果和此类风险效果一致。当出现此类事件时,造成的舆论风险通常较大。以下几种场景展示出了对抗样本在现实应用中发生的严重影响。
(1)谷歌将“黑人”识别为“大猩猩”[1]
(2)Facebook用户在观看一段以黑人为主角的视频时,看到一个自动生成的提示,询问他们是否愿意“继续观看灵长类动物的视频”[2]
(3)对于终端人脸识别下的物理攻击,通过在眼镜上贴有补丁,造成人脸识别出错[3]
(4)音频攻击,通过对音频中添加细微扰动,让AI识别完全出错[4]
对抗样本的攻击方式主要分为三大类,第一种是基于梯度迭代的攻击方式,比如FGSM(Fast Gradient Sign Method),PGD(Project Gradient Descent),BIM(Basic Iterative Methods);第二种是基于GAN 网络的攻击方式,比如AdvGAN,AdvGAN++,AdvFaces;第三种攻击方式为基于优化的攻击方式,例如:C&W(Carlini and Wagner Attacks)算法。
(1)FGSM算法[5]
FGSM即Fast Gardient Sign Method,快速梯度符号攻击。我们在理解简单的BP (Back Propagation)网络结构的时候,在求损失函数最小值时,我们会沿着梯度的反方向移动,使用减号,也就是所谓的梯度下降算法;而FGSM可以理解为梯度上升算法,也就是使用加号,使得损失函数最大化。
原理:在白盒环境下,通过求出模型对输入的导数,然后用符号函数得到其具体的梯度方向,接着乘以一个步长,得到的“扰动”加在原来的输入上就得到了在FGSM攻击上的样本。
FGSM公式:
攻击效果:如图2所示,攻击者进行了成功的攻击,造成的结果就是模型分类出错;就模型而言,就是加了扰动的样本使得模型的loss增大,而所有基于梯度的攻击方法都是基于让loss增大这一点来做的。
图2.FGSM攻击前后对比示例
(2) BIM算法[6]
BIM,即基本迭代法,在FGSM基础上加上了迭代操作。
FGSM是假设模型是高度线性化的,如此一来,梯度上升的方向就是最佳方向,也就是使目标函数损失值最大的方向。
BIM公式:
BIM的提出者表示,如果模型不是高度线性的怎么办?提出者从这个想法出发,表示FGSM直接以epslion的步调大小梯度上升,并不是最好方案。在(0,epslion)范围内,一定存在更好的步调。即如果说FGSM一次梯度上升,可以改变像素点16个大小,那BIM就以十次梯度上升的过程来改变,从而可以找到一个找到较好的步调来进行梯度上升,最差也能和FGSM一样,从而提高攻击的成功率。
(3) C&W(Carlini and Wagner Attacks)算法[7]
C&W是一种基于优化的攻击方式,它不是显式计算梯度,而是将梯度的计算和反向传播隐藏在优化器中,它同时兼顾高攻击准确率和低对抗扰动的两个方面,达到真正意义上对抗样本的效果,即在模型分类出错的情况下,人眼不可查觉。首先对抗样本需要用优化的参数来表示,其次在优化的过程中,需要达到两个目标:
目标1 是对抗样本和对应的干净样本应该差距越小越好;
目标2是对抗样本应该使得模型分类错,且错的那一类的概率越高越好。
C&W算法的公式为:
公式中的Z(x)表示的是样本x通过模型未经过softmax的输出向量,对于干净的样本来说,这个这个向量的最大值对应的就是正确的类别(如果分类正确的话),现在我们将类别t(也就是我们最后想要攻击成的类别)所对应的逻辑值记为
将最大的值(对应类别不同于t)记为
,如果通过优化使得
变小,攻击的效果就更接近成功了。那么式子中的k是什么呢?k其实就是置信度(confidence),可以理解为,k越大,那么模型分错,且错成的那一类的概率越大。但与此同时,这样的对抗样本就更难找了。最后就是常数c,这是一个超参数,用来权衡两个loss之间的关系。
CW算法设置了一个特殊的损失函数来衡量输入与输出之间的差异。这个损失函数含有可调节的超参数C(权衡损失函数之间的关系),以及可控制生成的对抗样本的置信度confidence的参数。通过对这两个参数的选择合适的值,生成优秀的对抗样本,从而提高攻击的成功率。
5对抗样本的测试结果以一张本地奶牛图片作为输入,经过不同的对抗样本生成算法生成后的对抗样本以及对抗扰动如下:
(1) FGSM算法测试结果
经过FGSM算法生成后的对抗样本以及对抗扰动如图所示:
加入扰动之前:模型识别98.03%概率为奶牛
加入扰动之后:模型识别100%概率为爪子
(2) BIM算法测试结果
经过BIM算法生成后的对抗样本以及对抗扰动如图所示:
加入扰动之前:模型识别98.03%概率为奶牛
加入扰动之后:模型识别100%概率为单臂老虎机
(3)C&W算法测试结果
经过C&W算法生成后的对抗样本以及对抗扰动如图所示:
加入扰动之前:模型识别45.01%概率为奶牛
加入扰动之后:模型识别12.45%概率为豹
(1)在白盒的攻击场景下,三种对抗样本算法均可以做到生成欺骗AI识别的对抗样本。但是在黑盒攻击的场景下,只有C&W算法生成了可以欺骗AI识别系统的对抗样本,展现出更好的泛化能力。
(2)在生成对抗样本的过程中,FGSM算法速度最快,BIM算法速度次之,C&W算法最慢。
(3)对抗样本算法可调整算法中迭代次数和确信值,使能生成的对抗样本有更高的概率欺骗AI识别系统,但生成的对抗样本和对应的良性样本差距会增大,可以被肉眼识别。
参考文献
[1] 为了不把黑人兄弟认作大猩猩,谷歌的算法连真的大猩猩都不认识了, https://www.qbitai.com/2019/01/1221.html
[2] 错把黑人视频打上“灵长类动物”标签,Facebook的AI太离谱!官方已向公众致歉,
https://www.qbitai.com/2021/09/28297.html
[3]人脸识别再曝安全漏洞,15分钟解锁19款安卓手机,只需打印机、A4纸和眼镜框即可
https://www.qbitai.com/2021/01/21417.html
[4]起底语音对抗样本:语音助手危险了吗?
https://www.jiqizhixin.com/articles/2018-03-06-5
[5] Goodfellow, Ian J. and Shlens, Jonathon and Szegedy, Christian,
Explaining and Harnessing Adversarial Examples, 2014,
https://arxiv.org/abs/1412.6572
[6] Alexey Kurakin, Ian J. Goodfellow and Samy Bengio,
Adversarial examples in the physical world, 2016,
http://arxiv.org/abs/1607.02533
[7] Nicholas Carlini and David A. Wagner, Towards
Evaluating the Robustness of Neural Networks, 2016,
http://arxiv.org/abs/1608.04644
精彩文章推荐
Spring Cloud Function 远程代码执行漏洞安全风险通告