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