近日看了一些对抗样本(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)很低时置信度也会降低。

对抗样本论文学习:Deep Neural Networks are Easily Fooled相关推荐

  1. [论文笔记]Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images

    作者:Anh Nguyen, Jason Yosinski, Jeff Clune 链接:https://arxiv.org/pdf/1412.1897.pdf 摘要: 本文的工作基于Christia ...

  2. [深度学习论文笔记][Adversarial Examples] Deep Neural Networks are Easily Fooled: High Confidence Predictions

    Nguyen, Anh, Jason Yosinski, and Jeff Clune. "Deep neural networks are easily fooled: High conf ...

  3. [论文阅读笔记]Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images

    Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images(CVPR201 ...

  4. 论文-Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images

    Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images Deep N ...

  5. Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images

    论文原文:Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images  ...

  6. [转载]Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images

    论文内容总结 首次提出假反例攻击,即:生成人类无法识别的图片,却能够让神经网络以高置信度分类成某个类别 使用了多种不同的方法生成图片,称为"fooling images" 普通的E ...

  7. Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images

    在卷积神经网络如日中天的现在,重要会议上的论文自然成了广大学者研究的对象.苦苦寻觅,然而并不能搜到"大家们"对论文的见解.痛定思痛,决定对自己看过的论文写点小感.只是个人看法,如有 ...

  8. Deep Neural Networks are Easily Fooled High Confidence Predictions for Unrecognizable Images

    Layer-Wise Data-Free CNN Compression 我们的无数据网络压缩方法从一个训练好的网络开始,创建一个具有相同体系结构的压缩网络.这种方法在概念上类似于知识蒸馏[23],即 ...

  9. 2.Deep Neural Networks are Easily Fooled

    DNN识别图片,已经可以达到和人类相近的水平,但改变一小部分,它也会以一种很高的自信度来产生人类无法识别的图像.本文使用了三种算法,前两种都是进化算法(EA)衍生的,一个是每一个像素点随机生成值,另一 ...

最新文章

  1. centos7安装配置cacti
  2. 计算机系统和中断的概念
  3. 服务器站点解密出错,修改域超级管理员密码后站点复制出错。
  4. 工具设置Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
  5. css3的新增选择器 200303
  6. 深入理解C++ new/delete, new []/delete[]动态内存管理
  7. JAVA创建会话的方法_javaweb学习——会话技术(二)
  8. 错误及原因推测:sysdeps/x86_64/multiarch/strstr-sse2-unaligned.S: 没有那个文件或目录
  9. tomcat7控制台乱码
  10. 如何在开始菜单创建快捷方式
  11. 那些测绘工作中让你事半功倍的小工具软件,我不推荐你轻易安装
  12. 极案例 | 守护地铁运营“生命线”,极视角与深圳地铁运管办共建“AI智能巡检系统”
  13. Windows编程——读写锁
  14. 龙芯1D处理器用户手册
  15. kettle查询mysql获取uuid_使用kettle来根据时间戳或者批次号来批量导入数据,达到增量的效果。...
  16. 大学必备算法,求最大公约数
  17. 80后程序员感慨中年危机,应聘java工程师自我介绍
  18. C语言--入门程序hello world
  19. 【20210205期AI简报】联发科发布二代5G基带芯片发布、超强镜像优化从1.16GB到22.4MB!...
  20. 完美java.util.zip使用,实现zip压缩和解压

热门文章

  1. 从隐函数存在定理到隐函数定理
  2. NLP学习基础入门(上)
  3. keytool 错误: java.lang.Exception: 密钥库文件不存在: keystore
  4. 计算机连接打印机用户数量修改,win7系统下局域网如何限制每台打印机的使用成员数量...
  5. ios金融现金贷App产品上架心得分享
  6. 7-6 计算存款利息 (10分)
  7. 小猴吃桃matlab,小班美术优质课教案及教学反思《小猴吃桃》
  8. python的dev包怎么安装_python-dev如何安装 sudo apt-get install python-dev ?
  9. MT8732 / MT8735处理器特点/芯片组型号资料介绍
  10. 红米2a手机出现android,红米2A的手机系统是什么?红米2A能升级安卓5.0吗?