楊 武,劉依然,馮 欣,明 鏑
(重慶理工大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,重慶 400054)
早期研究表明,在正常樣本中人為添加微小擾動形成的對抗樣本可以嚴(yán)重干擾卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在執(zhí)行圖像分類任務(wù)時的準(zhǔn)確率[1]。與正常樣本相比,對抗樣本不但難以區(qū)分,隱蔽性強(qiáng),而且能夠影響不同結(jié)構(gòu)的模型,即具有遷移性。由于對抗樣本的特性,一方面它被用于檢測并評估模型的缺陷,另一方面它被視為CNN模型在實際應(yīng)用過程中的嚴(yán)重威脅。
為探索對抗樣本對模型產(chǎn)生的影響,研究者們提出了許多制作對抗擾動的對抗攻擊方法[2-5]。然而許多遷移性良好的對抗攻擊方法[6-8]通常會專門為每個正常樣本制作其相應(yīng)的對抗擾動,這種制作對抗樣本的方式被稱為基于樣本的對抗攻擊方法,如快速梯度符號法(fast gradient sign method,FGSM)[9]和其改良方法 SegPGD[10]、VMI-FGSM[11]等,它們利用輸入的對抗樣本直接干擾模型的梯度,進(jìn)一步影響損失函數(shù),導(dǎo)致模型預(yù)測準(zhǔn)確度下降。這類方法也被稱為基于梯度的攻擊,最初是在白盒設(shè)置下提出,設(shè)想攻擊者知曉目標(biāo)模型的所有信息(如模型結(jié)構(gòu)、參數(shù)等),攻擊難度低,適合用來檢測模型缺陷。在攻擊者對目標(biāo)模型一無所知的黑盒攻擊設(shè)置下實用性稍差。一些改良方法[11-14]將基于梯度的攻擊移植到了黑盒設(shè)置下,也針對超參數(shù)進(jìn)行了探索[15],但仍需要較高的時間成本進(jìn)行迭代訓(xùn)練。黑盒設(shè)置下通常使用輸入樣本到目標(biāo)模型進(jìn)行查詢[16-18]的方式或者空間幾何理論[19-20]探索決策邊界,為提高樣本的多樣性,生成式模型[21]也被用于對抗攻擊中。
隨著對抗樣本研究的深入,提出了另一種新型的對抗攻擊方法——通用對抗攻擊[22]。通用對抗攻擊會根據(jù)對樣本和模型的先驗知識制作通用對抗擾動(universal adversarial perturbation,UAP)。將通用對抗擾動添加到不同的正常樣本上可以在短時間內(nèi)產(chǎn)生大量的對抗樣本。通用攻擊利用代理模型和大量樣本作為先驗知識制作UAP,比如最早的UAP方法將樣本擾動看作矢量,聚合了許多樣本擾動的方向形成UAP[22]。后續(xù)的F-UAP[23]、Cosine-UAP[24]等使用代替的數(shù)據(jù)集進(jìn)行了改良,對于UAP在實驗中的某些現(xiàn)象給出了相應(yīng)的解釋,這些使用真實數(shù)據(jù)集訓(xùn)練UAP的方法也叫基于數(shù)據(jù)先驗的通用攻擊。UAP的提出極大地提高了對抗樣本的制作效率,滿足了對模型算法檢測的對抗樣本的數(shù)量需求,也更加符合黑盒攻擊設(shè)置和模型真實應(yīng)用場景下[25]對抗樣本攻擊模型的情況。
但是,上述基于樣本的攻擊方法和基于數(shù)據(jù)先驗的通用對抗攻擊需要大量標(biāo)注好的訓(xùn)練數(shù)據(jù)。在實際的攻擊場景中,尤其是對安全要求較高的應(yīng)用場景中,攻擊者嘗試獲取大規(guī)模的模型訓(xùn)練數(shù)據(jù)十分困難,在短時間內(nèi)尋找標(biāo)注標(biāo)簽的代替數(shù)據(jù)集也不切實際。為了克服通用對抗攻擊方法對數(shù)據(jù)的過度依賴,近幾年提出了無數(shù)據(jù)通用對抗攻擊方法[26-29]。與先前基于真實數(shù)據(jù)的通用攻擊不同,無數(shù)據(jù)通用攻擊考慮在黑盒設(shè)置下初始化隨機(jī)擾動,最大化卷積神經(jīng)網(wǎng)絡(luò)中的卷積層激活值得到UAP制作對抗樣本。有研究認(rèn)為最大化卷積層的激活值(比如通過ReLU函數(shù)后的輸出)能夠強(qiáng)化訓(xùn)練的UAP本身攜帶的特征,從而使其制作的對抗樣本能過度激活干擾模型提取特征,達(dá)到良好的攻擊效果,因此也將無數(shù)據(jù)通用攻擊稱為一種基于特征的攻擊方法。但是,現(xiàn)有的無數(shù)據(jù)通用攻擊僅僅只是最大化所有卷積層的激活值,沒有考慮不同的卷積層提取特征的差異性。而關(guān)于不同卷積層對UAP的影響,模型的淺層卷積層,也就是靠近輸入端的卷積層提取的局部圖像特征更加具有泛化性。而深層卷積層,即靠近輸出端的卷積層中則會形成與圖像樣本相關(guān)的全局特征,并且缺乏真實數(shù)據(jù)作為先驗知識,這些都導(dǎo)致了無數(shù)據(jù)通用攻擊方法遷移性差,在目標(biāo)模型上的攻擊效果較差。
為了加強(qiáng)無數(shù)據(jù)通用攻擊的遷移性,本文中提出了一種新的無數(shù)據(jù)通用攻擊方法,加權(quán)最大化激活(weighted activation maximization,WAM)來制作UAP。WAM方法采用代理模型(黑盒設(shè)置下由于攻擊者缺乏對目標(biāo)模型的了解而尋找的代替品)制作UAP,為模型中所有卷積層激活值都賦予相應(yīng)的超參數(shù)作為其對應(yīng)的權(quán)重,控制UAP在訓(xùn)練過程中利用不同卷積層形成更多具有泛化性的局部特征。本文增加了淺層卷積層在訓(xùn)練中的權(quán)重以提高對抗樣本的遷移性。另外,為了增加輸入的多樣性,WAM方法采用高斯噪聲制作了隨機(jī)噪聲圖像作為模擬樣本與UAP一起輸入至模型中,達(dá)到過度激活卷積層,劣化提取特征的目的。本文在ImageNet驗證集進(jìn)行了大量的消融實驗,結(jié)果表明,相比于深層卷積層,利用淺層卷積層的激活值得到的UAP具有更好的遷移性,印證了此前研究中淺層卷積層抓取特征更加泛化的觀點。與其他經(jīng)典無數(shù)據(jù)通用攻擊進(jìn)行比較,實驗結(jié)果說明了WAM方法制作的UAP具有良好的攻擊效果。
本文中設(shè)計了加權(quán)最大化激活方法來制作UAP以解決無數(shù)據(jù)通用攻擊遷移性差的問題。該章節(jié)先介紹了總體的攻擊方法示例,然后定義加權(quán)最大化激活的優(yōu)化目標(biāo),介紹基于高斯噪聲偽造樣本的攻擊增強(qiáng),最后展示整個算法流程和細(xì)節(jié)。
為了攻擊目標(biāo)模型,通用攻擊會通過攻擊算法生成一個通用對抗擾動[22]向量v,將向量v與正常樣本x結(jié)合生成對抗樣本,最大化模型損失函數(shù)L(如交叉熵?fù)p失)在數(shù)據(jù)分布下的期望D:
(1)
式中:S為UAP向量v的擾動空間;y為樣本x的真實標(biāo)簽,(x,y)來自D;f為分類器;δ為常數(shù),作為向量v的p范數(shù)約束(p=0,1,2,∞),以滿足對抗樣本x+v的隱蔽性需求??紤]最常用的對抗攻擊問題設(shè)置,選取無窮范數(shù)l∞作為UAP的約束條件。
由于缺少真實樣本數(shù)據(jù),無數(shù)據(jù)通用攻擊僅僅將擾動向量v輸入模型中,通過最大化卷積層激活值訓(xùn)練得到擾動:
(2)
式中:li(v)=ReLU(Convi(v))為將向量v輸入模型后第i層卷積層產(chǎn)生的激活值;L為卷積層總層數(shù)。
1.2.1加權(quán)最大化激活目標(biāo)
現(xiàn)有的無數(shù)據(jù)通用攻擊[26-27,29]主要以式(2)為優(yōu)化目標(biāo),沒有考慮到不同卷積層提取的特征有較大差異。淺層卷積層提取的特征更具有泛化性,容易被不同的模型學(xué)習(xí)利用。近兩年有關(guān)UAP的研究[23-24]表明,模型更容易將UAP本身視為樣本特征,而圖像樣本真正的特征被模型當(dāng)成噪聲所忽視。
受上述觀點啟發(fā),為提高無數(shù)據(jù)通用攻擊的遷移性,本文中提出了加權(quán)最大化激活來制作對抗擾動:
(3)
式中:wi為第i層卷積層的權(quán)重超參數(shù),值域為[0,1]。式(3)采用了與現(xiàn)有無數(shù)據(jù)通用攻擊類似的做法,即為了避免卷積層激活值過大,對每層激活值進(jìn)行對數(shù)化處理。WAM的優(yōu)化目標(biāo)為每個卷積層都賦予了對應(yīng)的權(quán)重。WAM方法嘗試?yán)梅夯卣魈岣遀AP的遷移性,使其在目標(biāo)模型上具有更好的攻擊效果。
1.2.2利用高斯噪聲初始化的攻擊增強(qiáng)
無數(shù)據(jù)通用攻擊在黑盒設(shè)置下采用隨機(jī)初始化擾動訓(xùn)練UAP。僅憑借UAP所攜帶的信息去激活模型,產(chǎn)生對應(yīng)的特征激活值。它減少了對樣本數(shù)據(jù)的依賴,更接近實際應(yīng)用下的攻擊場景。但缺少真實數(shù)據(jù)也導(dǎo)致其制作的對抗樣本遷移性差,攻擊效果欠佳。為提高輸入多樣性,增強(qiáng)攻擊效果,采用了由高斯噪聲生成的噪聲圖像代替真實圖像與UAP一起輸入到模型中,因此,更新式(3)為:
(4)
式中:p=v+xg,xg為高斯噪聲生成的噪聲圖像,模仿基于數(shù)據(jù)先驗的通用攻擊,增加輸入多樣性,激活更多特征值,提高攻擊強(qiáng)度。為方便UAP訓(xùn)練過程中的優(yōu)化,將式(4)的目標(biāo)函數(shù)取負(fù)并求最小值,視為訓(xùn)練的損失函數(shù)。
在UAP訓(xùn)練過程中遵循黑盒攻擊設(shè)置,因此采用一個代理模型作為目標(biāo)模型的代替品,將UAP輸入代理模型進(jìn)行訓(xùn)練。WAM方法雖然為無數(shù)據(jù)通用攻擊,但是為了驗證UAP的訓(xùn)練是否收斂,仍使用了代理數(shù)據(jù)集χsub進(jìn)行驗證,當(dāng)?shù)螖?shù)達(dá)到最大迭代次數(shù)或者代理數(shù)據(jù)集驗證達(dá)到收斂要求時結(jié)束訓(xùn)練。為了保證UAP滿足隱蔽性約束條件無窮范數(shù)的限制,本文效仿了現(xiàn)有的對抗攻擊的做法,每次更新UAP向量v之后就對其進(jìn)行裁剪,保證收斂時UAP的取值在該優(yōu)化問題的可行域內(nèi)。為進(jìn)一步優(yōu)化UAP的訓(xùn)練過程,引入了飽和度設(shè)置來衡量UAP向量中元素值達(dá)到約束常數(shù)δ的比例,每H迭代就會計算飽和度,當(dāng)UAP內(nèi)元素值小于約束常數(shù)的元素個數(shù)越來越少并低于飽和度閾值r時,會將當(dāng)前UAP向量中的元素數(shù)值壓縮到原來的一半,使UAP不會因為裁剪導(dǎo)致后續(xù)訓(xùn)練信息丟失。WAM算法流程如下。
Algorithm:WAM-UAP
Input:surrogate CNN modelf,a datasetχsub,for training UAP,the limitation valueδ,maximum iterationsT,convergence thresholdFmax,saturation thresholdr,validation test hyperparameterH.
Output:Image-agnostic adversarial perturbationv
Randomly initializev0~u(-δ,δ).
1:Do
2:t=t+1
3: Compute Loss by target in (4)
4: Updatevt=vt-1-η*▽Loss
5: Clipvt=min[δ,max(vt,-δ)]
7: Fooling rate testfrift%H==0 andF=F+1 iffrnot the best fooling rate
8:Whilet 9:Returnvt 圖1展示了WAM方法在一個有L層卷積層的模型中的訓(xùn)練流程。每輪迭代都會輸入UAP向量與模擬樣本進(jìn)入模型中,提取每層卷積層的輸出值進(jìn)入WAM模塊,通過ReLU激活函數(shù)與每層的權(quán)重wi點乘并在最后求和形成WAM損失函數(shù),即式(4)的目標(biāo)函數(shù)。 圖1 WAM方法訓(xùn)練流程 本文通過Python3實現(xiàn)了WAM攻擊算法,實驗硬件環(huán)境為單核NVIDIA GeForce RTX3090Ti GPU,運行平臺為Pycharm,以Pytorch作為主要深度學(xué)習(xí)框架。 2.1.1數(shù)據(jù)集與模型 為了和現(xiàn)有的無數(shù)據(jù)通用攻擊方法實驗設(shè)置保持一致,本文在ImageNet 2012驗證集[30]上進(jìn)行WAM攻擊實驗。選用了AlexNet[31]、VGG16[32]、VGG19[32]、ResNet152[33]、GoogleNet[34]5個經(jīng)典CNN模型進(jìn)行實驗,模型參數(shù)均為Pytorch官網(wǎng)下載的預(yù)訓(xùn)練模型參數(shù)。 2.1.2評估指標(biāo)與比較方法 根據(jù)最常用的對抗攻擊設(shè)置,實驗選取欺騙率(fooling rate,FR)作為評估指標(biāo): FR=Nchange/N 式中:Nchange表示模型對原始樣本和其對抗樣本給出不同標(biāo)簽的樣本個數(shù);N表示樣本總數(shù)。欺騙率FR越高,表示對抗樣本在模型上的攻擊效果越好。 將WAM方法與近幾年經(jīng)典的無數(shù)據(jù)通用攻擊進(jìn)行比較,包括FFF[26]、GD-UAP[27]、PD-UA[29]方法。這些方法中只有GD-UAP使用作者提供的模型在Tensorsflow框架下進(jìn)行訓(xùn)練。為了公平比較,本文根據(jù)WAM的實驗設(shè)置復(fù)現(xiàn)GD-UAP在Pytorch框架下的實驗結(jié)果。 2.1.3執(zhí)行細(xì)節(jié) 與比較方法的設(shè)置保持一致,實驗取約束常數(shù)δ=10/255。設(shè)置最大迭代次數(shù)T為10 000,飽和度閾值為0.001%。為簡化設(shè)置,實驗中第i層卷積層的權(quán)重wi的取值為0和1。具體每層的權(quán)重設(shè)置為2.2.3節(jié)消融實驗的最優(yōu)設(shè)置。 2.2.1對比實驗 在ImageNet 2012驗證集上測試了WAM方法的攻擊效果,并且與其他方法進(jìn)行了比較。具體結(jié)果如圖2所示,重復(fù)訓(xùn)練5次計算FR均值,取每個測試模型中攻擊效果最好的FR進(jìn)行展示,GD表示GD-UAP方法,由于實驗條件限制(如代碼未公開等),未能實現(xiàn)極少數(shù)方法在個別模型上的攻擊效果。從圖2中可以看出,WAM方法制作的UAP在所有模型上都達(dá)到了最高的FR值,取得了良好的攻擊效果。在深度學(xué)習(xí)模型如ResNet152的效果提升比較明顯。在結(jié)構(gòu)比較簡單的小模型上提升幅度較小,這可能是由于許多對抗攻擊在結(jié)構(gòu)簡單的小模型上具有較高的FR,UAP的性能提升接近瓶頸。 圖3展示了WAM方法制作的UAP的攻擊效果,5個子圖的標(biāo)題代表制作UAP的代理模型,也就是制作UAP的模型,每個子圖的橫軸坐標(biāo)代表測試模型,即目標(biāo)模型。從圖3中可以看出,除了少數(shù)因為模型結(jié)構(gòu)差異巨大而導(dǎo)致的FR值較低的情況,大多數(shù)由代理模型制作的UAP在攻擊其他模型時表現(xiàn)出良好的遷移性,在2個結(jié)構(gòu)相似的模型中尤為明顯,比如VGG16和VGG19。并且可以發(fā)現(xiàn),在對ResNet152模型的測試中,VGG16制作的UAP達(dá)到了最高的FR值,而不是ResNet152模型本身制作的UAP取得最優(yōu)效果,說明了WAM方法良好的攻擊效果和遷移性。 圖3 WAM攻擊方法遷移性分析 2.2.2UAP可視化 實驗中將不同代理模型制作的UAP進(jìn)行了可視化分析,如圖4所示,5個子圖分別是由不同的代理模型制作的UAP的可視化展示。為了便于分析,將每個擾動的值放大到[0,255]。從圖4中可以看出,訓(xùn)練的UAP具有豐富的語義特征??梢暬治鲞€在ImageNet 2012驗證集中隨機(jī)選取模型分類正確的正常樣本,用WAM方法制作攻擊實例進(jìn)行分析。產(chǎn)生的對抗樣本的攻擊實例如圖5所示,圖中第1行是原始樣本、模型的預(yù)測標(biāo)簽和其對應(yīng)的概率,第2行是與之對應(yīng)的對抗樣本和相關(guān)信息。從圖5中看出,人眼難以辨別正常樣本和WAM方法制作的對抗樣本,具有良好的隱蔽性。模型對正常樣本的正確分類具有較高概率,在部分對抗樣本中被擾動干擾給出了高概率的錯誤分類,也說明了WAM攻擊方法的有效性。 圖4 WAM-UAP可視化結(jié)果 圖5 利用WAM方法制作的對抗樣本攻擊實例 2.2.3消融實驗與分析 根據(jù)現(xiàn)有研究[23-24]對UAP的觀點,CNN模型中淺層的卷積層抓取局部的、泛化的特征,深層卷積層形成跟整個樣本全局相關(guān)的特殊圖案,因此淺層卷積層抓取的特征更容易被對抗攻擊利用,制作的UAP也更具遷移性。為了進(jìn)一步驗證這個觀點,調(diào)整每層卷積層權(quán)重設(shè)計了消融實驗。具體方案就是將模型所有卷積層的權(quán)重先初始化為0,每次增加卷積層的增長步長為該模型總卷積層的10%(向上取整),從接近輸入端的卷積層開始,取10%、20%…100%的卷積層將其權(quán)重置1,分別訓(xùn)練UAP并在白盒設(shè)置下進(jìn)行測試,觀察UAP的攻擊效果,實驗結(jié)果如圖6所示。由于Alex-Net只有5層卷積層,因此,使用10%、30%…90%的卷積層訓(xùn)練的UAP結(jié)果不存在。從圖6中可以看出,所有模型取得最高FR的值為保留部分淺層卷積層的結(jié)果,在ResNet152深度學(xué)習(xí)模型上甚至僅使用了約前10%的卷積層就能達(dá)到最優(yōu)攻擊效果,而隨著使用卷積層的增多,UAP的攻擊效果逐步變?nèi)?這也符合現(xiàn)有觀點對深層卷積層的解釋,由于深層卷積層主要關(guān)注有關(guān)樣本的全局特征,一定程度上導(dǎo)致了UAP的“過擬合”,過度適應(yīng)代理模型使得它制作的對抗樣本在目標(biāo)模型上的效果不佳。 圖6 采用模型不同占比卷積層訓(xùn)練UAP的消融實驗結(jié)果曲線 針對現(xiàn)有的無數(shù)據(jù)通用攻擊遷移性差的缺陷,提出了加權(quán)最大化激活(WAM)攻擊方法,為每一層卷積層設(shè)置相應(yīng)的權(quán)重,從而控制訓(xùn)練過程中不同卷積層提取的特征對UAP產(chǎn)生的影響。通過權(quán)值調(diào)整,使卷積層提取的泛化特征的激活值更容易被UAP學(xué)習(xí)。使用ImageNet驗證集與近幾年的無數(shù)據(jù)通用攻擊方法進(jìn)行比較,WAM攻擊方法取得了良好的攻擊效果。消融實驗驗證了淺層卷積層提取的特征具有泛化性的觀點,利用這些泛化特征學(xué)習(xí)的UAP具有更好的遷移性。在未來的工作中,淺層卷積層的特征與UAP的關(guān)系有待進(jìn)一步研究。2 實驗結(jié)果及分析
2.1 實驗設(shè)置
2.2 實驗結(jié)果分析
3 結(jié)論