• Intriguing properties of neural networks


    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

    https://arxiv.org/abs/1312.6199v4

    Abstract

      深度神经网络是近年来在语音和视觉识别任务中取得最新性能的高度表达模型。虽然它们的表现力是它们成功的原因,但它也会使它们学习不可理解的解决方案,这些解决方案可能具有反直觉的特性。在本文中,我们介绍了两个这样的性质。

      首先,根据不同的单元分析方法,我们发现单个高层单元和高层单元的随机线性组合之间没有区别。这表明,在神经网络的高层中,包含语义信息的是空间,而不是单个单元。

      其次,我们发现深度神经网络学习的输入-输出映射在很大程度上是不连续的。通过对网络的预测误差进行最大化,我们可以利用一定的不易察觉的扰动使网络误分类。此外,这些扰动的具体性质并不是学习到的随机伪影:相同的扰动会导致在数据集的不同子集上训练的不同网络对相同的输入进行错误分类。

     

    1 Introduction

      深度神经网络是一种强大的学习模型,在视觉和语音识别问题上具有优异的性能[9,8]。神经网络由于能够表达由少量大规模并行非线性步骤组成的任意计算而获得高性能。但是,由于计算结果是通过有监督学习的反向传播自动发现的,因此很难解释,并且可能具有反直观的特性。本文讨论了深度神经网络的两个反直觉性质。

      第一个属性涉及单个单元的语义。以前的研究[6,13,7]通过找到最大限度地激活一个给定单元的输入集来分析各个单元的语义。对单个单元的检查使得隐式假设最后一个特征层的单元形成一个区分的基础,这对于提取语义信息特别有用。相反,我们在第3节中指出,Φ(x)的随机投影在语义上与Φ(x)的坐标不可区分。这就对神经网络将坐标上的变化因素分离的推测提出了质疑。一般来说,包含大量语义信息的似乎是整个激活空间,而不是单个单元。对于词的表示,Mikolov等人[12] 最近得出了一个类似但更有力的结论,在表示词的向量空间中的各个方向被显示为产生令人惊讶且丰富的关系与类比的语义编码。同时,向量表示在空间旋转时是稳定的,因此向量表示的各个单元不太可能包含语义信息。

      第二个性质与神经网络对输入的小扰动的稳定性有关。考虑一个最先进的深度神经网络,它在目标识别任务中具有很好的泛化能力。我们期望这样的网络对其输入的小扰动具有鲁棒性,因为小扰动不能改变图像的对象类别。然而,我们发现对测试图像应用不可察觉的非随机扰动,可以任意改变网络的预测(见图5)。这些扰动是通过优化输入以使预测误差最大化来发现的。我们把这些令人不安的样本称为“对抗样本”。

      很自然地,期望最小必要扰动的精确配置是在不同的反向传播学习过程中产生的正常变化的随机伪影。然而,我们发现对抗样本是相对健壮的,并且由具有不同层数、激活或训练在不同训练数据子集上的神经网络共享。也就是说,如果我们使用一个神经网络来生成一组对抗样本,我们发现对于另一个神经网络来说,即使它是用不同的超参数训练的,或者,最令人惊讶的是,当它是用不同的样本集训练时,这些样本在统计学上仍然是困难的。

      这些结果表明,反向传播学习的深度神经网络具有非直观的特性和内在的盲点,其结构与数据分布的关系并不明显。

    2 Framework

    符号说明:我们用x∈Rm表示输入图像,以及某一层的Φ(x)激活值。我们首先研究了Φ(x)的图像的性质,然后寻找其盲点。

      我们在几个不同的网络和三个数据集上进行了许多实验:

    • 对于MNIST数据集,我们使用了以下架构[11]
      • 具有一个或多个隐含层和Softmax分类器的简单全连接网络。我们称这个网络为“FC”。
      • 在自动编码器上训练的分类器。我们称这个网络为“AE”。
    • ImageNet数据集[3]
      • Krizhevsky等人的结构[9]。我们称之为“AlexNet”。
    • 来自Youtube的近1000万张图片样本(见[10])
      • 具有10亿可学习参数的无监督训练网络。我们称之为“QuocNet”。

      对于MNIST实验,我们使用权重衰减为λ的正则化。此外,在一些实验中,我们将MNIST训练集分成两个不相交的数据集P1和P2,每个数据集有30000个训练案例。

    3 Units of:Φ(x)

      传统的计算机视觉系统依赖于特征提取:通常一个特征很容易被解释,例如颜色直方图或量化的局部导数。这允许用户检查特征空间的各个坐标,并将它们链接回输入域中有意义的变化。类似的推理在先前的工作中被用来分析应用于计算机视觉问题的神经网络。这些作品将一个隐藏单元的激活解释为一个有意义的特征。他们寻找输入图像,使这个单一特征的激活值最大化[6,13,7,4]。

      上述技术可以正式表述为图像x'的视觉检查,其满足(或接近最大可达到值):

    其中,Ι 是来自数据分布的固定图像集,该数据分布是网络未训练的,ei是与第i个隐藏单元相关联的自然基向量。

      我们的实验表明,任何随机方向v∈Rn都会产生类似的可解释性质。更正式地说,我们发现图像x'在语义上相互关联,对于许多x'来说

      这说明用自然基检验Φ(x)的性质并不比用随机基好。这就对神经网络将坐标上的变化因素分离的观点提出了质疑。(注:<*,*>表示向量内积)

      首先,我们使用在MNIST上训练的卷积神经网络来评估上述声明。我们使用了 的MNIST测试集。图1显示了在自然基上最大化激活值的图像,图2显示了在随机方向上最大化激活值的图像。在这两种情况下,得到的图像具有许多高层次的相似性。(注:Fig. 1、2中的stroke指的是不同的笔画)

      接下来,我们在AlexNet上重复了我们的实验,我们使用验证集作为 I。图3和图4比较了训练网络上的自然基和随机基。这些行对单个单元和单元组合似乎都有语义意义。

      尽管这种分析揭示了Φ在输入分布的特定子集上产生不变性的能力,但它并不能解释其在域的其余部分的行为。我们将在下一节中看到,在几乎每个点的邻域中,Φ都具有反直观的性质。

    4 Blind Spots in Neural Networks

      到目前为止,单元级的检查方法除了证实关于由深度神经网络学习的表示的复杂性的某些直觉之外,其效用相对较小[6,13,7,4]。全局的、网络级的检查方法在解释由模型[1]做出的分类决策的上下文中是有用的,并且可以用于例如识别导致给定视觉输入实例正确分类的输入部分(换句话说,可以使用经过训练的模型进行弱监督定位)。这种全局分析是有用的,因为它们可以使我们更好地理解由训练的网络表示的输入-输出映射。

      一般来说,神经网络的输出层单元是其输入的高度非线性函数。当使用交叉熵损失(使用Softmax激活函数)进行训练时,它表示给定输入的标签的条件分布(以及迄今为止呈现的训练集)。有人认为[2]在神经网络的输入和输出单元之间的非线性层的深度堆栈是模型在输入空间上对非局部泛化进行编码的一种方式。换言之,假设输出单元可以将非显著(并且,假设为非epsilon)概率分配给输入空间中在其附近不包含训练样本的区域。例如,这些区域可以表示来自不同视点的相同对象,这些对象相对较远(在像素空间中),但是它们共享原始输入的标签和统计结构。

      在这样的论点中,隐含着局部泛化——训练样本的极近邻——如预期的那样工作。特别是,对于给定训练输入x附近的足够小的半径ε>0,满足|| r ||<ε的x+r将被该模型赋予正确类的高概率。这种平滑先验对于计算机视觉问题是典型有效的。一般来说,给定图像的细微扰动通常不会改变底层类。

      我们的主要结果是,对于深度神经网络,许多核方法所依据的光滑性假设不成立。具体地说,通过使用一个简单的优化过程,我们能够找到对抗样本,这些样本是通过对正确分类的输入图像进行不可察觉的小扰动而获得的,因此它不再被正确分类。

      从某种意义上讲,我们所描述的是一种以有效的方式(通过优化)遍历由网络表示的流形并在输入空间中找到对抗样本的方法。对抗样本代表流形中的低概率(高维)“pockets”,仅通过随机抽样给定样本周围的输入很难有效地找到。目前,许多最新的计算机视觉模型在训练过程中采用输入变形来提高模型的鲁棒性和收敛速度[9,13]。然而,对于给定的样本,这些变形在统计上是样本无效的:它们高度相关,并且在整个模型训练过程中从相同的分布中提取。我们提出了一个方案,自适应地利用模型和它的不足对训练数据周围的局部空间进行建模。

      我们明确地与困难-负样本挖掘联系在一起,因为它在内核上是紧密的:在计算机视觉中,困难-负样本挖掘包括识别训练集实例(或其中的一部分),这些实例由模型给出低概率,但应该是高概率的,参见[5]。然后改变训练集的分布以强调这些困难负样本,并进行下一轮的模型训练。如前所述,本工作中提出的优化问题也可以作为类似于困难-负样本挖掘原理的建设性方式使用。

    4.1 Formal description

      我们用f:Rm → {1 ... k} 表示一种将图像像素值向量映射到离散标签集的分类器。我们还假设f有一个关联的连续损失函数,用lossf: Rm × {1 ... k} → R+。对于给定的x∈Rm图像和目标标签l∈{1 ... k} ,我们的目标是解决以下box-约束优化问题:

                     

      极小元r可能不是唯一的,但是我们用D(x,l)来表示任意选择的极小元得到的x+r。非正式地说,x+r是最接近x的图像,被f分类为l。显然,D(x,f(x))=f(x),所以只有当f(x)≠l时,这个任务才是非平凡的。一般来说,D(x,l)的精确计算是一个困难的问题,所以我们用一个box-约束的L-BFGS来近似它。具体地说,我们通过执行线搜索找到D(x,l)的一个近似值,以找到下列问题的最小元r满足f(x+r)=l的最小值c>0。

                      

      这种罚函数法在有凸损失的情况下可以得到D(X,l)的精确解,但神经网络一般是非凸的,因此在这种情况下我们得到一个近似解。

    4.2 Experimental results

      我们的“最小失真”函数D具有以下有趣的特性,我们将通过本节中的非正式证据和定量实验予以支持:

    1. 对于我们研究的所有网络(MNIST、QuocNet[10]、AlexNet[9]),对于每个样本,我们总是设法生成非常接近的、视觉上难以区分的、由原始网络错误分类的对抗样本(样本参见图5和http://goo.gl/huaGPb)。
    2. 跨模型泛化:使用不同超参数(层数、规则化或初始权值)从头训练的网络,会对相当大一部分样本进行错误分类。
    3. 交叉训练集泛化:在一个不相交的训练集上,相对较大比例的样本将被从零开始训练的网络误分类。

      上述观察结果表明,对抗样本有些普遍性,而不仅仅是对特定模型或训练集的特定选择过拟合的结果。他们还建议,将对抗样本反馈到训练中,可能会提高结果模型的通用性。我们的初步实验也为MNIST提供了支持这一假设的积极证据:我们成功地训练了一个两层的100-100-10非卷积神经网络,其测试误差小于1.2%,方法是将一组随机的对抗样本不断地替换为新生成的对抗样本,它们一直被混入原始训练集。我们用了权重衰减,但这个网络没有随机失活。相比之下,这种大小的网络仅通过权重衰减就可以得到1.6%的误差,并且通过使用谨慎应用的随机失活可以增强到1.3%左右。一个微妙但重要的细节是,我们只有通过为每一层输出生成对抗样本来改进,这些输出用于训练上面的所有层。该网络以交替的方式进行训练,除了最初的训练集外,还为每一层分别维护和更新一组对抗样本。根据我们的初步观察,高层次的对抗样本似乎比输入或低层次的对抗样本更有用。在今后的工作中,我们计划系统地比较这些影响。

      出于空间考虑,我们只给出了我们进行的MNIST实验的代表子集(见表1)的结果。本文给出的结果与更大范围的非卷积模型的结果是一致的。对于MNIST,我们还没有卷积模型的结果,但是我们对AlexNet的第一个定性实验让我们有理由相信,卷积网络的行为也可能类似。我们的每一个模型都用L-BFGS训练直到收敛。前三个模型是线性分类器,工作在像素级,具有不同的权重衰减参数λ。我们所有的样本都对连接权重使用二次权重衰减:被添加到总损失中,其中k是层中的单元数。我们的三个模型是没有隐藏单元(FC10(λ))的简单线性(softmax)分类器。其中一个模型FC10(1)是用极高的λ=1进行训练,以测试在这种极端环境下是否仍有可能产生对抗样本。另外两个模型是一个简单的具有两个隐含层和一个分类器的sigmoidal神经网络。最后一个模型AE400-10由一个带sigmoid激活的单层稀疏自动编码器和一个400节点的Softmax分类器组成。这个网络经过训练,直到它得到了非常高质量的第一层滤波器,而这一层并没有微调。最后一列测量在训练集上达到0%精度所需的最小平均像素级失真。失真是通过对原始x和失真x'图像计算衡量的,其中n=784是图像像素数。像素强度被缩放到范围[0,1]内。

      在我们的第一个实验中,我们为一个给定的网络生成了一组对抗样本,并将这些实例反馈给其他各个网络,以测量错误分类实例的比例。最后一列显示了在整个训练集上达到0%精度所需的平均最小失真。实验结果见表2。表2的列显示了扭曲训练集上的错误(错误分类实例的比例)。最后两行作为参考,显示了给定高斯噪声量引起的失真误差。注意,即使是stddev 0.1的噪声也比我们的对抗噪声的stddev大,除了一个模型。图7显示了在这个实验中使用的两个网络生成的对抗样本的可视化。一般的结论是,即使对于使用不同超参数训练的模型,对抗样本也保持困难。尽管基于自编码器的版本看起来对于对抗样本最有弹性,但它也不能完全免疫。

      尽管如此,这个实验仍然留下了对训练集依赖的问题。生成样本的困难度是否仅依赖于我们作为样本的训练集的特定选择,或者这种效果是否能推广到在完全不同的训练集上训练的模型?

      为了研究交叉训练集的泛化问题,我们将60000幅MNIST训练图像分成大小分别为30000的P1和P2两部分,训练了3个具有sigmoid激活的非卷积网络:两个P1上的FC100-100-10和FC123-456-10以及P2上的FC100-100-10。为P1训练两个网络的原因是为了研究同时改变超参数和训练集的累积效应。FC100-100-10和FC100-100-10具有相同的超参数:它们都是100-100-10网络,而FC123-456-10具有不同数量的隐藏单元。在这个实验中,我们改变了测试集而不是训练集的元素。表3总结了这些模型的基本事实。在我们为测试集生成错误率为100%且失真最小的对抗样本之后,我们将这些样本提供给每个模型。每个模型的误差显示在表4上部的相应列中。在最后一个实验中,通过使用样本代替x',我们放大了失真的影响。这会使失真平均放大40%,从stddev 0.06到0.1。如此改变样本的被反馈到每个模型中,错误率显示在表4的下部。有趣的结论是,对抗样本对于即使在不相交的训练集上训练的模型仍然很难,尽管它们的有效性大大降低。

    4.3  Spectral Analysis of Unstability

      前一节展示了由纯监督训练产生的深度网络的例子,这种训练对于一种特殊形式的小扰动是不稳定的。独立于它们在网络和训练集上的泛化性质,对抗样本表明存在输入的小的加性扰动(在欧几里德意义上),在最后一层的输出处产生大的扰动。本节描述了通过测量每个整流层的频谱来测量和控制网络的附加稳定性的简单过程。

      这些结果与前一节中构造的盲点的存在是一致的,但它们并没有试图解释为什么这些样本会在不同的超参数或训练集上泛化。我们强调我们计算上界:大的界不会自动转化为对抗样本的存在;然而,小的界保证不会出现这样的样本。这表明参数的一个简单的正则化,包括惩罚每个上Lipschitz界,这可能有助于改善网络的泛化误差。

    5 Discussion

      我们证明了深度神经网络在个体的语义和不连续性方面都具有反直觉的性质。对抗性反例的存在似乎与网络实现高泛化性能的能力相矛盾。事实上,如果网络能够很好地概括,它怎么会被这些对抗性反例所迷惑呢?这些反例与常规的样本是无法区分的?可能的解释是,对抗性反例集的概率极低,因此在测试集中从未观察到(或很少观察到),但它是密集的(很像有理数),因此几乎在每个测试用例附近都能发现它。然而,我们对于对抗性反例出现的频率还没有深入的了解,因此这个问题应该在以后的研究中加以解决。

  • 相关阅读:
    Android ImageView设置图片原理(下)
    C++ 虚函数表 多重继承
    C++ 虚函数表 单继承
    私有继承
    内联函数和宏定义的区别
    #pragma pack(x) CPU对齐
    static 变量(静态变量)
    C++ 中const作用
    如何连接宏参数
    几种常见容器比较和分析 hashmap, map, vector, list ...hash table
  • 原文地址:https://www.cnblogs.com/lucifer1997/p/12771805.html
Copyright © 2020-2023  润新知