对快速梯度法(FGM)的怀疑,对抗性图像生成



我有一个keras模型(CNN和最终softmax(,它是一个RGB图像分类器。模型的输出是输入图像的 5 个可能类别(独热编码(。 我正在尝试使用Cleverhans(张量流库(为我的 keras 模型生成对抗性图像。

生成一个对抗性图像的代码的简化版本如下:

# model is the CNN keras model
wrap = KerasModelWrapper(model)
fgsm = FastGradientMethod(wrap, sess=session)
fgsm_params = {'eps': 16. / 256,
'clip_min': 0.,
'clip_max': 1.
}
x = tf.placeholder(tf.float32, shape=(None, img_rows, img_cols,
nchannels))
adv_x = fgsm.generate(x, **fgsm_params)
# original image is a tensor containing only one RGB image, shape=(1,48,48,3) 
adv_image = adv_x.eval(session=session, feed_dict={x: original_image})

第 1 章,每股收益

根据我的理解,"eps">FGM参数是输入变化步骤(一个图像值/像素的最小变化(。

我观察到最终结果受到eps的高度影响,有时我需要高eps才能获得有效的对抗图像,该图像有效地改变了相对于原始图像的类别标签。

对于低EPS,有时FGM无法获得有效的对抗图像,即具有标签为l O的图像O,FGM无法产生带有l O'!= l O的对抗图像O',例如,对于l O = [0,0,1,0,0],我们仍然获得lO'= [0,0,1,0,0],无法生成具有不同标签的对抗图像。

问题(很抱歉,这个问题需要一组问题(:

  • 女性生殖器切割是否总能找到有效的对抗形象?即女性生殖器切割失败是否正常?
  • 有没有办法获得生成的对抗图像的估计质量(不使用模型预测(?
  • 为什么EPS步骤的价值如此重要?
  • 最重要的是:有没有办法告诉女性生殖器切割更努力地搜索对抗性图像(例如,更多步骤(?

第 2 章,y,y_target

我还尝试了yy_target参数。 你能解释一下'y'参数是什么吗,'y_target'

我认为'y_target'告诉我们想要生成一个针对特定类别的对抗性图像。 例如,我认为feed_dict中的y_target = [[0,1,0,0,0]]应该强制生成一个对抗性图像,该图像被归类为模型中的第 2 类。

  • 我说的对吗?或
  • 我错过了什么吗?

PS:我的问题是设置y_target无法产生对抗性图像。

请给我一些提示。 问候

我在 github 上从Cleverhans开发人员那里得到了答案,我在这里引用他们的答案:

第1章:

FGSM(与任何攻击一样(不能保证找到被模型错误分类的对抗性图像,因为它在解决定义对抗性示例的优化问题时会进行近似。

由于各种原因,攻击可能无法找到对抗性图像,一个常见原因是梯度遮罩。您可以在这篇博文、本文和本文中阅读有关它的信息。

eps步长很重要,因为它是扰动的大小。攻击首先计算扰动图像的方向(使用模型的梯度(,然后沿该方向采取大小eps的步骤。因此,eps大致对应于人们直觉上对攻击"威力"的看法。

您可以在BasicIterativeMethod中找到女性生殖器切割的多步骤变体

第2章:

y 用于在非目标攻击的情况下指定标签(任何错误的类都被视为对手的成功(,而y_target用于在目标攻击情况下指定目标类(仅当模型在所选类中进行特定错误分类时,对手才会成功(。

通常情况下,有针对性的攻击比非目标攻击需要更多的扰动(即,在FGSM情况下,eps值更高(。

相关内容

  • 没有找到相关文章

最新更新