python - 从 Cleverhans 攻击模型生成对抗数据

标签 python tensorflow machine-learning deep-learning cleverhans

我想要一个代码示例来说明如何从聪明的汉斯的对抗性攻击中生成训练数据。

adv_x = fgsm.generate_np(X_test, **fgsm_params)

这会生成对抗性 x 数据,但我如何获得 y?

adv_pred = model.predict_classes(adv_x)

这会给出“愚弄”的结果,对吗?

我想要的是正确显示生成的 x、y、愚弄的 y(我的意思是模型预测的结果可能因攻击而错误)。顺便说一句,我正在使用 Mnist,如果有帮助的话。

最佳答案

根据您分享的代码片段,我提出两个建议:

  • 在测试数据上训练模型通常不是一个好主意(如果您之后要使用该测试数据来评估其性能),因此我会将 X_test 替换为 X_train 在你的第一行。

  • 要获取对抗性示例的标签,您可以使用训练数据的原始标签或模型对原始训练数据的预测model.predict_classes(X_train) (这假设对抗性示例没有受到足够的干扰来更改输入的标签)。

关于python - 从 Cleverhans 攻击模型生成对抗数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53827086/

相关文章:

python - 导入错误 : No module named 'selenium'

python - 如何在Python中旋转标签以跟随轮廓?

tensorflow - 张量板标量看起来一团糟

python - 在 Python 中更新 ARIMA 预测

python - 最小 pyhf 示例失败并显示 'Inequality constraints incompatible'

tensorflow - Keras 模型输出恒定值作为预测

python - 尽管我提供的形状看起来正确,但尝试进行预测时,TensorFlow/Keras模型错误,原因是形状不匹配

machine-learning - 为什么我会得到负信息增益?

r - 具有多个 ARFF 文件的 WEKA 预测

xcode - 机器学习模型错误预测