對抗樣本是一類被惡意設計來攻擊機器學習模型的樣本。它們與真實樣本的區別幾乎無法用肉眼分辨,但是卻會導致模型進行錯誤的判斷。對抗樣本的存在會使得深度學習在安全敏感性領域的應用收到威脅,如何對其進行有效的防禦是重要的研究課題。我們提出了動量迭代快速符號化梯度法和高層引導去躁算法,分別應用於對抗樣本的攻擊和防禦,取得了NIPS 2017對抗樣本比賽的冠軍。
1.背景知識篇
什麼是對抗樣本?如下圖所示,通過在自然圖片上加入一些人工噪聲來「欺騙」神經網絡,使得神經網絡輸出錯誤的預測結果。
再看下圖的第一行,它表示的是識別不同鳥類的網絡,高亮的部分是網絡中神經元有響應的部位,可以看出響應基本集中在鳥的頭部,即網絡通過識別鳥的頭部特徵來給出預測的鳥類結果。
下圖第二行是一些對抗樣本在該網絡上的表現,可以看到網絡在這些圖像的響應部位與鳥的頭部非常相似,此時網絡會以較高的概率將這些圖像錯誤地識別成某些鳥類。
從上面可以看出,對抗樣本可以用來欺騙網絡,那麼我們如何生成這些對抗樣本來攻擊網絡呢?
一種最簡單的攻擊方法叫做快速梯度法(見下圖),給定一張圖像,輸入給神經網絡,得到預測結果,然後用梯度下降法修改一下原圖使得預測結果變差。
一個推廣的方法叫做迭代梯度法,就是對剛才的過程進行多次重複。這種攻擊稱作白盒攻擊,因為假設攻擊者已經知道了要被攻擊的模型的所有細節。而與之相對的就是黑盒攻擊,顧名思義,攻擊者事先不知道要攻擊網絡的模型和具體細節。
了解完背景知識後,下面我們正式進入NIPS攻防賽的實戰。
比賽共分為三個項目,第一項是targeted attack,給定類別和圖像庫,目標是使得庫中的圖像都被錯分到給定類別上。第二項是non-target attack,即事先不知道需要攻擊的網絡細節,也不指定預測的類別,生成對抗樣本來欺騙防守方的網絡。最後一項是defense,抵禦前兩個項目的攻擊,即需要將前兩個項目生成的對抗樣本分類到正確的類別上。具體的攻防對抗流程和評分標準見下圖:
2.攻擊篇
首先來試一下使用上面提到的FGSM方法進行白盒和黑盒攻擊的效果(見下圖):
其中縱軸表示使用FGSM在這些網絡上生成對抗樣本,給定1000張圖片,每張原始圖片生成一張對抗樣本,即每個網絡生成了1000張對抗抗本。
將縱軸對應的網絡生成的對抗樣本應用在橫軸對應的網絡上,得到正確分類的圖像數目。可以看出紅色的部分(對角線),在不使用對抗樣本訓練時,準確率非常低,但是其推廣性不強,即用自己生成的對抗樣本攻擊自己是有效果的,但是攻擊別的網絡效果不是很好。
接著,我們使用迭代的FGSM方式來生成對抗樣本增加了白盒攻擊的成功率,但是卻降低了黑盒攻擊的成功率。
那麼如何同時保證白盒攻擊成功率和黑盒攻擊成功率呢?我們發現了一個解決方法,即通過在FGSM迭代過程中加入Momentum。公式如下所示:
使用上述動量迭代法後,白盒和黑盒攻擊成功率均有了明顯的上升。最終,促使我們在NIPS攻防賽的targeted attack和non-targeted attack項目中得分遙遙領先,成功奪冠
3.防守篇
剛才我們一直在說如何生成對抗樣本,下面我們來討論如何防禦這些對抗樣本。
實際上,對抗樣本是在原始自然圖像中加入了一些特定的噪聲生成的,這些噪聲並不是人眼不可辨的,我們把圖像局部放大還是能夠明顯看出來存在非常大的差別的。
很自然想到的一個方法來抵禦這些對抗樣本--圖像去噪。目前比較常見的兩種圖像去噪方法:一種是傳統的圖像抗噪方法,如中值濾波或者BM3D去噪。另一種是使用神經網絡的方法。
首先我們嘗試了傳統去噪法,但是效果不佳,於是我們來試試用神經網絡進行去噪的方法。我們使用了存在跨層連接的U-Net結構,並通過上面提到的FGSM方法來生成了大量的對抗樣本作為該網絡的訓練樣本。網絡結構如下所示:
結果:使用U-Net進行圖像去噪,雖然圖像上的絕大部分噪聲被消除了,但是並沒有增加分類準確率。也就是說,使用該方法將圖像去噪後並不能有效抵禦攻擊。
如果我們研究一下噪聲對於深層神經網絡表示的影響。如下圖所示,其中PGD(Pixel Guided Denoiser)指的就是上述圖像去噪方法,我們將對抗樣本和去噪後的圖像輸入到網絡中,計算網絡每一層的特徵的距離。可以發現如果只是普通的噪聲,比如高斯噪聲,這些噪聲的影響會隨著網絡的加深而逐漸變小;但是對於對抗樣本的噪聲,這些噪聲的影響會隨著網絡的加深而逐漸變大。這一趨勢在圖像經過基本的去噪後仍然存在。
既然直接在輸入圖像上來消除噪聲(PGD)並不能減少對抗樣本中噪聲帶來的影響,那麼我們直接將損失函數直接加在網絡高層的特徵層上(HGD)是不是可以抑制誤差的放大。
其中,根據損失函數的添加位置和類型,我們提出了三種HGD:FGD、LGD和CGD。其中FGD和LGD不需要樣本的標籤信息,只需要將原圖和對抗圖像同時輸入網絡後拿到對應層的特徵就好,屬於非監督學習;而CGD和普通的分類網絡訓練一樣需要類別標籤,讓網絡對於對抗樣本也能分到原圖的類別上,屬於監督學習。
從下圖表可以看出,相比於PGD,使用了HGD後各層的誤差都減少了很多。三種HGD均表現出了不俗的抗噪性能。
另外,HGD具有可遷移性。將在一個網絡上訓練好的抗噪器借給另一個完全不同的網絡用,也會起到不錯的抗噪效果,但是值得注意的是將多個抗噪器放在一起組合使用不如單獨使用效果好。
使用了HGD策略,我們最終在NIPS攻防賽的防守項目中大比分領先其他隊伍,斬獲桂冠。
最後總結一下HGD的好處和不足:
好處: 可以獲得更高的抗噪性能;需要更少的訓練樣本和訓練時間;具有可遷移性。
不足: 前提假設是對抗樣本噪聲是可檢測到的;不能完全解決樣本對抗問題;仍然容易遭受白盒攻擊。
論文及PPT下載連結:https://pan.baidu.com/s/1i5Qszx7,密碼:2qc9
更多精彩內容,機器不學習官方學習網站(jqbxx.com)