Answers:
首先,这些图像(甚至是前几幅图像)尽管对人类是垃圾,但还不是完整的垃圾。实际上,它们已通过各种高级技术(包括另一个神经网络)进行了微调。
深度神经网络是在Caffe提供的AlexNet上建模的预训练网络。为了演化图像,无论是直接编码图像还是间接编码图像,我们都使用了Sferes演化框架。进行进化实验的整个代码库可以在此处下载[sic] 。此处提供了由梯度上升产生的图像的代码。
实际上是随机垃圾的图像被正确识别为没有意义的图像:
响应于无法识别的图像,网络可能为1000个类别中的每个类别输出低置信度,而不是为其中一个类别输出极高的置信度值。实际上,它们只是针对随机生成的图像(例如,进化运行的第0代图像)
研究人员的最初目标是使用神经网络自动生成看起来像真实事物的图像(通过获取识别器的反馈并尝试更改图像以获得更自信的结果),但是他们最终创造了上述技术。请注意,即使在类似静态的图像中,斑点也很少-通常在中心附近-可以说,这正在触发识别。
我们并不是要制作对抗性的,无法识别的图像。相反,我们试图生成可识别的图像,但是这些不可识别的图像出现了。
显然,这些图像具有恰到好处的区分功能,可以与AI在图片中寻找的内容相匹配。“桨”图像确实具有桨状形状,“百吉饼”是圆形和正确的颜色,“投影仪”图像是像摄像机镜头一样的东西,“计算机键盘”是一堆矩形(例如各个键),对我来说,“链栅栏”合法地看起来像一个链栅栏。
图8.不断变化的图像以匹配DNN类产生了大量的图像。显示的是从5个进化过程中选择来展示多样性的图像。多样性表明图像是非随机的,但是进化会产生每个目标类别的[sic]判别特征。
补充阅读:原始论文(大PDF)
99% !
这些类似于某些对象模式的图片表示真实对象?除非DNN患有精神疾病,并认为必须在某家医院接受Rorschach测试:-)
99%
信心呢,百吉饼胜过太阳,投影仪胜过原子模式,等等?对我而言-DNN和人类识别之间的主要区别在于,人类没有被迫识别某些东西,而NN似乎是人类!
您提供的图像对我们来说可能无法识别。它们实际上是我们可以识别的图像,但使用Sferes演化框架进行了演化。
虽然这些图像几乎是人类不可能用抽象艺术来标记的,但深度神经网络将以99.99%的置信度将其标记为熟悉的物体。
该结果突出显示了DNN和人类识别对象的方式之间的差异。图像是直接(或间接)编码的
根据这部影片
以人类无法察觉的方式更改最初正确分类的图像可能会导致原因DNN将其分类为其他事物。
在下面的图像底部的数字中,图像应该看起来像数字,但是网络认为顶部的图像(如白噪声)是具有99.99%确定性的实数。
这些神经很容易被愚弄的主要原因是,深度神经网络无法以与人类视觉相同的方式看待世界。我们使用整个图像来识别事物,而DNN则取决于功能。只要DNN检测到某些特征,它将把图像分类为经过训练的熟悉对象。研究人员提出了一种防止欺骗的方法,方法是将欺骗图像添加到新类的数据集中,并在扩大的数据集中训练DNN。在实验中,对于ImageNet AlexNet,置信度得分显着降低。这一次愚弄再训练的DNN并不容易。但是,当研究人员将这种方法应用于MNIST LeNet时,进化仍然会产生许多无法识别的图像,其置信度得分为99.99%。
这里的所有答案都很不错,但是由于某种原因,到目前为止,关于这种效果为什么不让您感到惊讶的问题,至今没有任何评论。我会填补空白。
让我从一个对此工作必不可少的要求开始:攻击者必须了解神经网络架构(层数,每层大小等)。而且,在我检查过的所有情况下,攻击者都知道生产中使用的模型的快照,即所有权重。换句话说,网络的“源代码”不是秘密。
如果您像对待黑盒子一样对待神经网络,就无法蒙混。而且您不能将相同的欺骗映像用于不同的网络。实际上,您必须自己“训练”目标网络,这里所说的训练是指向前和向后传播,但是专门为其他目的而设计的。
现在,这是直觉。图像具有很高的尺寸:即使32x32彩色小图像的空间也具有3 * 32 * 32 = 3072
尺寸。但是训练数据集相对较小,包含真实图片,所有图片都具有一定的结构和良好的统计特性(例如颜色的平滑度)。因此,训练数据集位于此巨大图像空间的一小部分。
卷积网络在该流形上工作得非常好,但基本上,对其余空间一无所知。流形外部的点的分类只是基于流形内部的点的线性外推。难怪某些特定点被错误地推断。攻击者只需要一种方法即可导航到这些点中最接近的点。
让我给你一个具体的例子,如何愚弄神经网络。为了使其紧凑,我将使用一个具有一个非线性(S型)的非常简单的逻辑回归网络。它采用10维输入x
,计算单个数字p=sigmoid(W.dot(x))
,这是1类(相对于0类)的概率。
假设您知道W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)
并从输入开始x=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1)
。正向通过给出sigmoid(W.dot(x))=0.0474
或95%的概率x
是0类示例。
我们想找到另一个示例,y
它非常接近,x
但在网络中被分类为1。请注意,它x
是10维的,因此我们可以自由地推10个值,这很多。
既然W[0]=-1
是负数,最好是少花一点钱,y[0]
总捐献一下y[0]*W[0]
。因此,让我们做y[0]=x[0]-0.5=1.5
。同样,它W[2]=1
是正数,因此最好增大y[2]
以y[2]*W[2]
增大:y[2]=x[2]+0.5=3.5
。等等。
结果是y=(1.5, -1.5, 3.5, -2.5, 2.5, 1.5, 1.5, -3.5, 4.5, 1.5)
和sigmoid(W.dot(y))=0.88
。通过这一更改,我们将1级概率从5%提高到88%!
如果仔细观察前面的示例,您会注意到我确切知道如何进行调整x
以将其移至目标类,因为我知道网络渐变。我所做的实际上是反向传播,但是是针对数据而不是权重。
通常,攻击者从目标分发开始(0, 0, ..., 1, 0, ..., 0)
(除了要实现的类,其他所有地方都为零),向后传播到数据,并朝该方向稍作移动。网络状态未更新。
现在应该清楚的是,前馈网络处理的是少量数据流,这是前馈网络的一个共同特征,无论它的深度或数据的性质(图像,音频,视频或文本)如何。
防止系统被欺骗的最简单方法是使用神经网络的集成,即一个对每个请求汇总多个网络投票的系统。同时针对多个网络反向传播要困难得多。攻击者可能会尝试一次依次执行一个网络,但是对一个网络的更新可能会轻易地弄乱从另一个网络获得的结果。使用的网络越多,攻击就越复杂。
另一种可能性是在将输入传递到网络之前对其进行平滑处理。
您不应认为对图像的反向传播只有负面的应用。一种非常类似的技术,称为反卷积,用于可视化和更好地了解神经元学到了什么。
这项技术可以合成导致特定神经元点火的图像,基本上从视觉上看到“神经元正在寻找什么”,这通常使卷积神经网络更具可解释性。
在神经网络研究中尚未得到满意答案的一个重要问题是DNN如何提出他们提供的预测。DNN通过将图像中的补丁与补丁的“字典”(每个神经元中都存储有一个补丁)进行匹配(尽管不完全)来有效地工作(请参见youtube cat paper)。因此,由于它只能查看色块,因此可能无法获得较高级别的图像视图,并且通常将图像缩小比例以降低分辨率,以在当前的生成系统中获得结果。观察图像成分如何相互作用的方法可能能够避免这些问题。
需要进行这项工作的一些问题是:网络做出这些预测时的信心如何?这些对抗性图像在所有图像的空间中占据多少体积?
在这方面,我知道一些工作来自弗吉尼亚理工大学的Dhruv Batra和Devi Parikh的实验室,他们研究了这个问题解答系统:分析视觉问题回答模型的行为并解释视觉问题回答模型。
需要做更多的工作,就像人类的视觉系统也会被这种“光学幻觉”所迷惑一样,如果我们使用DNN,这些问题可能是不可避免的,尽管AFAIK在理论上或经验上都还不清楚。
深度神经网络怎么可能这么容易被愚弄?
通过对无法识别的图像提供高置信度预测,很容易愚弄深度神经网络。这怎么可能?您能用简单的英语解释一下吗?
直观上,额外的隐藏层应该使网络能够学习更复杂的分类功能,从而更好地进行分类。虽然它可能被称为深度学习,但实际上它是一个浅薄的理解。
测试您自己的知识:下方网格中的哪种动物是Felis silvestris catus,请花点时间,不要作弊。提示:哪只是家猫?
为了更好地理解结帐,请参阅:“ 对脆弱可视化的对抗攻击 ” 和 “ 为什么难以训练深度神经网络? ”。
问题类似于混叠,混叠是一种导致采样时不同信号变得无法区分(或彼此混叠)的效果,以及驿马车车轮效应,即辐条轮的旋转与实际旋转不同。
神经网络不知道它在看什么或它前进的方向。
深度神经网络不是某事的专家,他们受过训练以数学方式确定已经达到了某个目标,如果他们没有受过拒绝拒绝错误答案的训练,他们就不会有错误的观念。他们只知道什么是正确的,什么是不正确的-错误和“不正确”不一定是同一回事,“正确”和真实也不是。
神经网络不知道是非。
就像大多数人不会看到家猫一样,如果他们只看到一个,两个或更多,或者什么也没有。上面的照片网格中有多少只家猫,没有。包括可爱猫咪照片的任何指控都是没有根据的,那些都是危险的野生动物。
这是另一个例子。回答这个问题是否会使Bart和Lisa变得更聪明,他们问的人甚至知道吗,是否存在未知变量可以发挥作用?
我们还没有到那里,但是神经网络可以迅速提供一个可能是正确的答案,尤其是如果它经过适当的训练可以避免所有错误的话。
通过忽略图像输入中的非歧视性信息,可以通过在图像空间中添加某些结构化噪声来轻易地欺骗或破坏神经网络(Szegedy 2013,Nguyen 2014)。
例如:
学会通过匹配皮毛上的独特斑点来检测美洲虎,而忽略它们有四只脚的事实。2015年
因此,由于“ 它们的局部线性特性和高维输入空间的组合”,因此某些模型中基本上存在高置信度预测。2015年
在ICLR 2015大会上发表的会议论文(Dai的著作)表明,将有区别的训练参数传递给生成模型,可能是进一步改进的重要领域。
无法发表评论(由于需要50个代表),但我想对Vishnu JK和OP做出回应。我想你们正在跳过这样一个事实,即神经网络实际上只是从程序的角度说“这很像”。
例如,虽然我们可以将上述图像示例列为“抽象艺术”,但它们肯定是最像被列出的。请记住,学习算法的范围取决于它们识别为对象的范围,如果您查看上述所有示例……并思考算法的范围……这些都是有道理的(即使是我们一眼就能认出的算法)白噪声)。在Vishnu的数字示例中,如果您使眼睛模糊不清并使图像失去焦点,则实际上在每种情况下,都可以使点图案真正紧密地反映出所讨论的数字。
这里显示的问题是该算法似乎没有“未知情况”。基本上是当模式识别说输出范围中不存在该模式时。(所以最后一个输出节点组说这没什么我不知道的)。例如,人们也这样做,这是人类和学习算法的共同点。这是一个链接,用于仅使用存在的已知动物来显示我在说什么(定义如下):
现在,作为一个人,受我所知和所能说的话的限制,我必须得出以下结论:大象是大象。但事实并非如此。学习算法(大部分情况下)没有“像”这样的陈述,输出总是会验证到置信度百分比。因此,以这种方式欺骗一个人就不足为奇了……当然令人惊讶的是,基于它的知识集,实际上,如果您看一下OP和Vishnu列出的一个人的案例,就可以得出结论。 ..一点点看...就可以看到学习算法是如何建立关联的。
因此,我不会在算法方面真的将其称为错误标签,甚至不会将其称为被欺骗的情况,而不会将其范围开发错误。
已经有很多不错的答案,我只会补充我之前提出的那些答案:
您所指的这类图像称为对抗性摄动,(请参阅1,并且不仅限于图像,它也显示适用于文本,请参见EMNLP 2017的Jia&Liang。在文本中,与该段落不矛盾的无关句子已被认为导致网络得出完全不同的答案(请参见Jia&Liang,EMNLP 2017)。
它们起作用的原因是由于神经网络以与我们不同的方式查看图像,再加上问题空间的高度二维性。在我们看到整个图片的地方,他们看到了组合成一个对象的功能的组合(Moosavi-Dezfooli等人,CVPR 2017)。根据针对一个网络产生的扰动,已发现在其他网络上工作的可能性很高:
在上图中,可以看出,例如,对于所有其他测试架构,为VGG-19网络计算的通用扰动的愚弄率均高于53%。
那么,您如何应对对抗性干扰的威胁?好吧,您可以尝试生成尽可能多的扰动,并使用它们来微调模型。虽然这可以解决问题,但不能完全解决问题。在(Moosavi-Dezfooli et al。,CVPR 2017)中,作者报告说,通过计算新的扰动来重复该过程,然后再次进行微调,无论迭代次数如何,似乎都无法获得进一步的改进,愚弄率徘徊在周围80%。
扰动是神经网络执行的浅层模式匹配的指示,再加上它们对当前问题的深入了解很少。仍然需要做更多的工作。