引言
深度神經網路(DNN)在許多機器學習任務中越來越受歡迎。它們被應用在影像、圖形、文字和語音領域的不同識別問題中,並且取得了顯著的成功。在影像識別領域中,他們能夠以接近人類識別的精度識別物體。同樣在語音識別、自然語言處理和遊戲等領域,DNN也得到廣泛應用。
由於這些成就,深度學習技術也被應用於關鍵安全性任務中。例如,在自動駕駛車輛中,可使用深度卷積神經網路(CNNs)來識別路標。這裡使用的機器學習模型需要高度準確、穩定和可靠。但是,如果CNN的模型沒有識別出路邊的“停車”標誌,而車輛繼續行駛怎麼辦?這將及其危險。同樣的,在金融欺詐檢測系統中,公司經常使用圖形卷積網路(GCNs)來判定其客戶是否值得信賴。如果有欺詐者掩蓋其個人身份資訊以逃避公司的監測,這將給公司造成巨大的損失。因此,深度神經網路的安全問題已經成為一個備受關注的問題。
近年來,許多研究表明,DNN模型容易受到對抗樣本的影響。對抗樣本可以正式定義為:“對抗樣本是攻擊者故意設計以導致機器學習模型犯錯誤的那些輸入。”。
在影像分類領域,這些對抗樣本是有意合成的影像,它們看起來幾乎與原始影像完全相同,但可能會誤導分類器提供錯誤的預測輸出。
(上圖為通過向原影像中新增不明顯的擾動,“熊貓”被歸類為“長臂猿”。)
同時,在其他涉及圖形、文字或音訊的應用領域中,也存在類似的對抗性攻擊方案來混淆深度學習模型。因此,在所有應用領域都存在對抗樣本,這提醒研究人員不要在安全關鍵的機器學習任務中直接採用DNNs。
對抗防禦方法分類
為了應對對抗樣本的威脅,學術界已經發表許多論文尋找保護深度神經網路的對策。
這些方法可以大致分為三種主要型別:
- 隱藏梯度(gradient masking):由於大多數攻擊演算法都是基於分類器的梯度資訊,因此掩蔽或混淆梯度會混淆攻擊機制。
- 魯棒性優化(robust optimization): 這類研究展示瞭如何訓練一個魯棒的分類器,可以正確地分類對抗樣本。
- 對抗檢測(adversary detection): 這類方法試圖在將樣本輸入深度學習模型之前,檢查一個樣本是良性的還是對抗的。
對抗攻擊方式
為了研究如何防禦與監測對抗樣本,我們首先需要了解有哪些形式的對抗攻擊方式。
Adversary's goal
按照攻擊者的目標,對抗攻擊可以分為poisoning attack 與evasion attack、targeted attack 與non-targeted attack。
poisoning attack是指攻擊者在DNN演算法的訓練資料庫中插入/修改幾個假樣本的攻擊演算法。這些假樣本可能會導致訓練過的分類器失敗。它們可能會導致精度差,或對某些給定的測試樣本的錯誤預測結果。poisoning attack是在模型訓練過程中攻擊,以使模型train不好。
在evasion attack中,分類器是固定的,通常在普通測試樣本上具有良好的效能。攻擊者無法改變分類器模型或其引數,但他們製作了一些分類器無法識別的假樣本即對抗樣本。換句話說,對手生成一些欺詐的例子來逃避分類器的檢測。例如,在自動駕駛車輛中,在停車標誌上貼上幾條磁帶會混淆車輛的道路標誌識別器。
在targeted attack中,假設對於原來的輸入x(x是特徵向量),分類器的輸出是y,攻擊者對x新增擾動後形成特徵向量x’,並期望分類器輸出攻擊者想要得到的輸出t(對於x’,正確的分類結果期望是y)。例如,欺詐者可能偽裝成該公司高度可信的客戶以逃避金融公司的信用評估模型的監測。
如果攻擊者只是想要擾動x到x’,使得分類器輸入x’時輸出不是y(對於x’,模型的訓練者期望得到的正確的分類結果是y)而可以是其他任何的輸出,那麼這樣的攻擊就是non-targeted attack。
Adversary's knowledge
按照攻擊者需要的資訊,對抗攻擊可以分為White-box attack 、black-box attack、semi-white (gray) box attack 即白盒攻擊、黑盒攻擊與半白(灰)盒攻擊。
在white-box attack中,攻擊者可以訪問目標神經網路的所有資訊,包括其架構、引數、梯度等。攻擊者可以充分利用網路資訊,精心製作對抗樣本。針對白盒攻擊的安全是我們希望機器學習(ML)模型擁有的特性。
在black-box attack中,攻擊者不知道DNN模型的內部資訊。攻擊者只能持續提供輸入資料,觀測模型的輸出。他們通常通過將樣本不斷輸入到模型中並觀察輸出來攻擊模型,以利用模型的輸入-輸出關係,識別模型的弱點。與白盒攻擊相比,黑箱攻擊在應用中更加實用,因為模型設計者通常因為一些商業或其他原因不願意開源模型引數。
在semi-white (gray) box attack中,攻擊者訓練一個生成對抗樣本的模型,訓練這個模型時需要目標神經網路的資訊。一旦生成模型被訓練成功,攻擊者就不再需要目標神經網路模型的資訊了。
易受對抗攻擊的模型
在瞭解了對抗攻擊的方式後,我們來看下易受對抗攻擊的模型有哪些。
傳統機器學習模型
首先是傳統的機器學習模型。對於傳統的機器學習工具,安全問題的研究已有悠久的歷史。Biggio等人研究攻擊了應用於MNIST資料集的支援向量機(SVM)分類器和全連線的淺層神經網路。Barreno等人研究了一種基於貝葉斯方法的垃圾郵件檢測軟體的安全性。還有針對樸素貝葉斯分類器的安全性研究等等。其中許多思想和策略已被用來研究深度神經網路中的對抗性攻擊。
深度學習模型
然後是深度神經網路模型。與需要特定領域知識和人工特徵工程的傳統機器學習技術不同,DNNs是端到端學習演算法。模型直接使用原始資料作為模型的輸入,並學習物件潛在的結構和屬性。DNNs的端到端架構使攻擊者很容易利用其弱點,並生成高質量的欺騙性輸入(對抗樣本)。此外,由於DNNs的隱式特性,它們的一些性質至今仍然不能被很好地理解或解釋。因此,研究DNN模型的安全問題是必要的。
- Fully-connected neural networks (FC) 中反向傳播演算法(back-propagation)幫助計算,使梯度下降法在學習引數中更加有效。在對抗性學習中,反向傳播也有助於計算(表示輸出對輸入變化的響應)。
- Convolutional neural networks:在計算機視覺中,卷積神經網路是使用最廣泛的模型之一。CNN模型從影像中聚合區域性特徵來學習影像的表示。CNN模型可以看作是全連線神經網路的稀疏版本:層之間的大部分權重為零。它的訓練演算法或梯度計算也可以繼承自全連線的神經網路。
- 此外還有用於圖結點分類的Graph convolutional networks (GCN) 、用於NLP領域的Recurrent neural networks (RNN) 等等。
參考文獻:
Xu, H., Ma, Y., Liu, HC. et al. Adversarial Attacks and Defenses in Images, Graphs and Text: A Review. Int. J. Autom. Comput. 17, 151–178 (2020). https://doi.org/10.1007/s11633-019-1211-x