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