愛伊米

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

作者:Patrycja Jenkner

翻譯:陳之炎

本文

約2300字

,建議閱讀

8

分鐘

本文將嘗試一種非常流行的攻擊:快速梯度符號方法,來證明神經網路的安全漏洞。

標籤:對抗性攻擊,神經網路

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

本文最初是由亨利·安薩(Henry Ansah)撰寫,釋出在Neptune的部落格上。

Henry Ansah

https://www。linkedin。com/in/henry-ansah-6a8b84167

自神經網路出現以來,它已經成為了機器學習演算法的信條,推動了人工智慧領域的絕大部分技術突破。

神經網路能勝任那些對於人類富有挑戰性的高度複雜的任務,在執行這些任務的同時,表現出非凡的魯棒性。

那麼,神經網路的魯棒效能超越它的初衷嗎?這便是本文需要尋求的答案。

我認為,

工智慧這一交叉領域無法保證絕對安全,事實證明,這也是少數幾個神經網路失敗的原因之一。

在這裡,將嘗試一種非常流行的攻擊:

快速梯度符號方法,來證明神經網路的安全漏洞。首先,來探討不同類別的攻擊。

快速梯度符號方法:

https://arxiv。org/abs/1412。6572

對抗性的攻擊

根據攻擊者對想要攻擊的模型的瞭解程度,可分為幾類攻擊,這其中最受歡迎的兩種攻擊分別是白盒攻擊和黑匣子攻擊。

這兩種攻擊的目的都是透過在網路輸入中加入噪聲, 誘使神經網路做出錯誤的預測。

二者的區別在於訪問整個模型架構的能力,使用白盒攻擊時,可以完全訪問模型架構(權重)以及模型的輸入和輸出。

使用黑匣子攻擊時,對模型的控制程度較低,只能訪問模型的輸入和輸出。

在執行以下兩種攻擊時,需要考慮到以下這些因素:

分類錯誤,在無需考慮預測分類的情況下誘導模型做出錯誤的預測;

源/目標分類錯誤,向影象中新增噪聲,迫使模型預測特定的分類。

快速梯度符號法(FGSM)將白盒法和錯誤分類相結合,誘導神經網路模型做出錯誤的預測。

下面,來看看FGSM是如何工作的。

快速梯度符號法詳解

從名稱上聽起來,FGSM似乎很令人費解,但實際上,FGSM攻擊非常簡單,它包括以下三個步驟:

1。 計算出正向傳播後的損失;

2。 計算出影象畫素的梯度;

3。 沿著使損失最大化的梯度方向微移影象的畫素。

第一步,計算出正向傳播後的損失,這在一般的機器學習專案中非常常見,使用一個負似然損失函式來估計模型的預測結果與實際結果的接近程度。

FGSM的特別之處是,計算影象畫素的梯度,在訓練到神經網路時,利用梯度確定微移的權重的方向,從而減小損失值。

與通常的做法相反,在這裡,調整輸入影象畫素的梯度方向,使得損失值最大化。

在訓練神經網路時,確定權重方向(即損失函式相對於該特定權重的梯度)的最常用方法是將梯度 (輸出部分)反向傳播給權重。

同樣的概念也適用於FGSM,將梯度從輸出層反向傳播給輸入影象。

在神經網路訓練中,利用以下這個簡單的方程式,透過微移權重來減小損失值:

同樣的概念可以應用於FGSM,根據以下方程式微移影象的畫素值,從而使得損失最大化:

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

在上述影象中,兩個箭頭表示兩種不同的調整梯度方法。左邊的方程,是訓練神經網路的基本方程,計算出的梯度指向了使損失最小化的方向,神經網路訓練方程中的負號確保了梯度指向相反的方向——使損失最小化的方向;右邊的方程則相反,這是一個欺騙神經網路的方程。也就是說,既然想要最大化損失,則以其自然的形式來應用梯度。

這兩個方程式之間有許多差異,最主要的區別是加減法。利用方程2,將畫素推向與損失最小化的方向相反的方向。這樣做,就是在告訴模型只做一件事——做出錯誤的預測!

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

在上圖中,x表示希望模型錯誤預測的輸入影象,影象的第二部分表示損失函式相對於輸入影象的梯度。

記住,梯度只是一個方向張量(它提供有關微移方向的資訊)。為了增強微移效應,用一個非常小的值epsilon乘以梯度,(上述影象中為0。007),然後將結果新增到輸入影象中,就是這樣!

輸出結果影象可以簡單表示為:

對上文做一個總結之後,接下來將做一些編碼,誘導神經網路做出錯誤的預測:

神經網路前向傳播影象;

計算出損失;

將梯度反向傳播給影象;

在損失值最大的方向上微移影象的畫素。

這樣做之後,便相當於告訴神經網路對影象做出相反的預測。

值得注意的是,噪聲對結果影象上的影響程度取決於epsilon,epsilon值越大,噪聲就越明顯。

增加epsilon值,也會加大網路做出錯誤預測的可能性。

程式碼

在本教程中,將使用TensorFlow來構建整個管道,將重點關注程式碼中最重要的部分,而不涉及與資料處理相關的部分。首先,載入TensorFlow的MobileNetV2模型:

將模型的可訓練屬性設定為假,這意味著無法訓練模型,任何透過改變模型引數以欺騙模型的操作都會失敗。

可以將影象視覺化,以瞭解不同的epsilon值是如何影響預測以及影象的性質,下述簡單的程式碼片段便能處理這個問題。

接下來,載入影象,透過模型執行它,並獲得影象的損失梯度。

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

列印signed_grad顯示出張量。有些張量為正,另一些帶有負號,這表明梯度僅對影象施加了方向效應。將影象繪製出來,顯示如下圖片:

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

有了梯度之後,便可以在與梯度方向相反的方向上微移影象畫素。

換句話說,即在損失最大化的方向上微移影象畫素。在不同的epsilon值下對預測進行攻擊,當epsilon=0時,表示沒有執行任何攻擊。

我可以得出以下結果:

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

注意到上面三張圖片中的模式了嗎?

隨著epsilon值的增加,噪聲變得更加明顯,對錯誤預測的置信度也隨之增加。

這一方法成功地愚弄了最先進的模型,在沒有對模型作任何改動的情況下,使之做出錯誤的預測。

在這裡,透過一個小實驗來確認上面討論的概念。在這裡,不將畫素與epsilon相乘再和梯度相加的方法將影象的畫素微移到損失最大化方向,而是利用減法,將影象的畫素微移到損失最小化的方向(image-eps*signed_grad)。

測試的結果如下:

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

獨家 | 神經網路的對抗性攻擊:快速梯度符號方法的探索(附連結)

透過將影象畫素微移到使損失最小化的梯度方向上,增加了模型做出正確預測的置信度,置信度從41。82%上升至97。89%。

下一步

自FGSM發明以來,還出現了其它多種具有不同攻擊角度的方法,可以在這裡檢視它們:Survey on Attacks。

Survey on Attacks:

https://arxiv。org/abs/1810。00069

讀者既可以嘗試不同的模型和不同的影象,也可以從零開始構建自己的模型,並嘗試不同的epsilon值。

今天的分享就到這裡,謝謝閱讀!

原文標題:

Adversarial Attacks on Neural Networks: Exploring the Fast Gradient Sign Method

https://medium。com/neptune-ai/adversarial-attacks-on-neural-networks-exploring-the-fast-gradient-sign-method-2ed71e87a1fe?source=topic_page————-9——————————1——————

編輯:王菁

譯者簡介

陳之炎,

北京交通大學通訊與控制工程專業畢業,獲得工學碩士學位,歷任長城計算機軟體與系統公司工程師,大唐微電子公司工程師,現任北京吾譯超群科技有限公司技術支援。目前從事智慧化翻譯教學系統的運營和維護,在人工智慧深度學習和自然語言處理(NLP)方面積累有一定的經驗。業餘時間喜愛翻譯創作,翻譯作品主要有:IEC-ISO 7816、伊拉克石油工程專案、新財稅主義宣言等等,其中中譯英作品“新財稅主義宣言”在GLOBAL TIMES正式發表。能夠利用業餘時間加入到THU 資料派平臺的翻譯志願者小組,希望能和大家一起交流分享,共同進步

轉載須知

如需轉載,請在開篇顯著位置註明作者和出處(轉自:資料派ID:DatapiTHU),並在文章結尾放置資料派醒目二維碼。有原創標識文章,請傳送【文章名稱-待授權公眾號名稱及ID】至聯絡郵箱,申請白名單授權並按要求編輯。

釋出後請將連結反饋至聯絡郵箱(見下方)。未經許可的轉載以及改編者,我們將依法追究其法律責任。