各位知乎兒好,關注我們專欄的朋友可能有發現,最近我們專欄收錄了 @X-豬 寫的有關YOLO演算法的文章,對這方面有興趣的朋友可以跟他進行交流,同時,也歡迎其他朋友投稿。

回到正題,這周,筆者將繼續跟進對抗攻擊這一方向,為大家分享最近看的一篇防禦演算法。這個防禦演算法比較「古老」,是The Center for Brains, Minds and Machines (CBMM)在2016年發表的工作。文章提出了一種凹型機制(Foveation-based Mechanisms)來緩解對抗樣本的影響,作者針對BFGS擾動和FGSM擾動進行了防禦實驗,證實了該機制在緩解對抗攻擊方面的有效性。

1. Foveation-based Mechanisms Alleviate Adversarial Examples【1】

作者:Yan Luo,Xavier Boix,Gemma Roig,Tomaso Poggio,Qi Zhao

論文地址:[1511.06292] Foveation-based Mechanisms Alleviate Adversarial Examples

1.1 BFGS和FGSM

在文章之前,筆者想先介紹一下本文中使用的兩個攻擊演算法。其中BFGS是第一個攻擊演算法[2],FGSM是目前使用最為廣泛的攻擊演算法[3]。

2014年,Szegedy等人發表文章,第一次提出了對抗樣本的存在,文中作者對對抗樣本問題進行建模,提出了以下優化問題:

即在滿足圖片像素值約束的前提下,尋找可以使所生成的對抗樣本被誤分類成 l 類的最小擾動 r 。通過將交叉損失罰入目標方程,最終的優化方程如下:

針對上訴問題,作者選用了I-BFGS進行求解,該演算法全稱limited BFGS,是BFGS擬牛頓近似演算法的一個加速版本。牛頓法是是機器學習中用的比較多的一種優化演算法,其基本思想是利用迭代點 x_{k} 處的一階導數(梯度)和二階導數(Hessen矩陣)對目標函數進行二次函數近似,然後把二次模型的極小點作為新的迭代點,並不斷重複這一過程,直至求得滿足精度的近似極小值[4]。傳統牛頓法面臨的最大問題是在數據量巨大時,Hessen矩陣計算困難,故在此基礎上,又發展出一系列的擬牛頓法,包括DFP、BFGS、I-BFGS等,其中I-BFGS經常用於解決非線性極小化問題。對這部分感興趣的朋友可以參考以下鏈接中對牛頓法的前世今生的介紹:

數值優化:理解L-BFGS演算法-碼農場?

www.hankcs.com
圖標

如果想了解更多第一個攻擊演算法的實現,除了閱讀原文外,大家可以參考以下博客:

關於Intriguing properties of neural networks的理解?

blog.csdn.net
圖標

下圖中,左邊部分為使用BFGS生成的對抗樣本,不同的網路(Alexnet, GoogleNet, VGG)決定了式子中不同的 f ,左邊第一列展示了基於不同網路生成的最小擾動,可以明顯看出不同網路生成的對抗樣本是不同的。

快速梯度法FGSM是一種使用梯度法生成對抗樣本的攻擊演算法,利用迭代點 x_{k} 附近的一階導數(梯度)求解,表達式如下:

這部分演算法在本專題的第一篇文章中曾被簡單介紹,如果想深入了解並進行實驗模擬,可以參考以下博客中對它的介紹:

FGSM(Fast Gradient Sign Method)_學習筆記+代碼實現?

blog.csdn.net
圖標

上圖中的右半部分展示了由FGSM生成的對抗擾動,兩者對比,可以看出,BFGS所生成的擾動集中於目標所在區域,而FGSM所生成的擾動均勻分布在整張圖上(文章中作者沒有對這個現象進行解釋,如果有對比過這兩個演算法的小夥伴,歡迎與筆者討論)。兩者所生成的擾動的大小直接導致了以下現象:

L_{1} 範數代表向量中各個元素的絕對值之和, L_{infty} 範數則代表向量中所有元素中絕對值最大的那個元素的絕對值。當我們生成對抗樣本時,通常希望擾動肉眼不可見,對於BGFS所生成的集中型擾動,文中作者選用 L_{1} 範數進行約束,反之,採用 L_{infty} 範數約束FGSM生成的平均型擾動。

1.2 對抗樣本存在的原因

對於對抗樣本的成因,不同的學者曾在不同的時間提出了自己的假設:

1)Szegedy et al. [2]: 這可能是由於深度神經網路的極端非線性,再加上模型平均不足,純監督學習問題的正則化不足;

2)Goodfellowet al. [3]:高維空間(維度與輸入的維度相同)中的線性行為足以生成對抗樣本;

3) Yan et al. [1]: 實驗表明,CNN不具有全局線性行為,但是它在目標的附近表現出線性,而在圖片的其他區域表現為非線性。

下圖中是論文中使用到的表達式和各個變數的意義:

1.3 CNN的局部線性

下圖中,MP代表將擾動添加到整張圖,Object Masked MP代表將擾動添加到目標上(範圍由樣本的真實目標位置提供),Background Masked MP表示將擾動添加到除目標以外的背景區域。實驗結果表明,應用到背景上的攻擊收效甚微,而應用到目標上的攻擊幾乎可以達到與應用到全圖相同的攻擊效果。

如果忽略CNN中的非線性部分, w 是一個與輸入維度相同的高維線性分類器,用 w 近似CNN的參數可得到以下表達式:

如果CNN表現為一個高維線性分類器,那麼 f(epsilon)=f(x+epsilon)-f(x) ,下圖中藍色三角點和紅色星型點應重合,實驗結果表明這一假設並不成立。而我們可以觀察到,在擾動很小時,黃線和藍線有部分重合。

假設1:CNNs對於包含CNN識別對象的圖像區域的變化是局部線性的,除此之外,CNN可能表現為非線性。

1.4 CNN對擾動不具有魯棒性

提出1.3的假說後,作者提出了一種凹機制去緩解對抗擾動對CNN的影響,為了證實其有效性,作者進行了兩部分實驗。一種是在原圖像的基礎下生成對抗樣本,然後進行剪裁再輸入分類網路(MP set-up);第二種是先對原始圖像進行剪裁,對剪裁出的部分添加擾動,然後將所生成的圖像嵌回原始背景中,輸入分類器(MP-Object set-up)。剪裁方法有以下三種:紫色框是樣本真實的目標位置,它能保證目標無損失;粉色框代表一種隨機剪裁,剪裁圖片的中間部分,可能伴隨著一定的目標損失;藍色框是一種弱監督目標檢測方法檢測出的目標位置,會包含部分圖片背景。

下圖中詳細解釋了論文中設置的不同的凹型處理機制:

下圖展示了不同凹型機制的效果(具體可以參考原文,這裡不詳細解釋):

實驗結果:

上圖中,黑色實線代表對整張圖添加擾動的攻擊效果,灰色虛線代表對圖片中目標所在位置添加擾動的效果。其他不同顏色的線代表不同凹機制緩解後CNN的識別效果,可以看出凹機制確實能夠緩解對抗樣本的攻擊。其中紫色虛線代表的先將目標按ground truth裁出來,添加擾動,然後嵌回原圖的方法效果最好。

上表中,第一部分表示沒有擾動的情況下,不同的凹機制對識別率的影響,可以看出,凹機制不僅沒有降低CNN對原始圖片的識別率,還將識別率提高了三個百分點左右。而對於有擾動的情況,凹機制有效地提高了CNN對對抗樣本的識別率。

1.5 結論

這篇文章中,作者不僅提出了一個有效的防禦機制,還對對抗樣本產生的原因進行了分析和實驗證明。文中所提防禦機制操作簡單,但裡面表現最好的方法依賴於數據集的真實目標位置,這並不是所有數據集都有的。如果採用弱監督學習方法尋找目標區域,則效果有一定折扣。由於這篇文章距今已有兩年,與當前所提的防禦演算法相比,緩解攻擊的效果並不理想,但其中的一些結論還是對對抗樣本的性質的研究有一定參考意義。想要系統了解對抗攻擊方向的朋友,可以閱讀[5],該文章總結了到今年五月為止對抗攻擊防禦方向的一些重要工作。

對於這篇文章,筆者還有許多沒有看懂的地方,這裡沒有提出,如果各位對這篇文章所提演算法感興趣,可以閱讀原文後跟筆者討論。行文中提及的概念若是有不正確的地方,歡迎指出,不勝感激。

——Eva Dan

編輯

參考文獻:

[1] Luo, Yan, et al. "Foveation-based mechanisms alleviate adversarial examples."arXiv preprint arXiv:1511.06292(2015).

[2] Szegedy, Christian, et al. "Intriguing properties of neural networks."arXiv preprint arXiv:1312.6199(2013).

[3] Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. "Explaining and harnessing adversarial examples (2014)."arXiv preprint arXiv:1412.6572.

[4]優化演算法--牛頓法(Newton Method)

[5] Yuan, Xiaoyong, et al. "Adversarial examples: Attacks and defenses for deep learning."arXiv preprint arXiv:1712.07107(2017).

推薦閱讀:

相关文章