对抗样本论文学习:Deep Neural Networks are Easily Fooled

来源:互联网 发布:客户名单搜索软件 编辑:程序博客网 时间:2024/06/16 03:39

近日看了一些对抗样本(adversarial examples)方面的论文,在这里对这些论文进行一下整理和总结。

以下仅代表个人理解,本人能力有限难免有错,还请大家给予纠正,不胜感激。欢迎一起讨论进步。


对抗样本(adversarial examples)和对抗学习(GAN)截然不同,这一概念在Szegedy et al. (2014b)中提出:对输入样本故意添加一些人无法察觉的细微的干扰,导致模型以高置信度给出一个错误的输出。普遍用于分类任务上,比如对以下图片添加一些干扰,虽然人眼并未察觉出其中的变化,但这些干扰后的图片都被分类为了鸵鸟:


Deep Neural Networks are EasilyFooled: High confidence predictions for unrecognizable images这篇论文提出了三种方式生成去一些fool examples(主要是通过两种EA算法),这些样本人类完全无法识别,但深度学习模型会以高置信度对它们进行分类,例如将噪声识别为狮子。以下是一些生成的图像:

这种现象也阐明了人和DNNs识别对象的方式的不同。


论文提出用结合两种不同编码形式的EA算法去生成图像:

直接编码(direct encoding): 比如对于MNIST数据,生成的图像大小为28 × 28 pixels,并且每个像素上有一个灰度值;对于ImageNet数据,生成的图像大小为256 × 256 pixels,对于每个像素都有三个值(H,S,V值)。直接编码是在最初对每个pixel都随机初始化一个值,之后在原始图片上颜色空间中以一定概率随机变异,生成类似噪声的图.


间接编码(indirect encoding):使用CPPN来生成一些存在固定模式、套路的图片,其中每个CPPN中的node可以使用不同的激活函数,不同激活函数可以使得生成的图片包含不同的模式。此外CPPN也可以生成一些人类可以识别出的样本,如下:



这篇论文的EA算法(生成高置信度的图片,进行杂交与变异,然后用DNN计算适应性,不断迭代探索更高的置信度)的流程如下:


在每一轮迭代中,随机选择一个样本并且对其进行随机的改变。如果这个样本有更高的适应性就替换掉当前这个objective的最优样本。适应性是由判别器DNN决定的:如果DNN对于这个图片给出了在任意分类下的更高的分数,就说明这个新生成的样本有更高的适应性。


作者主要在 用ILSVRC2012 ImageNet数据集训练的AlexNet DNN 和 用MNIST数据集训练的LeNet model 上进行测试。以下是测试结果:

在MNIST数据集上:

左侧Fig.4是直接编码生成的看起来像白噪声的图,DNN依然可以得到99.99%这样的成绩。
右侧Fig.5间接编码生成的图片尽管出现了一些固定模式,但是和我们通常认知的数字依然相去甚远。并且这些图片存在一些规律:比如识别数字1的图片,通常包含许多垂直条纹,而数字2的图片则在图片下方有水平粗线,可以认为DNN主要是依据这些特征来识别数字的并且EA算法发现了这一点。

在ImageNet数据集上:

左侧Fig.6是直接编码的结果,成功率很低(中位数为21.59%)不过在其中的45类图片上依然得到了超过99%的结果。

右侧Fig.7是使用间接编码CPPN的结果,多数类上都可以达到超过99%的结果,中位识别置信度达到了88.11%。


此外,在ImageNet的工作上,还有几点值得注意:

1.比如下图中海星的图片包含蓝色的海洋和橙色的生物组织,垒球的图片有红色线条和白色背景,遥控器的图片有按钮的网格图样...所以大致可以理解为DNN依靠这类特征对图像进行分类。而EA算法只需要生成某一类独特的或者有辨识度的feature,而不是这个类所有的features。



2.下图中,对于同一个大类生成的子类图片很相似。并且对于不同的生成轮次,对于同一类别生成的图片类型不同,这是因为不同的生成算法探索出了不同的具有辨识度的features。所以对于同一个DNN的每个类别有很多不同的干扰方式。



3.对于很多图片,去除额外的重复的部分导致了最后结果置信度的下降。说明DNN倾向于学习图片low-level或middle-level的特征,而不是图片的整体结构:


之后作者还做了一个工作是将生成的对抗样本加入训练数据中去提高模型的鲁棒性,具体的策略是在每轮迭代中都生成一些adversarial examples加到第N+1类数据中作为训练集去训练。得到的结果如下,在ImageNet上有明显提高但是MNIST上没有。


最后作者提出了一个假设:

如上图所示,判别式模型对条件概率做建模,事实上有一个隐性的“决策边界”(上图中的两根曲线),而在高维空间中,被这一边界划分的空间可能远大于类本身所占的空间(上图中高处的圆点),对于那些在划分的区块中,并且远离边界的点,尽管与真实数据相去甚远,依然有可能得到极高的置信度(上图中的三角形)

所以在计算联合概率分布时p(x,y)时,如果不仅能计算出p(y|x),还能同时计算出p(x)的概率则模型会更加稳健。因为p(x)很低时置信度也会降低。







阅读全文
1 0
原创粉丝点击