在许多情况下,
神经网络
在独立同分布的测试集上进行评估时已经达到人类表现。因此,自然要怀疑这些模型在这些任务上是否获得了真正的人类层次的理解。为了探测网络对底层任务的理解层次,我们可以搜索这个模型错误分类的例子。 Szegedy et al. (2014b) 发现,精度达到人类水平的
神经网络
在通过优化过程故意构造的点上的误差率接近100%,模型在这个输入点 t′ 的输出与附近的数据点 t非常不同。在许多情况下, t′ 与 t 非常近似,人类观察者不知道原始样本和
对抗样本
(
adversarial example
) 之间的差异,但是网络会作出非常不同的预测。
对抗样本
有很多的影响,例如计算机安全。然而,它们在
正则化
的背景下很有意思,因为我们可以通过
对抗训练
(
adversarial training
) 减少原有独立同分布的测试集上错误率——在对抗扰动的训练集样本上训练(Szegedyet al., 2014b; Goodfellow et al., 2014b)。Goodfellow et al. (2014b) 表明,这些
对抗样本
的主要原因之一是过度线性。
神经网络
主要基于线性块构建的。因此在一些实验中,他们实现的整体函数被证明是
高度线性。
在 ImageNet 上应用于 GoogLeNet (
Szegedy
et al.,
2014a
) 的
对抗样本
生成的演示。通过添加一个不可察觉的小向量(其中元素等于
代价函数
相对于输入的梯度元素的符号),我们可以改变 GoogLeNet 对此图像的分类结果。
这些线性函数很容易优化。不幸的是,如果一个线性函数具有许多输入,那么它的值可以非常迅速地改变。如果我们用
ϵ
改变每个输入,那么权重为
r
线性函数可以改变
之多,如果
r
是高维的这会是一个非常大的数。
对抗训练
通过鼓励网络在训练数据附近的局部区域恒定来限制这一高度敏感的局部线性行为。这可以被看作是明确地向
监督神经网络
引入局部恒定的先验的方法。
对抗训练有助于说明积极
正则化
与大型函数族结合的力量。纯粹的
线性模型
,如
逻辑回归
,由于他们被限制为线性而无法抵抗
对抗样本
。
神经网络
是能够将函数从接近线性转化为局部近似恒定,从而可以灵活地捕获到训练数据中的线性趋势同时学习抵抗局部扰动。
对抗样本
也提供了实现
半监督学习
的一种手段。与数据集中的标签不相关联的点
t
处,模型本身为其分配一些标签
y ˆ
。模型的标记
y ˆ
未必是真正的标签,但如果模型是高品质,那么
y ˆ
提供真正标签的可能性很大。我们可以搜索一个
对抗样本
t′
,导致分类器输出一个标签
y′
且
y′ ̸= ˆ y
。不使用真正的标签,而是由训练好的模型提供标签产生的
对抗样本
称为
虚拟对抗样本 (
virtual adversarial example
)(
Miyato
et al.,
2015
)
。分类器可以被训练成对
t
和
t′
分配相同的标签。这鼓励分类器学习一个沿着未标签数据所在流形上任意微小变化都是鲁棒的函数。驱动这种方法的假设是,不同的类通常位于分离的流形上,并且小的扰动不能从一类的流形跳到另一个类的流形.