神经网络对抗样本原理

什么是对抗样本?

对抗样本一般基于深度学习神经网络,其实际意义为通过对原始样本的修改,在人眼仍可以识别的情况下,让模型对加入对抗扰动后的原始输入进行高置信度的分类,而这种分类实际上与常识不符,人类无法认同。

深度学习简例

如上图,我们开了一个三个隐藏层的全连接网络,目标是你和右侧空间的图像。其中点为正负样本或测试数据,背景的蓝色和橙色为映射空间的学习结果。

经过1000轮学习,我们可以看到,右侧的背景已经基本符合样本点的分布。

现在我们将注意力放在这个学习好的分布上:

我们看到,在没有数据点的地方,在数据正负样本中间的地方,模型给出的结果是十分模棱两可的。我们暂且不关注数据没有分布的地方的结果,仅仅关注正负样本间的问题。

请看这个局部图:

如果我们可以通过数学的方法,在途中的蓝色样本点上加上一些人眼难以判别的像素扰动,让样本点在映射空间上偏移,就可以让模型以高置信度误分类样本,从而达到对抗攻击的目的。

常见对抗样本生成方法及其代码演示

攻击目的

有目标攻击和无目标攻击

攻击方法

白盒--常见的对抗攻击算法

单步
迭代

黑盒

对抗样本的定义
其中 L 是我们试图最大化的损失函数,x_orig 是原始图像,𝛿是扰动,y 是真实标签,所选的ε用于确保扰动后的图像看上去没有那么杂乱,并且对于人类来说仍然像是原始类别的图片。

手写识别的对抗攻击

图像识别的对抗攻击

数据投毒:后门攻击

后门攻击示例.png

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×