FGSM(Fast Gradient Sign Method)生成对抗样本(32)---《深度学习》

来源:互联网 发布:美恰软件 编辑:程序博客网 时间:2024/05/21 18:50

利用FGSM方法生成对抗样本的基本原理如下图所示,通过对原始图片添加噪声来使得网络对生成的图片X’进行误分类,需要注意的是,生成图片X’和原始图片X很像,人的肉眼无法进行辨别,生成的图片X’即为对抗样本!
注意是对X’求偏导,并非X,而且注意loss函数J中的参数是X’和Y’,而不是X和Y!

X’=X+ε*sign(∇X’J(θ,X’,Y’))

这里写图片描述

现在

我们需要考虑如何产生噪声η,有很多种的方法,这里我们采用的是Fast Gradient Sign Method,即通过在梯度方向上进行添加增量来诱导网络对生成的图片X’进行误分类,我们可以通过指定我们期待的分类使得网络针对任何输入图片均产生指定分类的对抗样本,同时也可以不指定期待的分类,只需要使得生成的图片被网络识别为与正确分类不同的分类即可!

针对指定预期分类的对抗样本生成来说,我们需要更改它的loss损失函数,交叉熵损失函数变为:loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y_logits, labels=[pl_cls_target]),通过计算网络对于参数的梯度进行噪声的生成即对抗样本的生成!

推荐:
1)交叉熵代价函数(损失函数)及其求导推导
2)对抗样本与对抗训练
3)手把手教你使用TensorFlow生成对抗样本 | 附源码
4)TensorFlow 教程 #11 - 对抗样本

原创粉丝点击