实验二:对Inception v3模型的对抗样本

转载自知乎:

TensorFlow 教程 #11 - 对抗样本

https://zhuanlan.zhihu.com/p/27241550

本文主要演示了如何给图像增加“对抗噪声”,以此欺骗模型,使其误分类。

实验代码:http://localhost:8888/notebooks/1/TensorFlow-Tutorials-master/cqx10.30.ipynb#对Inception-v3模型的对抗样本

原始代码:C:UsersJosieAppDataLocalProgramsPythonPython35Scripts1TensorFlow-Tutorials-master11_Adversarial_Examples.ipynb

补充练习:

下面使一些可能会让你提升TensorFlow技能的一些建议练习。为了学习如何更合适地使用TensorFlow,实践经验是很重要的。

在你对这个Notebook进行修改之前,可能需要先备份一下。

  • 试着使用自己的图像。
  • 试着在 adversary_example()中使用其他的参数。试试其它的目标类别、噪声界限和评分要求。结果是怎样的?
  • 你认为对于所有的目标类别都能生成它的对抗噪声吗?如何证明你的理论?
  • 试着在find_adversary_noise()中使用不同的公式来计算step-size。你能使优化更快吗?
  • 试着在噪声图像输入到神经网络之前对它进行模糊处理。它能去掉对抗噪声,并且导致再一次的正确分类吗?
  • 试着降低噪声图像的颜色深度,而不是对它做模糊。它会去除对抗噪声并导致正确分类吗?比如将图像的RGB限制在16或32位里,通常是有255位的。
  • 你认为你的噪声消除对MNIST数据集的手写数字或奇特的几何形状有效吗?有时将这些称为'fooling images',上网搜索看看。
  • 你能找到对所有图像都有效的对抗噪声吗?这样就不用为每张图像寻找特定的噪声了。你会怎么做?
  • 你能直接用TensorFlow而不是Numpy来实现find_adversary_noise()吗?需要在TensorFlow图中创建一个噪声变量,这样它就能被优化。
  • 向朋友解释什么是对抗样本以及程序如何找到它们。
原文地址:https://www.cnblogs.com/Josie-chen/p/9894426.html