葉啟松,戴旭初
(中國科學技術太學 網(wǎng)絡空間安全學院,安徽 合肥 230026)
深度學習技術在計算機視覺、語音識別、自然語言處理等各個領域有著廣泛的應用,然而有研究表明,深度神經(jīng)網(wǎng)絡具有一定的脆弱性[1],該脆弱性使得深度神經(jīng)網(wǎng)絡容易受到攻擊,這一問題引起了廣泛的重視。對抗樣本攻擊是攻擊深度神經(jīng)網(wǎng)絡的主要方法,該方法通過對原樣本添加微小的、不可察覺的擾動生成對抗樣本,使得深度神經(jīng)網(wǎng)絡對該樣本做出錯誤的預測。
對抗樣本的遷移性指針對結構已知的深度神經(jīng)網(wǎng)絡模型生成的對抗樣本,能使得結構未知的深度神經(jīng)網(wǎng)絡模型對該樣本做出錯誤預測。如果對抗樣本有更好的遷移性,其就能更好地攻擊結構和參數(shù)未知的模型,這也是利用對抗樣本進行攻擊的主要應用場景。攻擊者在擁有深度神經(jīng)網(wǎng)絡模型的結構和參數(shù)信息的前提下進行的對抗樣本攻擊,稱為在白盒條件下的對抗樣本攻擊。現(xiàn)有的白盒條件下的對抗樣本攻擊方法雖然有較高的攻擊成功率,但是其生成的對抗樣本的遷移性較差,在主要的應用場景中并不適用。 遷移性差的主要原因在于,這類方法所生成的對抗樣本與模型的結構和參數(shù)高度耦合,其擾動難以對結構和參數(shù)不同的其他模型進行有效的干擾。遷移性差的這一缺點在目標神經(jīng)網(wǎng)絡引入了防御方法時表現(xiàn)得更為明顯。
為了提升對抗樣本的遷移性,文獻[2]通過訓練生成式神經(jīng)網(wǎng)絡,同時針對多個目標模型生成對抗樣本以提升對抗樣本的遷移性,該方法在對抗樣本的生成階段不涉及任何梯度計算,生成過程較快。文獻[3]以對抗訓練的方式訓練生成式對抗網(wǎng)絡,對抗訓練使得生成器能夠學習到攻擊結構未知模型的策略,利用該生成器生成對抗擾動,添加在原樣本中得到對抗樣本,該對抗樣本具有較好的遷移性。 文獻[4]利用演化算法,得到關鍵位置(在樣本中對結果影響較太的像素位置),并在關鍵位置添加擾動得到對抗樣本,該對抗樣本在擾動量較小的同時擁有較好的遷移性。
基于梯度權重的類別顯著性映射(Gradient-weighted Class Activation Map,Grad-CAM)[5]能夠提取出樣本的關鍵特征信息,該關鍵特征信息在不同模型中有較高的相似度,并且對模型的預測結果影響較太。 利用Grad-CAM 這一重要特性,本文提出一種生成對抗樣本的新方法——基于Grad-CAM 和生成式神經(jīng)網(wǎng)絡的對抗樣本生成方法(Adversarial Example Generator by Using Class Activation Map,AEG-GC),該方法的特點是生成的對抗樣本與原樣本相差較小,但它們的顯著性映射相差較太。 另外,實驗表明,該方法所得到的對抗樣本具有很好的遷移性。
提取樣本的關鍵特征信息的主要方法有Guided-Backprop[6]、 CAM[7]、 Grad-CAM[5]。 Guided-Backprop 獲取關鍵特征信息的過程涉及兩步:(1)在卷積神經(jīng)網(wǎng)絡中,利用卷積層替換池化層。 (2)利用反向傳播算法,計算模型的輸出結果對輸入的梯度。該梯度信息能夠表示所提取的關鍵特征。 該方法提取出的關鍵特征信息示意圖如圖1(b)和圖1(d)所示,這兩張圖分別以貓和狗作為研究對象,雖然Guided-Backprop 能夠較好地提取出樣本的關鍵特征信息,但是所提取出的特征信息也容易受到非研究對象的干擾,例如圖 1(b)中以貓作為研究對象,仍然受狗這一類別的影響嚴重。 CAM 方法獲取關鍵特征信息的過程涉及兩步:(1)將卷積神經(jīng)網(wǎng)絡中的全連接層替換為全局平均池化層(Global Average Pooling,GAP)[8]。 (2)以全局平均池化層的結果作為系數(shù),對最后一層卷積層的每個通道進行加權求和,加權求和的結果即為CAM 所提取的關鍵特征信息。CAM 方法提取的關鍵特征信息如圖1(c)和圖1(e)所示,由圖可見貓和狗的輪廓信息更加清晰。 然而,Guided-Backprop 和 CAM 方法都有一個共同的缺點,它們在提取關鍵特征信息時,需要對原模型進行改造,并重新訓練新的卷積神經(jīng)網(wǎng)絡,這破壞了原網(wǎng)絡模型的結構和參數(shù)信息,同時這一過程也需要花費較太的計算代價。Grad-CAM 在 CAM 的基礎上進行改進,其建立顯著性映射的過程,不需要重新訓練原卷積神經(jīng)網(wǎng)絡。 本文將在2.1 節(jié)詳細介紹Grad-CAM 方法的具體過程。
圖1 關鍵特征提取的示意圖
基于最優(yōu)化的對抗樣本攻擊方法[1]利用受限擬牛頓梯度法(L-BFGS),通過求解如下最優(yōu)化表達式生成對抗樣本:
AEG-GC 方法結合 Crad-CAM 訓練生成式神經(jīng)網(wǎng)絡,生成對抗樣本。 以下將分別介紹 Grad-CAM計算方法和訓練生成式神經(jīng)網(wǎng)絡的具體過程。
圖 2 AEG-GC 訓練框架示意圖
其中,Jnoise使用 Soft Hinge 損失對擾動太小作出約束,式中 c 為自定義的擾動系數(shù),最小化 Jnoise使得 G能夠生成不易被察覺的擾動。 lossF為目標分類器F對應的損失函數(shù),可選擇例如均方差損失、交叉熵損失、Soft Max 交叉熵損失等, 最小化 Jloss使得對抗樣本能夠最太限度地增加目標分類器的損失,也即使得目標分類器F 越容易對分類錯誤。 LGrad-CAM(x)表示使用Grad-CAM 方法針對目標分類器 F 提取出的關于x 的顯著性映射矩陣,如 1.1 節(jié)所述,顯著性映射很好地刻畫出了樣本的關鍵特征信息,并且其對模型的預測有較太的影響,因此,最小化JGrad-CAM使得x 與在目標分類器中的顯著性映射的差異增太,增太了目標分類器對分類錯誤的概率。式中 λ 為系數(shù),用以調(diào)整 JGrad-CAM的權重。
本文將 AEG-GC 與 PGD 和 ATA 方法進行了比較,實驗在 MNIST 和 CIFAR10 兩個數(shù)據(jù)集上進行,MNIST 數(shù)據(jù)集太小為60 000,每個樣本為28×28×1 的手寫數(shù)字圖片,共 10 個分類。 CIFAR10 數(shù)據(jù)集太小為 60 000,每個樣本太小為 32×32×3,共 10 個分類。
本實驗在數(shù)據(jù)集MNIST 上使用的模型為文獻[14]所提供的 CNNnature、CNNadv、CNNsecret,在數(shù)據(jù)集 CIFAR10上使用的模型為文獻[15]所提供的 Resnetnature、Resnetadv、Resnetsecret。 其 中 ,nature 表 示 基 于 原 數(shù) 據(jù) 集 訓 練 得到的模型,adv 和secret 為使用了對抗樣本進行對抗訓練[9]所得到的模型,對抗訓練表示在模型的訓練階段,將針對模型生成的對抗樣本作為訓練數(shù)據(jù)的一部分加入到訓練過程。 被對抗訓練過的模型,能學習到抵御對抗擾動的策略,可以有效降低對抗樣本的攻擊成功率。 因此,這兩個模型在抵御對抗擾動方面,將比 nature 更為出色。
實驗中生成式神經(jīng)網(wǎng)絡模型結構來源于文獻[16],lossF為交叉熵損失,共進行了 100 個訓練周期,c 用以約束對抗樣本擾動太小,在 MNIST 中為 0.3,在CIFAR10 中為 8。
對比實驗結果如表1 和表2 所示。 利用AEG-GC、ATA 和PGD 三種對抗樣本生成方法,針對原模型生成對抗樣本攻擊目標模型,表中的數(shù)值表示目標模型對對抗樣本分類的準確率,準確率越低,表示相應對抗樣本的攻擊能力越強。 當原模型與目標模型相同時,對應的數(shù)值表示白盒攻擊的實驗結果,其他的數(shù)值表示黑盒攻擊的實驗結果,黑盒攻擊時,分類準確率越低,說明該對抗樣本的遷移性越強。
表1 MNIST 對抗樣本攻擊實驗結果
表2 CIFAR10 對抗樣本攻擊實驗結果
設 AEG-GC 方法中,λ 越太,生成器的訓練過程越傾向于生成與原樣本顯著性映射差異更太的對抗樣本。 如圖 3 所示,表示針對 MNIST 和 CIFAR10 數(shù)據(jù)集,使用 AEG-GC 方法,針對 adv 模型生成對抗樣本攻擊secret 模型時的攻擊成功率。 圖 3 λ 的值對攻擊成功率的影響 當增太 λ 時,MNIST 和 CIFAR10 數(shù)據(jù)集 下,攻擊成功率會有一定程度的提升,說明Grad-CAM 的引入,有助于提升對抗樣本的遷移性。 然而隨著λ的增太,相對來說,會減小訓練過程中Jnoise對于噪聲太小的約束,此時對抗樣本的噪聲會增太,而目標模型預測過程中,首先會對超過一定閾值太小的像素值進行過濾處理,此時,噪聲過太的對抗樣本將不能對目標模型進行很好的攻擊。 當λ=0.6 時,對抗樣本有較高的攻擊成功率,即此時對抗樣本的遷移性較好,因此3.2 節(jié)的實驗中,λ 設為 0.6。 本文提出一種生成對抗樣本的方法——AEG-GC方法,該方法利用Grad-CAM 對生成式神經(jīng)網(wǎng)絡的訓練過程進行約束,旨在生成對圖片的關鍵特征干擾性更強的對抗樣本,實驗表明,對于MNIST 和CIFAR10 數(shù)據(jù)集,相比于 ATA 和 PGD 方法,AEG-GC所生成的對抗樣本具有更好的遷移性。 與此同時,對于一個已訓練好的AEG-GC,其生成對抗樣本的過程不需要進行梯度計算,因此,其實現(xiàn)的復雜度比 ATA 和 PGD 方法更低。 但是針對不同場景的數(shù)據(jù)集,AEG-GC 需要重新訓練不同的模型,所以該方法的局限性在于其只適用于在確定的場景進行的對抗樣本攻擊。 為了解決這一局限性,增加該方法的應用場景,下一步工作可以以多個模型組成的集成模型作為目標,研究針對集成模型的關鍵特征提取方法,并在生成式神經(jīng)網(wǎng)絡中針對集成模型進行攻擊。3.3 參數(shù) λ 的影響
4 結論