Intriguing properties of neural networks
经典论文、对抗样本领域的开山之作
发布时间:2014
论文链接: https://arxiv.org/pdf/1312.6199.pdf
作者:Christian Szegedy, Wojciech Zaremba, Ilya Sutskever, Joan Bruna, Dumitru Erhan, Ian Goodfellow, Rob Fergus
写在前面:该文章已经发表10年了,该领域的发展十分迅速,本文中的一些观点可能并不准确
核心观点
深度神经网络是高度表达性 (highly expressive models) 的模型。由于其复杂和多层次的结构,深度神经网络能够捕捉到数据中极其微妙和复杂的模式。然而,这种复杂性同时也意味着网络内部的决策过程很难被人类理解,对人们来说有些违反直觉 (counter-intuitive)。
在这篇论文中,作者介绍了两个十分有趣的属性:
- 通过不同的单元分析方法,高层单元本身 (individual high level units) 与它们的随机线性组合 (random linear combinations of high level units) 在功能上看起来并无差别。这表明在神经网络的高层中,包含语义信息的是空间,而不是单个单元。
- 深度神经网络学习的输入输出映射在很大程度上是相当不连续的。通过施加几乎察觉不到的扰动,就可以使网络错误地分类一个图像,这种扰动是通过最大化网络的预测误差找到的。此外,这些扰动的具体性质不是学习的随机产物:相同的扰动可以导致另一个网络(该网络在数据集的不同子集上训练)错误分类相同的输入。
对观点1的解释
- 高层单元与随机线性组合之间无区别:"高层单元"指网络中较靠近输出层的那些单元。这意味着,如果取一些高层的单元,不论是单独考虑还是将它们通过某种线性方式组合起来,从分析这些单元的角度来看,无法区分出它们之间的差别。这个观察挑战了我们通常认为的“特定单元负责特定高级特征”的理解。
- 语义信息的空间:由于单个单元和它们的组合在功能上没有区别,这表明高层次的语义信息并不是储存在单个神经元中,而是分布在整个空间中。这里的“空间”指的是由这些高层单元构成的多维空间,意味着信息是以某种分布的形式存在的,而不是局限于某个单个单元。
- 对深度学习的理解:神经网络处理信息和提取特征的方式可能比我们之前理解的要复杂得多。而不是单个单元对应单一的、明确的特征,更多的是整个单元集合以一种分布的方式共同表达了高级的语义信息。
在深度神经网络的高层中,重要的不是单个的单元,而是单元们形成的整体空间。这个空间以一种我们还不完全理解的方式,包含了输入数据的抽象和高级的语义信息。
对观点2的解释
- 输入输出映射的不连续性:深度神经网络将输入数据(如图像)映射到输出(如分类标签)的过程并不是平滑连续的。这意味着,即使是非常微小的改变也可能导致输出结果的巨大变化。例如,一个图像被正确分类为“猫”,但当这个图像被稍微修改后,即使这种修改几乎肉眼不可见,网络可能会错误地将其分类为“狗”。
- 扰动的发现和影响:这些细微的扰动是通过优化 (optimization) 找到的,目的是最大化网络的预测误差。这表明可以系统地生成这样的扰动,也表明深度神经网络在其决策边界周围可能存在着“盲区”,即那些对扰动高度敏感的区域。
- 扰动的非随机性和普遍性:这些导致误分类的扰动并不是随机产生的,也不是特定于某个网络的。相同的或类似的扰动可以导致在不同数据集上训练的其他网络也产生错误的分类结果。这意味着这种脆弱性是深度学习模型普遍存在的问题,而不仅仅是个别模型的特定缺陷。
在安全性方面,攻击者可能利用这一点生成扰动,以误导模型做出错误的决策;在鲁棒性方面,推动了对神经网络鲁棒性研究,即如何设计出能够抵抗这类细微扰动影响的模型。
背景知识
泛化
- 局部泛化 (local generalization):
- 模型在训练数据点附近的输入空间进行有效预测的能力
- 基于假设:输入空间中相互靠近的点(在某个小的邻域内)应当具有相似的输出
- 局部泛化反映了模型对于轻微扰动(如噪声)的鲁棒性,即这些小变动不会导致模型预测结果的显著改变
- 非局部泛化 (non-local generalization):
- 模型在输入空间中远离训练数据点的区域做出准确预测的能力
- 这涉及到对输入空间的更广泛区域的泛化,包括那些与训练样本在特征空间中相差较远的点
- 非局部泛化需要模型在没有直接数据支持的情况下推断输出,这通常依赖于模型对数据的高层次抽象和理解。例如,一个模型可能已经学习到“猫”的高级特征,如形状和纹理,因此即使是在训练数据中从未出现过的猫的新图片,模型也能正确分类。
总的来说,局部泛化关注点是模型对训练数据的微小变化的响应,而非局部泛化关注的是模型对于新的、可能在训练数据中没有直接例子的情况的处理能力。
特征提取 (feature extraction)
在传统的计算机视觉系统中,颜色直方图 (histogram of colors) 和量化的局部导数 (quantized local derivatives) 是常见的特征.
- 颜色直方图:颜色直方图是图像中颜色分布的图形表示。它统计了每种颜色在图像中出现的频率。由于颜色是视觉信息的直观属性,所以颜色直方图提供了一种简单的方式来描述和分析图像的颜色组成。这使得比较不同图像的颜色分布变得直观,且不依赖于图像的大小或者颜色在图像中的具体位置。
- 量化的局部导数:局部导数,如图像的边缘,是通过检测像素强度的变化来识别的。量化意味着这些导数值被简化为有限的几个级别。这些局部导数可以表示图像中物体的边界和纹理信息,是图像分析的基本工具。
这些特征容易理解,因为它们是从人类的视觉经验中抽象出来的基础视觉属性。颜色和边缘是人类用来理解世界的基本视觉线索,所以这些特征可以与我们对图像内容的直观理解直接相连。在机器学习模型中使用这些特征可以帮助系统在一定程度上模仿人类的视觉识别过程。
Kernel methods
Kernel methods 是一类算法,在机器学习和统计学中被广泛用于模式识别、分类和回归问题。这些方法的核心思想是通过一个函数(即“核函数”)将输入数据映射到一个高维特征空间,在这个高维空间中,数据点可能更容易被线性分割或分类。Kernel方法的一个关键特性是,它们能够处理非线性关系而无需显式地定义高维映射,这是通过核技巧(kernel trick)实现的。
Kernel技巧利用核函数来计算输入数据点之间的相似度,核函数对应于高维特征空间中的内积。这允许算法在原始输入空间中间接计算出高维特征空间中的关系,而不需要进行实际的映射,从而避免了直接在高维空间中计算的高昂计算成本。
最著名的kernel方法之一是支持向量机(SVM),它使用核函数来找到最佳的决策边界,或者说超平面,该超平面可以将数据分割成不同的类别。
当文中提到“对于深度神经网络,许多核方法所依赖的平滑性假设不成立”时,它可能是在指出与传统的核方法(这些方法假设通过合适的核函数可以在高维空间实现平滑的决策边界)相比,深度神经网络在学习数据表示时表现出不同的特性。这暗示了深度网络可能能够学习出更复杂的模式或决策边界,这些模式或边界在核方法的传统框架下可能无法捕捉。
盒约束优化问题 (box-constrained optimization problem)
在解决盒约束优化问题时,通常会使用一些特定的算法,如梯度投影法(projected gradient method)、有界限制的BFGS(L-BFGS-B)等,这些算法能够在搜索最优解的同时保持所有变量在约束的范围内。
框架与数据集
本论文在几个不同的网络和三个数据集上进行了大量的实验:
- MNIST dataset
- “FC”(Fully Connected):由一个或多个隐藏层和一个Softmax分类器组成的简单全连接网络
- “AE”(Autoencoder):在自动编码器上训练的分类器
- ImageNet dataset
- AlexNet网络:具体可参见论文:“Imagenet classification with deep convolutional neural networks”
- 来自 Youtube 的10M图像样本
- “QuocNet”:具有10亿可学习参数的无监督训练网络
对于MNIST实验,我们使用了带有权重衰减 λ λ λ 的正则化。此外,在一些实验中,我们将MNIST训练数据集分成两个互不相交的数据集 P 1 P_1 P1 和 P 2 P_2 P2,每个数据集包含30000个训练样本。
Units of: φ ( x ) φ(x) φ(x)
传统计算机视觉通常依赖于特征提取 (feature extraction),通常来说,一个简单的特征很容易理解,就比如:颜色直方图和量化的局部导数,这也使得人们可以将特征空间中的各个坐标与输入域中的有意义的变化联系起来。
在深度神经网络中,类似的推理也被应用于尝试解释计算机视觉问题。在这些工作中,研究者们将隐藏单元的激活解释为有意义的特征,并寻找能够最大化这个单个隐藏单元激活值的输入图像。简单地说,他们试图找到哪些输入图像会引发神经网络中某个特定单元的最强激活反应,这样的激活被认为是捕捉到了某个重要特征,可以表示如下:
x ′ = arg max x ∈ I ⟨ ϕ ( x ) , e i ⟩ x'=\underset{x \in \mathcal{I}}{\text{arg max}} \langle \phi(x), e_i \rangle x′=x∈Iarg max⟨ϕ(x),ei⟩
x ′ x' x′ 表示满足(或接近)最大可达值(attainable value)的图像视觉检查
e i e_i ei 表示第 i i i 个隐藏单元相关联的自然基向量
I \mathcal{I} I 表示保留集,是从数据分布中选取的,但网络没有在其上训练的图像集合
arg max x f ( x ) \text{arg max}_x f(x) arg maxxf(x)