在许多情况下,神经网络在独立同分布的测试集上进行评估时已经达到人类表现。因此,自然要怀疑这些模型在这些任务上是否获得了真正的人类层次的理解。为了探测网络对底层任务的理解层次,我们可以搜索这个模型错误分类的例子。 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 (Szegedyet al.,2014a) 的对抗样本生成的演示。通过添加一个不可察觉的小向量(其中元素等于代价函数相对于输入的梯度元素的符号),我们可以改变 GoogLeNet 对此图像的分类结果。
这些线性函数很容易优化。不幸的是,如果一个线性函数具有许多输入,那么它的值可以非常迅速地改变。如果我们用ϵ改变每个输入,那么权重为r线性函数可以改变之多,如果r是高维的这会是一个非常大的数。对抗训练通过鼓励网络在训练数据附近的局部区域恒定来限制这一高度敏感的局部线性行为。这可以被看作是明确地向监督神经网络引入局部恒定的先验的方法。
对抗训练有助于说明积极正则化与大型函数族结合的力量。纯粹的线性模型,如逻辑回归,由于他们被限制为线性而无法抵抗对抗样本。神经网络是能够将函数从接近线性转化为局部近似恒定,从而可以灵活地捕获到训练数据中的线性趋势同时学习抵抗局部扰动。
对抗样本也提供了实现半监督学习的一种手段。与数据集中的标签不相关联的点t处,模型本身为其分配一些标签y ˆ。模型的标记y ˆ未必是真正的标签,但如果模型是高品质,那么y ˆ提供真正标签的可能性很大。我们可以搜索一个对抗样本t′,导致分类器输出一个标签y′且y′ ̸= ˆ y。不使用真正的标签,而是由训练好的模型提供标签产生的对抗样本称为虚拟对抗样本 (virtual adversarial example)(Miyatoet al.,2015)。分类器可以被训练成对t和t′分配相同的标签。这鼓励分类器学习一个沿着未标签数据所在流形上任意微小变化都是鲁棒的函数。驱动这种方法的假设是,不同的类通常位于分离的流形上,并且小的扰动不能从一类的流形跳到另一个类的流形.
领取专属 10元无门槛券
私享最新 技术干货