鄭德生,陳繼鑫,周靜,柯武平,陸超,周永,仇釬,3
(1.西南石油大學(xué)計算機(jī)科學(xué)學(xué)院,成都 610500;2.中國航發(fā)四川燃?xì)鉁u輪研究院航空發(fā)動機(jī)高空模擬技術(shù)重點(diǎn)實驗室,四川 綿陽 621000;3.西北工業(yè)大學(xué) 動力與能源學(xué)院,西安 710072)
深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)在圖像識別、目標(biāo)檢測等任務(wù)中取得了快速的發(fā)展和顯著的成果,因此,神經(jīng)網(wǎng)絡(luò)的安全性備受研究人員的關(guān)注。DNN 的魯棒性在安全敏感的人臉識別[1]、自動駕駛[2-3]等場景中具有重要作用。然而,已有研究證明神經(jīng)網(wǎng)絡(luò)模型很容易被誤導(dǎo)。在神經(jīng)網(wǎng)絡(luò)的輸入中添加精心設(shè)計、細(xì)微的擾動,便可以使神經(jīng)網(wǎng)絡(luò)以高置信度輸出一個錯誤的預(yù)測結(jié)果。該結(jié)果雖然對視覺效果影響甚微,但可以把神經(jīng)網(wǎng)絡(luò)的樣本誤稱為對抗樣本。近年來,研究人員[4-5]提出用于生成具有攻擊性的對抗樣本。對抗樣本的研究有助于評估并提高神經(jīng)網(wǎng)絡(luò)的魯棒性。
根據(jù)攻擊者對目標(biāo)模型了解的程度,對抗攻擊被分為白盒攻擊和黑盒攻擊兩類。在白盒攻擊中,攻擊者可以訪問目標(biāo)模型的梯度、網(wǎng)絡(luò)架構(gòu)、參數(shù)等,而在黑盒攻擊中,攻擊者對目標(biāo)模型一無所知。相比黑盒攻擊,白盒攻擊雖然能夠取得更優(yōu)的攻擊性能,但是在現(xiàn)實場景中,攻擊者往往無法訪問目標(biāo)模型的內(nèi)部結(jié)構(gòu)等信息。常見的解決方案[6]是通過對本地白盒模型進(jìn)行攻擊,利用生成對抗樣本的遷移性對黑盒模型進(jìn)行攻擊。但當(dāng)這類方法攻擊白盒模型時存在過擬合問題,導(dǎo)致攻擊黑盒模型的效果不理想。許多研究[7-8]通過減少對白盒模型的過擬合來提升對抗攻擊的遷移性。但是它們只考慮了輸入整體對遷移性的影響,而未考慮輸入的每個部分對其的影響。
本文提出一種基于通道拆分的對抗攻擊遷移性增強(qiáng)算法CSA。通過對原始RGB 圖像輸入的通道進(jìn)行拆分與零填充,以得到三張三通道圖片。在每次迭代過程中,將原圖與得到的三通道圖片同時傳入模型中,計算聚合梯度。通過聚合梯度調(diào)整原始梯度更新方向,從而避免局部最優(yōu),提升對抗攻擊的遷移性。
假設(shè)x∈X為干凈樣本,y表示其真實標(biāo)簽,給定一個參數(shù)為θ的目標(biāo)模型f,L(f(x,θ),ytrue)表示其損失函數(shù),如交叉熵?fù)p失函數(shù)。對抗攻擊的目的是試圖找到一個對抗樣本xadv∈X,使其滿足:
其中:?為擾動允許的上界,表示原始樣本x與對抗樣本xadv之間的p 范數(shù)。本文使用無窮范數(shù)來限制對抗擾動,即p=∞。
近年來,研究人員提出許多關(guān)于對抗攻擊的研究,如基于梯度的對抗攻擊[9]、基于分?jǐn)?shù)的對抗攻擊[10]、基于決策的對抗攻擊[11]等。由于本文主要關(guān)注對抗攻擊的遷移性,因此簡要概述了基于梯度的對抗攻擊。
快速梯度符號法[12](Fast Gradient Sign Method,F(xiàn)GSM)通過在梯度方向上添加增量來最大化損失函數(shù),進(jìn)而通過單步更新來生成對抗樣本,對抗樣本的生成過程如式(3)所示:
其中:sgn 為符號函數(shù);?為模型的梯度。
迭代快速梯度符號法[13](Iterative-Fast Gradient Sign Method,I-FGSM)是FGSM 的迭代版本,每次迭代將擾動大小限制在?鄰域。第t+1 次迭代對抗樣本的生成過程如式(4)所示:
其中:α為步長;=x。
動量迭代快速梯度符號法[14](Momentum Iterative-Fast Gradient Sign Method,MI-FGSM)通過將動量引入迭代攻擊過程中來增強(qiáng)對抗攻擊的遷移性,其梯度的更新表示如式(5)所示:
其中:gt+1為第t+1 次迭代的梯度;||·||1為1 范數(shù)。
輸入變換法[15](Diverse Input Method,DIM)以固定的概率對輸入進(jìn)行隨機(jī)調(diào)整大小和填充,使用變換后的圖像進(jìn)行梯度計算,以提高遷移性。其梯度更新表示如式(6)所示:
其中:T為輸入變換函數(shù);p為變換的概率。
平移不變法[16](Translation Invariant Method,TIM)將梯度與預(yù)先定義的核函數(shù)進(jìn)行卷積,得到優(yōu)化的梯度,從而提高遷移性。梯度的更新表示如式(7)所示:
其中:gt為第t次迭代的梯度;W為預(yù)先定義的高斯核。
尺度不變法[17](Scale Invariant Method,SIM)引入尺度不變屬性,并將輸入按比例縮放,計算平均梯度。梯度的計算如式(8)所示:
其中:Si(x)=1/2i表示輸入圖片按比例縮 放;n表示縮放的次數(shù)。
為降低模型的潛在風(fēng)險,尤其是在安全性敏感的應(yīng)用場景中,研究人員提出多種防御對抗樣本的方法。這些方法大致可以分為兩類,一類是通過修改模型的訓(xùn)練或推理策略來提高模型的魯棒性。MADRY 等[18]提出的對抗訓(xùn)練是最有效的防御方法之一。對抗訓(xùn)練通過將對抗樣本加入到訓(xùn)練集中,再對模型進(jìn)行訓(xùn)練,以提高魯棒性。文獻(xiàn)[19]提出集成對抗訓(xùn)練,將攻擊多個模型生成的對抗樣本作為訓(xùn)練集,訓(xùn)練具有魯棒性較強(qiáng)的模型。COHEN等[20]使用隨機(jī)平滑(Random Smoothing,RS)策略來訓(xùn)練魯棒性強(qiáng)的模型。然而,這類方法通常計算成本過高,且不易拓展。
另一類是圖像的預(yù)處理方法,即對抗樣本在輸入模型前先對其進(jìn)行預(yù)處理,以消除對抗擾動。CIHANG等[21]對對抗樣本進(jìn)行隨機(jī)調(diào)整大小和填充,以降低其對模型的影響。GUO 等[22]研究了五種圖像變換方法,發(fā)現(xiàn)總方差最小化和圖像壓縮能夠消除對抗擾動。LIAO等[23]訓(xùn)練一個高階表征引導(dǎo)的除噪器(HGD)來防御對抗樣本。GU 等[24]提出位縮減(Bit-Red)和空間平滑來檢測對抗樣本。JIA 等[25]提出的ComDefend 是一個端到端模型,通過壓縮重建來防御對抗樣本。文獻(xiàn)[26]提出一個殘差U-net,結(jié)合SENet[27]用于防御對抗樣本的攻擊。NASEER 等[28]設(shè)計一個神經(jīng)表征凈化器(Neural Representation Purifier,NRP)來自動學(xué)習(xí)凈化對抗樣本。
不同的模型抵抗對抗攻擊的能力有所不同。文獻(xiàn)[29]將對抗攻擊的過程比作模型的優(yōu)化過程。在攻擊的迭代過程中,采用數(shù)據(jù)增強(qiáng)策略能夠有效避免攻擊白盒模型時產(chǎn)生的過擬合現(xiàn)象,進(jìn)而提升對抗攻擊的遷移性。DIM、SIM 等使用數(shù)據(jù)增強(qiáng)策略來提高對抗攻擊的遷移性。這類方法雖然均考慮了輸入所有通道對攻擊成功率的影響,都取得較優(yōu)的效果,但是未考慮輸入的每一個通道對攻擊成功率的影響。受此啟發(fā),本文在每次迭代過程中,考慮對輸入的通道進(jìn)行拆分和填充,并通過計算聚合梯度來調(diào)整梯度的更新方向,提升對抗攻擊遷移性。通道拆分和填充的表示如式(9)所示:
其中:CSAP 為通道拆分和填充操作;xR、xG、xB分別為RGB 輸入的三個通道進(jìn)行拆分和零填充后的圖片。RGB 通道拆分與填充的流程如圖1 所示。
圖1 RGB 通道拆分與填充的流程Fig.1 Procedure of RGB channels splitting and padding
從圖1 可以看出,對于每個RGB 輸入,將其三個通道拆分,再分別使用零矩陣填充,得到三個輸入xR、xG、xB與原始RGB 輸入x共同構(gòu)成用于梯度計算的一組圖片X′=[x,xR,xG,xB]。
在同一數(shù)據(jù)集上,由于不同神經(jīng)網(wǎng)絡(luò)模型的架構(gòu)與參數(shù)不同,因此其決策邊界也有所不同。復(fù)雜的決策邊界降低了對抗樣本的遷移性。為充分利用原始RGB 的輸入,本文將其每個通道分別用于梯度的計算。根據(jù)每個通道的梯度信息來調(diào)整原始梯度的更新方向,避免陷入局部最優(yōu),進(jìn)而提高對抗攻擊的遷移性。梯度的計算如式(10)所示:
攻擊集成模型可以生成具有高遷移性的對抗樣本。這主要是因為在多個模型上生成的對抗樣本能夠很容易捕獲模型“盲點(diǎn)”的全局最優(yōu)值。將N個模型的輸出進(jìn)行融合,根據(jù)融合輸出進(jìn)行梯度計算,可以有效提高對抗攻擊的遷移性。融合模型輸出的表達(dá)如式(11)所示:
其中:li(x)為第i個模型對輸入x的概率輸出;N為模型的個數(shù);pi為第i個模型概率輸出所占的權(quán)重,滿足p1+p2+…+pN=1。
本文實驗從ILSVRC 2012驗證集[30]中,從1 000個類別中隨機(jī)選取1 000 張能夠被所有模型正確識別的圖片,并對CSA 算法進(jìn)行評估。本文實驗采用攻擊成功率作為評價指標(biāo),用于對比不同方法的性能。攻擊成功率通過模型預(yù)測錯誤的樣本個數(shù)除以樣本總數(shù)得出。
本文實驗選擇的三種基線方法分別是DIM[15]、TIM[16]、SIM[17]以及它們的組 合,分別表示為SI-TIM、SI-DIM 和SI-TI-DIM。最大擾動?=16,迭代次數(shù)T=10,迭代步長α=?/T=1.6,衰減因子μ=1。對于DIM 算法,本文設(shè)置變換的概率p=0.5;對于TIM 算法,設(shè)置高斯核大小為7×7;對于本文所提的CSA 算法,參考文獻(xiàn)[14]設(shè)置n=5,γi=1/2i。
本文共選擇七個模型對CSA 算法進(jìn)行驗證。本文實驗的ImageNet 模型選擇如表1 所示,包含四個常規(guī)訓(xùn)練的模型和三個對抗訓(xùn)練的模型,分別用編號表示。
表1 本文實驗的ImageNet 模型選擇Table 1 ImageNet models selection of experiment in this paper
3.2.1 單一對抗攻擊算法對比
本文實驗使用基線算法和本文所提的CSA 算法對單個模型進(jìn)行攻擊,分別在四個常規(guī)訓(xùn)練的模型上生成對抗樣本,并在七個模型上對生成的對抗樣本進(jìn)行測試。
表2 和表3 分別所示為單一對抗攻擊算法在常規(guī)訓(xùn)練和對抗訓(xùn)練模型上的攻擊成功率。其中*表示白盒攻擊成功率,加粗?jǐn)?shù)據(jù)表示相對較高的攻擊成功率。CSA 算法在保持接近100%的白盒攻擊成功率的情況下,無論是對常規(guī)訓(xùn)練還是對抗訓(xùn)練的黑盒模型,取得的攻擊成功率均高于DIM、TIM 和SIM算法。例 如,當(dāng)白盒模型為M1(Inception-v3)時,CSA 對四個常規(guī)訓(xùn)練模型的平均攻擊成功率為84.2%,相比SIM 提高9.3 個百分點(diǎn)。CSA 對三個對抗訓(xùn)練模型的平均攻擊率相較于SIM 提高10.5 個百分點(diǎn)。因此,CSA 可以有效地提升對抗攻擊的遷移性。
表2 單一對抗攻擊算法在常規(guī)訓(xùn)練模型上的攻擊成功率Table 2 Attack success rates of single adversarial attack algorithms on conventional training models %
表3 單一對抗攻擊算法在對抗訓(xùn)練模型上的攻擊成功率Table 3 Attack success rates of single adversarial attack algorithms on adversarial training models %
3.2.2 集成對抗攻擊算法對比
在文獻(xiàn)[17]中證明將DIM 與TIM 和SIM 相結(jié)合,可以提升對抗攻擊的遷移性。因此,本文還評估了CSA 與其他算法相集成的效果。當(dāng)用于調(diào)整梯度的一組圖片X′=[x]時,CSA 變?yōu)镾IM,因此,本文分別將DIM 和TIM 與CSA 進(jìn)行集成,集成的對抗攻擊算法分別記作DI-CSA、TI-CSA 和TI-DI-CSA。
集成對抗攻擊算法在常規(guī)訓(xùn)練和對抗訓(xùn)練模型上的攻擊成功率分別如表4 和表5 所示。從表4 和表5 可以看出,DI-CSA、TI-CSA、TI-DI-CSA 可以大幅提高對抗攻擊的遷移性。例如,當(dāng)白盒模型為M1時,DI-CSA、TI-CSA、TI-DI-CSA 對常規(guī)訓(xùn)練模型的平均攻擊成功率相較于CSA 提升了0.7~7.1 個百分點(diǎn),相比SI-DIM、SI-TIM 和SI-TI-DIM提高6.7~9.1 個百分點(diǎn)。DI-CSA、TI-CSA、TI-DI-CSA 對對抗訓(xùn)練模型的平均攻擊成功率相較于CSA 提升了11.9~35.6 個百分點(diǎn),相比SI-DIM、SI-TIM 和SI-TI-DIM提高12.6~15.2 個百分點(diǎn)。因此,集成對抗攻擊算法DI-CSA、TI-CSA、TI-DI-CSA 均能提高對抗攻擊的遷移性。
表4 集成對抗攻擊算法在常規(guī)訓(xùn)練模型上的攻擊成功率Table 4 Attack success rates of integrated adversarial attack algorithms on conventional training models %
表5 集成對抗攻擊算法在對抗訓(xùn)練模型上的攻擊成功率Table 5 Attack success rates of integrated adversarial attack algorithms on adversarial training models %
對抗攻擊算法同時攻擊多個模型,可以提高生成對抗樣本的遷移性。為進(jìn)一步驗證本文所提CSA算法的有效性,本文實驗采用2.3 節(jié)所描述的方法,對集成模型進(jìn)行攻擊,即同時攻擊M1、M2、M3和M4。在三個對抗訓(xùn)練的黑盒模型上進(jìn)行測試,以驗證生成對抗樣本的遷移性。
不同對抗攻擊算法在常規(guī)訓(xùn)練模型和對抗訓(xùn)練模型上的攻擊成功率對比分別如表6 和表7 所示。從 表6和表7 可以看出,CSA、DI-CSA、TI-CSA 和TI-DI-CSA 與其他算法在白盒模型上都取得了較優(yōu)的攻擊效果,攻擊成功率相接近。當(dāng)攻擊黑盒模型時,本文所提算法取得的攻擊成功率遠(yuǎn)高于其他對抗攻擊算法,CSA 比DIM、TIM 和SIM 的攻擊成功率平均提高了7.9~29.4 個百分點(diǎn)。CSA 與DIM 相集成的DI-CSA 比SI-DIM 的攻擊成功率平均提高5.2 個百分點(diǎn),與TIM 集成的TI-CSA 比SI-TIM 攻擊成功率平均提高3.6 個百分點(diǎn),與DIM 和TIM 集成的TI-DI-CSA 在三個對抗訓(xùn)練的黑盒模型上取得了94.7%的平均攻擊成功率,比SI-TI-DIM 提高2.1 個百分點(diǎn)。
表6 不同對抗攻擊算法在常規(guī)訓(xùn)練模型上的攻擊成功率對比Table 6 Attack success rates comparison among different adversarial attack algorithms on conventional training models %
表7 不同對抗攻擊算法在對抗訓(xùn)練模型上的攻擊成功率對比Table 7 Attack success rates comparison among different adversarial attack algorithms on adversarial training models %
為進(jìn)一步驗證CSA 的有效性,本文對七種防御模型進(jìn)行攻擊。這七種防御模型分別是2017 年NIPS防御競賽排名前三的HGD、R&P和NIPs-r3,以及近年來提出的防御模型,如ComDefend、NRP、Bit-Red和RS。
圖2 所示為六種對抗攻擊算法對防御模型的攻擊成功率。從圖2 可以看出,CSA 對防御模型的攻擊成功率高于DIM、TIM 和SIM。TI-DI-CSA 對防御模型的攻擊成功率平均為91.8%,相較于SI-TI-DIM的88.0%提高3.8 個百分點(diǎn)。該實驗充分驗證了所提CSA 算法的有效性。
圖2 不同算法對防御模型的攻擊成功率對比Fig.2 Attack success rates comparison among different algorithms against the defense model
為確保CSA 生成的對抗樣本所包含的信息仍然完整,且不影響人類的主觀判斷,本文在不同擾動大小下,分別使用DIM、TIM、SIM 和CSA 對M1、M2、M3和M4模型進(jìn)行攻擊,并在七個模型上計算平均攻擊成功率。實驗結(jié)果如圖3~圖5 所示,橫坐標(biāo)表示白盒模型。從圖3 可以看出,當(dāng)最大擾動為2 時,即?=2,在白盒模型為M1的情況下,CSA 在七個模型上取得的平均攻擊成功率比其他三種算法提高0.4~2.7 個百分點(diǎn)。當(dāng)白盒模型為M2或M3時,CSA 取得的平均攻擊成功率比DIM 和TIM 兩種算法分別提高2~3.7 個百分點(diǎn)和0.2~0.8 個百分點(diǎn),比SIM 低0.4和0.6 個百分點(diǎn)。當(dāng)白盒模型為M4時,CSA 取得的平均攻擊成功率比其他三種算法平均降低0.1~0.6 個百分點(diǎn)。從圖3~圖5 可以看出,最大擾動越大,CSA取得的平均攻擊成功率越高。當(dāng)最大擾動分別為4和8 時,CSA 均取得了最高的平均攻擊成功率,相較于其他三種算法平均提高約4.8 和10.8 個百分點(diǎn)。
圖3 當(dāng)最大擾動為2 時不同算法對白盒模型的攻擊成功率Fig.3 Attack success rates of different algorithms against the white-box model when the maximum disturbance is 2
圖4 當(dāng)最大擾動為4 時不同算法對白盒模型的攻擊成功率Fig.4 Attack success rates of different algorithms against the white-box model when the maximum disturbance is 4
圖5 當(dāng)最大擾動為8 時不同算法對白盒模型的攻擊成功率Fig.5 Attack success rates of different algorithms against the white-box model when the maximum disturbance is 8
在不同擾動下,DIM、TIM、SIM 和CSA 在M1模型上生成對抗樣本的可視化效果如圖6 所示。從圖6 可以看出,CSA 生成的對抗樣本在視覺上與其他算法相似,但能夠獲得更高的攻擊成功率。
圖6 不同算法在M1模型上生成對抗樣本的可視化效果Fig.6 Visualization effect of generating adversarial samples comparison among different algorithms on M1 model
針對對抗攻擊遷移性低的問題,本文提出一種基于通道拆分的對抗攻擊遷移性增強(qiáng)算法。通過對原圖像的三個通道進(jìn)行拆分和零值填充,充分考慮單個通道對攻擊成功率的影響,以提高對抗攻擊的遷移性。在標(biāo)準(zhǔn)的ImageNet 數(shù)據(jù)集上的實驗結(jié)果表明,相比基于梯度的攻擊算法DIM、TIM、SIM 等,本文算法對白盒模型、黑盒模型和防御模型都具有較優(yōu)的攻擊效果。下一步將改進(jìn)CSA 算法的時間復(fù)雜度,在保持較高攻擊成功率的前提下加快對抗樣本的生成速度,同時構(gòu)建一個自動攻擊與防御架構(gòu),并在攻擊與防御的對抗過程中不斷優(yōu)化該架構(gòu),提升攻擊性能。