对抗样本( Adversarial examples)由Christian Szegedy等人提出,是指在数据集中通过故意添加细微的干扰所形成的输入样本,导致模型以高置信度给出一个错误的输出。在正则化背景下,通过对抗训练减少原有独立分布的测试集的错误率——在对抗扰动的训练集样本上训练网络。
ICLR 2014 上的文章:
C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. J. Goodfellow, and R. Fergus.” Intriguing properties of neural networks”. ICLR 2014.arXiv:1312.6199
基本定义
对抗样本(Adversarial examples)是指在数据集中通过故意添加细微的干扰所形成的输入样本,会导致模型以高置信度给出一个错误的输出。
产生原因
这些对抗样本的主要原因之一是过度线性。 神经网络主要是基于线性块构建的。因此在一些实验中,它们实现的整体函数被证明是高度线性的。这些线性函数很容易优化。不幸的是,如果一个线性函数具有许多输入,那么它的值可以非常迅速地改变。如果我们用 改变每个输入,那么权重为
的线性函数可以改变
之多,如果
是高维的这会是一个非常大的数。对抗训练通过鼓励网络在训练数据附近的局部区域恒定来限制这一高度敏感的局部线性行为。这可以被看作是一种明确地向监督神经网络引入局部恒定先验的方法。
对抗训练
所谓深度学习对抗训练,就是通过在对抗样本上训练模型。既然深度学习的对抗样本是由于模型的线性特征所导致,那就可以设计一种快速的方法来产生对抗样本进行对抗训练。Szegedy等人的研究认为对抗样本可以通过使用标准正则化技术解决,可是Goodfellow等人使用常见的正则化方法,如dropout,预训练和模型平均进行测试,并没能显著地提高深度模型对于对抗样本的抗干扰能力。根据神经网络的Universal Approximation Theory,至少拥有一个隐层的神经网络只要拥有足够的隐层单元,就可以任意逼近任何一个非线性函数,这是浅层模型所不具备的。因此,对于解决对抗样本问题,Goodfellow等人认为深度学习至少有希望的,而浅层模型却不太可能。Goodfellow等人通过利用对抗样本训练,对抗样本上的误分率被大大降低。同时他们发现选择原始模型产生的对抗样本作为训练数据可以训练得到具有更高抵抗力的模型。此外,他们还发现,对于误分的对抗样本,对抗训练得到的模型的置信度依然很高。所以通过对抗训练能够提高深度学习的对于对抗样本的抗干扰能力。
对抗训练有助于体现积极正则化与大型函数族结合的力量。纯粹的线性模型,如逻辑回归,由于它们被限制为线性而无法抵抗对抗样本。 神经网络能够将函数从接近线性转化为局部近似恒定,从而可以灵活地捕获到训练数据中的线性趋势同时学习抵抗局部扰动。
对抗样本的积极作用
对抗样本也提供了一种实现半监督学习的方法。在与数据集中的标签不相关联的点 处,模型本身为其分配一些标签
。模型的标记
未必是真正的标签,但如果模型是高品质的,那么
提供正确标签的可能性很大。我们可以搜索一个对抗样本
,导致分类器输出一个标签
且
。不使用真正的标签,而是由训练好的模型提供标签产生的对抗样本被称为虚拟对抗样本(virtual adversarial example) 。我们可以训练分类器为
和
分配相同的标签。这鼓励分类器学习一个沿着未标签数据所在流形上任意微小变化都很鲁棒的函数。驱动这种方法的假设是,不同的类通常位于分离的流形上,并且小扰动不会使数据点从一个类的流形跳到另一个类的流形上。
