張玉婷,向海昀,李倩,廖浩德
(西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,四川 成都 610500)
深度神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺任務(wù)中表現(xiàn)良好,例如圖像分類[1]、目標(biāo)檢測(cè)[2]和語義分割[3-4]等。但文獻(xiàn)[5]發(fā)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)具有脆弱性,也就是可以通過對(duì)樣本施加適度且視覺上不明顯的小擾動(dòng)來破壞深度神經(jīng)網(wǎng)絡(luò)分類器的準(zhǔn)確性。這些可能引起分類器錯(cuò)誤分類的樣本被稱為對(duì)抗樣本,對(duì)抗擾動(dòng)就是在這些樣本中所應(yīng)用的擾動(dòng)。對(duì)抗樣本的存在一度引起安全敏感應(yīng)用領(lǐng)域的關(guān)注,如自動(dòng)駕駛[6]、人臉識(shí)別[7]和視頻監(jiān)控等。
對(duì)抗樣本為深度神經(jīng)網(wǎng)絡(luò)帶來的威脅引起了研究者對(duì)構(gòu)建魯棒分類模型的研究興趣,同時(shí)還在一定程度上促進(jìn)了構(gòu)建更有效、更強(qiáng)大的對(duì)抗樣本生成方法的研究[8]。在過去的研究中,有許多對(duì)抗攻擊方法[9]被提出,但這些方法也存在一定缺陷。例如:快速梯度符號(hào)法[10]速度較快但生成的對(duì)抗樣本噪聲較大;迭代方法[11]能夠生成更精細(xì)的擾動(dòng)但易發(fā)生“過擬合”;投影梯度下降法[12]、C&W 攻擊[13]等方法雖然做出了更多的優(yōu)化,但黑盒攻擊成功率仍有待進(jìn)一步提高。此外,一些研究還發(fā)現(xiàn)對(duì)抗樣本具有可遷移性,即在某個(gè)網(wǎng)絡(luò)模型上生成的對(duì)抗樣本在一定程度上對(duì)其他模型同樣有效,這有可能會(huì)導(dǎo)致一系列計(jì)算機(jī)安全問題。近年來,人們提出了多種方法來增強(qiáng)對(duì)抗樣本的轉(zhuǎn)移性和攻擊性,如不同輸入攻擊[14]、平移不變攻擊[15]、顏色不變攻擊[16]和多模型集成攻擊[17]。在提高可轉(zhuǎn)移性的方法中,基于動(dòng)量的迭代攻擊[18]具有良好的性能。
受NAG[19]和AdaBelief 優(yōu)化器[20]的啟發(fā),本文將Nesterov 更新和Belief 參數(shù)的思想引入到Adam算法[21]中以便獲得更穩(wěn)定的優(yōu)化,將這種優(yōu)化結(jié)合到對(duì)抗樣本生成算法中,并利用指數(shù)衰減率對(duì)迭代步長(zhǎng)進(jìn)行衰減處理,可以獲得比動(dòng)量迭代攻擊更好的性能。此外,數(shù)據(jù)增強(qiáng)能夠提高模型的泛化能力,不同的數(shù)據(jù)增強(qiáng)方式也能夠使擾動(dòng)穩(wěn)定,提升對(duì)抗樣本的泛化能力。所以,本文提出對(duì)空間域的多種變換方式進(jìn)行加權(quán),變換方式主要選用常見的翻轉(zhuǎn)、平移、尺度和旋轉(zhuǎn)4 種變換,使用加權(quán)計(jì)算后的梯度進(jìn)行更新以獲得更穩(wěn)定的梯度方向。本文主要貢獻(xiàn)如下:
1)提出了基于Nesterov 更新和Belief 參數(shù)的Adam 優(yōu)化算法NABD,以及空間域變換的梯度加權(quán)數(shù)據(jù)增強(qiáng)方法STW,并將NABD 和STW 應(yīng)用于對(duì)抗樣本生成以獲得更穩(wěn)定的梯度更新方向,提高樣本的攻擊性能。
2)在ILSVRC 2012 驗(yàn)證集[22]上分別進(jìn)行單模型和集成模型對(duì)抗樣本攻擊實(shí)驗(yàn),驗(yàn)證所提出的對(duì)應(yīng)改進(jìn)算法生成的對(duì)抗樣本的性能。
3)通過消融分析驗(yàn)證算法的有效性,并研究算法中空間域變換率、最大擾動(dòng)值和迭代次數(shù)對(duì)攻擊成功率和對(duì)抗樣本遷移性的影響,給出超參數(shù)的設(shè)置建議。
給定一個(gè)分類器f(x):x?X→y?Y,該分類器對(duì)于輸入樣本x的預(yù)測(cè)結(jié)果是標(biāo)簽y。對(duì)抗攻擊就是在樣本x附近尋找對(duì)抗樣本x*使分類器錯(cuò)誤分類。對(duì)于分類器f(x)=y,通過無目標(biāo)攻擊得到的一個(gè)對(duì)抗樣本x*就是通過添加小噪聲到x,但不改變標(biāo)簽,將分類器誤導(dǎo)為f(x*) ≠y;一個(gè)有目標(biāo)攻擊的對(duì)抗樣本旨在通過輸出一個(gè)特定的標(biāo)簽f(x*)=y*來欺騙分類器,其中,x*是攻擊指定的目標(biāo)標(biāo)簽,y*≠y。在大多數(shù)情況下,對(duì)抗噪聲的Lp范數(shù)要求小于一個(gè)允許的值ε,即‖x-x*‖p<ε,其中p=0,1,2,∞。
文獻(xiàn)[10]提出快速梯度符號(hào)法,該方法通過添加擾動(dòng)使損失函數(shù)L(xadv,y;θ)最大化,這些擾動(dòng)是在梯度方向上進(jìn)行單步更新得到的。該方法生成的對(duì)抗樣本能獲得較高的黑盒攻擊成功率,但由于更新方向不夠精確會(huì)導(dǎo)致噪聲較明顯且白盒攻擊成功率不理想。具體實(shí)現(xiàn)流程如式(1)所示:
其中:?x L(x,y;θ) 為損失函數(shù)關(guān)于x的梯度;sign(?)為符號(hào)函數(shù)。
文獻(xiàn)[11]提出迭代快速梯度符號(hào)法(I-FGSM),該方法將擾動(dòng)大小ε擴(kuò)展為一個(gè)更小的步長(zhǎng)α。隨著迭代次數(shù)的增加,該方法可以有效地提高白盒攻擊成功率,但同時(shí)也會(huì)導(dǎo)致對(duì)抗樣本過于適應(yīng)單個(gè)模型而無法達(dá)到較高的黑盒攻擊成功率。具體實(shí)現(xiàn)流程如式(2)所示:
其中:xadv,0=x;t為迭代次數(shù);α大小由迭代次數(shù)t決定。
投影梯度下降法(PGD)是一種更有效的梯度攻擊方法,它在I-FGSM 的基礎(chǔ)上添加一個(gè)球內(nèi)限制,允許球內(nèi)的隨機(jī)點(diǎn)初始化搜索對(duì)抗樣本。具體實(shí)現(xiàn)流程如式(3)所示:
其中:Clipε,x(?)函數(shù)將生成的對(duì)抗樣本限制在x的ε球面內(nèi)。
文獻(xiàn)[15]提出基于動(dòng)量的迭代快速梯度符號(hào)方法(MI-FGSM)在I-FGSM 中整合動(dòng)量。該方法在參數(shù)的更新過程中累積梯度,加快收斂速度,逃脫局部極值的束縛,獲得更穩(wěn)定的更新方向,減輕過擬合,有效地提高了攻擊性能,實(shí)現(xiàn)了更高的可轉(zhuǎn)移性。具體實(shí)現(xiàn)流程如式(4)、式(5)所示:
其中:gt是第t次累積梯度;μ是衰減因子。
文獻(xiàn)[23]提出基于Nesterov 算法的迭代快速梯度符號(hào)法(NI-FGSM),該方法在MI-FGSM 中引入NAG 思想來提高對(duì)抗樣本的可轉(zhuǎn)移性。具體實(shí)現(xiàn)流程如式(6)~式(8)所示:
文獻(xiàn)[15]提出logits 集成方法,將logits 激活融合以達(dá)到攻擊多個(gè)模型的目的。該方法利用概率預(yù)測(cè)之間的對(duì)數(shù)關(guān)系進(jìn)行集成,logits 集成的模型集合幾乎聚合了各個(gè)模型的輸出。在集成各種攻擊方法和各種模型時(shí),logits 中的集成優(yōu)于預(yù)測(cè)中的集成和損失中的集成。具體實(shí)現(xiàn)流程如式(9)、式(10)所示:
其中:lk(x)是第k個(gè)模型的logits;ωk≥0 是整體權(quán)重;1y是y的one-hot 編碼。
Adam[21]算法是RMSProp 結(jié)合動(dòng)量的優(yōu)化算法,該方法在保持梯度更新方向穩(wěn)定的同時(shí)還加快了收斂速度。具體更新過程如式(11)~式(15)所示:
其中:mt、vt分別為累積梯度gt在動(dòng)量形式下的一階矩估計(jì)和二階矩估計(jì)、分別為偏差校正后的mt和vt;β1、β2為指數(shù)衰減率;θt為更新參數(shù);δ為防止除0 的極小值。
其中:δ為超參數(shù)。
為了進(jìn)一步提高攻擊成功率,本文所提出的NABD 優(yōu)化算法在Adam 的基礎(chǔ)上整合NAG 加速梯度的思想,引入Belief 參數(shù)并根據(jù)指數(shù)衰減率對(duì)步長(zhǎng)做衰減處理。在梯度下降過程中幫助提前計(jì)算下一個(gè)梯度,然后進(jìn)行修正,這樣可以平衡穩(wěn)定地更新方向,避免局部極大值。推導(dǎo)過程如式(18)、式(19)所示:
NABD 算法的具體實(shí)現(xiàn)如式(20)~式(22)所示:
其中:αt為衰減步長(zhǎng);ε為擾動(dòng)大小
除了考慮將一個(gè)更好的梯度優(yōu)化算法用于對(duì)抗攻擊外,考慮利用數(shù)據(jù)增強(qiáng)的方法來提高對(duì)抗樣本質(zhì)量。在相同模型上,通過保損變換可以使得初始圖像的損失值與變換圖像的損失值相似,以此實(shí)現(xiàn)模型擴(kuò)充。受此啟發(fā),通過在空間域進(jìn)行多種變換的方式進(jìn)行數(shù)據(jù)增強(qiáng),采用與傳統(tǒng)數(shù)據(jù)增強(qiáng)不同的加權(quán)平均梯度的方式融合多種變換從而達(dá)到更好的攻擊效果。研究人員提出一種空間域變換梯度加權(quán)(STW)方法,通過對(duì)圖片進(jìn)行翻轉(zhuǎn)、平移、尺度、旋轉(zhuǎn)這幾種特征變換,并將特征變換后計(jì)算損失得到的梯度加權(quán)平均后進(jìn)行更新。具體實(shí)現(xiàn)如式(23)所示:
其中:N可取4;S1為F(xadv,t,p);S2為T(xadv,t,p,d);S3為S(xadv,t,p,n);S4為R(xadv,t,p,α)。
1)對(duì)整張圖片做隨機(jī)翻轉(zhuǎn)處理,它將輸入樣本進(jìn)行左右方向上的水平翻轉(zhuǎn),以概率p控制輸入圖像的翻轉(zhuǎn)率。
2)對(duì)整張圖片做隨機(jī)平移處理,將原圖在隨機(jī)方向上進(jìn)行裁剪,限制最大裁剪距離為d個(gè)像素,將裁剪后的圖像進(jìn)行填充以保持原圖大小,平移概率為p。
3)對(duì)整張圖片進(jìn)行隨機(jī)尺度大小的調(diào)整,將輸入圖像以p的概率對(duì)每個(gè)像素進(jìn)行相同倍數(shù)n的放大或縮小。
4)對(duì)整張圖片進(jìn)行旋轉(zhuǎn)調(diào)整,將圖像沿中心旋轉(zhuǎn),旋轉(zhuǎn)角度在(-a,a)區(qū)間內(nèi),旋轉(zhuǎn)概率為p。
NI-FGSM 集成了一個(gè)預(yù)期的模型更新到MI-FGSM 中,受此啟發(fā),該方法也將一個(gè)預(yù)期的模型更新集成到NABD-STW 中以獲得更高的攻擊成功率。NABD-STW-NIM 的具體實(shí)現(xiàn)流程可以表示為:
本文所提出的NABD-STW-NIM 攻擊算法是將基于穩(wěn)定矩估計(jì)的優(yōu)化方法和基于空間域變換的梯度加權(quán)方法相結(jié)合的一個(gè)更強(qiáng)大的攻擊方法,算法流程如圖1 所示。
NABD-STW-NIM 單模型算法和集成模型算法分別如下:
算法1NABD-STW-NIM(單模型)
算法2NABD-STW-NIM(集成模型)
實(shí)驗(yàn)設(shè)置主要包含以下內(nèi)容:
1)數(shù)據(jù)集
從ILSVRC 2012 驗(yàn)證集的1 000 個(gè)類別中隨機(jī)選取1 000 張能以較高精度被測(cè)試模型正確分類的測(cè)試圖片。實(shí)驗(yàn)中輸入和輸出樣本大小均為299×299×3。
2)分類模型
實(shí)驗(yàn)使用7 個(gè)測(cè)試模型為實(shí)驗(yàn)的攻擊對(duì)象,包括4 個(gè)正常訓(xùn)練的模型和3 個(gè)對(duì)抗訓(xùn)練的模型:即Inc-v3[25]、Inc-v4[26]、IncRes-v2[26]、Res-101[27]和Inc-v3ens3、Inc-v3ens4、IncRes-v2ens[27]。
3)基準(zhǔn)方法
為了更好地評(píng)估該算法的有效性,在實(shí)驗(yàn)中選擇了4 種經(jīng)典的對(duì)抗攻擊算法(FGSM、I-FGSM、MI-FGSM、NI-FGSM)作為比較基線,與NABD-STW算法和NABD-STW-NIM 算法進(jìn)行分析對(duì)比。
4)損失函數(shù)與超參數(shù)
實(shí)驗(yàn)中采用交叉熵函數(shù),圖片像素值為[0,255]像素,最大擾動(dòng)值ε=16,迭代次數(shù)T=10,指數(shù)衰減率β1=0.9、β2=0.99,極小值δ=10-8,衰減因子μ=1.0,空間域變換概率p=0.5,最大平移距離d=32,尺度調(diào)整倍數(shù)n=0.5,旋轉(zhuǎn)調(diào)整角度α=30。
本節(jié)使用NABD-STW 和NABD-STW-NIM 算法進(jìn)行單模型攻擊實(shí)驗(yàn),如表1 所示(其中加粗?jǐn)?shù)字為最優(yōu)值),與單模型設(shè)置下的基線進(jìn)行比較,NABD-STW-NIM 不僅在白盒模型上有較高的成功率,而且在黑盒設(shè)置下的成功率也普遍高于其他方法,其中,*為白盒,其余為黑盒。NABD-STW 在IncRes-v2 上生成的對(duì)抗樣本攻擊Inc-v3 的成功率達(dá)到72.3%,NABD-STW-NIM 的成功率達(dá)到74.5%。針對(duì)Inc-v3 的對(duì)抗樣本在對(duì)抗訓(xùn)練網(wǎng)絡(luò)中,NABDSTW 相較于MI-FGSM 的攻擊成功率提高了7.1%,NABD-STW-NIM 相較于NI-FGSM 提高了5.7%。這充分地證明了本文算法對(duì)于提高對(duì)抗樣本遷移能力的有效性。圖2 展示了不同攻擊方法為Inc-v3 生成的對(duì)抗圖像。
表1 單模型攻擊成功率對(duì)比Table 1 Comparison of attack success rate of single model %
圖2 不同攻擊方法生成的對(duì)抗樣本Fig.2 Adversarial samples generated by different attack methods
在單模型攻擊中,當(dāng)NABD-STW-NIM 算法面對(duì)普通訓(xùn)練網(wǎng)絡(luò)時(shí),黑盒攻擊成功率得到明顯提高,但在面對(duì)對(duì)抗訓(xùn)練網(wǎng)絡(luò)時(shí)效果欠佳。所以,根據(jù)文獻(xiàn)[15]的啟發(fā),本文考慮通過同時(shí)攻擊多個(gè)模型來展示NABD-STW 和NABD-STW-NIM 算法的性能。集成模型的攻擊方式主要是將白盒模型對(duì)應(yīng)的logits 輸出值進(jìn)行加權(quán)融合作為最終的logits 值,這樣的方法可以使得到的對(duì)抗樣本適用于多個(gè)模型,以獲得更好的遷移性。如表2 所示,集成模型攻擊對(duì)于所有模型的成功率都有很大提高,但隨之帶來了更多計(jì)算資源的消耗。在表中,*為白盒,其余為黑盒,在黑盒設(shè)置下,NABD-STW-NIM 算法攻擊成功率始終比基線高出10%~30%。
表2 集成模型攻擊成功率對(duì)比Table 2 Comparison of attack success rate of integrated model %
本節(jié)通過消融實(shí)驗(yàn)進(jìn)行對(duì)比分析,驗(yàn)證NABDSTW-NIM 算法的有效性,實(shí)驗(yàn)中使用Inc-v3 作為白盒模型尋找對(duì)抗樣本,在I-FGSM 的基礎(chǔ)上不斷加入所提出方法來進(jìn)行攻擊。實(shí)驗(yàn)結(jié)果如表3 所示,其中,√表示加入該算法。
表3 消融實(shí)驗(yàn)成功率對(duì)比Table 3 Comparison of successful rate of ablation experiment %
可以發(fā)現(xiàn),NABD 算法可以將黑盒攻擊成功率提高約30%,加入STW 算法后,黑盒攻擊成功率再次提高約8%,在此基礎(chǔ)上加入Nesterov 更新可以將攻擊成功率提高約4%,本文算法的最強(qiáng)組合NABDSTW-NIM 能夠逐步增強(qiáng)黑盒攻擊成功率,同時(shí)保持白盒攻擊的穩(wěn)健,有效提高對(duì)抗樣本性能。
為了進(jìn)一步驗(yàn)證STW 算法的有效性,本文為攻擊方法設(shè)置基線。當(dāng)黑盒攻擊成功率處于同一基線時(shí)比較不同攻擊方法的擾動(dòng)量大小,從而排除存在大量無效擾動(dòng)的可能。這里將基線設(shè)置為30%,Inc-v3 作為白盒,Inc-v4 作為黑盒,擾動(dòng)量通過原樣本與對(duì)抗樣本之間的歐氏距離計(jì)算得出。實(shí)驗(yàn)結(jié)果如表4 所示,可以發(fā)現(xiàn),當(dāng)攻擊成功率處于同一水平時(shí),NABD-STW-NIM 算法的擾動(dòng)量小于其他攻擊算法擾動(dòng)量,證實(shí)了STW 算法的有效性。
表4 不同攻擊算法的擾動(dòng)量對(duì)比Table 4 Comparison of disturbance of different attack algorithms
本節(jié)進(jìn)行一系列拓展實(shí)驗(yàn),討論算法中不同超參數(shù)對(duì)攻擊成功率的影響,主要包括空間域變換概率p、最大擾動(dòng)值ε和迭代次數(shù)T。
關(guān)于空間域變換概率p的影響,設(shè)置p的范圍為0~1,增長(zhǎng)幅度為0.1,當(dāng)p=0時(shí)不發(fā)生變換。以Inc-v3為白盒生成對(duì)抗樣本,其余3 個(gè)正常訓(xùn)練模型作為黑盒模型進(jìn)行測(cè)試,圖3(a)為空間域變換概率對(duì)成功率的影響情況??梢杂^察到在白盒攻擊中的成功率接近100%,黑盒攻擊成功率也隨著空間域變換概率的遞增而增加。當(dāng)轉(zhuǎn)換概率較小時(shí),攻擊成功率提高更明顯,從圖中可以看出,p>0.5 時(shí)的攻擊成功率比p<0.5 時(shí)平緩,因此在資源有限的情況下為了獲得更高的性價(jià)比,會(huì)選擇將空間域變換概率設(shè)置為p=0.5。在資源充足的情況下可以設(shè)置p=1 以實(shí)現(xiàn)最高的黑盒攻擊成功率。
圖3 各參數(shù)與攻擊成功率的關(guān)系Fig.3 Relationship between each parameters and attack success rate
關(guān)于迭代次數(shù)T的影響,設(shè)置空間域變換概率p=0.5,迭代次數(shù)的范圍為1~10,增長(zhǎng)幅度為1。如圖3(b)所示,可以發(fā)現(xiàn)攻擊成功率隨迭代次數(shù)的增加略有提高。將本文算法與MI-FGSM 算法進(jìn)行比較,其中實(shí)線為NABD-STW-NIM 算法攻擊成功率,虛線為MI-FGSM 算法攻擊成功率。可以明顯看到實(shí)線在虛線之上,并且在黑盒攻擊中,MI-FGSM 的成功率隨迭代次數(shù)增加而略有下降,但本文提出的算法卻能夠保持穩(wěn)定,這主要是由于本文使用動(dòng)態(tài)的步長(zhǎng)衰減方法可以有效緩解迭代次數(shù)帶來對(duì)抗樣本“過擬合”、遷移性下降的問題。在實(shí)驗(yàn)中,選擇迭代次數(shù)T=10 以提高攻擊成功率,同時(shí)確保對(duì)抗樣本的生成效率。
關(guān)于最大擾動(dòng)值對(duì)攻擊成功率的影響,圖像最大擾動(dòng)ε的范圍為2~20,增長(zhǎng)幅度為2。如圖3(c)所示,黑盒攻擊成功率隨著擾動(dòng)增大呈上升趨勢(shì)。但ε增大的同時(shí),對(duì)抗樣本中的噪聲也會(huì)更加明顯,不同擾動(dòng)值生成對(duì)抗樣本的差異如圖4 所示,可以看出當(dāng)ε=32時(shí),對(duì)抗樣本噪聲太大,易被人眼識(shí)別。因此,實(shí)驗(yàn)中選擇ε=16 來生成對(duì)抗樣本,在保證對(duì)抗樣本合理的同時(shí),盡可能地實(shí)現(xiàn)較高的攻擊成功率。
圖4 不同擾動(dòng)大小生成的對(duì)抗樣本Fig.4 Adversarial samples generated by different disturbance sizes
本文提出一種基于優(yōu)化的對(duì)抗樣本生成算法,該算法由基于Adam 優(yōu)化的穩(wěn)定自適應(yīng)矩估計(jì)算法NABD 和空間域變換梯度加權(quán)算法STW 共同組成。NABD 的目標(biāo)是在基于梯度的攻擊中采用Adam 優(yōu)化算法,并在Adam 中引入Belief 參數(shù)和Nesterov 更新,與Nesterov 迭代快速梯度符號(hào)法相結(jié)合并對(duì)步長(zhǎng)做衰減處理,以獲得更穩(wěn)定的矩估計(jì)。STW 的目標(biāo)是利用模型在空間域的多種變換實(shí)現(xiàn)模型擴(kuò)充,與現(xiàn)有方法不同,STW 選擇將不同轉(zhuǎn)換的梯度進(jìn)行加權(quán)以獲得更好的泛化性。實(shí)驗(yàn)結(jié)果表明,NABDSTW-NIM 算法有效提高了對(duì)抗樣本的可遷移性,緩解了對(duì)抗樣本生成過程中的“過擬合”現(xiàn)象,不僅顯著提升攻擊成功率,而且還在一定程度上打破了對(duì)抗防御機(jī)制。下一步將進(jìn)行對(duì)抗擾動(dòng)縮小的相關(guān)研究,為深度神經(jīng)網(wǎng)絡(luò)對(duì)抗訓(xùn)練提供與原樣本差距更小、更精確的對(duì)抗樣本,以提高神經(jīng)網(wǎng)絡(luò)的正確性。