導讀:在調(diào)查近幾年 AI 領域的過程中,我發(fā)現(xiàn)近幾年對抗攻擊的概念逐漸出現(xiàn)在全世界各國研究人員的視野中,我認為這將會是現(xiàn)在乃至未來幾年最引人矚目的新方向之一。
在調(diào)查近幾年 AI 領域的過程中,我發(fā)現(xiàn)近幾年對抗攻擊的概念逐漸出現(xiàn)在全世界各國研究人員的視野中,我認為這將會是現(xiàn)在乃至未來幾年最引人矚目的新方向之一。
概述我在國內(nèi)的兩個著名的學術搜索網(wǎng)站 AMiner 和 Acemap 進行了調(diào)查,以 adversarial attack和相近意思的 poisoning attack 等詞作為關鍵詞搜索了相關的論文,以下是兩個網(wǎng)站給出的論文數(shù)據(jù)分析圖表。
一方面,從圖中很明顯可以看出,在 2015 年直到今年,adversarial attack相關的論文顯著增多,這說明了在機器學習發(fā)展飛速的今天,機器學習的安全問題逐漸被研究者們所重視。 所以我認為這個方向在未來幾年應該會是一個新興的熱點。
另一方面,雖然這類論文在近幾年顯著增多,但是這并不能說明這個方向的前景更好、 可挖掘的知識更多。所以我又搜索了另一個現(xiàn)在已經(jīng)成為熱門方向的領域——reinforcement learning的數(shù)據(jù)來作為對比。
通過對比 reinforcement learning 和 adversarial attack 的熱度和論文發(fā)表數(shù)量,可以發(fā)現(xiàn)與強化學習這類已經(jīng)成為熱門的方向相同,對抗攻擊也開始有論文、熱度急劇上升的階段, 但是與之不同的是,對抗攻擊論文的絕對數(shù)量至今仍很少。
這說明了對抗攻擊的可研究的東西還處于正在被研究者們逐漸挖掘的過程,還未形成一個體系。所以從這一點,直觀上來說, 我認為最近的科技新詞應當是 adversarial attack。
原理對抗攻擊的開山之作 Intriguing properties of neural networks[12]中提到了神經(jīng)網(wǎng)絡的兩個現(xiàn)象。
第一個是高維神經(jīng)網(wǎng)絡的神經(jīng)元并不是代表著某一個特征,而是所有特征混雜在所有神經(jīng)元中;第二個是在原樣本點上加上一些針對性的但是不易察覺的擾動,就很容易導致神經(jīng)網(wǎng)絡的分類錯誤。
第二個性質(zhì)就是對抗攻擊的理論基礎,后來Goodfellow 在 Explaining and Harnessing Adversarial Examples[13]中提出原因并非是深層神經(jīng)網(wǎng)絡的高度非線性和過擬合,即使是線性模型也存在對抗樣本。在這篇論文中,我們可以粗淺地認為對抗攻擊之所以能夠成功的原因是誤差放大效應:
發(fā)展過程在調(diào)研該領域的論文的過程中,我發(fā)現(xiàn),作為machine learning security 的方向,對抗攻擊的發(fā)展可以歸結(jié)為兩個核心:不斷尋找新的應用場景,不斷利用新的算法
3.1 不斷尋找新的應用場景
每當 machine learning有新的領域出現(xiàn),研究者都會試圖在該領域上進行對抗攻擊的研究,來研究出攻擊這種領域的方法和防御的方法。以下是我找到的一些典型領域的對抗攻擊研究成果:
3.1.1 Computer vision
·Attacks for classification
圖片分類是計算機視覺最經(jīng)典的任務,因此在這個應用場景的對抗攻擊論文最多,比如:Jacobian-based Saliency Map Attack (JSMA)[1],One Pixel Attack[2],DeepFool[3]等。
這些論文的思想都是相同的:都是通過將圖像的像素點按順序或是隨機一個一個改變,然后通過隱藏層的梯度來計算該點的改變對整張圖片的攻擊顯著性并且根據(jù)梯度來選擇下一個要改變的點,通過這樣的訓練最終可以找到最優(yōu)的攻擊像素。
其中,我認為 One Pixel Attack[2]的工作效果最顯著,這篇論文僅改變一個像素就能完成對整張圖片的攻擊。我認為最有新意的一點是,作者運用了差分進化算法的思想,通過每一代不斷變異然后“優(yōu)勝劣汰”,最后可以找到足以攻擊整張圖片的一個像素點和其 RGB值的修改值,這種方法的優(yōu)點是屬于黑盒攻擊,不需要知道網(wǎng)絡參數(shù)等任何信息。效果如下,我認為很顯著:
·Attacks on Semantic Segmentation and Object Detection
語義分割任務的對抗攻擊要比分類任務要難很多,語義分割的對抗樣本生成[4]利用了Dense Adversary Generation 的方法,通過一組pixels/proposal 來優(yōu)化生成對抗樣本損失函數(shù),然后用所生成的對抗樣本來攻擊基于深度學習的分割和檢測網(wǎng)絡。
這篇論文的亮點我認為在于將對抗攻擊的概念轉(zhuǎn)換為對抗樣本生成的概念,將一個攻擊任務轉(zhuǎn)換為生成任務,這就給我們提供了一種新的攻擊思路:將這個任務轉(zhuǎn)換為如何選取損失函數(shù)、如何搭建生成模型使得生成的對抗樣本在攻擊圖片時有更好的效果。這種概念的轉(zhuǎn)換使得對抗攻擊不再拘束于傳統(tǒng)的基于 FGSM 算法,也將更多的生成模型引入進來,比如GAN。
我認為在計算機視覺的對抗攻擊的局限在于,由于計算機視覺的子領域非常多,所以有一些領域還沒有人去嘗試過,而且由于深度學習的不可解釋性,現(xiàn)階段只能也通過深度學習去生成對抗樣本去破壞目標的學習,這樣的攻擊是沒有方向性的,比如無法控制分類任務的欺騙方向,我認為下一步的發(fā)展應在于如何去定向欺騙深度學習網(wǎng)絡,來達到一些更高要求的目的。
3.1.2. Graph
在今年的 ICML 和 KDD 的論文中,有兩篇關于對圖結(jié)構的對抗攻擊的論文,一篇是Adversarial Attack on Graph Structured Data[5],另一篇是 Adversarial attacks on neuralnetworks for graph data[6]。這兩篇論文都是對 graph 的攻擊,這是以前從未有人做過的任務,是一種新的應用場景,因此前文我說對抗攻擊發(fā)展還十分稚嫩,還在不斷尋找新的應用場景。
由于 graph 結(jié)構數(shù)據(jù)可以建?,F(xiàn)實生活中的很多問題,現(xiàn)在也有很多研究者在研究這種問題,比如知識圖譜等領域。
拿知識圖譜來舉例,現(xiàn)在百度、阿里巴巴等公司都在搭建知識圖譜,如果我能攻擊知識圖譜,在圖上生成一些欺騙性的結(jié)點,比如虛假交易等行為,這會對整個公司帶來很大損失,所以對圖結(jié)構的攻擊和防御都很有研究價值。
這兩篇論文的出發(fā)點都是深度學習模型在圖分類問題中的不穩(wěn)定性。
第一篇論文定義了基于圖模型的攻擊:在保持圖分類結(jié)果不變的情況下,通過小規(guī)模的增加和減少邊的方式, 最大化分類結(jié)果的錯誤率?;诖?,論文提出了基于分層強化學習的方法來創(chuàng)建對抗樣本。
第二篇論文的思想是對于要攻擊的目標節(jié)點,產(chǎn)生一個干擾圖,使得新圖上的目標節(jié)點的分類概率和老圖上目標節(jié)點的分類概率的差距最大,作者提出了Nettack的攻擊模型。
我認為現(xiàn)階段對圖結(jié)構的對抗攻擊的局限在于以下兩點:
1.沒有有效的防御算法。兩篇論文都在講如何去攻擊圖分類問題,但是對于防御問題, 第一篇論文只簡單討論了一下,比如隨機 dropout,但是展示的結(jié)果很不理想,而第二篇論文根本沒有討論防御問題。因此對圖結(jié)構的防御問題是接下來的一個可發(fā)展的方向。
2.現(xiàn)階段圖深度學習發(fā)展還不完善,沒有形成一個像圖片卷積神經(jīng)網(wǎng)絡那樣的完整體系,GCN、隨機游走等算法都各有利弊,所以在整個體系完成之前,對抗攻擊的發(fā)展方向不是很明朗。我個人覺得隨著可微池化[7]的概念的提出,GCN 應該是以后圖深度學習的發(fā)展方向,所以對GCN的攻擊或許很有潛力。
3.1.3 其他領域的對抗攻擊
近期也有一些其他領域的對抗攻擊。
首先,Adversarial Examples for Evaluating Reading Comprehension Systems[8]這篇論文對QA系統(tǒng)進行對抗攻擊,通過向問題中中加入不影響人類理解并且不影響正確答案的句子來欺騙問答系統(tǒng),來獲得錯誤的答案。論文中給出的結(jié)果很顯著,使原先75%的 F1 score 下降至 36%,如果允許不符合語法規(guī)則的話可以下降至 7%。
其次,對于強化學習的對抗攻擊。Lin等[9]提出了兩種不同的針對深度強化學習訓練的代理的對抗性攻擊。在第一種攻擊中,被稱為策略定時攻擊,對手通過在一段中的一小部分時間步驟中攻擊它來最小化對代理的獎勵值。提出了一種方法來確定什么時候應該制作和應用對抗樣本,從而使攻擊不被發(fā)現(xiàn)。在第二種攻擊中,被稱為迷人攻擊,對手通過集成生成模型和規(guī)劃算法將代理引誘到指定的目標狀態(tài)。生成模型用于預測代理的未來狀態(tài),而規(guī)劃算法生成用于引誘它的操作。這些攻擊成功地測試了由最先進的深度強化學習算法訓練的代理。
還有一些對于 RNN, Speech Recognition 等領域的攻擊[10][11],這些領域的對抗攻擊基本上只有一兩篇。
綜上所述,對于對抗攻擊的應用場景,現(xiàn)階段所發(fā)掘的只不過是冰山一角,在這個領域, 還有很多很多應用場景可以進行研究。因此,僅從應用場景而言,對抗攻擊絕對是最近幾年最具潛力的方向。
3.2 算法
對抗攻擊的本質(zhì)是用機器學習的方法去攻擊機器學習模型,來檢測模型的魯棒性。由于它的攻擊目標和自身所用的方法都是機器學習,所以當機器學習領域出現(xiàn)了更好的算法時,對于對抗攻擊而言,這既是新的應用場景,又是自身可用的新算法。
在 Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey[14]這篇論文中總結(jié)了12種攻擊方法,如下圖所示:
經(jīng)過我的調(diào)研,在論文 Adversarial Examples for Semantic Segmentation and Object Detection[4]的啟發(fā)下,我認為,既然對抗攻擊是對抗樣本的生成任務,而生成任務又是現(xiàn)在發(fā)展非常迅速的一個領域,我們可以把一些生成模型遷移到這個任務上來。
比如,現(xiàn)在非常熱門的對抗生成網(wǎng)絡 GAN 是生成任務最有效的模型之一,我認為可以借用這種對抗的思想生成對抗樣本:一個專門向原數(shù)據(jù)中加噪聲的網(wǎng)絡和一個試圖根據(jù)對抗樣本完成分類任務的網(wǎng)絡,兩個網(wǎng)絡就像 GAN 里面的生成器和鑒別器一樣對抗學習,最后會收斂于加噪聲的網(wǎng)絡生成的對抗樣本足以迷惑分類網(wǎng)絡,這樣生成的對抗樣本或許會比前文所述的方法效果更好。
由于生成任務還在不斷發(fā)展,VAE、GAN 等模型或許都可以用于對抗攻擊,近期新出現(xiàn)的 CoT[15](合作訓練)為離散數(shù)據(jù)的生成任務也提供了一種新的思路,Glow[16]提出了基于流的可逆生成模型,據(jù)說效果會超過GAN......這些生成模型不斷在發(fā)展,可供對抗樣本生成借鑒的思路也越來越多,所以,我認為在算法上對抗攻擊還有無限的潛力。
總結(jié)經(jīng)過對對抗攻擊的調(diào)研,首先,我發(fā)現(xiàn)這一領域的論文數(shù)很少,而且受大眾的關注度不是很高,但是對抗攻擊已經(jīng)有趨勢要迎來蓬勃發(fā)展的時期了。
其次,對抗攻擊還處于尋找新的應用場景和不斷嘗試新的算法的階段,還不成熟,未形 成完整的體系,而且和攻擊與生俱來的還有防御問題,現(xiàn)階段防御問題基本還處于把對抗樣本加入原始數(shù)據(jù)一起訓練以此來防御攻擊的狀態(tài),研究的人很少,也沒有十分顯著的效果。 這說明在這個領域還有很大的可挖掘的空間。
在機器學習發(fā)展飛速的今天,安全性問題正逐漸進入人們的的視野,對抗攻擊不只能夠在網(wǎng)絡空間進行攻擊,還能夠在物理世界中任何使用到機器學習的場景中進行有效攻擊,比如針對人臉識別、語音識別的攻擊。為了機器學習更好的發(fā)展,研究對抗攻擊是有必要的。 因此我認為最近的科技新詞是adversarial attack。