邱寶琳,易平
(上海交通大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,上海 200240)
在計算機視覺方面,尤其是目標(biāo)識別、無人駕駛等高精度任務(wù)下,深度學(xué)習(xí)提供了強大的算法支持。但是,此類算法的決策存有風(fēng)險性。Szegedy等[1]發(fā)現(xiàn),攻擊者可以根據(jù)神經(jīng)網(wǎng)絡(luò)模型參數(shù),構(gòu)造添加了微小擾動的圖像。這類圖像被稱為對抗樣本,該圖像雖然不會影響到人類的視覺判斷,但會改變模型分類結(jié)果。例如,在Xu等[2]的工作中,他們僅穿上了一件添加擾動特征圖像的衣服,即可蒙騙目標(biāo)識別網(wǎng)絡(luò),順利在攝像頭下“消失”。
對抗樣本在計算機視覺領(lǐng)域產(chǎn)生了深遠(yuǎn)影響,是該領(lǐng)域安全方向的關(guān)注重點。主流方法是通過對抗訓(xùn)練提高模型的防御能力。對抗訓(xùn)練基于模擬攻防的思想,針對目標(biāo)模型生成對抗樣本,再使用生成的樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò),重復(fù)多次后獲取穩(wěn)定的防御模型。但是,主流的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)極為復(fù)雜,如ResNet[3]和GoogleNet[4],其具有規(guī)模龐大的參數(shù)、神經(jīng)層結(jié)構(gòu)。每次對抗訓(xùn)練都需要極大的算力支持,限制了對抗訓(xùn)練在低算力設(shè)備上的應(yīng)用。所以研究人員期望利用已訓(xùn)練模型,將防御經(jīng)驗泛化到新的視覺任務(wù)中,減少對抗訓(xùn)練帶來的高算力需求。
知識蒸餾[5]是一種經(jīng)驗遷移方式,可以將教師網(wǎng)絡(luò)預(yù)訓(xùn)練得到的經(jīng)驗有效遷移到學(xué)生網(wǎng)絡(luò)中。整個知識蒸餾過程中學(xué)生網(wǎng)絡(luò)會調(diào)整參數(shù),模擬教師的輸出,從而達(dá)到經(jīng)驗轉(zhuǎn)遷的效果。傳統(tǒng)知識蒸餾通過訓(xùn)練,使小型網(wǎng)絡(luò)在同任務(wù)下?lián)碛性笮途W(wǎng)絡(luò)相近的決策能力。
本文基于上述研究工作,提出了一種優(yōu)化的知識蒸餾算法,該算法將教師網(wǎng)絡(luò)學(xué)習(xí)到的魯棒性經(jīng)驗遷移到新的任務(wù)中。算法針對特征圖和頻域等維度進(jìn)行改造,并基于類激活映射[6]提出注意力機制,加強關(guān)注蒸餾的重要特征,提高模型的防御效果。此外,對抗訓(xùn)練會導(dǎo)致模型在干凈樣本的準(zhǔn)確率有所下降,但通過本文所提算法得到的學(xué)生網(wǎng)絡(luò),在保持較高魯棒性的基礎(chǔ)上,對干凈樣本的檢測效果顯著高于對抗訓(xùn)練,甚至可以媲美僅使用正常樣本的無擾動訓(xùn)練。
本文的主要貢獻(xiàn)如下。
1) 提出了一種輕量級的對抗樣本防御方法。通過知識蒸餾算法,已有魯棒性特征可以泛化到其他數(shù)據(jù)集的任務(wù)中,無須在新的數(shù)據(jù)集上重新對抗訓(xùn)練即有不錯的防御效果。
2) 利用多維度的特征圖優(yōu)化蒸餾過程,增強防御效果,并提出一種注意力機制,為特征圖向量細(xì)粒度配比權(quán)重,提高泛化能力。
3) 基于方案設(shè)計了實驗并生成多組對照基線,驗證了本文方案的有效性。
文獻(xiàn)[7-8]對對抗樣本進(jìn)行了一些研究,下面介紹常用對抗樣本生成方法以及主流的防御方式,并闡述知識蒸餾和類激活映射等相關(guān)工作。
對抗樣本屬于圖像分類任務(wù)中的逃逸攻擊(evasion attack)。攻擊者通過模型的可微損失函數(shù),精心構(gòu)造微小擾動,影響分類模型的準(zhǔn)確率,主要目標(biāo)為
其中,x為圖像輸入,y為圖像x的對應(yīng)類別標(biāo)簽,θ為模型參數(shù)變量,δ為攻擊者添加的擾動,L(?)為分類器的損失函數(shù),多標(biāo)簽分類任務(wù)通常使用交叉熵?fù)p失(cross-entropy loss)?!ぁ琾為lp范數(shù)。優(yōu)化目標(biāo)為擾動幅度限制在ε的情況下,尋找擾動δ,使圖片分類損失最大。接下來將介紹常用對抗攻擊方法。
(1)FGSM攻擊
快速梯度符號法[9](FGSM,fast gradient sign method)是一種梯度攻擊方法,也是對抗樣本生成算法的基礎(chǔ)之一。在線性模型中,F(xiàn)GSM期望添加的擾動變化量與模型損失函數(shù)的梯度變化方向一致,如式(2)所示。
其中,α為超參數(shù),用以調(diào)整擾動幅度。sign(?)為符號函數(shù),?x為損失函數(shù)的回傳梯度。FGSM具有生成對抗樣本快,消耗資源少的優(yōu)點。但是因為只攻擊一次,所以攻擊效果有限。
(2)I-FGSM攻擊
迭代快速梯度符號法[10(]I-FGSM,iterative fast gradient sign method)屬于多次迭代的FGSM攻擊,初始輸入為干凈樣本,如式(3)所示。多次迭代解決了單次攻擊效果不佳的問題。
Clipx{?}為截斷函數(shù),用以將生成的擾動限制在ε的范圍內(nèi),如式(4)所示。相較于FGSM,I-FGSM擁有多次迭代的優(yōu)勢,提升了攻擊成功率。
(3)MI-FGSM攻擊
動量迭代快速梯度符號法[11](MI-FGSM,momentum iterative fast gradient sign method)引入動量,以累計的速度矢量指引梯度下降。
μ為衰減因子,當(dāng)μ= 0時,MI-FGSM變?yōu)镮-FGSM。式(5)的第一部分為第t次迭代的動量,以衰減形式累加,記憶之前梯度方向;第二部分為當(dāng)前的梯度,以l1距離進(jìn)行歸一化處理。兩者相加得到最終的動量表示。每次對圖像添加的擾動均使用此迭代動量,如式(6)所示。MI-FGSM有效避免了出現(xiàn)過擬合的情況,在黑盒攻擊下有很好的魯棒性泛化能力。
(4)PGD攻擊
投影梯度下降[12](PGD,project gradient descent)攻擊類似I-FGSM攻擊,通過多次迭代獲取對抗樣本。初始輸入為干凈樣本,如式(7)所示。
PGD攻擊的擾動生成函數(shù)基于FGSM攻擊。迭代中對樣本擾動進(jìn)行約束,以l2或l∞范數(shù)為限制生成擾動域,生成的對抗樣本被投影到域中,即式(8)中的Px。PGD攻擊針對白盒模型的效果極佳,可用作測試模型防御能力的基線算法。
(5)DeepFool攻擊
深度欺騙攻擊[13](DeepFool attack)是基于超平面分類思想的攻擊,可用于非線性模型,相較于FGSM攻擊,其具有更強的適應(yīng)性。深度欺騙攻擊算法基于原始圖像,將分類器的決策邊界線性化。添加擾動,使圖像逐步逼近決策邊界,并重復(fù)迭代增強效果,使樣本被錯誤分類。作為一種早期方法,DeepFool攻擊相比FGSM攻擊,其適用范圍更廣,計算速度有所提高。但是需要根據(jù)決策邊界添加擾動,難以對擾動幅度進(jìn)行限制。
(6)OPA
單像素攻擊[14](OPA,one pixel attack)只改變少數(shù)像素點就可以獲得較好的攻擊效果,其目標(biāo)函數(shù)為
函數(shù)e(?)為根據(jù)原始圖像x生成的擾動,作用于原始圖像,使目標(biāo)分類器決策錯誤標(biāo)簽置信度增大。d為擾動閾值,當(dāng)d=1時,OPA為嚴(yán)格單像素攻擊。在生成擾動中,OPA將當(dāng)前擾動集合作為父集,隨機生成擾動子集合,篩選父子集合中攻擊性強的擾動,多次迭代獲得最強擾動。相較于通用擾動方法,OPA修改的像素數(shù)量更少,僅需要分類標(biāo)簽概率即可擁有較強的攻擊性能,適用于黑盒攻擊下的小幅度攻擊。
(7)C&W攻擊
Carlini-Wagner攻擊[15(]C&W attack)是針對Hinton[5]的防御蒸餾網(wǎng)絡(luò)提出的攻擊方法,具體目標(biāo)函數(shù)為
其中,‖·‖p為擾動范數(shù),用以衡量擾度幅度,使用L0、L2、L∞這3種范數(shù)進(jìn)行衡量。目標(biāo)函數(shù)確保擾動幅度小的同時,模型錯誤分類標(biāo)簽的置信度足夠高。C&W攻擊遷移能力強,是用于對比實驗的基線算法之一。相比于PGD攻擊,C&W攻擊可以構(gòu)造出更小的擾動,但復(fù)雜度更高。Madry[12]基于C&W攻擊損失函數(shù)提出PGD形式的C&W攻擊,該攻擊方便多次迭代,并保留了C&W良好的攻擊性能。
對抗樣本防御的思想是:假設(shè)模型輸入圖片x,添加的對抗擾動為δ,模型輸出為f(?),期望
即添加對抗擾動前后,模型輸出期望不會受到影響,這種性質(zhì)被稱為模型的魯棒性。接下來介紹目前主流的對抗防御方法。
1.2.1 基于對抗訓(xùn)練的防御方法
數(shù)據(jù)擴充是一種經(jīng)典的神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法,其思想是添加數(shù)據(jù)集,增強模型的決策經(jīng)驗。在對抗防御方面,使用對抗樣本擴充數(shù)據(jù)。主要思路是針對目標(biāo)模型進(jìn)行白盒攻擊,將生成的對抗樣本添加到模型的訓(xùn)練集中,對模型進(jìn)行重復(fù)訓(xùn)練。
Goodfellow[9]提出基于FGSM的對抗訓(xùn)練。訓(xùn)練過程中兼顧原圖片和對抗樣本的損失。損失函數(shù)如下:
Madry等[12]對此進(jìn)行優(yōu)化,使用PGD攻擊生成對抗樣本,并只關(guān)注對抗損失,在白盒和黑盒攻擊下均有不錯的防御效果。Kannan等[16]在之前工作的基礎(chǔ)上進(jìn)行優(yōu)化,其不僅約束原始圖片和對抗樣本的分類損失,而且添加擾動前后圖片的相似正則項,保證分類器對原始圖片的logits和對抗樣本的logits一致。Wang等[17]使用錯分類的輸入樣本進(jìn)行對抗訓(xùn)練,提高了模型的魯棒性,該方法針對攻擊樣本的分類準(zhǔn)確率有所提升,但降低了干凈樣本的分類準(zhǔn)確率。
對抗訓(xùn)練是一種非常優(yōu)秀的防御方法,但需要多次迭代,以提高模型的魯棒性。訓(xùn)練過程中需要極高的算力需求,在小型計算設(shè)備上難以支持。
1.2.2 其他防御方法
Xie等[18]對輸入樣本隨機變換尺寸以及填充,再輸入分類模型中,提高了模型防御能力。文獻(xiàn)[18]提出的算法使用隨機操作預(yù)處理,使攻擊者無法固定真實輸入,降低了攻擊風(fēng)險。隨機操作額外計算量小,可與對抗訓(xùn)練結(jié)合增強效果。但該算法需要足夠大的隨機調(diào)整空間和填充空間,來提高攻擊者的計算成本。
Xie等[19]發(fā)現(xiàn)輸入對抗樣本后,模型的特征圖與原始輸入差距較大,而且對抗樣本的特征圖存在噪點,這將影響神經(jīng)網(wǎng)絡(luò)模型的決策。該方法在神經(jīng)網(wǎng)絡(luò)的特征層添加去噪模塊,將特征圖預(yù)處理再向后傳遞,并在ImageNet數(shù)據(jù)集測試其白盒防御能力。同時,文獻(xiàn)[19]指出對抗訓(xùn)練是實驗取得良好防御效果的必要條件,存在高算力需求。
Xu等[20]通過特征壓縮檢測輸入圖像是否為對抗樣本,從源頭降低對抗樣本攻擊的風(fēng)險。該方法減少像素的色位深度,以及平滑像素差距來壓縮圖像,縮小攻擊空間。其復(fù)雜度低,不需要對分類模型改造即有一定的防御能力。但閾值設(shè)定過于敏感會影響正常樣本的輸入,Ma等[21]證明特征壓縮對于Cifar、ImageNet等彩色數(shù)據(jù)集效果不佳。
非對抗訓(xùn)練方法通過微調(diào)、降噪、壓縮等方式預(yù)處理,進(jìn)行對抗防御。但預(yù)處理方案難以學(xué)習(xí)到神經(jīng)網(wǎng)絡(luò)的深層特征,需要對抗訓(xùn)練增強防御效果,本質(zhì)上沒有降低學(xué)習(xí)代價。本文對已有模型進(jìn)行經(jīng)驗復(fù)用,減少對抗訓(xùn)練帶來的算力需求。
大型神經(jīng)網(wǎng)絡(luò)模型算力需求高,響應(yīng)速度慢,影響線上部署效率。Hinton等[5]提出一種遷移學(xué)習(xí)方案,小型網(wǎng)絡(luò)通過訓(xùn)練,擁有原網(wǎng)絡(luò)相似的泛化決策能力。Hinton等對softmax函數(shù)進(jìn)行改造,如式(14)所示。
當(dāng)T=1時,式(14)變?yōu)樵嫉膕oftmax變換。隨著T的增大,教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的輸出更容易擬合。并以此為基礎(chǔ)約束蒸餾中的軟標(biāo)簽損失,如式(15)所示。
其中,Pi為教師模型的softmax輸出,qi為學(xué)生模型的softmax輸出,將其添加至蒸餾的總損失中,即
知識蒸餾的總損失分為兩類,Lhard約束圖片的正常分類,Lsoft約束蒸餾中的相似擬合。通過知識蒸餾,參數(shù)簡單的學(xué)生模型模擬教師模型的輸出分布,兩者擁有近似的決策能力。模型壓縮會使學(xué)生網(wǎng)絡(luò)針對性學(xué)習(xí)特征,具有一定的防御效果。
Goldblum等[22]和Shafahi等[23]根據(jù)Hinton等[5]的工作,從兩種角度進(jìn)行對抗樣本防御研究。Goldblum等提出教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的結(jié)構(gòu)不同,蒸餾后結(jié)構(gòu)簡單的學(xué)生網(wǎng)絡(luò)依然有較強的魯棒性能,方便線上部署。Goldblum等的貢獻(xiàn)有兩方面:第一根據(jù)實驗證明使用干凈樣本進(jìn)行蒸餾,學(xué)生網(wǎng)絡(luò)可以繼承教師的魯棒性;第二提出一種對抗魯棒特征蒸餾(ARD,adversarially robust distillation)方案,教師網(wǎng)絡(luò)的輸入為干凈樣本,學(xué)生網(wǎng)絡(luò)利用自身參數(shù)生成對抗樣本作為輸入,以KL散度約束,借鑒了Shafahi等[24]的方法加速訓(xùn)練,得到的學(xué)生網(wǎng)絡(luò)擁有良好的魯棒性能。Shafahi等[23]提出一種魯棒性特征遷移方案,期望模型在先前的數(shù)據(jù)集對抗訓(xùn)練得到的魯棒經(jīng)驗,能夠泛化到新的數(shù)據(jù)集任務(wù)中,減少新任務(wù)的訓(xùn)練消耗。蒸餾過程中教師模型和學(xué)生模型結(jié)構(gòu)保持一致,但對應(yīng)數(shù)據(jù)集不同,所以不能以softmax的輸出logits作為蒸餾約束。Shafahi等認(rèn)為決策一致的條件下中間特征層的輸出相似,利用模型中間輸出作為媒介,約束蒸餾過程,其在少量資源消耗的前提下獲得不錯的防御效果。
類激活映射(CAM,class activation mapping)屬于語義分割(semantic segmentation)領(lǐng)域,可以幫助研究者理解神經(jīng)網(wǎng)絡(luò)的決策依據(jù)。本文借鑒類激活映射的思想,提出一種針對特征向量的注意力機制,加強對重要特征的關(guān)注度。
Zhou等[6]發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)的最后一層特征層保留著豐富的空間和語義信息。他們將最后的卷積層特征直接通過全局平均池化層(GAP,global average pooling),形成每個特征圖的均值,利用全連接層獲取每個特征圖均值的權(quán)重。在需要生成可視化熱力圖時,提取對應(yīng)類別的全連接層權(quán)重,與特征圖加權(quán)求和,上采樣獲取最終圖像,如圖1所示。
圖1 類激活映射機制 Figure 1 Mechanism of class activation mapping
類激活映射在模型可視化方面效果較好,有助于研究者深入理解神經(jīng)網(wǎng)絡(luò)模型的決策。Selvaraju等[25]將類激活映射擴展,使用CNN的最后一層卷積層的梯度信息進(jìn)行判斷,擴大映射的使用場景。Chattopadhay等[26]優(yōu)化了權(quán)重計算,使映射定位熱力圖更加準(zhǔn)確。Wang等[27]提出一種基于等變注意力機制(SEAM,self-supervised equivariant attention mechanism)的弱監(jiān)督語義分割的方法,構(gòu)建孿生網(wǎng)絡(luò),為空間仿射變換后的類激活映射輸出提供自監(jiān)督,并使用注意力機制整合圖像信息,在預(yù)測圖像語義方面有很好的效果。
本文的目標(biāo)是利用知識蒸餾將模型在大數(shù)據(jù)集對抗訓(xùn)練得到的防御經(jīng)驗進(jìn)行提取,并泛化到其他數(shù)據(jù)集的任務(wù)中,從而減少在其他數(shù)據(jù)集上的魯棒性模型訓(xùn)練成本。方案設(shè)計主要分為4部分:第1部分利用對抗訓(xùn)練生成教師魯棒模型;第2部分設(shè)計知識蒸餾的整體架構(gòu);第3部分使用多維度特征圖的蒸餾優(yōu)化方案;第4部分利用基于注意力機制的特征圖完成權(quán)重優(yōu)化。
在操作知識蒸餾前,教師網(wǎng)絡(luò)需要學(xué)習(xí)大數(shù)據(jù)集的魯棒性特征,用以在其他數(shù)據(jù)集任務(wù)中進(jìn)行經(jīng)驗傳遞。本文使用Madry等[12]提出的方法,進(jìn)行有監(jiān)督的對抗訓(xùn)練。訓(xùn)練目標(biāo)為
式(17)是基于min-max優(yōu)化的通用對抗訓(xùn)練方法。其中,θ表示網(wǎng)絡(luò)結(jié)構(gòu),δ為生成的對抗擾動,(x,y)為圖像及對應(yīng)標(biāo)簽,L(?)為損失函數(shù)。具體方案如圖2所示,為對抗樣本生成部分,期望在限定域中尋求擾動δ,使模型分類損失最大,從而達(dá)到分類錯誤的目的,在此階段,模型結(jié)構(gòu)θ保持不變。此后,將生成的對抗樣本作為輸入,訓(xùn)練模型結(jié)構(gòu)θ。多次迭代后,得到最終的魯棒模型。
圖2 對抗訓(xùn)練流程 Figure 2 Process of adversarial training
Madry等在對抗訓(xùn)練中使用PGD攻擊產(chǎn)生對抗樣本,生成的防御模型具有良好的魯棒性。因此Shafahi等[23]的知識蒸餾實驗同樣采取PGD攻擊生成魯棒模型,為方便與Shafahi的工作做出對比,本文采用PGD攻擊方法生成對抗樣本,如式(18)所示。
其中,xinput表示上次PGD攻擊輸出的對抗樣本,初始情況下xinput=x,α為超參數(shù),用以調(diào)整擾動幅度,sign(.)為符號參數(shù), ?x為損失函數(shù)的回傳梯度。生成對抗樣本期間神經(jīng)網(wǎng)絡(luò)參數(shù)θ保持不變。由于實驗使用的圖像識別任務(wù)是多分類任務(wù),神經(jīng)網(wǎng)絡(luò)的損失函數(shù)使用交叉熵?fù)p失。
本節(jié)介紹遷移的整體框架,蒸餾模型由教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)兩部分組成。教師網(wǎng)絡(luò)在較大數(shù)據(jù)集上進(jìn)行對抗訓(xùn)練,獲得魯棒模型。之后使用其他數(shù)據(jù)集的干凈樣本進(jìn)行蒸餾操作,期望學(xué)生模型能夠?qū)W習(xí)到教師網(wǎng)絡(luò)的魯棒性經(jīng)驗。
基于Shafahi等[23]的工作,本文使用一種優(yōu)化的知識蒸餾方法,如圖3所示。教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)結(jié)構(gòu)一致,但教師參數(shù)在蒸餾過程中固定。蒸餾任務(wù)的目的是在目標(biāo)數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí),訓(xùn)練學(xué)生網(wǎng)絡(luò)參數(shù)。本文沿用Hinton等[5]的蒸餾損失分類,將損失分為hard target和soft target。教師預(yù)訓(xùn)練使用的源數(shù)據(jù)集和學(xué)生目標(biāo)數(shù)據(jù)集類別存在差異,本文的soft target沒有使用logits進(jìn)行約束,而是使用神經(jīng)網(wǎng)絡(luò)的特征圖作為蒸餾項。
圖3 知識蒸餾結(jié)構(gòu) Figure 3 Model structure of knowledge distillation
分類神經(jīng)網(wǎng)絡(luò)中,模型輸出前通常使用全局平均池化層和全連接層進(jìn)行處理。本文設(shè)定池化層前的教師網(wǎng)絡(luò)特征圖輸出為zteacher,學(xué)生網(wǎng)絡(luò)的特征圖輸出為zstudent,特征圖z對應(yīng)的池化層輸出為zgap。
Shafahi等[23]使用全局平均池化層后的特征聯(lián)合訓(xùn)練,損失函數(shù)如式(19)所示。
其中,Lce(·)與Hinton蒸餾的hard target相同,使用交叉熵函數(shù)記為Lce。第二部分為正則損失,用以擬合蒸餾過程中的特征經(jīng)驗分布,為蒸餾的soft target,記為Lkd。其中α為調(diào)整蒸餾損失的超參數(shù),d(?)為衡量教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)差距的距離度量,本文使用L2正則衡量。
全局平均池化層將特征壓縮、高度提煉,但這樣會丟失大量空間和語義信息,不利于魯棒性經(jīng)驗的遷移。本文強化特征層的語義表達(dá),增強蒸餾效果。
本節(jié)從特征圖和頻域兩個維度強化特征層的語義表達(dá)。
首先考慮神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),Shafahi等[23]使用池化層之后的特征作為約束項。全局平均池化層由Lin等[28]提出,使用全局池化層代替全連接層,將每個特征層抽象為單點輸出,這樣不僅能簡化模型參數(shù),加快訓(xùn)練速度,而且減少了全連接層帶來的過擬合現(xiàn)象。但高度抽象特征會損失大量的空間和語義信息,也會影響蒸餾效果。因此本文使用池化操作之前的特征圖作為蒸餾媒介,soft target即為
此外,本文利用頻域特性增強特征語義??紤]到神經(jīng)網(wǎng)絡(luò)的復(fù)雜性,本文使用全局池化層之后的特征進(jìn)行實驗,具體是通過N維快速傅里葉變化(FFTN,fast Fourier transform)將該特征轉(zhuǎn)化為頻域N維向量。之后利用傅里葉變換的平移操作(FFTShift,fast Fourier transform shift)把零頻點移到頻譜的中間得到頻域特征。頻域特征分為實部和虛部,二者拼接得到頻域最終表示。本文以特征向量Z∈R1×4進(jìn)行推演,如圖4所示。
圖4 特征向量轉(zhuǎn)化為頻域特征樣例 Figure 4 Example of feature vectors transformed into frequency domain feature
zgap為全局池化層后的輸出,zfourier為蒸餾使用的頻域特征表示。兩者關(guān)系為
cat(?)為拼接操作,將兩個向量按照維度dim = 1進(jìn)行拼接。頻域方面的soft target為
兩個維度的特征強化在蒸餾過程中增加了額外計算損耗,所以本文實驗不僅驗證多維度特征圖方案的有效性,而且會記錄時間消耗。期望增強特征語義表達(dá)的同時,訓(xùn)練時間不會顯著提高。接下來,將對特征進(jìn)行細(xì)粒度劃分,關(guān)注對應(yīng)類別的敏感特征,從而提高經(jīng)驗利用率。
特征圖向量可以理解為濾波器對于輸入圖像的特征提取。之前的損失函數(shù)直接將教師和學(xué)生的特征圖正則化比對,每個特征向量權(quán)重比值一致。本文考慮將教師網(wǎng)絡(luò)的經(jīng)驗細(xì)粒度優(yōu)化,關(guān)注相應(yīng)類別的敏感特征,以達(dá)到更佳的遷移效果。
根據(jù)Zhou等[6]的工作,可知在分類任務(wù)中,輸入特征的顯著程度決定了其分類類別。模型對輸入生成的類激活映射,有助于了解特征對決策的貢獻(xiàn)。在本文的蒸餾過程中,不同類別的樣本,對特征層的敏感通道不一致。訓(xùn)練等權(quán)重特征向量時,無法最大化利用教師經(jīng)驗。借鑒類激活映射的工作原理,本文提出一種特征向量的注意力機制,加強敏感特征的關(guān)注度。
經(jīng)過2.1節(jié)的對抗訓(xùn)練后,教師網(wǎng)絡(luò)擁有良好的魯棒性能。固定教師網(wǎng)絡(luò)的參數(shù),使用目標(biāo)數(shù)據(jù)集訓(xùn)練全連接層,具體流程如圖5所示。假設(shè)池化操作后的特征圖Z∈RC,目標(biāo)分類共有B類,全連接層的參數(shù)M∈RB×C滿足
圖5 教師特征權(quán)重配比流程 Figure 5 Process of obtaining weight for teacher features
對應(yīng)樣本標(biāo)簽類別為y的權(quán)重系數(shù)滿足
權(quán)重系數(shù)用于組織特征層向量,使目標(biāo)數(shù)據(jù)集的分類為y,即預(yù)訓(xùn)練得到的權(quán)重表征不同分類對于特征通道的關(guān)注度。本文針對特征圖向量施加注意力機制,soft target滿足
對池化前的特征圖Z∈RC×H×W進(jìn)行蒸餾的場景下,需要將M(y)進(jìn)行擴展,如下。
蒸餾的soft target表達(dá)式為
本文將權(quán)重系數(shù)應(yīng)用到頻域方面。頻域特征是針對池化特征的增強,所以訓(xùn)練全連接層時,可將拼接后的頻域特征作為全連接層的輸入,得到最終的權(quán)重系數(shù)。訓(xùn)練流程與池化特征處理類似,在此不再贅述。
本節(jié)對蒸餾過程中的特征圖進(jìn)行優(yōu)化,豐富其空間和語義信息,加強表達(dá)效果,并基于類激活映射提出注意力機制,針對不同類別強化部分特征,達(dá)到更好的蒸餾效果。最終的損失函數(shù)為
zteacher、zstudent為廣義特征向量,M(y)為對應(yīng)特征形式的權(quán)重,α為控制正則損失的超參數(shù)。
本文實驗訓(xùn)練及測試環(huán)境為Centos 7.7操作系統(tǒng),處理器型號為 Intel Xeon Scalable Cascade Lake 8168(2.7 GHz,24核),內(nèi)存1.5 TB DDR4 ECC REG 2666,GPU為NVIDIA Tesla V100。
本文使用Cifar100和Cifar10數(shù)據(jù)集進(jìn)行效果展示,圖片尺寸為32×32。教師網(wǎng)絡(luò)在Cifar100數(shù)據(jù)集上進(jìn)行對抗訓(xùn)練,獲取魯棒模型。之后固定教師網(wǎng)絡(luò)參數(shù),使用Cifar10訓(xùn)練集進(jìn)行蒸餾訓(xùn)練,在多種算法下測試遷移效果。
預(yù)訓(xùn)練階段,本文使用添加動量(momentum)的SGD[29]算法,momentum為0.9,weight_decay值為 2 × 1 0?4。對抗樣本使用L∞的PGD攻擊算法生成,擾動幅度單步最大擾動為迭代次數(shù)step=7。
知識蒸餾階段,教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)均選取wide-resnet28[3],學(xué)生網(wǎng)絡(luò)的初始參數(shù)與教師保持一致,來加快蒸餾訓(xùn)練。在完成15個epoch訓(xùn)練后,訓(xùn)練集上的損失基本穩(wěn)定,學(xué)生網(wǎng)絡(luò)能夠順利收斂。以添加權(quán)重mask的頻域蒸餾訓(xùn)練為例,超參數(shù)α= 10,模型在訓(xùn)練集的準(zhǔn)確率和損失曲線如圖6所示。
圖6 基于頻域特征蒸餾的準(zhǔn)確率與損失曲線 Figure 6 Accuracy and loss curve on knowledge distillation with frequency
為了證明本文方法的有效性,共設(shè)置了3組模型用以比對。第一組使用Cifar10直接訓(xùn)練得到的正常模型;第二組使用Cifar10對抗訓(xùn)練得到的魯棒性模型;第三組復(fù)現(xiàn)Shafahi[23]的工作,用以比對蒸餾效果。3組基線初始參數(shù)與學(xué)生網(wǎng)絡(luò)相同,從而確保訓(xùn)練的公平性。
本文使用Cifar10測試集在模型上的準(zhǔn)確率,作為判斷魯棒性特征學(xué)習(xí)效果的依據(jù)。模型在樣本的分類上準(zhǔn)確率越高,說明學(xué)習(xí)到的魯棒性特征越強,防御更有效果。本實驗使用正常輸入、FGSM、PGD、C&W等多種攻擊測試防御效果。其中,F(xiàn)GSM最大擾動幅度。PGD攻擊選取L2、L∞兩種范數(shù)攻擊,PGD-L2最大擾動幅度ε=1,PGD-L∞最大擾動幅度,步長均為。C&W攻擊采用Madry[12]提出的迭代形式,擾動幅度與PGD-L∞相同。PGD和C&W攻擊測試5、10、20這3種迭代次數(shù)下的防御效果。
Shifahi[23]蒸餾和特征圖蒸餾均使用超參數(shù)α= 500。頻域特征轉(zhuǎn)化幅度較大,不適用同樣參數(shù),使用α= 10進(jìn)行測試。之后進(jìn)行消融實驗去除超參數(shù)α的影響。在Cifar10上的準(zhǔn)確率如表1~表4所示。
表4 C&W攻擊算法在Cifar10上的準(zhǔn)確率 Table 4 Accuracy of the C&W attack on Cifar10
干凈樣本和FGSM攻擊在Cifar10上的準(zhǔn)確率結(jié)果如表1所示。替換特征層后,語義信息更加豐富,偏重擬合魯棒性特征,導(dǎo)致在干凈樣本和FGSM下準(zhǔn)確率有所下降。使用權(quán)重系數(shù)mask能有效控制非關(guān)鍵特征,蒸餾過程更具有針對性,準(zhǔn)確率均明顯提升。權(quán)重系數(shù)在Shafahi的工作同樣有效,F(xiàn)GSM攻擊下準(zhǔn)確率由46.13%提高到61.30%。本文的方法(采用頻域+mask訓(xùn)練)在干凈樣本上的準(zhǔn)確率甚至高于對抗訓(xùn)練,達(dá)到94.23%。
表1 干凈樣本和FGSM攻擊在Cifar10上的準(zhǔn)確率 Table 1 Accuracy of the clean and FGSM attack on Cifar10
表3 PGD-L∞攻擊算法在Cifar10上的準(zhǔn)確率 Table 3 Accuracy of the PGD-L∞ attack on Cifar10
本實驗驗證了Cifar10在PGD攻擊和C&W攻擊下的準(zhǔn)確率,結(jié)果如表2~表4所示。相較于FGSM攻擊,PGD和C&W攻擊強度更高,增強語義的效果更加明顯。特征層權(quán)重系數(shù)也有效提高算法的準(zhǔn)確率,在PGD-L2下本文的方法略微高于對抗訓(xùn)練,達(dá)到了25.14%,對抗訓(xùn)練只有24.95%。
表2 PGD-L2攻擊算法在Cifar10上的準(zhǔn)確率 Table 2 Accuracy of the PGD-L2 attack on Cifar10
此外,本文以PGD-L∞為例,驗證高輪次迭代下的算法效果,結(jié)果如圖7所示。即使是100次的迭代攻擊,頻域蒸餾和特征圖蒸餾依舊有很強的魯棒性。
圖7 PGD-L∞迭代強度與準(zhǔn)確率關(guān)系Figure 7 The r elationship between epoch of PGD-L∞ attack and accuracy
本文對不同算法在Cifar10上的耗時進(jìn)行比對,如表5所示。本文蒸餾耗時與Shafahi類似,接近正常訓(xùn)練,遠(yuǎn)小于對抗訓(xùn)練耗時。這種輕量級的蒸餾算法相比于Shafahi工作,防御效果顯著提高,算力要求較低。
表5 不同算法在Cifar10的耗時情況 Table 5 Time-consuming for Different Algorithms on Cifar10
總體而言,本文通過多維特征圖和權(quán)重系數(shù)mask進(jìn)行優(yōu)化,增強防御效果。相比Shafahi的蒸餾有著不錯的提升,即使在多次迭代的PGD攻擊下,模型依舊擁有良好的防御能力。算法計算耗時較低,接近正常訓(xùn)練。
為了控制超參數(shù)α帶來的影響,本文對其進(jìn)行消融實驗。選取干凈樣本、FGSM、PGD-L∞這3種攻擊測試不同權(quán)重α的蒸餾效果,如 表6~表8所示。
表6 Shafahi+mask基于不同α在Cifar10上的分類準(zhǔn)確率 Table 6 Accuracy based on α with shafahi used mask on Cifar10
表7 特征圖+mask基于不同α在Cifar10上的分類準(zhǔn)確率 Table 7 Accuracy based on α with feature map used mask on Cifar10
表8 頻域+mask基于不同α在Cifar10上的分類準(zhǔn)確率 Table 8 Accuracy based on α with frequency used mask on Cifar10
α的增大有助于蒸餾關(guān)注soft target,使模型更具有魯棒性,提高在攻擊算法上的準(zhǔn)確率,但會降低在干凈樣本上的準(zhǔn)確率。頻域特征對于超參數(shù)敏感程度更高,小量級下就有優(yōu)秀的表現(xiàn)。最終,本文選取頻域特征下的超參數(shù)α= 10,其他蒸餾下超參數(shù)α= 5× 10?1。
本文提出一種基于知識蒸餾的輕量級對抗樣本防御方法,用以解決多任務(wù)下經(jīng)驗復(fù)用的問題,更快獲取魯棒性模型。一方面,使用多維度的特征圖,獲取更豐富的空間和語義信息,增強蒸餾效果;另一方面,使用權(quán)重系數(shù)對特征層參數(shù)細(xì)粒度配比,有效利用教師經(jīng)驗。之后,通過對照實驗證明了所提算法的有效性。本文算法在高強度的白盒攻擊下,準(zhǔn)確率均顯著高于Shafahi的蒸餾方案,在干凈樣本上的準(zhǔn)確率甚至高于對抗訓(xùn)練,接近模型直接訓(xùn)練的準(zhǔn)確率。
本文算法還可以在很多方向進(jìn)行完善。第一,可以測試在更大數(shù)據(jù)集如ImageNet方面的遷移學(xué)習(xí)效果。第二,目前僅利用單層特征進(jìn)行蒸餾,之后可以拓展到多層同步提取。第三,將對應(yīng)樣本類別的全連接系數(shù)作為權(quán)重mask,可以研究對于非該類別的mask能否有效。