论文笔记(五)《explaining and harnessing adversarial examples》

2020.03.23陆陆续续的在读论文了,参考了其他人分享的读书笔记,但是还是没怎么读懂,理不清思路。继续读吧
《解释和利用对抗样本》
基础知识
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

abstract
包括神经网络在内的几个机器学习模型,通过对数据集中的例子施加小的但故意的最坏情况的扰动,不断地对对抗示例输入进行错误分类,这样,受扰动的输入导致模型输出一个高可信度的错误答案。早期对这一现象的解释主要集中在非线性和过拟合上。相反,我们认为神经网络易受对抗干扰的主要原因是它们的线性性质。这种解释得到了新的定量结果的支持,同时给出了关于它们最有趣的事实的第一个解释:它们在架构和训练集上的泛化。此外,该视图还提供了一种生成对抗性实例的简单而快速的方法。利用该方法为对抗训练提供了实例,减少了在MNIST数据集上maxout网络的测试集误差。

  1. 介绍
    Szegedy等人(2014b)有一个有趣的发现:几种机器学习模型,包括最先进的神经网络,都容易受到敌对例子的攻击。也就是说,这些机器学习模型对样本进行了错误的分类,这些样本与从数据分布中提取的正确分类的样本仅略有不同。在许多情况下,在训练数据的不同子集上训练的具有不同架构的各种各样的模型会对相同的对抗例子进行错误分类。这表明对抗例子暴露了我们训练算法中的基本盲点。
    这些对抗例子的原因是一个谜,推测的解释表明,这是由于深度神经网络的极端非线性,可能与模型平均不足和纯监督学习问题的不足正则化相结合。我们证明这些推测性的假设是不必要的。高维空间中的线性行为足以引起对抗例子。这一观点使我们能够设计一种快速生成对抗实例的方法,使对抗训练变得切实可行。我们发现对抗训练可以提供比单独使用dropout (Srivastava et al., 2014)更大的正规化益处。一般的正则化策略,如退出、预训练和模型平均,并不能显著减少模型对敌对例子的脆弱性,但改变到非线性模型家族,如RBF网络,可以做到这一点。
    我们的解释表明,设计模型容易训练,因为它们是线性的,而设计模型使用非线性效应来抵抗对抗扰动之间存在一种基本的张力。从长远来看,通过设计更强大的优化方法来成功地训练更多的非线性模型,可以避免这种权衡。

  2. 相关工作
    Szegedy等人(2014b)演示了神经网络和相关模型的各种有趣特性。与本文件最相关的包括:
    Box-constrained L-BFGS可以可靠地找到对抗的例子。
    在一些数据集上,如ImageNet (Deng et al., 2009),对抗例子与原始例子非常接近,以至于人眼无法分辨出差异。
    同一对抗实例经常被具有不同架构的各种分类器错误分类,或者在训练数据的不同子集上训练。
    浅的softmax回归模型也容易受到敌对例子的影响。
    对抗式例子的训练可以正则化模型,但这在当时并不实用,因为需要在内部循环中进行昂贵的约束优化。
    这些结果表明,基于现代机器学习技术的分类器,即使是那些在测试集上获得优异性能的分类器,也没有学习到决定正确输出标签的真正底层概念。相反,这些算法建立了一个Potemkin village,它可以很好地处理自然发生的数据,但当人们访问空间中数据分布中概率不高的点时,就会暴露出它是假的。这尤其令人失望,因为计算机视觉中一个流行的方法是使用卷积网络特征作为一个空间,其中欧几里德距离接近感知距离。如果感知距离非常小的图像在网络的表示中对应的是完全不同的类别,那么这种相似性显然是有缺陷的。
    这些结果经常被解释为深层网络的缺陷,特别是,即使线性分类器也有同样的问题。我们把对这个缺陷的了解看作是一个修正它的机会。事实上,顾,Rigazio(2014)和Chalupka等人(2014)已经开始了设计抵抗对抗摄动的模型的第一步,尽管还没有模型成功做到这一点,同时在清洁输入上保持最先进的准确性。
    3. 对抗样本的线性解释
    在这里插入图片描述
    4 非线性模型的线性扰动
    (以下属于对抗样本的攻击方法)
    作者利用对抗样本的线性解释提出了一个快速产生对抗样本的方式,也即Fast Gradient Sign Method(FGSM)方法。
    对抗样本的线性视图提供了一种快速生成它们的方法,这意味着扰动在线性状态下更容易成功干扰模型判断结果。
    这部分内容提出了快速梯度符号法(FGSM)来生成对抗样本。设 θ为模型的参数,x为模型的输入,y为与x相关的目标(有目标的机器学习任务),J(θ,x,y)为训练神经网络的成本函数。我们可以将成本函数在θ的当前值附近线性化,得到的最优最大范数约束扰动。这个方法是通过使成本函数J(θ,x,y)变大从而达到目的。对这个公式的解释可以参照下图:
    在这里插入4.1图片描述
    在这里插入图片描述
    通过在ImageNet上的实验,表明这种方法确实会导致各种各样的模型对它们的输入进行错误分类,图1以作ImageNet的示范,我们发现使用ε=0.25,我们使一个浅softmax分类器在MNIST测试集上的错误率为99.9%,平均置信度为79.3%。在相同的设置中,maxout网络错误分类了89.4%的对抗例子,平均置信度为97.6%。相似的,使用ε=0.1,在预处理版本的cifar10 (Krizhevsky & Hinton, 2009)测试集上使用卷积maxout网络时,我们获得了87.15%的错误率和96.6%的平均概率分配给不正确的标签。还可以用其他简单的方法来提出对抗性的例子。例如,我们还发现,在梯度方向上旋转x小角度确实会产生对抗的例子。
    这些简单、廉价的算法能够生成错误分类的例子,这一事实作为证据,有利于我们对线性结果的对抗性例子的解释。这种算法在加速对抗训练,甚至只是分析训练有素的网络方面也很有用。

  3. 线性模型与权值衰减的对抗训练
    (对抗样本的防御)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    L1正则化:
    在这里插入图片描述

  4. 深层网络的对抗训练
    认为深度网络容易受到对抗例子的攻击的批评在某种程度上是被误导的,因为与浅线性模型不同,深度网络至少能够表示抵抗对抗扰动的函数。通用近似器定理(Hornik et al., 1989)保证了至少有一个隐层的神经网络可以表示任意程度的函数,只要隐层允许有足够的单位。浅线性模型不能在训练点附近成为常数,同时对不同的训练点分配不同的输出。
    当然,通用近似器定理并没有说明训练算法是否能够发现具有所有期望性质的函数。显然,标准监督训练并没有指定所选的函数对对抗例子具有抵抗力。这必须以某种方式编码在训练过程中。
    Szegedy等人(2014b)表明,通过混合使用对抗例子和清晰例子进行训练,神经网络可以在一定程度上得到正则化。对抗性例子的训练与其他数据增强方案有些不同;通常,我们会使用转换来增加数据,例如预期在测试集中实际发生的转换。这种形式的数据增加使用的输入不太可能自然发生,但暴露了模型概念化其决策功能的方式上的缺陷。在当时,这一程序从来没有证明在一个先进的基准的状态下,然而,这部分是因为很难用基于L-BFGS的昂贵的对抗性例子进行广泛实验。我们发现基于快速梯度符号法的对抗性目标函数训练是一种有效的正则化方法。
    在这里插入图片描述这种对抗训练的方法意味着在训练过程中不断更新对抗样本,从而使得当前模型可以抵御对抗样本。
    在我们所有的实验中,我们使用α = 0.5。其他价值观可能更有效;我们最初对这个超参数的猜测已经足够好了,所以我们觉得没有必要进行更多的探索。这种方法意味着我们要不断地更新对抗性的例子,以使它们抵制当前的模型版本。利用该方法训练一个同样使用dropout正则化的maxout网络,我们能够将错误率从没有进行对抗训练的0.94%降低到进行对抗训练的0.84%。
    我们观察到我们没有达到零错误率的对抗例子在训练集上。我们通过做两个改变来解决这个问题。首先,我们将模型放大,每层使用1600个单位,而不是原始maxout网络用于这个问题的240个单位。在没有对抗训练的情况下,这使得模型稍微过拟合,在测试集上的错误率为1.14%。在对抗性训练中,我们发现验证集的误差随着时间的推移趋于平稳,并且取得了非常缓慢的进展。原始的maxout结果使用了早期停止,并在验证集错误率100个epoch没有下降后终止学习。我们发现,虽然验证集的误差非常平缓,但对抗验证集的误差却不是这样。因此,我们在对抗验证集错误时使用早期停止。使用这个标准来选择要训练的epoch的数量,然后我们对所有60000个示例进行重新训练。五个不同的培训运行使用不同的随机数生成器的种子用于选择minibatches训练的例子,初始化权重模型,并生成辍学面具导致四个试验都有0.77%的错误率在测试集和一个试验0.83%的错误率。平均值为0.782%是MNIST置换不变版本报告的最佳结果,尽管与使用dropout微调DBMs (Srivastava et al., 2014)获得的结果在统计学上没有区别(0.79%)。
    该模型也变得对敌对的例子有一定的抵抗力。回想一下,在没有对抗性训练的情况下,基于快速梯度符号法的同类模型对抗性实例的错误率为89.4%。在对抗性训练中,错误率下降到17.9%。对抗例子在两个模型之间是可转移的,但对抗训练的模型表现出更强的鲁棒性。通过原模型生成的对抗实例对对抗训练模型的错误率为19.6%,而通过新模型生成的对抗实例对原模型的错误率为40.9%。当敌方训练的模型确实对敌方的例子进行了错误的分类时,不幸的是,它的预测仍然是高度自信的。错误分类样本的平均置信度为81.4%。我们还发现,学习模型的权值发生了显著变化,对抗训练模型的权值明显更本地化和可解释性(见图3)。
    对抗性训练程序可以被看作是在数据受到对手干扰时最小化最坏情况下的错误。这可以被解释为学习玩对抗游戏,或者最小化期望成本的上界在有噪声的样本上
    在这里插入图片描述
    添加到输入中。对抗训练也可以被视为主动学习的一种形式,其中模型能够要求在新的点上标注。在这种情况下,人类标记器被从附近点复制标签的启发式标记器取代。

7.不同型号的容量
对抗性例子的存在似乎违反直觉的一个原因是,我们大多数人对高维空间的直觉都很差。我们生活在三维空间中,所以我们不习惯将数百个维度的小影响叠加起来产生大的影响。我们的直觉还有另一种不好的地方。许多人认为容量低的模型不能做出许多不同的有把握的预测。这是不对的。一些容量低的模型确实表现出这种行为。例如浅层RBF网络
在这里插入图片描述
只能自信地预测正类存在于μ附近。在其他地方,他们默认会预测类缺席,或者对类的预测缺乏信心。RBF网络自然地对敌对例子免疫,在某种意义上说,当它们被愚弄时,它们有低自信。利用快速梯度符号法生成的对抗性实例,在MNIST上得到无隐藏层的浅层RBF网络,错误率为55.4%,ε=0.25.然而,它对错误例子的信心只有1.2%。它对干净测试实例的平均信心为60.6%。我们不能期望一个容量如此低的模型在空间的所有点上都得到正确的答案,但它确实通过在它不“理解”的点上大幅降低信心来正确地做出反应。
不幸的是,RBF单元对于任何重要的转换都不是不变的,因此它们不能很好地泛化。我们可以把线性单位和RBF单位看作精度-召回权衡曲线上的不同点。线性单元通过对某一方向的每一个输入做出响应来实现高召回率,但由于在不熟悉的情况下响应过于强烈,可能会导致低准确率。RBF单元通过只对空间中的特定点做出响应来实现高精度,但这样做牺牲了回忆。受到这个想法的激励,我们决定探索各种涉及二次单元的模型,包括深度RBF网络。我们发现这是一个困难的任务非常模型,它具有足够的二次抑制来抵抗对抗摄动,在使用SGD进行训练时获得了较高的训练集误差。
8.为什么对抗性的例子具有普遍性?
对抗性示例的一个有趣方面是,为一个模型生成的示例经常被其他模型错误分类,即使它们有不同的架构或在不相交的训练集上训练。此外,当这些不同的模型对一个敌对的例子进行错误的分类时,它们通常会在其类别上达成一致。基于极端非线性和过拟合的解释不能很容易地解释这种行为,为什么多个具有过剩容量的极端非线性模型应该以相同的方式一致地标记非分布点?这种行为尤其令人惊讶,因为在这个假设中,对抗例子很常见,但只发生在非常精确的位置。在线性的观点下,对抗的例子发生在广阔的子空间中。方向η只需要与代价函数的梯度有正的点积,并且只需要足够大。图4展示了这一现象。通过追踪不同的值,我们看到对抗的例子发生在由快速梯度符号方法定义的一维子空间的毗连区域,而不是在细小的区域。这解释了为什么对抗例子是丰富的,为什么一个分类器误分类的例子有一个相当高的先验概率被另一个分类器误分类。为了解释为什么多个分类器将相同的类分配给敌对的例子,我们假设用当前方法训练的神经网络都类似于在同一训练集上学习的线性分类器。当在训练集的不同子集上训练时,这个参考分类器能够学习大致相同的分类权值,这只是因为机器学习算法能够泛化。底层分类权值的稳定性反过来又会导致对抗性例子的稳定性。为了验证这一假设,我们在一个深maxout网络上生成了对抗例子,并使用一个浅softmax网络和一个浅RBF网络对这些例子进行分类。对于maxout网络误分类的例子,RBF网络预测maxout网络的分类准确率仅为16.0%,而softmax分类器预测maxout网络的分类准确率为54.6%。这些数字很大程度上是由不同模型的错误率所决定的。如果我们不考虑两个模型比较都出错的情况,那么softmax回归预测maxout类的概率为84.6%,而RBF网络预测maxout类的概率仅为54.3%。相比之下,RBF网络对softmax回归类的预测率为53.6%,因此它对自身行为具有很强的线性成分。我们的假设并不能解释所有的maxout网络错误或所有的跨模型泛化的错误,但很明显,它们中的很大一部分与线性行为是跨模型泛化的主要原因是一致的。
9.可供替代的假设
我们现在考虑并驳斥一些存在对抗性例子的替代假设。
首先,一种假设是生成性训练过程可以为训练提供更多的约束或者让模型学会如何区分真实数据和虚假数据,并只对真实数据有信心。MP-DBM (Goodfellow et al., 2013a)提供了一个很好的模型来检验这一假设。其推理过程在MNIST上获得了较好的分类正确率(错误率为0.88%)。这个推理过程是可微分的。其他生成模型要么具有不可微分的推理过程,使计算对抗性实例变得更加困难,要么需要额外的非生成鉴别器模型来获得MNIST上的良好分类精度。在MP-DBM的情况下,我们可以确定生成模型本身是对对抗的例子作出反应,而不是最上面的非生成分类器模型。我们发现模型在对抗例子面前是脆弱的。在0.25的情况下,我们发现从MNIST测试集生成的对抗示例的错误率为97.5%。其他形式的生成性培训可能会带来阻力,但很明显,仅仅是生成性的事实是不够的。
关于对抗性例子存在的另一个假设是,**单个模型有奇怪的怪癖,但对许多模型平均可能会导致对抗性例子被淘汰。**为了验证这一假设,我们在MNIST上训练了一个包含12个maxout网络的集合。每个网络使用不同的种子来训练随机数生成器,用于初始化权重,生成dropout mask,并选择用于随机梯度下降的小批量数据。该集合在干扰整个集合的对抗性实例上的错误率为91.1%,ε=0.25。如果我们使用对抗的例子,只干扰集合中的一个成员,错误率下降到87.9%。合奏只能提供有限的抵抗对抗摄动。
在这里插入图片描述
上图表明,**在不同的 ε 下,可以看到FGSM可以在一维的连续子空间内产生对抗样本,而不是特定的区域。**这就解释了为什么对抗样本特别多,以及对抗样本transferability存在的原因。
另外,为了解释为什么不同的分类器将对抗样本误分类到同一个类,作者假设目前的方法训练神经网络都类似于在同一个训练集上学习的线性分类器。由于机器学习算法的泛化能力,所以线性分类器可以在训练集的不同子集上训练出大致相同的分类权重。底层分类权重的稳定性反过来又会导致对抗样本中的稳定性。
10.总结讨论
作为总结,本文作了以下观察:
对抗性例子可以解释为高维点积的一个性质。它们是模型过于线性而非非线性的结果。
对抗例子在不同模型中的泛化可以解释为对抗扰动与模型权重向量高度一致,不同模型在执行相同任务时学习相似的函数。
扰动的方向,而不是空间中特定的点,是最重要的。空间中并没有充满对抗式的例子,这些例子很好地平铺了有理数这样的实数。
因为这是最重要的方向,对抗扰动可以在不同的例子中推广。
我们已经介绍了一组快速方法来生成对抗例子。
我们已经证明对抗训练可以导致正规化;甚至比退出更正规。
我们已经运行了控制实验,未能重现这种效果与更简单但效率较低的正则化器,包括L1权值衰减和添加噪声。
容易优化的模型容易受到干扰。线性模型缺乏抵抗对抗扰动的能力;只有具有隐藏层的结构(即适用通用近似器定理的结构)才应该被训练来抵抗对抗摄动。
RBF网络可以抵抗敌对的例子。训练为输入分布建模的模型不能抵抗对抗的例子。
集合并不抵抗对抗的例子。
一些关于垃圾类例子的进一步观察在附录中提出:垃圾类例子是无处不在的,很容易产生。
浅层的线性模型不能抵抗垃圾类例子。RBF网络对垃圾类例子是有抵抗力的。
基于梯度的优化是现代人工智能的主力。使用网络,设计了线性是否足够ReLU或maxout网络,一个LSTM,或乙状结肠网络已经仔细配置的不饱和太多我们可以适合大多数我们所关心的问题,至少在训练集上。对抗性例子的存在表明,能够解释训练数据,甚至能够正确地标记测试数据,并不意味着我们的模型真正理解我们要求它们执行的任务。相反,他们的线性响应在数据分布中没有出现的点上过于自信,而这些自信的预测往往是高度错误的。这项工作表明,通过显式地确定问题点并在每个点上修正模型,我们可以部分地修正这个问题。然而,我们也可以得出结论,我们使用的模型族在本质上是有缺陷的。简化优化的代价是模型容易被误导。这激发了优化过程的开发,这些过程能够训练那些行为在局部更稳定的模型。
参考文献:
【1】深入理解L1,L2正则化https://www.cnblogs.com/zingp/p/10375691.html
【2】学术论文报告https://www.cnblogs.com/gris3/p/12582303.html
【3】学术论文笔记https://zhuanlan.zhihu.com/p/32784766

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值