人工智慧的矛與盾–對抗學習

一、概述

最近幾年安全界關於對抗學習的研究如火如荼,對抗樣本的生成技術發展迅速。使用不同的對抗攻擊方法可以生成對抗樣本,不同攻擊方法的攻擊效果也有所不同。 另外關於對抗樣本攻擊的防禦方法,已經有不少學者提出了一些解決方案,不過防禦效果上還有提升空間。下圖是關於對抗學習經典的應用場景,攻擊者利用對抗樣本攻擊方法對關於熊貓的圖片進行微小的修改從而使深度學習影像識別模型失效,誤以為圖片中的是長臂猿。這種攻擊手段已經在本文之前已經進行過討論。

本文從對抗樣本前沿的攻擊演算法出發討論對抗學習中的攻擊方式,並介紹對抗攻擊的防禦機制,從研究的角度分析對抗學習的矛與盾。

二、對抗樣本

對抗樣本通常是指經過特定的演算法處理之後,模型的輸入發生了改變從而導致模型錯誤分類。假設輸入的樣本是一個自然的乾淨樣本。那麼經過攻擊者精心處理之後的樣本則稱為對抗樣本,其目的是使該樣本誤導模型做出判斷。

攻擊者常用的攻擊方法分為白盒攻擊和黑盒攻擊。白盒攻擊是指在攻擊者完全了解被攻擊模型內部結構,包括網路結構和參數的情況下對模型進行攻擊。黑盒攻擊下的對抗樣本攻擊,是指攻擊者對於要攻擊的模型沒有先驗知識或者只了解模型的部分知識,因此黑盒攻擊的成功率往往基於對抗樣本的遷移性。也就是說具有高遷移性的對抗樣本能夠有高的黑盒攻擊成功率。現階段的研究表明生成高遷移性的對抗樣本方法主要是基於不同網路結構的被攻擊模型進行集成作為替代模型,然後使用白盒攻擊的方式生成對抗樣本。目前在白盒攻擊中,對抗樣本攻擊的成功率幾乎達到了100%。然而針對黑盒攻擊的對抗樣本攻擊方面還存在很大研究空間。

對抗變換神經網路作為一種有效的對抗樣本生成方法已成為白盒攻擊和黑盒攻擊中的一大法寶。

三、 對抗變換神經網路

對抗變換神經網路其思想借鑒了生成對抗網路模型,首先介紹下生成對抗網路模型。生成式對抗網路模型(GAN)是基於深度學習的一種強大的生成模型,生成式對抗網路最直接的應用是數據的生成,而數據品質的好壞則是評判對抗生成網路成功與否的關鍵。對抗生成網路受博弈論中的零和博弈啟發,將生成問題視作判別器和生成器這兩個網路的對抗和博弈:生成器從給定雜訊中(一般是指均勻分布或者正態分布)產生合成數據,判別器分辨生成器的的輸出和真實數據。前者試圖產生更接近真實的數據,相應地,後者試圖更完美地分辨真實數據與生成數據。由此,兩個網路在對抗中進步,在進步後繼續對抗,由生成式網路得的數據也就越來越完美,逼近真實數據,從而可以生成想要得到的數據。

生成器所生成的樣本會與真實樣本混合起來交給判別器來辨別樣本是否為生成器所偽造的樣本。我們每次固定二者之一,而訓練另一方。例如我們開始時會訓練生成器,此時判別器的參數會鎖定,處於推斷工作模式。這時,我們訓練生成器使其所生成的樣本可以完全欺騙判別器為止。接下來我們鎖定生成器參數使其處於推斷工作模式,而對判別器進行訓練,直至其可以清楚地區分真實樣本和生成器所生成樣本為止。我們重複上述過程,直至生成器所生成樣本與真實樣本無異為止,如下圖所示。

圖2-8 基於GAN的對抗樣本生成

對抗變換神經網路的工作流程,如下圖所示,首先我們通過對抗攻擊樣本生成器來生成擾動,疊加了擾動的對抗樣本和原始樣本會被輸入判別器中來檢驗擾動是否足夠小以至難以察覺,同時對抗樣本還會輸入到目標智慧演算法當中以獲取其損失函數和梯度並應用梯度下降和反向傳播對生成器和判別器進行訓練。我們可以使用多種目標智慧演算法同時訓練對抗生成模型,從而增加對抗攻擊樣本生成器的遷移能力。

對抗變換神經網路的工作流程

該方法的優點有三:首先其不需要對目標智慧演算法進行訪問,可以執行黑盒攻擊。其次,若用多種對抗攻擊樣本訓練此網路,可以使其泛化性、遷移性大幅提高。最後,如果生成模型本身是一個很小的網路,那麼該方法相比於使用基於梯度下降的優化演算法能夠更快的生成對抗樣本。

然而現在的攻擊方法通常存在一定的缺陷,一方面是在迭代階段加入的擾動雜訊往往是方向單調的,也就是說生成的對抗樣本在迭代方向上的自適應能力不夠。另外就是可能會增加過多的擾動雜訊,這在目前的攻擊方法中是很常見的。

為了解決上面提到的問題,生成具備高遷移性的對抗樣本以提高黑盒攻擊的成功率,Curls&Whey攻擊方法是一種很好的選擇。

四、Curls & Whey攻擊方法

Curls&Whey攻擊方法主要由Curls迭代和Whey優化構成,Curls迭代是指隨著迭代次數的增加增加的雜訊會越來越小,此時迭代的路徑逐漸收斂,增加迭代次數對對抗樣本的雜訊影響也很小,例如下圖所示。

根據上圖可以發現隨著迭代次數的增加迭代的路徑已經逐漸收斂。該攻擊方法為了避免迭代路徑的單調,以增加黑盒攻擊場景下的成功率,先選擇在梯度下降最快的方向進行優化,達到局部最優之後在向梯度上升方向優化以此來替代模型對抗樣本的遷移性。因此在Curls迭代中在利用梯度進行計算的同時要加上高斯雜訊,並且加上一定權重的攻擊成功的對抗樣本的均值,在對抗樣本中選擇了雜訊距離較小的作為對抗樣本之後,在對抗樣本之間搜索可能存在的雜訊距離更小的對抗樣本呢,演算法流程如下。

而在Whey優化階段目的是將雜訊進行減少,在減少雜訊的過程中如果攻擊失敗則回撤操作否則進行迭代操作,這個過程本身是在對curls進行雜訊上的優化收斂,當然筆者認為該過程並未在生成對抗樣本的遷移性方面取得改善。

五、對抗攻擊的防禦機制

為了抵禦對抗樣本攻擊,基於附加資訊引入輔助塊模型(AuxBlocks)進行額外輸出作為一種自集成的防禦機制。針對攻擊者的黑盒攻擊和白盒攻擊,該機制在抵禦樣本攻擊方面效果良好。

該防禦方法的核心在於利用AuxBlocks輔助塊模型輸出多個結果,這種自集成的輔助塊結構如下圖所示。

在神經網路的一些層加入輔助塊,可以是卷積層也可以是隱藏層,而AuxBlock可以是任何函數模型,其結構如下。

由於多個AuxBlocks集成提高了對攻擊樣本的魯棒能力,同時將模型分為公共模型部分和私有模型部分。公共模型部分是初始的模型,例如CNN卷積神經網路,而私有模型部分則是上圖中的多個AuxBlocks模型。對攻擊者而言公共模型部分往往比較容易獲得,或者通過模型間的遷移性進行遷移學習,但是私有模型部分的AuxBlocks對攻擊者來說是私密的。為此訓練這個具備防禦能力的模型時需要引入輔助塊最終結果中的置信度。

採用這種防禦手段能夠抵抗白盒攻擊和黑盒攻擊,此外防禦性蒸餾的 方式也可以起到一定的防禦能力,防禦性蒸餾是一種將訓練好的模型遷移到結構更為簡單的網路中,從而達到防禦對抗攻擊的效果。不同的是防禦性蒸餾是通過減少必要資訊的方式進行防禦,而AuxBlocks輔助塊模型則是把所有原始模型和輔助塊模型的資訊進行融合輸出得到輔助的增加資訊。

六、總結

雖然目前對抗學習方面的研究已經提出了許多對抗樣本生成的攻擊演算法,但是防禦機制方面還存在不少提升空間。目前,針對不同的攻擊方式,防禦技術往往是修修補補,沒能找到一個通用的方式對所有的對抗攻擊方法進行防禦。無論是本文提到的輔助塊模型,防禦性蒸餾,亦或者膠囊神經網路等集成方式都是不成熟的,沒有形成完整的防禦體系,目前在局部能夠取得有效的防禦效果。在對抗攻擊的方向上,防禦技術和機制仍然存在很大的發展前景。

關於天樞實驗室

天樞實驗室聚焦安全數據、AI攻防等方面研究,以期在「數據智慧」領域獲得突破。

內容編輯:天樞實驗室 張勝軍 責任編輯:肖晴

往期回顧

本公眾號原創文章僅代表作者觀點,不代表綠盟科技立場。所有原創內容版權均屬綠盟科技研究通訊。未經授權,嚴禁任何媒體以及微信公眾號複製、轉載、摘編或以其他方式使用,轉載須註明來自綠盟科技研究通訊並附上本文鏈接。

關於我們

綠盟科技研究通訊由綠盟科技創新中心負責運營,綠盟科技創新中心是綠盟科技的前沿技術研究部門。包括雲安全實驗室、安全大數據分析實驗室和物聯網安全實驗室。團隊成員由來自清華、北大、哈工大、中科院、北郵等多所重點院校的博士和碩士組成。

綠盟科技創新中心作為「中關村科技園區海淀園博士後工作站分站」的重要培養單位之一,與清華大學進行博士後聯合培養,科研成果已涵蓋各類國家課題項目、國家專利、國家標準、高水平學術論文、出版專業書籍等。

我們持續探索資訊安全領域的前沿學術方向,從實踐出發,結合公司資源和先進技術,實現概念級的原型系統,進而交付產品線孵化產品並創造巨大的經濟價值。

長按上方二維碼,即可關注我