关于FGSM构建AE(一步直接,一步间接,迭代)的讨论
0.参考论文
explaining and harnessing Adversarial examples
论文提出了一种简单的对抗样本生成方法-FGSM,并且再利用该攻击方法产生的对抗样本进行对抗训练。
Adversarial Machine Learning at Scale
鉴于FGSM成功率较低,将FGSM改进为目标攻击(通过减少目标类别的loss),还提出了一种BIM(Basic Iterative Methods)方法构建AE
Adversarial examples in the physical world
BIM优点:避免无意义的错分类,降低扰动的噪声
1.fgsm算法
设扰动为η
乘以权重向量w后
为了导致错误分类,我们要最大化wη,所以η的值选用损失函数关于X偏导的符号函数超参数e的形式
所以FGSM算法的数学形式:
fgsm特点:白盒攻击,非目标攻击
原理:
对于某个特定的模型而言,FGSM将损失函数近似线性化(对于神经网络而言,很多神经网络为了节省计算上的代价,都被设计成了非常线性的形式,这使得他们更容易优化,但是这样”廉价”的网络也导致了对于对抗扰动的脆弱性)。
也就是说,即是是神经网络这样的模型,也能通过线性干扰来对它进行攻击。
实验表明,FGSM这种简单的算法确实可以产生误分类的对抗样本,从而证明了作者假设的对抗样本的产生原因是由于模型的线性特性。同时,这种算法也可作为一种加速对抗训练的方法。
2.利用fgsm的深度网络的对抗训练
作者在文中表明,相比于线性模型,深度网络至少可以在训练网络过程中来抵御对抗扰动攻击。文章给一种利用FGSM进行对抗训练的方法:
这种对抗训练的方法意味着在训练过程中不断更新对抗样本,从而使得当前模型可以抵御对抗样本。但是作者表示在训练集上对抗训练的错误率error rate没有达到过0%,作者主要从以下两个方面解决:
增大模型,即使用1600个unit代替240个unit
在validation set上也使用early stopping算法
文章表明,在不进行对抗训练的情况下,模型识别FGSM攻击方法生成样本的错误率是89.4%,但是通过对抗训练,同样的模型识别对抗样本的错误率下降到17.9%。
3.BIM
Goodfellow基于之前的FGSM攻击方法做出了一部分改进。鉴于之前的FGSM的成功率并不高(在imageNet上仅有63%−69%)。Goodfellow做出了一些改进,从原先的以增加原始类别标记的损失函数为目标变为了减少目标类别的损失函数为目标:
其中ytarget是所有类别标记中"最不可能"的标记,可以避免无意义的误分类(将一种狗误分类为另一种狗)
除此以外,还可以通过迭代的方式来增加攻击成功率:
他们将该方法称为Basic Iterative Methods(BIM),后来Madry等人指出这实际上等价于无穷范数版本的Projected Gradient Descent(PGD),这是一个标准的凸优化方法。
作者实验还表明了FGSM的可转移性比BIM的可转移性强很多,这很可能是因为BIM生成的对抗样本太过针对性,因此减少了对抗攻击的泛化能力。这也许为黑箱攻击提供了一些鲁棒性。
除此之外,本论文还有一个重大发现
标签泄漏(label leaking):模型l可以正确分类通过ytrue产生的AE但不能正确分类通过ytarget产生的AE。
可能原因是一步变换过于简单,这种变换被DNN学到,所以作者建议不要直接用ytrue生成AE,而是使用ytarget(不直接接触ytrue)
由于采用iterate方式建立的adversary sample在不同的模型上的attack效果不及one-step,黑盒攻击中建议使用一步攻击
4.一点补充
最后一篇论文与前两篇类似,感觉几个结论才是重点
1.basic iter方式提高ϵϵ带来的收益不大,且当ϵϵ超过一定阈值后,继续提高不会带来明显作用
2.least likely class方式能够在ϵϵ比较小的情况下就能达到有效的攻击结果
3.fast方式会随着ϵϵ的增加而逐渐提高攻击性能,但相比与least likely class方式而言,其提高性能的根本原因是在于破坏了原始图片的大部分信息,如下图.