吳 倩,曹春杰
(1.海南大學計算機科學與技術學院,海南 海口 570228;2.海南大學網(wǎng)絡空間安全學院,海南 ???570228)
深度神經(jīng)網(wǎng)絡已經(jīng)在圖像識別[1]及其他領域中取得了巨大成功,廣泛應用于現(xiàn)實世界,如人臉識別系統(tǒng),但都依賴于深度神經(jīng)網(wǎng)絡的安全性.因此,神經(jīng)網(wǎng)絡的安全問題已經(jīng)成為人工智能安全領域的關注重點.目前已經(jīng)有研究表明,深度神經(jīng)網(wǎng)絡易受到添加微小擾動的原始樣本的干擾[2],這些人眼無法察覺的擾動卻能使系統(tǒng)產(chǎn)生錯誤的判斷結(jié)果,此類輸入樣本被稱作對抗樣本[3].
目前對抗樣本的產(chǎn)生方法主要分為3大類:基于梯度的攻擊方法,如快速梯度符號法(FGSM)[3],利用高維空間中深度神經(jīng)網(wǎng)絡模型的線性性質(zhì),通過輸入向量梯度方向添加擾動快速得到對抗擾動,但是使用梯度法產(chǎn)生的對抗樣本進行對抗訓練存在極大極小值問題;基于優(yōu)化的攻擊方法,如C&W[4],通過限制于真實圖像的距離l0,l2,l∞范數(shù),減小對抗樣本的擾動幅度,但是該系列方法通過復雜的線性搜索方法來找到最佳擾動值,十分耗時且不切實際,該系列方法計算得到的擾動在添加到圖像后,可通過降低圖像質(zhì)量而失效;基于生成網(wǎng)絡的方法,如Natural GAN[5],通過生成對抗網(wǎng)絡來生成文字和圖像的對抗樣本,使生成的對抗樣本更加自然,對抗生成網(wǎng)絡也被用于黑盒攻擊,該系列方法雖然生成速度快,但是比上述2類方法往往擾動大,人眼觀察效果明顯.
與對抗攻擊相反,對抗防御是使模型能夠抵抗對抗樣本的技術,與攻擊相比,防御是一項更為艱巨的任務.盡管如此,仍然提出了大量的防御方法,主要有2個方面:1)被動防御,包括輸入重構(gòu)、對抗檢測;2)主動防御,包括防御蒸餾和對抗訓練.
被動防御主要有2種方法:輸入重構(gòu),如高層特征引導降噪器(HGD)[6],利用對抗樣本與原始樣本在神經(jīng)網(wǎng)絡高層特征的差異來訓練對抗樣本降噪器;對抗檢測,如Lu等[7]提出用SafetyNet來提取每個ReLU層輸出的二進制閾值作為對抗檢測器的特征,并通過RBF-SVM分類器檢測對抗樣本.
主動防御主要有2種方法:1)防御蒸餾[8],本質(zhì)上是通過梯度遮蔽來防御對抗攻擊的方法;2)對抗訓練[9],將每一次模型訓練過程中生成的對抗樣本加入到訓練集中對網(wǎng)絡進行訓練,從而提高深度神經(jīng)網(wǎng)絡的魯棒性.參考文獻[10]中對抗訓練被認為是最強對抗防御算法.但目前存在的對抗防御方法大多需要針對攻擊方式對模型進行特定設計和修改,耗費大量的時間和精力且防御效果不佳.
基于上述問題,筆者提出Att-k-DefGAN,有效提高深度神經(jīng)網(wǎng)絡的魯棒性,模型訓練結(jié)束后可以防御多種對抗攻擊,同時利用生成對抗網(wǎng)絡生成假圖提供對抗訓練所需的足夠樣本,減少了防御訓練所需的大量時間和資源.
1.1 對抗攻擊對抗攻擊方法主要分為3類:基于梯度的攻擊方法,基于優(yōu)化的攻擊方法和基于生成的攻擊方法.經(jīng)典的代表算法有PGD,MI-FGSM,AdvGAN++和MAN等.
PGD(Projected Gradient Descent)是2018年Madry等[11]提出FGSM的變體——投影梯度下降法,是一種多步迭代算法,每一步與FGSM相似做一次梯度下降,但是只移動一小步,每步迭代所移動的擾動大小都受到限制,
2018年Dong等[12]提出的動量迭代攻擊法(Momentum Iterative Fast Gradient Sign Method,MI-FGSM).通過將動量引入I-FGSM,在迭代過程中沿損失函數(shù)的梯度方向累加速度矢量,加速梯度下降的一種方法,從而提高隨機梯度下降的穩(wěn)定性,可以在產(chǎn)生更具可傳遞性的對抗樣本的同時不降低其攻擊性能,極大地提高了黑盒攻擊能力.
AdvGAN++是基于生成的攻擊方法的一種,2019年由Mangla等[13]提出,將潛在特征作為對抗例子生成的先驗信息,從而生成與原始圖像具有高感知度的對抗例子,此方法要優(yōu)于AdvGAN將輸入圖像作為先驗信息,可以實現(xiàn)更高的攻擊成功率.
MAN是一種多目標對抗網(wǎng)絡,2019年由Han等[14]提出,可以使用單一模型生成多目標類別對抗樣本,通過將指定的類別信息合并到中間特征中,可以在運行時攻擊目標分類模型的任何類別,在單目標攻擊和多目標攻擊中,MAN生成的對抗樣本都具有更強的攻擊性和轉(zhuǎn)移性.
1.2 對抗防御對抗防御方法主要分為針對模型的防御和針對數(shù)據(jù)的防御.其中常用的經(jīng)典方法有HGD、對抗訓練、Defense-GAN和隱寫分析等.
HGD(High-level representation Guided Denoiser,HGD)是2018年Liao等[15]提出的一種高級特征引導去噪器方法.利用原始圖像和對抗樣本引起的目標模型輸出之間的差距作為損失函數(shù),而非重建對抗樣本和原始圖像之間的距離損失來訓練對抗樣本去噪器.此網(wǎng)絡只需要學習如何去除噪聲,而無需重建整張圖.該方法使用U-Net作為去噪網(wǎng)絡,與去噪自動編碼器的編碼器和解碼器直接相連構(gòu)成HGD.HGD具有良好的泛化性,可以提高目標模型的魯棒性,并且效率更高,需要的訓練數(shù)據(jù)和時間都更少.
對抗訓練被認為是效果最好的對抗防御方法.2017年Wu等[7]提出對抗訓練,即在每輪迭代中通過對干凈樣本添加擾動生成對抗樣本,然后將對抗樣本和干凈樣本進行混合,共同作為模型訓練數(shù)據(jù)集輸入到目標分類網(wǎng)絡中進行訓練,該方法試圖讓目標網(wǎng)絡適應對抗樣本,從而對其他對抗樣本也具有魯棒性.
Defense-GAN[16]是2018年提出的一種新的基于GAN的防御方法Defense-GAN.通過使用GAN可以有效地抵抗不同場景下的攻擊,Defense-GAN可以連同任意分類器使用,可以看做分類任務之前的預處理,如果GAN表達能力足夠好,則無需重新訓練分類器.同時具有高度非線性性質(zhì),使得基于梯度的白盒攻擊將很難實現(xiàn),但是GAN要進行適當?shù)挠柧毢驼{(diào)整,否則防御效果會受到輸入樣本和對抗樣本的影響.
2019年Liu等[17]首次提出將隱寫分析應用于對抗樣本檢測,通過估計對抗性攻擊引起的修改概率來增強隱寫分析特征,從而對對抗樣本進行檢測,此方法基于高維人工特征和FLD集成,因此不會被二次對抗攻擊.
2.2 Att-k-DefGAN框架圖1展示了Att-k-DefGAN的總體框架,主要包括5個部分:特征提取器F、生成器網(wǎng)絡G、鑒別器網(wǎng)絡D、攻擊算法Ω和目標攻擊模型M.其中,攻擊算法Ω負責將原始干凈圖像轉(zhuǎn)化為經(jīng)過對抗攻擊算法預訓練的對抗樣本,攻擊目標模型M成功后作為模型的訓練集.特征提取器F負責對原始圖像特征進行提取,得到特征圖F(x),使得網(wǎng)絡模型能夠?qū)W習到原始圖像深層特征之間的聯(lián)系.生成器G負責接收圖像的特征提取器F的輸出F(x)和噪聲向量z作為級聯(lián)向量,并生成假圖x fak e.鑒別器D接收經(jīng)過指定對抗攻擊算法Ω(如PGD攻擊)預處理的圖像x adv和生成器輸出x fa ke,并將樣本進行正確分類,當判斷為對抗圖像x adv時可以預測類別,反之,當判斷為假圖像x fake時,不對圖像進行類別預測.同時,生成的假圖x fake輸入到目標攻擊模型M中,通過對抗損失函數(shù)引導生成器的訓練.另外,為了生成指定類別的假樣本,此框架將類別信號c引入生成器,從而引導模型訓練.
圖1 Att-k-Def GAN框架圖
攻擊算法Ω接收真實樣本x rea l和與之相對應的真標簽c r eal作為輸入,對真實樣本進行預處理,生成對抗樣本x adv,并與真標簽c re al一起輸出.生成器G以隨機噪聲z與特征圖F(x)級聯(lián)的向量F(x)*作為輸入,生成假圖像x fak e.鑒別器接收假圖像x fake和對抗圖像x adv及對抗圖像對應的真標簽c re al,D對假圖像x fak e的鑒別損失函數(shù)反饋作用于生成器G,指導生成器G的訓練,引導x fake越來越接近真實圖像;D對對抗圖像x adv的鑒別損失函數(shù)、分類損失函數(shù)和對假圖像x fake的鑒別損失函數(shù)共同指導鑒別器D的訓練,鑒別損失引導鑒別器D不斷提高對生成樣本和真實樣本的區(qū)分能力,分類損失使D能夠有效對樣本進行分類,促使生成器G根據(jù)類別信號c fak e生成相應類別的假樣本.
2.3 k-WTA的原理k-WTA激活函數(shù)是對1989年Majani等人提出的布爾KWTA2的自然概括,2020年Xiao等[18]首次提出將其運用到對抗防御中,并從理論及實驗方面證明其可行性.圖2展示了k-WTA激活函數(shù)的魯棒性原理,利用k-WTA模型生成不連續(xù)的密集的短直線(藍色)去擬合一維函數(shù)(綠色).
圖2 k-WTA激活函數(shù)魯棒性原理圖[18]
由圖2可知,由于在不連續(xù)中,梯度無法確認.因此,攻擊者對對抗樣本的搜索將會盲目,同時因為權(quán)重W的維度在參數(shù)空間中比數(shù)據(jù)空間中大得多,不會影響模型的正常分類訓練,網(wǎng)絡可以被成功訓練.
2.4 基于注意力機制的特征提取器將原圖通過與生成器網(wǎng)絡完全對稱的網(wǎng)絡結(jié)構(gòu)進行降維提取圖像特征,再引入注意力機制(SE模塊[19]),將圖像淺層特征中的空間關系和通道特征關系抽離出來形成深層特征,使圖像學習到不同通道特征的權(quán)重系數(shù),從而使模型對各個通道的特征更有辨識力,相比直接輸入原圖進行學習,添加注意力機制的特征提取器使得模型能以更小的代價學習更多的圖像知識.
2.5 損失函數(shù)對Rob-GAN[20]中的損失函數(shù)做出改進,鑒別器判斷圖像的來源和類別P(S|x),P(C|x)=D(x),在生成器G增加了原始圖像的深層特征進行融合作為輸入x fa ke=G((c fake,z))+F(x re al)),并增加對抗損失,對GAN生成器的訓練進行約束損失函數(shù)由3個部分組成:
分類損失
對抗損失
2.6 網(wǎng)絡結(jié)構(gòu)本文中鑒別器采用的是AC-GAN[21]的標準網(wǎng)絡結(jié)構(gòu),因為不僅會區(qū)分真實和虛假的圖像,當真標簽可用時還可以預測類別,同時鼓勵高分類精度.生成器與傳統(tǒng)的GAN訓練類似,定期更新以模擬真實數(shù)據(jù)的分布.
生成器 生成器的具體網(wǎng)絡結(jié)構(gòu)如表1所示:生成器第一層全連接層輸入為128的噪聲,輸出是42×64×16的圖像,其中42為特征圖大小,64×16為通道數(shù).然后是4個殘差塊,一個批正則化,最后一層為3*3卷積核大小的卷積層.生成器中包含3個上采樣殘差塊和1個普通殘差塊,其中上采樣使用UpSampling2D實現(xiàn),除最后一層使用Tanh激活函數(shù)外其余層都使用ReLU激活函數(shù).
表1 Att-k-DefGAN生成器的具體結(jié)構(gòu)表
鑒別器 鑒別器的具體網(wǎng)絡結(jié)構(gòu)如表2所示:鑒別器第一層是1個特殊的下采樣殘差塊,然后是1個下采樣殘差塊,2個普通殘差塊,一層激活層,最后一層全連接層有2種:1)判斷真假圖像時輸出通道數(shù)為1;2)判斷圖像類別時輸出通道數(shù)為類別數(shù).其中下采樣用AvgPooling2D實現(xiàn),因為批正則化會使同一批次的不同樣本產(chǎn)生依賴關系,而此模型要對每個樣本獨立進行梯度懲罰,所以鑒別器中不使用批正則化層.另外,鑒別器中使用k-WTA激活函數(shù)替換ReLU激活函數(shù),此為核心.鑒別器網(wǎng)絡中殘差塊中也只使用普通卷積層,卷積核大小為3*3,步長為1.
表2 Att-k-DefGAN鑒別器的具體結(jié)構(gòu)表
3.1 實驗環(huán)境及訓練細節(jié)實驗環(huán)境:處理器:64 bit Intel(R)Xeon(R)Gold 5117 CPU@2.00 GHz;內(nèi)存(RAM):256 GiB;操作系統(tǒng):Windows Server 2019 Datacenter;顯卡:NVIDIA GeForce RTX 2080 Ti雙卡;框架:Pytorch[22];數(shù)據(jù)集:CIFAR-10和ImageNet的子集.
3.1.1 對比實驗將Att-k-DefGAN與Rob-GAN[20]、對抗訓練[9]進行比較.Rob-GAN是目前效果最好的攻防一體化模型,對抗訓練是目前普遍使用、防御效果最好的訓練方法,因此選擇這2種方法作為對比實驗.為了公平比較,3種方法使用相同的生成器和鑒別器的網(wǎng)絡體系結(jié)構(gòu),其他重要因素,如學習率、優(yōu)化算法和每個周期中的鑒別器更新次數(shù)也保持不變.訓練過程中分別使用訓練集訓練.從正態(tài)分布中采樣噪聲矢量,并使用標簽平滑來穩(wěn)定訓練過程.
模型訓練完成后,再將測試集輸入到鑒別器中進行測試,以模型正確分類的精確度作為衡量標準.超參數(shù)設置如下:對于使用ReLU的網(wǎng)絡(Rob-GAN、對抗訓練和Att-k-DefGAN的生成器),動量大小為0.9進行隨機梯度下降訓練,學習速率設置為0.000 2,訓練迭代次數(shù)為200 epochs,每50步衰減50%,批次大小設為80.對使用k-WTA的網(wǎng)絡(Att-k-DefGAN的鑒別器),設置稀疏比γ=0.1,其余與使用ReLU網(wǎng)絡相同的參數(shù).訓練階段,使用對抗攻擊強度為ε=0.062 5的PGD攻擊生成對抗樣本.判別器和生成器的迭代次數(shù)設置為2∶1.
化石能源已被最大限度的開發(fā)利用,工業(yè)、經(jīng)濟的高速發(fā)展也伴隨著能源危機,新能源技術在此時迎來春天。新能源發(fā)電技術走入世人眼中,諸如風力發(fā)電、光伏太陽能發(fā)電技術等。雖然新能源發(fā)電技術能夠應對能源危機,但由于其本身具有發(fā)電間歇性的缺陷,并網(wǎng)時會對電網(wǎng)造成電力波動,降低電能質(zhì)量,從而被限制發(fā)電量,微電網(wǎng)的提出為此問題指出了道路。
3.1.2 消融實驗在CIFAR-10數(shù)據(jù)集上實驗,在原有Att-k-DefGAN模型框架上,將使用k-WTA激活函數(shù)的訓練模型與未使用k-WTA激活函數(shù)的訓練模型(用ReLU激活函數(shù)代替)對比.為了公平比較,兩者使用相同的生成器和鑒別器的網(wǎng)絡體系結(jié)構(gòu),其他重要因素,如學習率、優(yōu)化算法和每個周期中的鑒別器更新次數(shù)也保持不變.不同的是Att-k-DefGAN的鑒別器中使用k-WTA激活函數(shù),另一個模型的鑒別器則用Relu激活函數(shù)代替,其他實驗細節(jié)同3.1.1.
3.2 實驗結(jié)果及分析
3.2.1 對比實驗結(jié)果為了測試模型的魯棒性,選擇廣泛使用的l∞PGD攻擊[11]在數(shù)據(jù)集CIFAR-10和ImageNet子集上進行測試,l∞擾動設為δmax∈np.range(0,0.01,0.02,0.03,0.04).另外將圖像縮放到[-1,1]而不是[0,1],因為生成器的最后一層有tanh()輸出,所以要進行相應的修改.所有結(jié)果均為運行5次后的平均結(jié)果,結(jié)果如圖3和4所示.
圖3 CIFAR-10數(shù)據(jù)集上不同PGD攻擊下的模型分類精確度圖
圖4 ImageNet數(shù)據(jù)集子集上不同PGD攻擊下的模型分類精確度圖
從圖3和4可以看出,在CIFAR-10數(shù)據(jù)集中訓練后的Att-k-DefGAN在無攻擊情況下分類較Rob-GAN、對抗訓練最高提高10%以上,且在攻擊強度為0.01的情況下提高效果最為明顯.在ImageNet子集上最高較Rob-GAN和對抗訓練分別提高8%和11%.但在ImageNet子集上防御性能較弱,但在攻擊強度小于0.03的情況下,Att-k-DefGAN的防御性替提升仍相對明顯.在CIFAR-10數(shù)據(jù)集上,攻擊強度小于0.03的情況下,Att-k-DefGAN所獲得的分類器精確度要高于60%,證明Att-k-DefGAN訓練后能獲得的具有強魯棒性的分類器.觀察2組實驗對比,在[0,0.04]的攻擊強度下,Att-k-DefGAN模型的分類精確度相對于Rob-GAN、對抗訓練均有提高,證明了Att-k-Def GAN模型進一步提高了模型對對抗攻擊的防御能力.
3.2.2 消融實驗結(jié)果實驗選擇l∞PGD攻擊[11]和MI-FGSM 2種梯度攻擊在數(shù)據(jù)集CIFAR-10上進行測試,l∞擾動設為δmax∈np.range(0,0.01,0.02,0.03,0.04).所有結(jié)果均為運行5次后的平均結(jié)果,結(jié)果如圖5和6所示.
從圖5和6可以看出,在相同數(shù)據(jù)集和攻擊強度下,使用k-WTA激活函數(shù)的Att-k-DefGAN較未使用k-WTA激活函數(shù)的Att-DefGAN模型的防御能力最高提高近7%.在攻擊強度為0的情況下,兩者的分類精確度近似,在攻擊強度為[0.01,0.04]的PGD和MI-FGSM攻擊條件下,有k-WTA激活函數(shù)的模型防御能力均有所提高.因此,使用k-WTA激活函數(shù)訓練模型可以有效提高模型對梯度攻擊的防御能力.
圖5 CIFAR-10數(shù)據(jù)集上不同PGD攻擊下的模型分類精確度圖
圖6 CIFAR-10數(shù)據(jù)集上不同MI-FGSM攻擊下的模型分類精確度圖
針對深度神經(jīng)網(wǎng)絡易受對抗攻擊的問題,提出一種基于k-WTA的防御性GAN模型,在攻防一體模型Rob-GAN基礎上做出改進,加入注意力機制對圖像特征進行提取作為先驗知識,并加入目標模型模塊對生成器訓練進行約束.利用k-WTA激活函數(shù)的不連續(xù)性抵抗基于梯度的對抗攻擊預處理,從而進一步提高模型的魯棒性,模型訓練完成后可獲得具有強魯棒性的分類器網(wǎng)絡,且訓練過程中不需要了解目標模型的結(jié)構(gòu)及參數(shù),降低了訓練所需的成本.下一步將針對模型的泛化能力做出優(yōu)化來進一步提高防御成功率.