張 維,易 平
上海交通大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 上海 中國 200240
深度學(xué)習(xí)模型在眾多計(jì)算機(jī)視覺領(lǐng)域[1-3],取得非常出色的效果。人工智能算法已經(jīng)滲透到了我們的日常生活中的方方面面,例如人臉識(shí)別系統(tǒng),城市大腦等等。但是,深度學(xué)習(xí)算法極其容易被對(duì)抗樣本攻破[4,36],通過在圖像輸入中,添加極其微小的擾動(dòng),就可以改變深度學(xué)習(xí)模型的決策。在一些對(duì)于安全性要求非常高的場(chǎng)景下,例如自動(dòng)駕駛的感知,對(duì)抗樣本的危害顯得尤為明顯,Eykholt等人[5]提出了一種通用的攻擊框架,通過給路標(biāo)添加擾動(dòng),使得機(jī)器將“右轉(zhuǎn)”標(biāo)識(shí)識(shí)別為“停止”標(biāo)識(shí),將“停止”標(biāo)識(shí)識(shí)別為“限速”標(biāo)識(shí)等等,這類標(biāo)識(shí)在不同的拍攝角度下,都可以完成對(duì)相機(jī)感知系統(tǒng)的攻擊,如下圖1所示。對(duì)抗樣本在自動(dòng)駕駛場(chǎng)景下,會(huì)帶來難以估量的損失,因此,防御對(duì)抗樣本對(duì)于深度學(xué)習(xí)算法的應(yīng)用具有重大價(jià)值。
圖1 交通場(chǎng)景下的對(duì)抗樣本Figure 1 Adversarial examples in traffic scenarios
因?yàn)閷?duì)抗樣本在深度學(xué)習(xí)領(lǐng)域潛在的安全風(fēng)險(xiǎn),近些年來,對(duì)抗樣本一直是學(xué)術(shù)界的研究重點(diǎn),涌現(xiàn)了大批關(guān)于攻擊與防御的工作。目前最有效的防御對(duì)抗樣本的方法是對(duì)抗訓(xùn)練[6],對(duì)抗訓(xùn)練的思想非常簡(jiǎn)單但也非常有效,即在訓(xùn)練中將生成的對(duì)抗樣本加入到訓(xùn)練集中,從而對(duì)網(wǎng)絡(luò)進(jìn)行迭代優(yōu)化,將 min-max的優(yōu)化結(jié)合到訓(xùn)練中。但是對(duì)抗訓(xùn)練的劣勢(shì)也非常明顯,生成強(qiáng)大的對(duì)抗樣本需要多次迭代,即神經(jīng)網(wǎng)絡(luò)需要多次的反向傳播,導(dǎo)致訓(xùn)練的代價(jià)大大增加,從訓(xùn)練時(shí)間長來看,對(duì)抗訓(xùn)練一般是正常訓(xùn)練的數(shù)倍,一定程度上限制了對(duì)抗訓(xùn)練的應(yīng)用。
為了減少對(duì)抗訓(xùn)練的代價(jià),近期出現(xiàn)了用遷移學(xué)習(xí)的方法提升模型魯棒性的工作,即將神經(jīng)網(wǎng)絡(luò)的魯棒性從一個(gè)模型中遷移到其他的任務(wù)上[7]。一種方法將神經(jīng)網(wǎng)絡(luò)的參數(shù)作為媒介遷移魯棒性,將模型的基礎(chǔ)層固定,僅在新的任務(wù)上微調(diào)最后幾層的參數(shù),微調(diào)后的網(wǎng)絡(luò)仍然保留了非常不錯(cuò)的魯棒性;另一種思路利用知識(shí)蒸餾[7-8]遷移模型的魯棒性,將魯棒模型作為教師網(wǎng)絡(luò),利用KL散度約束教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)之間的表征層特征,知識(shí)蒸餾使用的是模型的表征層特征作為遷移媒介。這兩種思路,均取得了不錯(cuò)的白盒防御效果。
我們提出了一種魯棒性遷移的方法(Robust-KD),不通過對(duì)抗訓(xùn)練,就可以獲得具有很強(qiáng)白盒防御能力的模型。受注意力遷移[9]與魯棒模型性質(zhì)[10]啟發(fā),我們利用特征更加豐富的特征圖作為知識(shí)蒸餾的媒介遷移魯棒性,與表征層不同,淺層的特征圖編碼了低層次的特征,深層的特征圖編碼了高層次的語義特征,特征圖包含的信息量更加豐富; 同時(shí),我們?cè)谑褂锰卣鲌D作為約束的基礎(chǔ)上,還加入了Jacobian矩陣的約束,Jacobian矩陣很好地反映了深度網(wǎng)絡(luò)的梯度特征,我們通過計(jì)算特征圖與輸入層之間的Jacobian矩陣,并且使用了一種高效的方法,將Jacobian矩陣作為約束,融合到我們知識(shí)蒸餾模型的求解框架中。
遷移學(xué)習(xí)[11]的成功是計(jì)算機(jī)視覺的里程碑之一,在較大數(shù)據(jù)集上(例如 ImageNet[12])學(xué)到的特征,可以很好地遷移到其他任務(wù)上,預(yù)訓(xùn)練方法已經(jīng)成為了深度學(xué)習(xí)領(lǐng)域最常見的一種方法。相應(yīng)地,我們?cè)贗mageNet數(shù)據(jù)集上進(jìn)行對(duì)抗訓(xùn)練,得到魯棒的神經(jīng)網(wǎng)絡(luò),該魯棒網(wǎng)絡(luò)很好地編碼了通用的魯棒性特征。在一些小的任務(wù)上(例如 Cifar10)進(jìn)行知識(shí)蒸餾,以較小的代價(jià),就可以獲取很強(qiáng)的對(duì)抗樣本防御能力。
通過在 ImageNet、Cifar100、Cifar10上的實(shí)驗(yàn)結(jié)果,顯示了本文提出的知識(shí)蒸餾方案的有效性,特征圖與 Jacobian矩陣的約束,很好的增強(qiáng)了模型的白盒防御能力。在擾動(dòng)較小時(shí),學(xué)生網(wǎng)絡(luò)的防御能力甚至已經(jīng)接近對(duì)抗訓(xùn)練,而且在干凈樣本的準(zhǔn)確率上,本文提出的訓(xùn)練方法也非??捎^,相較正常訓(xùn)練,并沒有損失很多。
總之,我們的貢獻(xiàn)可以概括為以下三點(diǎn):
1) 提出了一種魯棒性遷移的方法,可以以較低的代價(jià)(非對(duì)抗訓(xùn)練),獲得不錯(cuò)的對(duì)抗樣本防御能力。
2) 驗(yàn)證了特征圖與 Jacobian矩陣約束,在提升模型魯棒性上的有效性。
3) 做了大量的實(shí)驗(yàn),為魯棒性遷移提供了一個(gè)很好的基線。
我們回顧下對(duì)抗樣本模型魯棒性的一些概念,并介紹本文用到的基于梯度的攻擊算法,目前的對(duì)抗樣本防御算法以及知識(shí)蒸餾等等。
在干凈的測(cè)試樣本上,通過該訓(xùn)練目標(biāo)得到的深度學(xué)習(xí)模型,可以獲得非常不錯(cuò)的效果,但是在對(duì)抗樣本上,該模型的準(zhǔn)確率下降非常多。我們?cè)谶@里給出魯棒模型的定義,一個(gè)魯棒的模型應(yīng)該滿足以下條件
在魯棒模型的定義下,魯棒模型的決策并不會(huì)因?yàn)閷?duì)抗擾動(dòng)的加入而改變,因此魯棒模型在對(duì)抗樣本上依然會(huì)保留可觀的準(zhǔn)確率,在后續(xù)的實(shí)驗(yàn)部分,我們也會(huì)通過模型在不同擾動(dòng)程度下的對(duì)抗樣本上的準(zhǔn)確率,表明我們方法的有效性。
生成對(duì)抗樣本可以看成一個(gè)帶有限制的優(yōu)化問題,優(yōu)化的目標(biāo)方程為
為了求解這個(gè)優(yōu)化問題,在白盒攻擊的場(chǎng)景下,可以將梯度反傳到輸入層,求解噪聲使得交叉熵?fù)p失函數(shù)變大。一些工作已經(jīng)被提出來求解上述的目標(biāo)方程,這里我們給出一些簡(jiǎn)單的介紹。
2.2.1 快速梯度標(biāo)志攻擊
快速梯度標(biāo)志攻擊(Fast Gradient Sign Method,FGSM)[13],通過反向傳播,將損失函數(shù)反傳到輸入層,并且通過梯度方向更新輸入圖片生成對(duì)抗樣本,從而達(dá)到欺騙分類器的目的,其生成對(duì)抗樣本的方法如下
其中 ?xL 是反傳回輸入層的梯度,是符號(hào)函數(shù),? 一般用來調(diào)整FGSM攻擊的擾動(dòng)程度,? 越大,生成的對(duì)抗樣本攻擊能力越強(qiáng)。
FGSM算法較為簡(jiǎn)單,可以快速生成大量的對(duì)抗樣本,但是生成的對(duì)抗樣本大多攻擊能力比較一般。
2.2.2 映射梯度下降法
映射梯度下降法(Projected Gradient Descend,PGD)[6],是 FGSM 算法的改進(jìn),可以看成是多步迭代版本的FGSM,PGD為了保證擾動(dòng)滿足 L2或者 L∞的限制,在迭代的過程中引入了映射的過程,將擾動(dòng)映射回 L2或者 L∞的球中,其迭代過程如下
與FGSM相比,PGD算法攻擊強(qiáng)度更強(qiáng),但是生成對(duì)抗樣本的耗時(shí)也是 FGSM 的數(shù)倍,大多數(shù)情況下,PGD迭代次數(shù)越多,生成的對(duì)抗樣本攻擊能力越強(qiáng)。
2.2.3 動(dòng)量迭代梯度標(biāo)志攻擊
動(dòng)量迭代梯度標(biāo)志攻擊(Momentum Iterative Fast Gradient Sign Method,MI-FGSM)[25],是由Dong提出的一種增強(qiáng)攻擊遷移性的方法。過去的迭代式的攻擊方法(PGD),黑盒攻擊效果很差,迭代得到的解容易陷入局部最優(yōu)點(diǎn)。Dong將優(yōu)化器中常用的動(dòng)量(Momentum)引入到對(duì)抗樣本的生成中,其中梯度方法的積累公式如下
與 PGD攻擊算法的區(qū)別在于,更新梯度的過程中,通過 μ 控制累積梯度的更新速度,從而很好的緩解了過擬合現(xiàn)象,大大提升了算法的黑盒遷移效果。
2.2.4 Carlini-Wagner攻擊
Carlini-Wagner攻擊(CW 攻擊)[26],是一種基于優(yōu)化的對(duì)抗樣本生成方法,與 PGD算法不同,PGD算法通過投影的方法限制擾動(dòng)的幅度,是非常粗粒度的; 而CW則是在優(yōu)化的目標(biāo)函數(shù)的中,加入了擾動(dòng)的范數(shù),在保證攻擊效果的同時(shí),使求解得到的擾動(dòng)盡可能小。CW函數(shù)的優(yōu)化目標(biāo)為
其中 |?|p為擾動(dòng)的范數(shù),該目標(biāo)函數(shù)保證了 CW 攻擊能夠以較小的擾動(dòng)實(shí)現(xiàn)強(qiáng)有力的攻擊。雖然相比PGD攻擊算法,CW攻擊可以構(gòu)造出擾動(dòng)更小的對(duì)抗樣本,但是CW攻擊的復(fù)雜度也比PGD攻擊算法要高得多。
已有的防御方法可以分為兩個(gè)主要流派,一種是使用對(duì)抗訓(xùn)練的防御方法,即在訓(xùn)練中實(shí)時(shí)生成對(duì)抗樣本,并將生成的對(duì)抗樣本作為訓(xùn)練集反哺給模型; 另一個(gè)是非對(duì)抗訓(xùn)練的方法,會(huì)更加關(guān)注于深度模型的一些性質(zhì)。
2.3.1 對(duì)抗訓(xùn)練防御
對(duì)抗訓(xùn)練(Adversarial Training,AT)[6],是Madry提出的一種對(duì)抗樣本防御的方法,也被稱為 Madry Defense,是目前防御對(duì)抗樣本最為有效的一種方式。Madry在[6]的工作中,將防御對(duì)抗樣本定義為一個(gè)min-max優(yōu)化的問題,生成對(duì)抗樣本的目標(biāo)是為了增大損失函數(shù),使深度學(xué)習(xí)模型決策錯(cuò)誤; 防御對(duì)抗樣本又是為了減少這類樣本的損失函數(shù),這樣就形成了一種對(duì)抗,Madry給出了一種求解方式
其中 σ 為對(duì)抗擾動(dòng),通過PGD算法求解得到。對(duì)抗訓(xùn)練在防御對(duì)抗樣本上效果非常好,幾乎對(duì)于所有基于一階導(dǎo)數(shù)的攻擊,都有著非常不錯(cuò)的防御效果??紤]到PGD攻擊算法的復(fù)雜度,對(duì)抗訓(xùn)練的缺點(diǎn)同樣非常明顯,對(duì)抗訓(xùn)練的代價(jià)是正常訓(xùn)練的數(shù)倍,這也限制了對(duì)抗訓(xùn)練算法的應(yīng)用。
后續(xù)也有非常多的工作改進(jìn)對(duì)抗訓(xùn)練,Zhang等人[14]使用對(duì)抗樣本與干凈樣本特征之間的距離作為目標(biāo)函數(shù),生成了更加高效的對(duì)抗樣本,提升了對(duì)抗訓(xùn)練的效率。Zhang等人[15]從平滑模型決策邊界出發(fā),構(gòu)造正則項(xiàng),通關(guān)該正則項(xiàng)約束對(duì)抗樣本與干凈樣本之間的決策偏差,提升了對(duì)抗訓(xùn)練得到的模型的泛化性。Qin[27]認(rèn)為對(duì)抗的耗時(shí)是由神經(jīng)網(wǎng)絡(luò)的非線性導(dǎo)致的,Qin提出了一種正則化的方法,約束真實(shí)損失函數(shù)與估計(jì)的線性損失函數(shù)之間的差,從而懲罰梯度混淆,提升了對(duì)抗訓(xùn)練的效果。
2.3.2 非對(duì)抗訓(xùn)練防御
近幾年也有一些不使用對(duì)抗訓(xùn)練的防御策略,Ross等人[16]分析魯棒模型的性質(zhì),發(fā)現(xiàn)對(duì)抗訓(xùn)練得到的模型在輸入層梯度上,與普通模型呈現(xiàn)出不同的模式,如下圖2所示,Ross利用了這一特性,通關(guān)兩次反向傳播的方法[28]約束輸入層梯度的Frobenius norm,取得了不錯(cuò)的防御效果。
圖2 模型輸入層梯度可視化Figure 2 The visualization of input layers’ gradient
與 Ross的策略類似,Hoffman等人[17]利用Jacobian矩陣作為神經(jīng)網(wǎng)絡(luò)的正則項(xiàng)約束網(wǎng)絡(luò)求解,Hoffman從泰勒展開出發(fā),證明了約束Jacobian矩陣的 L2范數(shù)可以使模型決策邊界更加平滑,Hoffman給出了一個(gè)隨機(jī)投影的策略,很好地將 Jacobian矩陣作為損失函數(shù),加入到了神經(jīng)網(wǎng)絡(luò)的求解過程中。
Chan等[29]很好地運(yùn)用了Ross提出的性質(zhì),他認(rèn)為一個(gè)魯棒模型的梯度圖像應(yīng)該與原始圖像存在對(duì)應(yīng)關(guān)系,所有 Chan構(gòu)造了一種正則損失函數(shù),使得模型梯度圖像與原始圖片相對(duì)應(yīng),大大增強(qiáng)了模型魯棒性。還有一些工作[30-31]嘗試從模型性質(zhì)上,尋找對(duì)抗樣本生成的邊界,這類防御首先從理論上證明了邊界的存在,再優(yōu)化這個(gè)邊界,使得對(duì)抗樣本更難生成,從而達(dá)到增強(qiáng)模型魯棒性的目的。
我們的工作首次嘗試將Jacobian矩陣作為知識(shí)蒸餾的載體,在提升模型魯棒性上取得了不錯(cuò)的效果。
2.3.3 對(duì)抗樣本檢測(cè)
上述兩節(jié)主要關(guān)注的是模型魯棒性,即模型對(duì)于對(duì)抗樣本具有容忍性,可以將對(duì)抗樣本分類正確,目前還有一種防御對(duì)抗樣本的思路,即將異常的對(duì)抗樣本檢測(cè)出。對(duì)抗樣本檢測(cè)算法關(guān)注的是如何衡量正常樣本的分布,從大量的數(shù)據(jù)中找出異常點(diǎn),使用統(tǒng)計(jì)學(xué)的方法或者基于神經(jīng)網(wǎng)絡(luò)的方法挖掘異常特征。
Ma等人[32]提出了局部本征維度(Local Intrinsic Dimensionality,LID)的方法,檢測(cè)對(duì)抗樣本是否存在,LID通過 K-Means算法[33]刻畫正常樣本的分布,將干凈樣本聚類得到 N 個(gè)中心,越遠(yuǎn)離聚類中心的點(diǎn),是對(duì)抗樣本的概率越高。Meng等人[34]提出了一種基于重構(gòu)誤差檢測(cè)對(duì)抗樣本的方法,Meng訓(xùn)練了一個(gè)自編碼器來實(shí)現(xiàn)樣本的編碼與解碼,通過自編碼器學(xué)習(xí)干凈樣本的分布,因?yàn)閷?duì)抗樣本并未出現(xiàn)在自編碼器的訓(xùn)練數(shù)據(jù)中,對(duì)抗樣本編碼解碼后得到的圖像與輸入圖像差別大于干凈樣本編解碼,通過這種方法實(shí)現(xiàn)對(duì)抗樣本的檢測(cè)。Xu等人[35]提出了一種基于特征壓縮(Feature Squeezing)的對(duì)抗樣本檢測(cè)方案,該方法將原樣本(0~255 bit)壓縮到新的像素空間(0~8 bit),像素空間的壓縮,可以減少對(duì)抗樣本中微小擾動(dòng)所帶來的誤差,將壓縮后的圖像結(jié)果與原樣本結(jié)果比對(duì),從而分辨出原樣本是否為對(duì)抗樣本。
知識(shí)蒸餾這個(gè)概念最早由Hinton等[8]提出,一般認(rèn)為神經(jīng)網(wǎng)絡(luò)訓(xùn)練中編碼了很強(qiáng)的先驗(yàn)知識(shí),這些知識(shí)在不同的任務(wù)之間具有一定的遷移能力,Hinton設(shè)計(jì)了一種訓(xùn)練框架,該框架中含有兩個(gè)神經(jīng)網(wǎng)絡(luò),一個(gè)被稱為教師網(wǎng)絡(luò),另一個(gè)為學(xué)生網(wǎng)絡(luò)。Hinton先訓(xùn)練好教師網(wǎng)絡(luò),后將教師網(wǎng)絡(luò)的輸出作為學(xué)生網(wǎng)絡(luò)的監(jiān)督,這種范式常被用來訓(xùn)練輕量級(jí)網(wǎng)絡(luò),使用大網(wǎng)絡(luò)的輸入監(jiān)督小網(wǎng)絡(luò),小網(wǎng)絡(luò)可以保留接近大網(wǎng)絡(luò)的性能。
Shafahi等人[7]首次用知識(shí)蒸餾的方法來訓(xùn)練魯棒模型,Shafahai 使用在 Tiny-ImageNet[18]上對(duì)抗訓(xùn)練得到的模型作為教師模型,使用魯棒模型的輸出來監(jiān)督新網(wǎng)絡(luò)的學(xué)習(xí),取得了非常不錯(cuò)的防御效果。這種模式很好地將遷移學(xué)習(xí)的思想融入到模型魯棒性的增強(qiáng)上來,以教師網(wǎng)絡(luò)輸出與學(xué)生網(wǎng)絡(luò)輸出之間的KL散度約束遷移魯棒性。
但是知識(shí)蒸餾是為了模型在干凈樣本上的準(zhǔn)確率的提升而設(shè)計(jì)的,在魯棒性遷移上,模型的輸入是干凈樣本而不是對(duì)抗樣本,我們猜測(cè)基于 KL散度的知識(shí)蒸餾并非是最優(yōu)的選擇,在本文中我們簡(jiǎn)單地探討了在魯棒性遷移場(chǎng)景下,知識(shí)蒸餾方法的改進(jìn)。
我們的工作解決的是魯棒性遷移的問題,即如何將魯棒的教師網(wǎng)絡(luò)的特征遷移到正在訓(xùn)練的學(xué)生網(wǎng)絡(luò)中。我們的工作分為三部分?jǐn)⑹?第一部分是方法的概述; 第二部分是基于特征圖的魯棒性遷移;第三部分是基于Jacobian矩陣的魯棒性遷移。
首先簡(jiǎn)單介紹下我們的方法,教師網(wǎng)絡(luò)在較大的數(shù)據(jù)集(例如ImageNet)上通過分類任務(wù)訓(xùn)練得到。我們期望該魯棒網(wǎng)絡(luò)的特征是可以遷移到多個(gè)任務(wù)上的,相較于 Hinton的早期版本的知識(shí)蒸餾,本文期望構(gòu)建一個(gè)更加通用的方法。
受Li等人[19]與Shafahi等人[7]工作的啟發(fā),我們?cè)O(shè)計(jì)了一種蒸餾的框架,學(xué)生網(wǎng)絡(luò)與教師網(wǎng)絡(luò)在結(jié)構(gòu)上保持一致,因?yàn)槟繕?biāo)任務(wù)類別會(huì)與 ImageNet不一致,所以以神經(jīng)網(wǎng)絡(luò)中的特征圖作為遷移魯棒性的媒介,而非基于logits,方法的整體框架見下圖3。
圖3 魯棒性遷移框架Figure 3 The framework of robustness transfer
假設(shè)教師網(wǎng)絡(luò)為 fteacher,學(xué)生網(wǎng)絡(luò)為 fstudent,教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)的特征圖分為,,表示教師網(wǎng)絡(luò)前向時(shí)輸出的第 i個(gè)特征圖(feature map),特征圖滿足
Shafahi等人[7]的知識(shí)蒸餾,只在最后一個(gè)特征層上約束(Global Average Pooling,GAP),池化的操作損失了大量的空間信息,其損失函數(shù)為
在下面兩節(jié)中,我們將詳細(xì)介紹正則項(xiàng)的設(shè)計(jì)。
在本部分,我們將介紹基于特征圖約束的方法,以及約束方式的選擇。在衡量兩個(gè)分布時(shí),通常選用的指標(biāo)有KL散度[20]、L2距離、Cosine距離[21]等。
大多數(shù)知識(shí)蒸餾工作一般也使用的是 L2距離作為衡量教師網(wǎng)絡(luò)特征與學(xué)生網(wǎng)絡(luò)特征的指標(biāo)。但是在實(shí)驗(yàn)中發(fā)現(xiàn),因?yàn)榻處熅W(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)集與當(dāng)前訓(xùn)練的數(shù)據(jù)集,會(huì)存在較大的分布上的差異,這種差異會(huì)導(dǎo)致學(xué)生網(wǎng)絡(luò)與教師網(wǎng)絡(luò)輸出的特征圖,在量級(jí)上存在些許差異,而 L2距離對(duì)于量級(jí)的變化極其敏感。
所以在訓(xùn)練中,我們引入了 Cosine距離作為衡量教師網(wǎng)絡(luò)特征圖與學(xué)生網(wǎng)絡(luò)特征圖之間差異的指標(biāo),Cosine距離的定義如下
在具體實(shí)現(xiàn)時(shí),教師網(wǎng)絡(luò)的參數(shù)是固定的,且不進(jìn)行反向傳播的,對(duì)于目標(biāo)數(shù)據(jù)集的圖片輸入,僅保留教師網(wǎng)絡(luò)的每一層的特征圖,對(duì)于學(xué)生網(wǎng)絡(luò),訓(xùn)練的損失函數(shù)為交叉熵?fù)p失與Cosine正則損失之和
通過這一損失函數(shù),可以在不損失過多準(zhǔn)確率的前提下,盡可能保留魯棒教師網(wǎng)絡(luò)的各層特征表達(dá)。為了提升效果,學(xué)生網(wǎng)絡(luò)使用教師網(wǎng)絡(luò)作為預(yù)訓(xùn)練模型,在教師網(wǎng)絡(luò)的參數(shù)基礎(chǔ)上微調(diào),后面所有的實(shí)驗(yàn)也都建立在使用預(yù)訓(xùn)練模型的基礎(chǔ)上。
Ji為輸入 xi對(duì)應(yīng)的 Jacobian 矩陣,通過泰勒展開我們可以發(fā)現(xiàn),模型對(duì)于噪聲的響應(yīng),與Jacobian矩陣存在著非常高的關(guān)聯(lián)性。對(duì)于一個(gè)魯棒的 模 型 ,其 滿 足即可以發(fā)現(xiàn)模型是否魯棒與神經(jīng)網(wǎng)絡(luò)的 Jacobian矩陣具有非常強(qiáng)的相關(guān)性,對(duì)抗訓(xùn)練后的魯棒性網(wǎng)絡(luò)對(duì)于對(duì)抗樣本是有一定的魯棒性的,在魯棒性知識(shí)蒸餾中,我們期望學(xué)生網(wǎng)絡(luò)獲得魯棒的教師網(wǎng)絡(luò)的 Jacobian矩陣性質(zhì),所以在此處我們將嘗試以 Jacobian矩陣作為魯棒性遷移的媒介,嘗試從魯棒教師網(wǎng)絡(luò)中遷移魯棒性。
與3.2一致,我們期望在神經(jīng)網(wǎng)絡(luò)的多層中間層中添加Jacobian約束,但是中間層的Jacobian矩陣維度極高,用來直接約束神經(jīng)網(wǎng)絡(luò)的求解不現(xiàn)實(shí),所以需要設(shè)計(jì)一種降維的方法。受 Hoffman等人[17]工作的啟發(fā),這里我們引入了一種隨機(jī)投影的方法,通過多次投影,去近似完整的Jacobian矩陣,從而大大降低了運(yùn)算的復(fù)雜度。假定圖片輸入的維度為 I,中間特征層的維度為 O,那么中間特征層相對(duì)圖片輸入的Jacobian矩陣為 J?RI×0滿足
在訓(xùn)練時(shí),每一次求Jacobian矩陣時(shí),我們都會(huì)隨機(jī)生成一個(gè) L2范數(shù)為 1的 mask,這里記為M?RO,通過mask與特征圖相乘,求得中間特征圖在 mask方向投影后的長度,通過這種方法,將特征圖轉(zhuǎn)化為標(biāo)量,大大減少了計(jì)算復(fù)雜度,簡(jiǎn)化后的Jacobian矩陣為
基于 Jacobian矩陣的訓(xùn)練損失函數(shù)可以被定義為
其中 nproj為投影映射的次數(shù),nproj越大計(jì)算復(fù)雜度越高,但是能夠更好地逼近特征圖與輸入之間的Jacobian矩陣。算法的具體流程見算法1。
算法1 基于J a c o b i a n矩陣的魯棒性遷移輸入: 目標(biāo)數(shù)據(jù)集D,教師網(wǎng)絡(luò)f teacher,學(xué)生網(wǎng)絡(luò)f student學(xué)習(xí)率β,隨機(jī)投影次數(shù) n proj輸出: 魯棒的學(xué)生模型 f student teacher… ← f teacherimages/BZ_69_1887_1137_1929_1179.pngximages/BZ_69_1929_1137_1971_1179.png ? 前向計(jì)算教師網(wǎng)絡(luò)特征圖z 0 student,z 1 student… ← f s t u d e n timages/BZ_69_1889_1268_1931_1310.pngximages/BZ_69_1930_1268_1972_1310.png ? 前向計(jì)算學(xué)生網(wǎng)絡(luò)特征圖f o r j ? images/BZ_69_1517_1397_1559_1439.png0,1,...,n proj-1images/BZ_69_1839_1397_1881_1439.png d o生成隨機(jī)m a s k M j b e g i n f o r t r a i n i n g I t e r a t i o n d o從 D 中隨機(jī)采樣 (x,y)z 0 t e a c h e r,z 1 i ,x,M jimages/BZ_69_1836_1531_1878_1573.png ? 計(jì)算學(xué)生網(wǎng)絡(luò)J a c o b i a n矩陣J s t u d e n t i ← J■z t e a c h e r i ,x,M jimages/BZ_69_1835_1664_1876_1705.png ? 計(jì)算教師網(wǎng)絡(luò)J a c o b i a n矩陣L j J t e a c h e r i ← J■z t e a c h e r i images/BZ_69_1795_1806_1837_1848.png2 ? 計(jì)算教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)J a c o b i a n矩陣損失e n d L o s s←C Eimages/BZ_69_1572_2001_1614_2043.pngx,yimages/BZ_69_1653_2001_1695_2043.png+∑ ∑ L j i← ■J s t u d e n t i -J t e a c h e r n i=0 ? 更新總損失n p r o j j=0 i函數(shù)更新 f student 參數(shù)e n d r e t u r n f student e n d
我們的方法是基于特征圖的約束與基于Jacobian矩陣約束的結(jié)合。特征圖的約束可以很好地使學(xué)生網(wǎng)絡(luò)保留教師網(wǎng)絡(luò)的特征,而 Jacobian的加入在梯度上進(jìn)一步約束網(wǎng)絡(luò)的求解,最終的損失函數(shù)為
α 與 β 為正則項(xiàng)損失函數(shù)的權(quán)重。
我們?cè)?Cifar10、Cifar100、ImageNet上進(jìn)行了大量的實(shí)驗(yàn),將從實(shí)驗(yàn)設(shè)置、基于特征圖與Jacobian矩陣約束的作用、約束特征層深度影響、Cosine距離的作用、損失函數(shù)權(quán)重的影響、 nproj選取、不同數(shù)據(jù)集上算法效果等方面論述我們提出的方法的有效性。所有實(shí)驗(yàn)均在白盒攻擊場(chǎng)景下進(jìn)行。
本部分工作主要是為了驗(yàn)證我們的算法在模型魯棒性遷移上的效果,我們的教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)均保持一致,使用的是 ResNet50[22],這里的網(wǎng)絡(luò)是針對(duì)32*32大小的圖像重新設(shè)計(jì)的網(wǎng)絡(luò),在Cifar10、Cifar100、32*32大小的ImageNet上可以獲得非常不錯(cuò)的效果。
在本部分中,為了保證算法的泛化性盡可能強(qiáng),我們?cè)谠u(píng)估評(píng)估算法的時(shí)候,使用了多種攻擊算法,包含F(xiàn)GSM,L2PGD攻擊算法,L∞PGD攻擊算法,這些算法均為無目標(biāo)攻擊。對(duì)于L∞攻擊算法,我們攻擊的最大擾動(dòng)分別選取了,對(duì)于 L2攻擊算法,我們攻擊的最大擾動(dòng)分別選取了0.25與0.5,對(duì)于迭代式的攻擊,假設(shè)最大擾動(dòng)為 ? ,攻擊的步長為如無特殊說明,本部分的實(shí)驗(yàn) PGD 攻擊算法的迭代次數(shù)均為7。
對(duì)于魯棒性教師網(wǎng)絡(luò),我們分別在 ImageNet、Cifar100這兩個(gè)數(shù)據(jù)集上,通過對(duì)抗訓(xùn)練的方法得到了兩個(gè)魯棒的模型,對(duì)抗訓(xùn)練中使用的攻擊方法是L2PGD攻擊算法,攻擊最大擾動(dòng)為0.5,訓(xùn)練使用的是帶有momentum的SGD[23]算法,momentum為0.9,weight decay為5e-4,在ImageNet數(shù)據(jù)集上,我們會(huì)將圖片變換成32*32的大小。
對(duì)于學(xué)生網(wǎng)絡(luò),學(xué)生網(wǎng)絡(luò)在訓(xùn)練時(shí)的輸入均為干凈的樣本,教師網(wǎng)絡(luò)的參數(shù)固定,學(xué)生網(wǎng)絡(luò)訓(xùn)練的超參數(shù)與教師網(wǎng)絡(luò)保持一致,為了加快訓(xùn)練速度,學(xué)生網(wǎng)絡(luò)均使用了對(duì)抗訓(xùn)練后的教師網(wǎng)絡(luò)作為預(yù)訓(xùn)練模型,α 選取為 50,β 選取為 5e-3。
本文所有實(shí)驗(yàn)均在 Pytorch[24]框架下實(shí)現(xiàn),本部分會(huì)涉及算法效率的比對(duì),所有的實(shí)驗(yàn)均在 Tesla v100-sxm2 顯卡下運(yùn)行。
這部分在Cifar10數(shù)據(jù)上對(duì)比算法效果,通過準(zhǔn)確率來評(píng)價(jià)模型魯棒性的強(qiáng)弱,如果該模型能夠?qū)⒃蕉嗟膶?duì)抗樣本分類正確,那么則說明該模型的魯棒性越強(qiáng),防御對(duì)抗樣本的能力越強(qiáng)。
我們首先在Cifar10上以正常訓(xùn)練以及對(duì)抗訓(xùn)練兩種方式,訓(xùn)練了兩個(gè)模型作為我們的基線,為了對(duì)比公平,這兩個(gè)模型同樣也使用了預(yù)訓(xùn)練模型。我們?cè)谕瑯拥脑O(shè)置下,復(fù)現(xiàn)了Shafahi[7]的工作,通過與Shafahi[7]工作的對(duì)比,來體現(xiàn)我們算法優(yōu)越性。我們同樣比對(duì)了分為去除掉基于特征的約束項(xiàng)與去除掉基于 Jacobian矩陣的約束項(xiàng)的效果,在本部分中nproj為1。在PGD攻擊上的效果如下表1所示。
表1 PGD攻擊算法在Cifar10上的分類準(zhǔn)確率(%)Table 1 Accuracy(%) of PGD attack on Cifar10
通過對(duì)比,可以發(fā)現(xiàn)我們的算法在對(duì)于魯棒性蒸餾的效果非常好,在受限的訓(xùn)練時(shí)間下,可以獲得接近對(duì)抗訓(xùn)練的防御效果,此外我們的防御方法在干凈樣本上依然保留了很高的準(zhǔn)確率。相較于Shafahi等人[7]的工作,我們的魯棒性遷移的效果更強(qiáng),可以將更多的對(duì)抗樣本識(shí)別正確。因?yàn)橛?jì)算Jacobian矩陣要進(jìn)行多次反向傳播,所以雖然帶入Jacobian約束的防御方法在防御效果上有一定提升,但是需要耗費(fèi)非常多的計(jì)算資源。
同樣,我們還在 FGSM 攻擊算法上測(cè)試了我們的防御模型,如下表2所示。
表2 FGSM攻擊算法在Cifar10上的分類準(zhǔn)確率(%)Table 2 Accuracy(%) of FGSM attack on Cifar10
在 FGSM 下,我們的算法同樣有非常不錯(cuò)的防御效果,在擾動(dòng)為的FGSM攻擊算法下,可以獲得接近對(duì)抗訓(xùn)練的效果。此外,在更加強(qiáng)大的 PGD攻擊下,我們測(cè)試了模型的效果。一般來說,PGD攻擊算法的迭代次數(shù)越大,相應(yīng)的攻擊越強(qiáng),此處我們分別測(cè)試了迭代次數(shù)為0、7、25、100、250與1000的白盒攻擊下,模型的準(zhǔn)確率。下圖4展示了模型防御 0.5擾動(dòng)下不同迭代次數(shù)的 L2PGD攻擊的效果,下圖5展示了模型防御擾動(dòng)下不同迭代次數(shù)的L∞PGD攻擊的效果。
圖4 L2 PGD迭代強(qiáng)度與準(zhǔn)確率(%)的關(guān)系Figure 4 The relationship between steps of L2 PGD attack and accuracy (%)
圖5 L∞ PGD迭代強(qiáng)度與準(zhǔn)確率(%)的關(guān)系Figure 5 The relationship between steps of L∞ PGD attack and accuracy (%)
甚至在1000-step的PGD攻擊下,我們的模型依然保留了可觀的準(zhǔn)確率。
在本部分中,我們進(jìn)行了一系列的消融實(shí)驗(yàn),對(duì)比分析各個(gè)模塊的作用。
4.3.1 不同特征層約束
ResNet50共有4個(gè)res-block,4.2中的實(shí)驗(yàn)對(duì)所有的 res-block輸出的特征圖上都添加了約束,這樣對(duì)神經(jīng)網(wǎng)絡(luò)的淺層特征以及深層特征都有非常好的約束,可以大大提升算法效果。
本部分想要分析約束在 res-block上的效果,實(shí)驗(yàn)設(shè)置與4.2保持一致,nproj為1,下表3中給出了實(shí)驗(yàn)結(jié)果。
表3 約束層對(duì)于PGD攻擊算法在Cifar10準(zhǔn)確率(%)的影響Table 3 The influence of the constraint layer on the accuracy (%) of the PGD attack on Cifar10
可以發(fā)現(xiàn),隨著添加約束的特征層越來越深,魯棒性遷移的效果越好,僅在最后一層添加正則的防御能力與在所有層添加正則的模型效果相當(dāng)。
4.3.2 損失函數(shù)權(quán)重
本部分對(duì)損失函數(shù)權(quán)重的選取進(jìn)行對(duì)比實(shí)驗(yàn),考慮到我們的方法包含兩個(gè)正則項(xiàng),這里我們分兩部分進(jìn)行實(shí)驗(yàn)。一部分是基于特征圖的正則項(xiàng)的權(quán)重選擇; 另一部分是基于Jacobian矩陣的正則項(xiàng)的權(quán)重選擇。基于特征圖的魯棒性遷移的消融實(shí)驗(yàn)結(jié)果見下表4。
表4 基于不同權(quán)重特征圖約束的魯棒性遷移在Cifar10上的準(zhǔn)確率(%)Table 4 Accuracy(%) of robustness transfer based on feature map constraints under different weights on Cifar10
當(dāng) α 為5e-1或者5e-2時(shí),在沒有損失過多干凈樣本準(zhǔn)確率的前提下,模型防御能力最強(qiáng)?;贘acobian矩陣的魯棒性遷移的消融實(shí)驗(yàn)結(jié)果見下表5。
表5 基于不同權(quán)重Jacobian約束的魯棒性遷移在Cifar10上的準(zhǔn)確率(%)Table 5 Accuracy(%) of robustness transfer based on Jacobian constraints under different weights on Cifar10
當(dāng) β 為5e-3或者5e-4時(shí),在沒有損失過多干凈樣本準(zhǔn)確率的前提下,模型防御能力最強(qiáng)。
4.3.3 Cosine距離的效果
在基于特征圖的魯棒性遷移部分中,我們使用了Cosine矩陣作為我們的約束方式而非 L2距離。在本部分實(shí)驗(yàn)中,我對(duì)特征圖之間的 L2損失函數(shù)進(jìn)行了一些實(shí)驗(yàn),本部分并沒有引入Jacobian矩陣約束。我們不斷調(diào)整 L2損失函數(shù)的權(quán)重,實(shí)驗(yàn)效果如下表6所示。
表6 Cosine距離與L2距離在Cifar10上的準(zhǔn)確率(%)的對(duì)比Table 6 Accuracy(%) on Cifar10 under Cosine distance and L2 distance
從上表中,可以看出相較于 L2距離,Cosine距離在約束特征圖上效果略好。
4.3.4 nproj 的選取
在本部分,我們驗(yàn)證了在Jacobian約束中 nproj的作用,考慮到效率問題,在本文的大部分實(shí)驗(yàn)上,我們均使用 nproj=1 的設(shè)定。在本部分中,我們驗(yàn)證了 nproj增大的效果,在實(shí)驗(yàn)中,考慮到復(fù)雜度,本部分實(shí)驗(yàn)的約束僅添加在最后一個(gè) res-block,其僅使用了 Jacobian矩陣作為魯棒性遷移的媒介,實(shí)驗(yàn)結(jié)果見下表7。
表7 不同 nproj 下PGD攻擊算法在Cifar10上的準(zhǔn)確率(%)Table 7 Accuracy (%) of the PGD attack on Cifar10 under different nproj
隨著 nproj的增加,算法效果有一定程度上的提升,但是帶來的提升非常有限,而時(shí)間復(fù)雜度增長非常多,所以在本文的實(shí)驗(yàn)中,我們使用 nproj=1的設(shè)置。
4.3.5 算法泛化性驗(yàn)證
本部分之前的教師模型是在 ImageNet上訓(xùn)練的,目標(biāo)數(shù)據(jù)集是 Cifar10,無法證明當(dāng)前我們算法泛化能力。所以在本部分中,我們分別測(cè)試了ImageNet遷移 SVHN,ImageNet遷移 Cifar100,Cifar100遷移 Cifar10等情況,證明我們的方法在不同源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集上,均有客觀的效果。算法效果見下表8。
表8 不同源與目標(biāo)數(shù)據(jù)集下PGD攻擊算法的準(zhǔn)確率(%)Table 8 Accuracy (%) of the PGD attack under different source and target datasets
可以看出,ImageNet遷移Cifar10的效果要好于Cifar100遷移Cifar10,教師網(wǎng)絡(luò)的效果好壞,一定程度上也會(huì)影響學(xué)生網(wǎng)絡(luò)的好壞。在 Cifar100數(shù)據(jù)上的效果也證明了我們魯棒性遷移算法的泛化能力,在不同數(shù)據(jù)集上,可以獲得不錯(cuò)的效果。但是在SVHN的數(shù)據(jù)集上,雖然ImageNet遷移SVHN依然有著不錯(cuò)的效果,但是與 ImageNet遷移 Cifar10、Cifar100相比,效果要差了不少。因?yàn)镃ifar100數(shù)據(jù)集與 SVHN存在非常低的相似性,所以遷移地效果非常不理想,但這同樣也驗(yàn)證了在 ImageNet中提取的魯棒性特征的泛化性是不錯(cuò)的。
4.3.6 同源數(shù)據(jù)集之間的遷移效果
對(duì)于上述實(shí)驗(yàn),我們驗(yàn)證的是不同數(shù)據(jù)之間的遷移效果,在遷移學(xué)習(xí)中,源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集之間的相關(guān)性也是衡量算法指標(biāo)的重要考量因素??紤]到上一節(jié)中的現(xiàn)象,在本節(jié)我們將驗(yàn)證同源數(shù)據(jù)集之間魯棒性遷移的效果。
在本節(jié),我們將數(shù)據(jù)集平均切分為兩部分,例如 SVHN的訓(xùn)練集切分為 SVHN+、SVHN-,在SVHN+與SVHN-之間遷移模型的魯棒性。同源數(shù)據(jù)集之間的魯棒性遷移效果如下表所示。
表9的結(jié)果顯示,同源數(shù)據(jù)集之間的魯棒性遷移效果非常接近對(duì)抗訓(xùn)練,盡管 SVHN+或者Cifar10+的數(shù)據(jù)量遠(yuǎn)不及ImageNet,但是與目標(biāo)數(shù)據(jù)集之間的相似度更高,防御效果也更強(qiáng)。因此,在魯棒性遷移中,源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集之間的相似度也是需要考慮一個(gè)方面,在后續(xù)的研究工作中,我們也將深入研究這個(gè)現(xiàn)象。
在本文中我們提出了一種魯棒性遷移的方法,用來解決對(duì)抗訓(xùn)練高時(shí)間復(fù)雜度的問題。在我們的工作中,可以從一個(gè)魯棒的教師網(wǎng)絡(luò)中,將魯棒性遷移到一個(gè)網(wǎng)絡(luò)中,通過這種遷移方法,可以以比較低的代價(jià),獲得一個(gè)防御能力相對(duì)較強(qiáng)的網(wǎng)絡(luò)。
我們的工作從基于特征圖的正則與基于Jacobian矩陣的正則出發(fā),通過這兩種約束,使神經(jīng)網(wǎng)絡(luò)在新的任務(wù)上,依然保留了一部分教師網(wǎng)絡(luò)中的魯棒性特征。我們進(jìn)行了相關(guān)實(shí)驗(yàn),證明了我們提升的算法的有效性。
我們的算法還有很多可以改進(jìn)的方向,一是如何進(jìn)一步優(yōu)化 Jacobian矩陣的約束,進(jìn)一步降低算法的耗時(shí),二是可以更加深入地分析神經(jīng)網(wǎng)絡(luò)的性質(zhì),針對(duì)魯棒性模型的特性,設(shè)計(jì)更加有效的遷移方法。此外,在原數(shù)據(jù)與目標(biāo)數(shù)據(jù)集之間的相關(guān)性還有更多可以挖掘的地方。在后續(xù)的工作中,我們將在這些方面優(yōu)化改進(jìn)。