对抗攻防经典之二:Explaining and harnessing adversarial examples

本文提出一种经典的对抗样本生成方法——FGSM 算法。该算法(Goodfellow et al., 2014)是一种无目标攻击算法,通过在原有样本的基础上计算得到一个扰动,使得加上扰动后的样本被分类到错误的类别。为了方便地表示FGSM算法,定义扰动后的样本为 x’=x+r,其中 x 表示原样本, r 为扰动。显然,对于可区分的类别来讲,当满足||r||_∞ < e(e表示足够小的值),我们希望分类器将 x 和 x’ 识别为相同的类别。

算法假设神经网络由于过于线性的缘故无法抵抗线性对抗扰动,譬如LSTMs(Hochreiter & Schmidhuber, 1997),ReLUs(Glorot et al., 2011)和maxout 网络(Goodfellow et al., 2013)等,为了便于优化,都采用了非常线性的方式,线性的本质使得通过分析线性模型的扰动可以实现对神经网络的攻击。设 p 表示模型的参数,x 表示模型的输入,y 表示输入 x 时模型对应的输出,J(p, x, y) 表示模型训练时的损失。此时可以将当前 p 下的损失函数线性化,从而得到最优的最大模扰动

r= e ⋅ sign(∇_x J(p, x, y))
其中sign(⋅)表示取符号操作,定义sign(0) = 0。

FGSM方法产生对抗样本示例,本图来自(Goodfellow et al., 2014)

上图是FGSM方法在ImageNet上生成的对抗样本示例,左边的图片以57.7%的置信度被模型分类为熊猫,中间的图片是利用FGSM方法计算得到的扰动,右边的图片是扰动后的样本,模型以99.3%的置信度将其分类为长臂猿。

引用:

Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. “Explaining and harnessing adversarial examples (2014).” arXiv preprint arXiv:1412.6572.