论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)

本文参考了三篇笔记,帮助很大:
《Explaining and Harnessing Adversarial Examples》阅读笔记
[论文笔记]Explaining & Harnessing Adversarial Examples
EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES笔记

abstract

一些机器学习方法,包括神经网络都会被对抗样本(输入含有小的但是故意破坏的扰动)误导。这种对抗样本的输入会让神经网络得出一个置信度高并且错误的答案。早期的工作尝试用非线性特征和过拟合去解释它,我们却认为神经网络对于对抗样本的弱点主要体现在它的线性特征,基于这个假设,我们提出了简单快速的生成对抗样本的方法即快速梯度符号法(Fast Gradient Sign Method),通过产生对抗样本,降低了测试集的错误率(MNIST maxout network)

1 Introduction

Szegedy等人在2014年发现了对抗样本,在许多情况下,在训练数据的不同子集上训练的具有不同架构的各种各样的模型也会错误的分类相同的对抗样本(数据分布中得到的正确分类的例子只有轻微区别)。这表明,对抗样本暴露了我们训练算法中的基本盲点。

这些对抗样本的原因是一个谜,推测的解释表明,这是由于深度神经网络的极端非线性(Nonlinear),或许可能与纯监督学习的模型平均不足和正则化不足相结合。作者证明了这些推测性的假设是不必要的。高维空间(high-dimensional)中的线性行为足以引产生对抗样本。本文我们能够设计出一种快速生成对抗样本的方法,从而使对抗训练变得切实可行。对抗训练提供了传统正则化策略((dropout, pre-training, model averaging等不能显著降低模型对对抗样本的脆弱性)以外的另一种正则化方法。

我们的解释表明,在设计由于线性而易于训练的模型和设计使用非线性效应来应对对抗样本的模型之间存在着一种基本的张力。从长远来看,通过设计更强大的优化方法来成功地训练更多的非线性模型,有可能避免这种权衡。

2. Relate Work

Szegedy等人展示了神经网络和相关模型的各种有趣特性。与本文最相关的内容包括:

  • Box-constrained L-BFGS可以可靠地找到敌对的例子;
  • 很多数据集上对抗样本与基本样本差异较少;
  • 浅softmax回归模型也容易受到敌对实例的攻击;
  • 在对抗样本上进行训练可以使模型正规化——但是,这在当时并不实际,因为需要在内部循环中进行昂贵的约束优化。

这些结果表明,即使是那些基于现代机器学习技术并在测试集上获得优异性能的分类器,也没有学习到真正的底层概念,这些概念决定了正确的输出标签。相反,这些算法建立了一个Potemkin village以很好地处理自然发生的数据,但当访问点在数据分布中不具有高概率时,就会暴露为假数据。这尤其令人失望,因为计算机视觉中一个流行的方法是使用卷积网络特征作为欧几里得距离近似感知距离的空间,如果感知距离非常小的图像对应于网络代表中完全不同的类,那么这种相似性显然是有缺陷的。

这些结果经常被解释为一个缺陷,特别是在深度网络,即使线性分类器有同样的问题。我们把对这一缺陷的了解看作是一次修复它的机会。事实上,Gu和Rigazio(2014)以及Chalupka等人(2014)已经开始了设计抵御敌对干扰的模型的第一步,尽管还没有模型在保持干净输入的精确状态的同时成功地做到了这一点.

3. THE LINEAR EXPLANATION OF ADVERSARIAL EXAMPLES

论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第1张图片

这说明了当一个简单的线性模型的输入具有足够的维数时,它也会有对抗样本。先前对对抗样本的解释引用了神经网络的假设属性,比如高度非线性的性质。我们基于线性的假设更简单,也可以解释为什么softmax回归容易受到对抗样本。

4 LINEAR PERTURBATION OF NON-LINEAR MODELS

作者利用对抗样本的线性解释提出了一个快速产生对抗样本的方式,也即Fast Gradient Sign Method(FGSM) 方法,这种方法的核心思想是沿着梯度的反方向添加扰动从而拉大对抗样本与原始样本的距离,因为作者Goodfellow认为在构造对抗样例时,我们更应该关心的是扰动的方向而不是扰动的数目。

对抗样本的线性观点提供了一种快速生成它们的方法。我们假设神经网络是过于线性以至于不能抵抗线性对抗干扰。LSTMs,ReLUs,maxout network为了更方便优化,都有意地以非常线性的形式。即使是像采用Sigmoid激活的网络,为了同样的目的,经过精心调整,以一个更加线性的机制使模型大部分的时间花在非饱和区域。而这些线性行为所带来的对抗样本的脆弱性也将摧毁神经网络。
论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第2张图片

通过添加一个难以察觉的小向量,它的元素等于损失函数相对于输入的梯度的元素的符号,我们可以改变GoogLeNet对图像的分类。
论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第3张图片论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第4张图片

使用反向传播可以有效地计算所需的梯度。

实验结果省略。。。。。。实验表明,FGSM这种简单的算法确实可以产生误分类的对抗样本,从而证明了作者假设的对抗样本的产生原因是由于模型的线性特性。同时,这种算法也可作为一种加速对抗训练的方法。作者还发现输入x在梯度方向上旋转一个小角度也会可靠地产生对抗样本。

5 ADVERSARIAL TRAINING OF LINEAR MODELS VERSUS WEIGHT

这里作者举出了一个例子,对于线性模型攻击。

考虑在最简单的逻辑回归(Logistics Regression)模型上应用FGSM方法,从而理解在一个简单的设置中如何生成对抗样本。论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第5张图片
对于逻辑回归模型,在原始MNIST数据集上,区分3和7的错误率为1.6%,如图©所示;当应用快速梯度符号法添加对抗扰动之后,逻辑回归模型在这些对抗样本上的错误率为99%。

论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第6张图片
这有点类似于L1正则化。但是L1是在训练过程中减少模型的激活,而不加在损失上,这意味着如果模型学习到有足够可信度进行预测,使损失函数饱和,那么这种惩罚最终会开始消失。但是在不拟合的情况下这并不能保证会发生,同时对抗训练只会使不拟合的情况恶化,因此,我们可以把L1重量的衰减看作比对抗性训练更“最糟糕的情况”,因为在保证良好的情况下它不能失效。

如果我们从逻辑回归转到多类softmax回归,L1权重衰减将变得更加悲观,因为它将softmax的每个输出视为独立的扰动,而实际上通常不可能找到与所有类的权重向量一致的单一假设。在有多个隐藏单位的深层网络中,权重衰减会高估扰动所能造成的伤害。因为重量衰减会高估的对抗伤害程度,有必要使用比与我们的特征的精确性有关干扰系数更小的L1权重衰减系数。在MNIST上训练maxout网络时,我们用.25的干扰系数取得了较好的效果。在第一层应用L1权值衰减时,我们发现即使系数为.0025也过大,导致模型在训练集上的误差超过5%。较小的权值衰减系数允许成功训练,但没有达到正则化的好处。

6 ADVERSARIAL TRAINING OF DEEP NETWORKS

作者首先认为对深层网络容易受到对抗样本的攻击的批评在某种程度上是被误导的,因为与浅线性模型不同,深层网络至少能够表示抵抗敌对性干扰的函数。然后又提及了这个通用逼近定理(universal approximator theorem)保证了具有至少一个隐含层的神经网络(只要它的隐含层允许有足够的神经元单位)可以以任意精度表示任何函数。通用逼近器定理并没有说明训练算法是否能够发现具有所有期望性质的函数。显然,标准的监督训练并没有规定所选的函数能够抵抗对抗样本,这必须以某种方式被编码到训练过程中。

通过混合训练对抗的和干净的样本,神经网络可以正则化。对抗性实例的训练与其他数据增强方案有所不同;通常,使用转换(例如预期在测试集中实际发生的转换)来增加数据。这种形式的数据扩充使用不太可能自然发生的输入,但暴露了模型概念化其决策功能的方式上的缺陷。在那个时候,这个过程从来没有被证明在一个最先进的基准测试中可以提高超过dropout。然而,这在一定程度上是因为很难用昂贵的基于L-BFGS的对抗实例进行广泛的实验。

发现基于快速梯度符号方法的对抗性目标函数训练是一种有效的正则化器:
在这里插入图片描述
用这种方法训练一个正则化的带dropout的maxout网络,可以将不进行对抗性训练的错误率从0.94%降低到进行对抗性训练的错误率为0.84%。这个提升的过于少,作者注意到在训练集的对抗子样本错误率没有达到零,作出了两点改进:

  • 将神经元数目从240个变成了1600个。
  • 同时使用early stopping在对抗样本到测试集上。

作者在这个两个改进的标准下来选择训练的迭代数,然后对所有60000个样本进行再训练。五个不同的训练使用不同的随机数生成器的种子用于选择minibatches训练样本,初始化权重模型,并生成dropout masks导致四个试验都有0.77%的错误率和一个试验0.83%的错误率。0.782%的平均值是MNIST排列不变版本报告的最佳结果,尽管在统计上与使用dropout微调DBMs 获得的0.79%的结果没有区别。

之后作者做了一个实验,没太看懂什么意思。。。。

用原来的模型生成的对抗样本作用在原来的模型上,错误率是89.4%,但是作用在使用对抗样本训练的模型上,错误率是17.9%。用对抗样本训练的模型去生成对抗样本,作用在原来的模型上,错误率是40.9%,作用在用对抗样本训练的模型上,错误率是19.6。
但是对抗训练的模型对对抗样本错误的分类时,它的预测仍然是高度自信的。我们还发现,学习模型的权值发生了显著的变化,而对抗训练模型的权值显著地更具局部性和可解释性。
论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第7张图片
这个就是直观的用对抗样本训练的图,还是比较明显能看出来,用对抗样本训练的更干净了。

事实上,在许多情况下,噪声实际上会导致一个较低的目标函数值。我们可以把对抗性训练看作是在一组有噪声的输入中进行艰难的例子挖掘,以便通过只考虑那些强烈抵制分类的有噪声的点来更有效地训练。

由于sign function导数处处为零或无定义,基于快速梯度符号法对敌对目标函数的梯度下降不允许模型预测对手对参数变化的反应。

作者又考虑了是扰动输入或隐藏层,或者两者都扰动更好,作者发现:

在饱和模型(如Rust模型)上,对输入的扰动与对隐藏层的扰动执行得相当。基于旋转隐藏层的扰动解决了无界激活增长的问题,使相加的扰动相对较小。作者能够成功地用隐含层的旋转扰动训练最大输出网络。然而,这并没有产生几乎强大的正则化效果的添加扰动的输入层。我们对对抗性训练的看法是,只有当模型有能力学会抵制对抗性的例子时,它才显然是有用的,当然只有通用逼近定理适用时,才会出现这种情况。由于神经网络的最后一层,即linear-sigmoid或linear-softmax层,并不是最终隐含层函数的通用逼近器,这表明当对最终隐藏层应用对抗性扰动时,很可能会遇到不匹配的问题。使用隐含层的扰动训练的最佳结果从未涉及到最后隐含层的扰动。

7 DIFFERENT KINDS OF MODEL CAPACITY

对抗样本是违反直觉的可能是因为我们在高维空间的直觉非常差(毕竟我们在三维空间),但是作者举出来一个RBF神经网络的例子,RBF对于对抗样本的攻击很不敏感,他本身预测的置信度就非常低,所以作者认为它会对自己不理解的点减少置信度来提高准确率。
RBP网络:
在这里插入图片描述
对于一个没有隐含层的浅层RBF神经网络,使用快速梯度符号法构造对抗样例,设置干扰系数=.25 ,在MNIST数据集上,其错误率为55.4%,但是对于分错的样本,其置信度非常低,只有1.2%。也就是说,RBF神经网络对对抗扰动不敏感,因为当它们被“愚弄”时,其对应的置信度也很低。

8 WHY DO ADVERSARIAL EXAMPLES GENERALIZE?

对抗性示例的一个有趣的方面是,为一个模型生成的示例经常被其他模型分类错误,即使它们有不同的架构或者是在不相交的训练集上训练的时候也是如此。此外,当这些不同的模型对一个敌对的例子进行错误的分类时,它们通常会在其类别上达成一致。基于极端非线性和过拟合的解释不能很好地解释这种行为——为什么多个具有过过容量的极端非线性模型始终如一地用相同的方式标记分布外的点?

在线性的观点下,对抗样本出现在广阔的子空间中。方向只需要有正的点积与成本函数的梯度,并且干扰系数只要足够大就行了。图4展示了这种现象。
论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第8张图片
通过追踪干扰系数的不同值,可以看到,对几乎任何足够大的干扰系数值,只要朝着正确的方向前进都可靠地出现对抗样本。大多数Rn都是由对抗样本和无用的类样本组成(参见附录)。这个图片是一个原始的的训练maxout网络生成的。
论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)_第9张图片

9 ALTERNATIVE HYPOTHESES

这一部分,作者通过实验及分析,反驳了其他两种对抗样本存在的备选假设。

  • 假设1:生成训练可以在训练过程中提供更多的限制,或者是的模型学习如何分辨"real"或者"fake"的数据,并且对"real"的数据更加自信。

文章表明,某些生成训练并不能达到假设的效果,但是不否认可能有其他形式的生成模型可以抵御攻击,但是确定的是生成训练的本身并不足够。

  • 假设2:对抗样本存在于单个奇怪的模型(models with strange quirks),因此多个模型的平均可以使得模型防御性更好。

文章通过实验说明,模型融合(ensembles)对于对抗样本的防御能力非常有限。

10 SUMMARY AND DISCUSSION

  • 对抗样本可以被解释成高维点乘的一种性质,他们是模型过于线性的结果。
  • 对抗样本具有对不同模型都有效的特性,这个特性是可解释的。
  • 扰动的方向十分重要。
  • 没明白意思。
  • 我们介绍了一族快速生成对抗样本的方法。
  • 通过对抗样本训练可以正则化,甚至比dorpout的好。
  • 我们进行了实验不能用其他方法更简单的更少的高效正则化(包括L1)达到这个效果。
  • 模型容易被优化就容易被扰动。
  • 线性模型抵抗对抗样本能力差,只有大量隐藏层的网络才应该被训练成抵抗对抗样本的网络。
  • RBF神经网络对对抗样本有抵抗力。
  • 输入加噪音并不难抵抗对抗样本。
  • Ensembles不能抵抗对抗样本。

基于梯度的优化是现代人工智能的核心。使用一个设计得足够线性的网络——无论是ReLU网络还是maxout网络、LSTM网络,还是精心配置的不过度饱和的s型网络——我们能够适应我们关心的大多数问题,相反例子的存在表明,能够解释训练数据,甚至能够正确标注测试数据,并不意味着我们的模型真正理解了我们要求它们执行的任务。相反,他们的线性反应在数据分布中没有出现的点上过于自信,而这些自信的预测通常是高度不正确的。这项工作表明,我们可以通过明确地识别问题点并在每个问题点上修正模型来部分地修正这个问题。然而,我们也可以得出这样的结论:我们所使用的模范家庭在本质上是有缺陷的。优化的易用性是以模型容易被误导为代价的。这激发了优化程序的开发,这些程序能够训练那些行为在局部更稳定的模型。

总结:

优点:这篇论文中,Goodfellow否定了Szegedy关于为什么神经网络易受到对抗样例攻击的解释,他认为神经网络在高维空间中线性性质才是导致对抗样例存在的真正原因。基于这种解释,Goodfellow提出了一种快速生成对抗样例的方法,即快速梯度符号法(FGSM),这种方法的核心思想是沿着梯度的反方向添加扰动从而拉大对抗样例于原始样本的距离,因为Goodfellow认为在构造对抗样例时,我们更应该关心的是扰动的方向而不是扰动的数目。Goodfellow认为对抗样例之所以有泛化性的原因是因为添加的扰动与模型的权重向量高度一致,而且不同的模型在被训练执行相同的任务时,从训练数据中学到的东西相似。在这篇文章中,Goodfellow提出了对抗训练的思想,他认为对抗训练会导致训练过程中的正则化,而且其效果甚至超过了dropout 。

不足:这篇文章中提出的快速梯度符号法存在明显的缺点,首先,这是一种不定向的攻击,只能让模型出错而无法做到定向攻击。而且这种攻击的鲁棒性不强,添加的扰动容易在图片的预处理阶段被过滤掉。尽管Googdfellow提出的对抗训练方式可以提高模型的泛化能力,从而在一定程度上防御对抗样例攻击,但这种防御方法只针对一步对抗样例攻击有效,攻击者仍可以针对新的网络构造其他的对抗样例。

你可能感兴趣的:(图像识别系统对抗,计算机视觉,神经网络,安全,机器学习,深度学习)