Intriguing properties of neural networks

讲的是逃逸攻击,对抗样本的开山之作。

本文的主要工作就是:

1.深度神经网络语义信息保存在空间中而不是单个神经元。

2.通过应用某种难以察觉的扰动来导致网络对图像进行错误分类,这种扰动是通过最大化网络的预测误差来发现的。

背景知识:

先前的工作通过最大限度地激活给定单元的输入集来分析各种单元的语义。对单个单元的检查隐含着这样的假设:最后一个特征层的单元形成一个区分的基础,这对提取语义信息特别有用。

然而发现φ(x)的随机投影在语义上与φ(x)的坐标不可区分。这就对神经网络在坐标上分解变异因子的猜测提出了质疑。一般来说,似乎是整个激活空间,而不是单个单元,包含了大部分语义信息。最近,Mikolov等人[12]在单词表示方面得出了类似但更有力的结论,其中表示单词的向量空间中的不同方向被证明会产生令人惊讶的关系和类比的丰富语义编码。同时,向量表示在空间旋转之前是稳定的,因此向量表示的各个单元不太可能包含语义信息。

总结:语义信息包含在整个空间中而不在单个单元里。

第二个性质涉及神经网络相对于其输入的小扰动的稳定性。我们期望这种网络对其输入的小扰动是鲁棒的,因为小扰动不能改变图像的对象类别。然而,我们发现,对测试图像应用不可察觉的非随机扰动,可以任意改变网络的预测。这些扰动是通过优化输入以使预测误差最大化来找到的。我们将如此令人不安的例子称为“对抗性例子”。

然而,我们发现对抗性例子相对稳健,并且由具有不同层数、激活或在训练数据的不同子集上训练的神经网络共享。也就是说,如果我们使用一个神经网络来生成一组对抗性示例,我们发现这些示例对于另一个神经网来说仍然很难统计,即使它是用不同的超参数训练的,或者最令人惊讶的是,当它是在不同的示例集上训练的。

总结:通过微小的扰动使得误差最大化,可以任意改变网络的预测,这是一种可行的攻击手段。并且即使是不同的数据集不同的训练仍能达到以上效果,具有鲁棒性。

作者准备一系列实验。

传统的计算机视觉系统依赖于特征提取。单个特征是易于解释的.之前的工作一直试图在隐藏单元的激活中寻找意义。下图是最大化单一特征的激活值的输入图像[6,13,7,4]。公式为:
$$x’=\underset{x \in \iota}{arg max}<\phi (x),e_{i}>$$
avatar
上图的上半部分是各单元的激活最大化图像(训练中的自然方向),下半是随机方向的结果。

上述实验表明:任何随机方向都会产生类似的可解释语义财产。更正式地说,我们发现图像x0在语义上彼此相关。
自然结果并没有比随机效果好,这就对之前的解释结果产生了质疑,是否能对单个神经元的计算结果进行解读。

作者又在其他网络和数据集上重复实验,结果保持一致。

进一步工作:

全局网络级检查方法在解释模型[1]做出的分类决策时很有用。可以用来识别有助于特定视觉输入实例进行正确分类的输入部分(换句话说,可以使用经过训练的模型进行弱监督定位)。这样的全局分析很有用,因为它们可以让我们更好地理解由训练的网络表示的输入到输出映射。

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

non-local generalization prior:非局部泛化先验

非局部泛化先验:DNN学到的先验知识是非局部泛化的,意味着当测试数据在像素空间远离训练数据时,比如输入的测试图像与训练图像是同一物体的不同视角,会超过模型的表示范围,输出一个低置信度的概率。也就是平滑度的问题,神经网络是不连续的,这与CV中需要的平滑性不符

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

我们的主要结果是,对于深度神经网络,作为许多内核方法基础的平滑性假设不成立。具体来说,我们表明,通过使用简单的优化程序,我们能够找到对抗性示例,这些示例是通过对正确分类的输入图像进行难以察觉的小扰动而获得的,从而使其不再被正确分类。

这里提到的平滑性假设是上文的非局部泛化的另一种表达,可以说明对抗性示例的可行性

通过简单地对给定示例周围的输入进行随机采样很难有效地找到对抗性示例的盲点。目前,各种最新技术的计算机视觉模型在训练过程中采用了输入变形,以提高模型的鲁棒性和收敛速度[9,13]。然而,对于给定的例子来说,这些变形在统计上是低效的:它们高度相关,并且在整个模型训练过程中都来自相同的分布。我们提出了一种方案,以利用模型及其在训练数据周围的局部空间建模中的不足,使该过程具有自适应性。

我们明确地将其与难例挖掘联系起来,因为它在本质上是接近的:在计算机视觉中,硬负挖掘包括识别训练集示例(或其部分),这些示例被模型赋予低概率,但应该是高概率,参见[5]。然后改变训练集分布以强调这种硬否定,并执行下一轮模型训练。正如将要描述的那样,这项工作中提出的优化问题也可以以建设性的方式使用,类似于难例挖掘原理。

hard negative mining:难例挖掘

难例挖掘是指,使用负样本训练后抛出的错误正样本进行加强训练,目标检测找人,人是正样本,背景是负样本,判断出人但是没有人的图像是错误正样本。

然后作者推了很多公式佐证自己的观点。
avatar
以上算法,就是用一个损失函数去最小化x到标签l的距离。

得到了以下结论:
1。对于我们研究的所有网络(MNIST、QuocNet[10]、AlexNet[9]),对于每个样本,我们总是能够生成非常接近、视觉上难以区分的对抗性示例。

2.跨模型泛化:使用不同的超参数(层数、正则化或初始权重)从头开始训练的网络会对相对较大比例的例子进行错误分类。

3.交叉训练集泛化在不相交的训练集上从头开始训练的网络会对相对很大一部分例子进行错误分类。

作者还发现,一个微妙但重要的细节是,我们只是通过为每个层输出生成对抗性示例来获得改进,这些示例用于训练上面的所有层。该网络以交替的方式进行训练,除了原始训练集之外,还分别维护和更新每一层的对抗性示例库。根据我们的初步观察,高层的对抗性示例似乎比输入层或下层的示例更有用。

为了避免对数据集的依赖性,作者又做了一系列交叉实验。最终得到即使在不相交的训练集上训练的模型,对抗性例子仍然很难,尽管它们的有效性大大降低。

为了避免黑盒子,作者又试图从数学上得到解释,结果表明,通过简单地计算每个全连通层和卷积层的算子范数,可以获得网络不稳定性的保守度量。全连通情况是平凡的,因为范数是由全连通矩阵的最大奇异值直接给出的。这些结果与上一节中构建的盲点的存在一致,但它们并没有试图解释为什么这些例子会在不同的超参数或训练集上泛化。

我们强调我们计算上限:大的边界不会自动转化为对抗性例子的存在;然而,小范围保证不会出现这样的例子。这表明了参数的简单正则化,包括惩罚每个Lipschitz上界,这可能有助于改善网络的泛化误差。
avatar

Lipschitz模型就是用线性函数去夹逼该函数

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

avatar
本文其实就是在描述上图的工作。

dark
sans