英文题目:《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以下的所有信息。由于特征的精度是有限的,如果扰动的每个元素都小于特征的精度,则分类器对输入的响应不同于对adversarial input 是不合理的。在形式上,对于分类良好的问题,我们希望分类器将相同的类分配给,只要,其中足够小,可以被与我们的问题相关的传感器或数据存储设备丢弃。

考虑weight vector 和adversarial example 的点乘:

adversarial pertubation导致activation增长了.我们可以在上的最大范数约束下,通过指定来最大化这种增加。如果具有个维度,并且权重向量的一个元素的平均大小是,则激活将增长。由于不随问题的维度增长,但η扰动引起的激活变化可以随线性增长,因此对于高维问题,我们可以对输入进行许多极小的改变,这些改变加起来就是对输出的一次大改变。我们可以将其视为一种“accidental steganography”,在这种情况下,线性模型被迫只关注与其权重最接近的信号,即使存在多个信号,而其他信号的幅度要大得多。

这一解释表明,如果一个简单的线性模型的输入有足够的维度,那么它可能会有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.

对于函数,若时,其导数,则称其为左饱和.若时,其导数,则称其为右饱和.当同时满足左右饱和时,就称为两端饱和。

是模型的参数,是模型的输入,是与相关的目标(对于有目标的机器学习任务),是用于训练神经网络的成本。我们可以围绕的当前值对cost function进行线性化,得到最优的最大范数约束扰动

我们把这种方法称为生成adversarial example的**“fast gradient sign method”**。请注意,可以使用反向传播有效地计算所需的梯度。

也许我们能考虑的最简单的模型是Logistic回归。在这种情况下,fast gradient sign method是精确的。我们可以使用这个案例来直观地了解如何在简单的设置中生成对抗性例子。如Fig.2所示,图片颇具启发性。

如果我们训练单个模型来识别标签,其中,其中是Logistic Sigmoid函数,then training consists of gradient descent on

其中是softplus function。我们可以推导出一种简单的分析形式,training on the worst-case adversarial perturbation of rather than itself,based on gradient sign perturbation(即).Note that the sign of the gradient is just ,and that $w^Tsign(w)=|w|1$
E
{\tilde{x},y{\sim}p_{data}}\zeta(-y(w^T\tilde{x}+b))
$$
其中 , $\eta={\epsilon}sign({\nabla}xJ(\theta,x,y))={\epsilon}[-sign(w)]\tilde{x}=x+\eta=x+{\epsilon}[-sign(w)]$
\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}
$$

阅读总结

  1. 理论简洁而深刻
    用“线性解释”一举替代了此前流行的“高度非线性+过拟合”假说,既解释了浅层模型为何也脆弱,又解释了对抗样本在不同架构、不同训练集之间的惊人一致性,提供了统一框架。

  2. 方法极简单用
    FGSM 只需一次反向传播即可生成对抗样本,计算成本近乎零;与此前基于 L-BFGS 的昂贵优化相比,首次把“对抗训练”从概念验证变成可大规模落地的正则化手段。