Explaining and Harnessing Adversarial Examples
英文题目:《Explaining and Harnessing Adversarial Examples》
中文题目:《解释和利用对抗性》
论文作者:Ian J.Goodfellow,Jonathon Shlens & Christian Szegedy
发布于:ICLR
发布时间:2015 Mar 20
级别:CCF-A
论文链接:
摘要
Several machine learning models, including neural networks, consistently misclassify adversarial examples—inputs formed by applying small but intentionally worst-case perturbations to examples from the dataset, such that the perturbed in-put results in the model outputting an incorrect answer with high confidence. Early attempts at explaining this phenomenon focused on nonlinearity and overfitting.We argue instead that the primary cause of neural networks’ vulnerability to adversarial perturbation is their linear nature. This explanation is supported by new quantitative results while giving the first explanation of the most intriguing fact about them: their generalization across architectures and training sets. Moreover,this view yields a simple and fast method of generating adversarial examples. Using this approach to provide examples for adversarial training, we reduce the test set error of a maxout network on the MNIST dataset.
包括神经网络在内的几个机器学习模型一致地错误分类对抗性示例-通过对数据集中的示例应用小的但有意的最坏情况扰动而形成的输入,使得扰动的输入导致模型以高置信度输出不正确的答案。早期试图解释这一现象的重点是非线性和过度拟合。相反,我们认为神经网络对对抗性扰动的脆弱性的主要原因是它们的线性性质。这一解释得到了新的量化结果的支持,同时首次解释了有关它们的最有趣的事实:它们在体系结构和训练集之间的泛化。此外,这种观点提供了一种生成对抗性例子的简单而快速的方法。使用这种方法为对抗性训练提供了例子,我们在MNIST数据集上减少了Maxout网络的测试集错误。
本文聚焦的问题
本文聚焦于解释造成adversarial examples的原因、设计一种快速生成adversarial examples的方法,使对抗性训练变得实用。
本文提出的方法
1.adversarial examples的线性解释
在许多问题中,单个输入特征的精度是有限的。例如,数字图像通常只使用每像素8位,因此它们会丢弃动态范围的1/255以下的所有信息。由于特征的精度是有限的,如果扰动
考虑weight vector
adversarial pertubation导致activation增长了
这一解释表明,如果一个简单的线性模型的输入有足够的维度,那么它可能会有adversarial examples。以前对adversarial example的解释引用了神经网络的假设属性,例如假设的高度非线性性质。我们基于线性的假设更简单,也可以解释为什么Softmax回归容易受到adversarial example的影响。
2.非线性模型的线性扰动
adversarial example的线性视图提供了一种快速生成它们的方法。我们假设神经网络过于线性,不能抵抗线性对抗性扰动。LSTMs、ReLUs、maxout networks都被故意设计为以非常线性的方式运行,以便更容易优化。出于同样的原因,更多的非线性模型,如Sigmoid网络,被仔细地调整为在非饱和的、更线性的区域花费大部分时间。都被故意设计为以非常线性的方式运行,以便更容易优化。出于同样的原因,更多的非线性模型,如Sigmoid网络,被仔细地调整为在非饱和的、更线性的区域花费大部分时间。This linear behavior suggests that cheap,analytical perturbations of a linear model should also damage neural networks.
对于函数
,若 时,其导数 ,则称其为左饱和.若 时,其导数 ,则称其为右饱和.当同时满足左右饱和时,就称为两端饱和。
设
我们把这种方法称为生成adversarial example的**“fast gradient sign method”**。请注意,可以使用反向传播有效地计算所需的梯度。
也许我们能考虑的最简单的模型是Logistic回归。在这种情况下,fast gradient sign method是精确的。我们可以使用这个案例来直观地了解如何在简单的设置中生成对抗性例子。如Fig.2所示,图片颇具启发性。
如果我们训练单个模型来识别标签
其中
E{\tilde{x},y{\sim}p_{data}}\zeta(-y(w^T\tilde{x}+b))
$$
其中
\begin{align}
E{\tilde{x},y{\sim}p_{data}}\zeta(-y(w^T\tilde{x}+b))\
=E_{\tilde{x},y{\sim}p_{data}}\zeta(-y(w^T[x+{\epsilon}(-sign(w)]+b))\
=E_{\tilde{x},y{\sim}p_{data}}\zeta(-y(w^Tx-{\epsilon}w^Tsign(w)+b))\
=E_{\tilde{x},y{\sim}p_{data}}\zeta(-y(w^Tx-{\epsilon}|w|1+b))\
=E{\tilde{x},y{\sim}p_{data}}\zeta(y(-w^Tx+{\epsilon}|w|1-b))\
=E{\tilde{x},y{\sim}p_{data}}\zeta(y({\epsilon}|w|_1-w^Tx-b))
\end{align}
$$
阅读总结
-
理论简洁而深刻
用“线性解释”一举替代了此前流行的“高度非线性+过拟合”假说,既解释了浅层模型为何也脆弱,又解释了对抗样本在不同架构、不同训练集之间的惊人一致性,提供了统一框架。 -
方法极简单用
FGSM 只需一次反向传播即可生成对抗样本,计算成本近乎零;与此前基于 L-BFGS 的昂贵优化相比,首次把“对抗训练”从概念验证变成可大规模落地的正则化手段。