最新研究表明,用於影象識別任務的卷積神經網路往往表現出一致的“對抗性缺陷”:對抗攻擊演算法可以生成很小的輸入噪聲誤導這些模型,並且同一對抗噪聲往往可以同時誤導在同一資料集上訓練出的不同模型,即在模型間“遷移”。
本文提出利用整合模型提升深度學習魯棒性的DVERGE方法。我們透過提取集合模型的子模型學到的“非魯棒特徵”確定其缺陷所在,並進一步透過多樣化子模型的缺陷使其面對對抗性噪聲輸出不同的結果。這一新穎的多樣性描述與最佳化方式使DVERGE得到了超出其他整合學習方法的遷移攻擊魯棒性。
楊幻睿:本科畢業於清華大學電子工程系,目前是美國杜克大學電子與計算機工程系博士四年級在讀學生,師從李海老師和陳怡然老師。楊幻睿的主要研究方向為利用稀疏、量化等方式壓縮神經網路模型提升執行效率,以及評估並增強深度學習模型的魯棒性,以期得到即高效又魯棒的適用於部署在現實世界中的深度學習模型。
一、 深度學習模型的魯棒性缺失
圖1 對抗攻擊樣例
對抗性攻擊的研究使人對卷積神經網路的魯棒性表示懷疑,這些攻擊通常稱為對抗性示例,對抗性示例中包括經過精心設計,人類所無法感知的輸入擾動,但會引發CNN模型中引發錯誤分類。如上圖所示,原圖可以被正確識別為熊貓,而在增加一個隨機噪聲後,深度學習模型就把上圖識別為長臂猿,而人類對倆個圖均可以正常識別。
而類似的對抗性攻擊如何是實在現實世界的應用中的?先前有研究證明了對抗性示例在CNN模型上有可移植性(transferability),其中針對任意模型生成的對抗性示例很大機率誤導使用相同資料集訓練的其他未指定的深度學習模型。
先前研究推測標準影象分類資料集中存在魯棒和非魯棒特徵。人們可能會透過“對人類有意義的”魯棒特徵來理解影象,而這些特徵通常對較小的附加噪聲不敏感,而深度學習模型更傾向於學習非魯棒特徵。非魯棒特徵與輸出標籤高度相關,有助於提高模型精度,但在視覺上沒有意義,並且對噪音敏感。對非魯棒特徵的這種依賴會導致對抗性漏洞(adversarial vulnerability),而對抗性示例會利用該漏洞來誤導CNN模型。此外經驗表明,在同一資料集上獨立訓練的CNN模型傾向於捕獲相似的非魯棒特徵。
二、目前針對對抗性攻擊的一些方法
2.1 對抗學習
目前大部分研究使用對抗訓練提高CNN模型對抗攻擊的魯棒性。對抗訓練可在每個訓練步驟中將線上生成的對抗示例對自身的CNN模型損失降至最低。
對抗攻擊通常會在某種約束S的作用下,將擾動項加到原始輸入x上,以形成對抗示例xadv=x+δ,攻擊目標是在輸入xadv上最大化CNN模型輸出與標籤y的差異,記為Lθ攻擊的目標可表示為xadv=x+argmaxδ∈SLθ(x+δ,y)。約束S用來保證對抗示例與原始輸入在視覺上無法區分,通常將其定義為‖δp‖<ε。本工作使用L∞範數作為約束。
儘管最近的研究表明,對抗訓練鼓勵模型捕獲資料集中的魯棒特徵,但該過程既困難又成本高。魯棒特徵的學習會損害模型的準確性,並且需要更大更深的模型以補償增加的複雜性。然而,學習健壯的特徵很困難,因此對抗訓練通常會導致測試資料的泛化誤差顯著增加。
2.2 整合學習
有研究透過整合方法(如bagging和boosting)提升模型魯棒性。直觀地講,該方法可以抵禦黑盒傳輸攻擊,因為只有當多個子模型收斂到相同的錯誤預測時,攻擊才能成功。由於訓練過程不排除非魯棒性特徵,這樣的整合也可以實現較高的精度。人們探索了各種整合訓練方法,如多樣化輸出logits分佈或最小化每個子模型的輸入梯度方向之間的餘弦相似度。但實驗結果表明,這些多樣性測度並不能很有效地誘導子模型之間的輸出多樣性,因此相應的整合很難達到期望的魯棒性。
3.DVERGE方法
我們尋求一種有效的訓練方法,減輕攻擊的轉移性,同時保持高幹淨的準確性(非噪聲的樣本)。考慮到使用對抗訓練可以有效地使模型利用魯棒特徵但會降低模型準確率,而整合方法可以使得模型精度較高但可能有攻擊傳遞性,我們設計了一種有效的訓練方法將二者結合,該方法即可以減輕攻擊的可傳遞性,同時又能保持較高的準確性。
在深入研究子模型中對抗性易損性成因的基礎上,提出提取每個子模型學習到的對應於對抗性例項易損性的特徵,並利用提取的特徵之間的重疊度來度量子模型之間的多樣性。由於對抗性例子利用了子模型的脆弱性,子模型之間的小重疊表明,在一個子模型上成功的對抗性例子不太可能欺騙其他子模型。我們提出了透過“缺陷”多樣化構建魯棒整合深度學習模型(Diversifying Vulnerabilities for Enhanced Robust Generation of Ensembles, DVERGE)。
我們的整體訓練方法做出了以下貢獻:
•DVERGE可以成功地隔離和分散每個子模型中的漏洞,從而幾乎消除了攻擊的可傳遞性;
•DVERGE可以顯著提高抵禦黑盒傳輸攻擊的魯棒性,而不會顯著影響精度;
•在同等評價條件下,隨著整合子模型數量的增加,DVERGE所引起的多樣性不斷提高魯棒性。
3.1 漏洞多樣性指標
研究表明深度學習模型捕獲的非魯棒性特徵對附加噪聲高度敏感,這是CNN模型中對抗性脆弱的主要原因。基於這一觀察結果,我們提出基於提取的非魯棒特徵來隔離CNN模型的脆弱性。以在資料集D上訓練的CNN模型fi為例。我們考慮一個目標輸入標籤對(x,y)和另一個隨機選擇的獨立源(xs,ys)∈D。fi的第i層對輸入影象x的蒸餾特徵對應於源影象xs,可以用特徵蒸餾目標(1)近似表示:
其中,表示第fi1個隱藏層啟用之前的輸出。然後可以使用PGD對這個受限最佳化目標進行最佳化。提取的特徵在視覺上類似於xs而不是x,但是模型歸類為類別y。視覺相似性與分類結果之間的這種不匹配表明xfi1反映了對x進行分類時fi的對抗漏洞。因此,我們將兩個模型fi和fj之間的漏洞多樣性(vulnerability diversity)定義為(2):
Lf(x,y)表示輸入標籤對(x,y)的模型f的交叉熵損失。由於提取的特徵具有與輸入影象相同的尺寸,因此我們可以用這個公式評估基於此資料集訓練的任意架構的模型。由於Xfi1(x,xs)在視覺上與y不相關,因此fi只有在x的非魯棒特徵上的缺陷與fj的缺陷重疊時,交叉熵損失很小。反之亦然。因此,上述公式有效地衡量了兩個模型之間的重疊缺陷。
3.2 脆弱性多元化目標
由於對抗攻擊在漏洞多樣性高的模型之間轉移的可能性較小,我們在整體訓練過程中將d(fi,fj)作為目標,在使原始交叉熵損失最小的情況下,使集合中各子模型之間的多樣性(3)最大:
由於d(fi,fj)的公式沒有上界,直接使其最大化可能最終導致發散。因此,我們將訓練目標(4)修改為:
此外,應注意,由於x’fil蒸餾影象接近於xs,因此Lfi(x’fil(x,xs),y)的最小化可以有效地有助於Lfi(xs,ys)的最小化。先前的對抗訓練研究也表明,沒有必要在目標中包含原始的資料損失。因此,我們將式(4)進一步簡化為(5):
它被用於訓練DVERGE中的各個子模型。上式中的目標可以理解為訓練子模型fi,併為其他子模型生成對抗性示例。但是,DVERGE從根本上不同於對抗訓練。對抗訓練過程不斷地訓練模型對自身進行白盒攻擊,並迫使模型捕捉資料集的魯棒特性。在DVERGE中,如果fi利用與其他子模型不同的一組特徵(包括非穩健特徵),則可以最小化該公式。由於非健壯特徵在資料集中的分佈要比健壯特徵更為普遍,因此與對抗訓練相比,捕獲和整合一些非健壯特徵可使DVERGE達到更高的純淨準確率。
3.3 DVERGE訓練方法
演算法1顯示了用於訓練N個子模型集合的虛擬碼。我們首先根據原始的資料集對所有子模型進行隨機初始化和預訓練;然後,對於每一個batch的資料,我們隨機取樣另一個batch的源資料,並使用它們按照等式(1)的目標提取非魯棒特徵。然後採用迴圈訓練,其中對每個子模型執行單個隨機梯度下降步驟,並使用來自其他所有子模型的蒸餾影象及其源標籤,如公式(5)中的目標所述。
對所有B批次的訓練資料都執行此訓練過程,並對E epochs重複此訓練。每個epoch中隨機選擇用於特徵蒸餾的層i,以避免過擬合特定層的特徵。該訓練過程可以有效地增加整合內每對子模型之間的缺陷的多樣性,並阻止整合內子模型的傳輸攻擊。因此,整體的黑盒魯棒性得到改善。
圖2 DVERGE訓練方法
四、實驗
4.1 設定
我們將DVERGE與各種方法進行了比較,包括Baseline、ADP和GAL。為了進行公平的比較,我們使用ResNet-20作為子模型,並對每個子模型的softmax層之後的輸出機率求平均,以得出最終預測。所有評估均在CIFAR-10資料集上進行。
4.2 整合模型內的多樣性和可移動性
DVERGE的目標是引導子模型捕獲各種非魯棒特徵,並最小化子模型之間的脆弱性重疊,從而降低整體中的攻擊傳遞性。為了驗證我們的方法,我們透過隨機選擇1,000個測試樣本來測量多樣性和可移植性,所有子模型最初都對這些樣本提供了正確的預測。我們利用上述計算多樣性的公式計算兩模型的多樣性,並對所有對子模型進行平均,得到整個集合的多樣性度量。在衡量可傳遞性時,我們使用步長為的ε/50步PGD生成非目標對抗示例。可傳輸性由攻擊成功率來衡量,攻擊成功率將任何錯誤分類都計為成功。與多樣性相似,平均成對攻擊成功率被用來表示整合內的可移植性水平。
如下圖所示,從圖中可以清楚地看出,隨著訓練的進行,多樣性增加,可轉移性降低。這一趨勢透過經驗證明,最小化DVERGE目標可以有效地導致整合中更高的多樣性和更低的對抗可轉移性。
圖3 DVERGE訓練中的多樣性和可移植性趨勢
下圖展示了具有三個子模型的整合模型的轉移性,這些子模型在與前述相同的條件下進行了測試。第i行與第j列交點處的數字表示由第i個子模型生成並在第j個子模型上測試的對抗樣本的轉移成功率。當i=j時,該數字成為白盒攻擊成功率。非對角線數字越大,表示子模型之間的可傳遞性越大。與其他整合方法相比,DVERGE將可傳遞性抑制到了更低的水平。在成功破壞一個子模型的所有對抗示例中,只有3-6%可能導致對其他子模型的錯誤分類。
儘管ADP和GAL還努力提高多樣性以提高魯棒性,但它們不能有效地阻止對抗性轉移。ADP在子模型之間展現出60%到70%的攻擊轉移。在GAL方面,三個子模型中的兩個仍然極為脆弱,在這些子模型中,超過80%的對抗性示例可以在第一和第二子模型之間成功轉移。我們的評估表明,阻止攻擊轉移並非易事,並且應用適當的多元化指標至關重要。因此,我們提倡使用DVERGE作為減輕整體攻擊傳遞性的更有效方法。
圖4 在不同整合方法的子模型之間成對的可轉移性(以攻擊成功率的形式)
4.3 整合模型的魯棒性
我們在兩種威脅模型下評估了集合的魯棒性:黑盒傳輸對抗模型(攻擊者不能訪問模型引數,依賴代理模型生成可轉移的對抗示例)和白盒攻擊模型(攻擊者可以完全訪問模型的所有內容)。
圖5 不同整合方法的魯棒性結果
圖6 DVERGE在不同字模型數量上的結果
如圖5所示,無論是黑盒攻擊還是白盒攻擊,DVERGE在各種攻擊強度下具有更高的魯棒性,並有最小的精度損失。圖6表明,隨著整合子模型數量的增加,DVERGE能夠持續提高魯棒性。
4.4 DVERGE結合對抗訓練
雖然DVERGE在整合方法中獲得了最高的魯棒性,但它對擾動強度較大的白盒攻擊和傳輸攻擊的魯棒性仍然很低。這一結果是意料之中的,因為DVERGE的目標是分散對抗性脆弱性,而不是完全消除它。換句話說,漏洞不可避免地存在於子模型中,並且可以被更大的攻擊捕獲,提高整合魯棒性的一種直接方法是透過對抗訓練來增強DVERGE。實驗結果如下:
圖7 DVERGE與對抗訓練結合的結果
上圖表明,DVERGE + AdvT目標有利於整體捕獲更強大的功能。與AdvT相比,DVERGE + AdvT鼓勵該整合模型學習各種非魯棒性特性以及非魯棒性特性,從而帶來更高的準確率和更高的抵禦傳輸攻擊的魯棒性。與僅執行DVERGE相比,強制包含魯棒性特性導致DVERGE + AdvT犧牲了一定的準確性。
五、總結
在這項工作中,我們提出了DVERGE,一種整合訓練方法,該方法分離並多樣化每個子模型中的對抗脆弱性,以提高對傳輸攻擊的整體魯棒性,而不會顯著降低精度。我們證明了CNN模型中的對抗多樣性可以透過蒸餾的非魯棒特徵成功表徵,從中我們可以測量兩個模型之間的脆弱多樣性。
實驗結果表明,以DVERGE為目標進行訓練可以有效地提高子模型之間的脆弱性多樣性,從而阻止整合模型內部的轉移攻擊。這樣,DVERGE可以將子模型之間轉移攻擊的成功率從60%以上降低到不足6%。我們進一步證明了DVERGE可以透過對抗訓練來增強,它可使整合模型達到更高的準確度和魯棒性。