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

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

2020-02-24 15:32:02

Paperhttps://arxiv.org/pdf/1412.1897.pdf 

Project Pagehttp://www.evolvingai.org/fooling 

Codehttps://github.com/Evolving-AI-Lab/fooling 

 

1. Background and Motivation

深度神经网络学习层级的表示从而可以进行模式识别。最近,这些网络结构呈现出了很强的效果,特别是在视觉分类任务中。给定接近人类水平的 DNNs 来分类视觉物体,会抛出一个关于计算机和人类视觉的差异性的问题。一个最近的研究表明,DNN 和人类视觉之间有非常大的差异性。对输入图像做稍微的改动,就可以使得 DNN 错误的将其分类为其他物体;但是人眼看起来却几乎无差别。在本文中,作者提供了另外一个思路来说明 DNN 和 human vision 之间的不同:It is easy to produce images that are completely unrecognizable to humans, but that state-of-the-art DNNs believe to be recognizable objects with over 99% confidence。

具体来说,作者利用进化算法 或者 梯度上升方法来产生高置信度的图像。这些 DNN 模型表明在 ImageNet 和 MNIST 数据集上都有较好的效果。作者也发现,对于 MNIST DNNs,it is not easy to prevent the DNNs from being fooled by retraining them with fooling images labeled as such。

 

 

2. Generating images with evolution

作者测试的图像是由进化算法(Evolutionary algorithms,EAs)得到的。EAs 是由达尔文进化论启发得到的。他们保持一个微生物种群(a population of "organisms"),即此处的 image,迭代的进行 face selection,然后随机的修改。哪些微生物被选择,主要取决于 fitness function,在这些实验中是 DNN 对图像预测的最高预测值。传统的 EAs 优化解决方案可以在一个目标上执行的很好,或者一小撮的目标。我们利用一种新的算法,称为 muliti-dimentional achieve of phenotypic elites MAP-Elites, 这可以确保我们同时进化一个种群,这些样本可以在很多类别都得到很好地分数。MAP-Elites works by keeping the best individual found so far for each objective。在每一次迭代中,其从种群中选择一个随机的 organism,任何个体因为有较高的 fitness score,就会用于替代当前的 champion。此处,fitness is determined by showing the image to the DNN; 如果图像产生了一个较高的预测得分,新产生的个体,将会变成 champion。

 

我们用了两种 encodings 来测试 EAs,即图像是如何表达为基因的(how an image is represented as a genome)。

第一种是 direct encoding,对于 MNIST 来说,每一个 28*28 分辨率都会有一个灰度值;对于 ImageNet 来说,256*256 分辨率的,会有(H,S,V)三个值。每一个像素值都被初始化为服从 [0, 255] 范围的正态随机噪声。这些值是独立变化的;首先决定哪些值需要变换,通过一个从 0.1 开始的比值,每 1000 次产生将对该值进行减半处理。 被选中变化的值,可以通过 polynomial mutation operator 来修改,规定的变化长度为 15。第二个 EA 是 indirect encoding,更可能产生 regular 的图像。具体来说,此处的 indirect encoding 是 compositional pattern-producing network (CPPN)。

重要的是,用 CPPNs 进化的图像可以被 DNNs 正确的识别,如图 3 所示,这也说明:a CPNN-encoded EA can produce images that both humans and DNN can recognize. 这些图像是从 PicBreeder.org 上产生的,用户作为进化算法的 fitness function来选择他们喜欢的图像。

 

CPPNs 和人工神经网络相似。一个 CPPN 将(x, y)位置的像素值作为输入,输出 MNIST 的灰度值 或者 ImageNet 的 HSV color values。像神经网络一样,CPPN 计算的函数依赖于 CPPN 神经元个数,如何连接,神经元之间的权重。每一个 CPPN node 可以是激活函数中的一个,如 sine, sigmoid, Gaussian and linear。例如,将 x 输入到高斯函数中,将会提供 left-right symmetry,将 y 输入到一个 sine function 来提供 top-bottom repetition。进化决定了 CPPN network 的拓扑,权重和激活函数。CPPN network 开始的时候,是没有 hidden nodes,随着时间的推进,慢慢的添加 nodes,鼓励进化首先搜索简单,常规的 images。本文的实验室在 Sferes 进化计算框架的基础上进行。

 

  

==

 

 

原文地址:https://www.cnblogs.com/wangxiaocvpr/p/12357181.html