1. 程式人生 > >實驗二:對Inception v3模型的對抗樣本

實驗二:對Inception v3模型的對抗樣本

轉載自知乎:

TensorFlow 教程 #11 - 對抗樣本

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

本文主要演示瞭如何給影象增加“對抗噪聲”,以此欺騙模型,使其誤分類。

實驗程式碼:http://localhost:8888/notebooks/1/TensorFlow-Tutorials-master/cqx10.30.ipynb#對Inception-v3模型的對抗樣本

原始程式碼:C:\Users\Josie\AppData\Local\Programs\Python\Python35\Scripts\1\TensorFlow-Tutorials-master\11_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圖中建立一個噪聲變數,這樣它就能被優化。
  • 向朋友解釋什麼是對抗樣本以及程式如何找到它們。