Explaining and Harnessing Adversarial Examples阅读心得(初)

首先,我们看一下这个论文的内容:这篇文章由Goodfellow等人发表在ICLR'2015会议上,是对抗样本领域的经典论文。这篇文章主要提出与之前论文不同的线性假设来解释对抗样本的存在性。同时,论文提出了一种简单的对抗样本生成方法——FGSM,并且再利用该攻击方法产生的对抗样本进行对抗训练。总得来说,这篇文章主要说明的对抗样本的三个方面:1.存在性、2.攻击方法、3.防御方法。

简介

当前机器学习已经被广泛应用在日常生活各个领域,但是Szegedy等人于2014年首先发现当前的机器学习模型包括神经网络等模型容易受到对抗样本(Adversarial Examples)的攻击。所谓对抗样本,即攻击者通过轻微地扰动正常样本产生对抗样本,在且保证该攻击不影响人眼的识别的情况下,达到误导分类器的目的。在当前的研究中,对抗样本的原因产生的原因仍是一个谜。之前很多假设推测对抗样本的产生是因为深度神经网络的极度非线性,可能还结合了监督学习中正则化和模型均化不足等原因。但是本文的作者认为,这种非线性(Nonlinear)的推测解释没有必要,高维空间的线性(Linear Behavior)足够产生对抗样本。根据这个观点,作者设计了一种新的快速产生对抗样本的方法,并且使得对抗学习(Adversarial Training)更实用。这种对抗学习方法提供除了传统正则化方法(dropout, pre-training, model averaging等)外另外一种"正则化方法"。

对抗样本的线性解释

论文介绍了对抗样本存在的线性解释。

因为样本输入特征(input feature)的精度有限(一般图像的每个像素是8bits, 样本中所有低于1/255的信息都会被丢弃),所以当样本 x 中每个元素值添加的扰动值 \eta 小于样本输入特征精度时,分类器无法将样本 x 和对抗样本 \tilde{x} = x + \eta 区分开。也就是对一个分类良好的分类器而言,如果 \epsilon 是一个足够小以至于被舍弃掉的值,那么只要 ||\eta||_{\infty} < \epsilon ,分类器将认为 x 和 \tilde{x} 属于同一个类。下面考虑权重向量 \omega^{T} 和对抗样本 \tilde{x} 的点积为\omega^{T}\tilde{x} =\omega^{T}(x +\eta) = \omega^{T}x + \omega^{T}\eta。可以看出,对抗扰动使得activation增加了 \omega^{T}\eta,作者提出让 \eta = sign(\omega) 从而使 \omega^{T}\eta 最大化。假设权重向量 \omega有 n个维度,且权重向量中元素的平均量值是 m,那么activation将增加\epsilon m n (\Rightarrow\omega^{T}\eta \le n*m*\epsilon )。虽然||\eta||_{\infty}不会随着维度n的变化而变化,但是由\eta导致的activation的增加量\epsilon m n会随着维度n线性增长。那么对于一个高维度的问题,一个样本中大量维度的无限小的干扰加在一起就可以对输出造成很大的变化。所以对抗样本的线性解释表明,对线性模型而言,如果其输入样本有足够大的维度,那么线性模型也容易受到对抗样本的攻击。

非线性模型的线性扰动

作者利用对抗样本的线性解释提出了一个快速产生对抗样本的方式,也即Fast Gradient Sign Method(FGSM)方法。

假设模型的参数值为\theta,模型的输入是 x, y 是模型对应的label值, J(\theta,x,y)是训练神经网络的损失函数。对某个特定的模型参数 \theta 而言,FGSM方法将损失函数近似线性化,从而获得保证无穷范数限制的最优的扰动(即||\eta||_{\infty} < \epsilon ),扰动值具体为:

\eta = \epsilon sign(\nabla_{x} J(\theta,x,y))

图1 FGSM攻击算法在ImageNet数据上的展示[1]

实验表明,FGSM这种简单的算法确实可以产生误分类的对抗样本,从而证明了作者假设的对抗样本的产生原因是由于模型的线性特性。同时,这种算法也可作为一种加速对抗训练的方法。

线性模型的对抗训练

考虑在最简单的逻辑回归(Logistics Regression)模型上应用FGSM方法,从而理解在一个简单的设置中如何生成对抗样本。

 

除了生成对抗样本来攻击神经网络以外,对抗训练神经网络从而有效防止对抗样本的攻击也是一个值得考虑的问题。 
 我们先考虑最简单的逻辑回归模型:如果我们训练一个简单的模型来识别标记 y∈{−1,+1},并且
注意这里与文中相同,选择的标记为{−1,+1}并不是我们平时常用的{0,1},我们可以简单推导一下该情况下的损失函数: 

我们对x求梯度可以得到 :

因此通过FGSM得到的对抗样本为 ,对于对抗样本的损失函数,有:

对于学到足够的置信度的模型来说,即−y(wTx+b)足够小时,ϵ||w||1几乎不起作用。而对于欠拟合的模型来说,则会使得模型更加欠拟合。(还是刚刚那个原因,高维情况下很小的扰动都会使得内积产生很大的变化,而对于L1范数的变化却是极小的,所以很容易就忽略了||w||1)。 
 进一步的,作者基于FGSM生成的对抗样本提出了一个高效的对抗训练方法:

这看起来似乎和将对抗样本和原始样本同时放入训练类似,不过作者的实验表明该方法还是有效的降低了欺骗成功率。 
 对于为什么会有如此大量的对抗样本,Goodfellow的解释是,只要选择的扰动方向正确,并且有足够大的ϵ,则产生的扰动就足够大,就会改变原先的样本标记。我们可以跟踪不同的 ϵ值,可以发现对抗样本出现在不同的连续区域。这就解释了为什么对抗性的例子非常丰富,为什么一个分类器错误分类的例子具有相当高的被另一个分类器错误分类的可能性。 
为了解释为什么多个分类器将同一个类分配给敌对的例子,作者假设用当前方法训练的神经网络都类似于在相同训练集上学习的线性分类器。分类器在训练集的不同子集上训练时能够学习大致相同的分类权重,这仅仅是因为机器学习算法具有泛化能力。但是基础分类权重的稳定性反过来又会导致对抗性例子的稳定性。 

上图表明,在不同的 \epsilon 下,可以看到FGSM可以在一维的连续子空间内产生对抗样本,而不是特定的区域。这就解释了为什么对抗样本特别多,以及对抗样本transferability存在的原因。另外,为了解释为什么不同的分类器将对抗样本误分类到同一个类,作者假设目前的方法训练神经网络都类似于在同一个训练集上学习的线性分类器。由于机器学习算法的泛化能力,所以线性分类器可以在训练集的不同子集上训练出大致相同的分类权重。底层分类权重的稳定性反过来又会导致对抗样本中的稳定性。

该方法在[Adversarial Machine Learning at Scale]这篇文章中进行了一些改进,将one-shot变成了迭代的方式求解;并且将增大原类别标记的损失函数改成减小目标类别标记的损失函数。即: 

其中α是迭代步长。这样增加了FGSM的攻击成功率,称为BIM方法。

对抗样本存在性的其他假设

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

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

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

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

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

转载:https://blog.csdn.net/kearney1995/article/details/79638389

          https://zhuanlan.zhihu.com/p/32784766

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值