对克利夫汉快速梯度法(FGM)的质疑,对抗性图像生成

2024-06-16 12:47:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个keras模型(CNN和final softmax)是一个RGB图像分类器。模型的输出是输入图像的5个可能类别(一个热编码)。 我试图用Cleverhans(tensorflow library)为我的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 param是输入变化步骤(一个图像值/像素的最小变化)。在

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

在低eps的情况下,FGM有时无法获得有效的对抗性图像,也就是说,具有标签lO的FGM无法产生具有lO'的对抗图像O'!=lO,例如,对于lO=[0,0,1,0,0],我们仍然得到lO'=[0,0,1,0,0],未能生成具有不同标签的敌对图像。在

问题(很抱歉,该问题需要一系列问题):

  • 女性生殖器切割总是能找到一个有效的敌对形象吗?i、 女性生殖器切割失败是正常的吗?在
  • 有没有一种方法可以获得生成的敌方图像的估计质量(不使用模型进行预测)?在
  • 为什么每股收益的价值如此重要?在
  • 最重要的方法是什么?

第2章,y,y\u目标

我还实验了yy峎靶参数。 你能解释一下什么是参数'y''y_target'?在

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

  • 我说得对吗。。或者
  • 我错过什么了吗?在

附言:我的问题是,设定你的目标无法产生对抗性的画面。在

请给我一些提示。。;-) 问候


Tags: 模型图像imagelomodelsession对抗性标签
1条回答
网友
1楼 · 发布于 2024-06-16 12:47:25

我从克利夫汉的开发者那里得到了答案,我引用了他们的答案:

第一章:

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

由于各种原因,攻击无法找到敌方图像,一个常见的原因是梯度掩蔽。你可以在这个blog post和这个paper以及这个paper中读到。在

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

您可以在BasicIterativeMethod中找到FGSM的多步骤变体

第二章:

y用于在无目标攻击的情况下指定标签(任何错误的类都被视为对手的成功),而y\u target则用于指定目标攻击案例中的目标类(只有当模型在所选类中进行特定的错误分类时,对手才会成功)。在

通常情况下,目标攻击比无目标攻击需要更多的扰动(即在FGSM情况下,更高的eps值)。在

相关问题 更多 >