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