王曙燕,金 航,孫家澤
西安郵電大學計算機學院,西安 710121
深度學習模型的工作機理是依賴人類篩選和準備的訓練樣例,基于多層非線性變換來準確刻畫和記憶數(shù)據(jù),距離多領(lǐng)域通用的“強人工智能”還有較大差距[1]。因此大多數(shù)研究者更加關(guān)注模型的性能和訓練效率,卻忽略了模型的安全性和魯棒性[2]。隨著深度學習系統(tǒng)在自動駕駛[3]、圖像識別[4]等領(lǐng)域應用越來越廣泛,其安全性問題也受到廣泛的關(guān)注。特別是醫(yī)療、航空航天等對精度要求較高的場景下,提升模型的穩(wěn)定性和魯棒性占據(jù)相當多的資源與時間。在這種背景下,對抗樣本的相關(guān)研究越來越火熱,對抗樣本是一種能夠欺騙模型做出錯誤判斷的一類樣本,能夠觸發(fā)深度學習模型的缺陷,從而指導模型進化。
“對抗樣本”這一概念最早由Szegedy 等[5]提出,通過在數(shù)據(jù)集中加入微小擾動得到新的樣本,使得深度學習模型以較高的置信度得到錯誤的分類,隨后Szegedy 研究發(fā)現(xiàn)通過對抗訓練,即將對抗樣本加入原始數(shù)據(jù)集來訓練模型可以提高模型的魯棒性。在此之后,產(chǎn)生對抗樣本的方法層出不窮,主要可以分為兩大類:快速梯度符號標記法[6]和基于優(yōu)化的方法[7]。Goodfellow 等[8]在2014 年解釋了對抗樣本的基本原理,證明了神經(jīng)網(wǎng)絡模型的高維線性是導致模型能夠被對抗樣本所欺騙的根本原因,而不是傳統(tǒng)所認為的模型的高維非線性,同時還提出了一種基于梯度下降原理的對抗樣本生成方法:快速梯度符號法(fast gradient sign method,F(xiàn)GSM)。通過在梯度上添加增量來使模型對樣本做出誤分類。Papernot等[9]提出一種針對于深度神經(jīng)網(wǎng)絡類型的對抗樣本生成方法JSMA。該方法使用網(wǎng)絡中的功能函數(shù)Jacobian 矩陣來生成前向?qū)?shù),并利用前向?qū)?shù)來具體實現(xiàn)。JSMA 算法提出限制擾動的l0范數(shù)來產(chǎn)生對抗性攻擊,也就是每次只修改目標圖像的幾個像素,并通過由前向?qū)?shù)計算生成的一個顯著性圖來執(zhí)行監(jiān)控,取使得所有顯著值最大的輸入特征來調(diào)整樣本,與原來的值相減以后得到干擾值。前向?qū)?shù)使用網(wǎng)絡模型的導數(shù)而非代價函數(shù),且更多地依賴輸入數(shù)據(jù)的特征而非網(wǎng)絡參數(shù),因此可以得到更好的輸出結(jié)果。Carlini 和Wagner[10]在總結(jié)了LBFGS、FGSM 和JSMA 幾個對抗樣本生成的方法之后,提出了在范數(shù)L0、L2和L∞上均有較大改善的算法C&W attacks。此算法是前邊三種算法的擴展,在白盒測試[11]和黑盒測試[11]的攻擊方式下都適用,在不知道模型層參數(shù)的條件下,依然能夠誤導模型做出錯誤判斷。
上述方法都是通過向原始樣本集注入噪聲來生成對抗樣本,對抗樣本的數(shù)量受限于原始樣本集的規(guī)模,且對于同一個樣本、同一個目標網(wǎng)絡只能得到唯一與之相對應的噪聲,以至于所得的對抗樣本缺乏多樣性。針對上述方法的問題,本文提出了一種基于GAN 的圖像對抗樣本生成方法,與現(xiàn)有圖像對抗樣本生成方法相比,本文在以下兩方面提出創(chuàng)新:
(1)在樣本生成方面,采用雙生成器的構(gòu)造策略,生成器G1 用于模擬原始樣本集的分布,增強最終生成的對抗樣本的差異性,提高樣本多樣性;生成器G2 用于產(chǎn)生噪聲,保證對抗樣本的攻擊成功率。
(2)在黑盒攻擊模式下,對目標黑盒模型引入模型蒸餾技術(shù)得到其本地復制,再利用傳統(tǒng)的白盒攻擊方式進行攻擊,這種方式較少地依賴對抗樣本的轉(zhuǎn)移性,在保證樣本多樣性的同時進一步提升黑盒攻擊模式下的攻擊成功率。
生成對抗網(wǎng)絡(generative adversarial network,GAN)是由Goodfellow 等人在2014 年提出的一種無監(jiān)督學習算法框架[12],其算法思想受啟發(fā)于二人零和博弈理論。GAN 的網(wǎng)絡結(jié)構(gòu)由生成器和判別器兩部分組成,模型結(jié)構(gòu)如圖1 所示。
其中,生成器G的輸入為高維隨機噪聲z,輸出為虛假樣本數(shù)據(jù)G(z),生成器G的作用是模擬真實樣本的數(shù)據(jù)分布;判別器D的輸入為真實樣本集和虛假樣本數(shù)據(jù),輸出通常是輸入數(shù)據(jù)為真的概率,理想狀態(tài)下,判別器D輸出的概率值為0.5,即整個系統(tǒng)達到納什均衡狀態(tài),此時生成器G生成的數(shù)據(jù)使判別器D難分真假,模型達到最優(yōu)。GAN 的目標函數(shù)定義為:
Fig.1 GAN architecture diagram圖1 GAN 架構(gòu)圖
其中,Pdata表示真實數(shù)據(jù)的分布,Pz表示原始噪音的分布,E指期望值。一般是通過先固定G來最大化V(D,G)得到D,然后固定D并最小化V(D,G)得到G,如此迭代直到整個模型達到預定目標。GAN 以其獨特的對抗性思維和優(yōu)秀的表現(xiàn),成為近幾年深度學習的熱點課題,被廣泛應用于機器學習、語音識別、數(shù)據(jù)擴增和計算機視覺等場景,并產(chǎn)生了一系列衍生模型。CGAN(conditional GAN)[13]在原始GAN 基礎(chǔ)上增加了約束條件,控制了生成器G過于自由的問題,使得網(wǎng)絡能夠朝著預期方向生成樣本。LAPGAN[14]基于CGAN 進行改進,用來生成高品質(zhì)圖片。該方法創(chuàng)新地將圖像處理領(lǐng)域中高斯金字塔[15]和拉普拉斯金字塔[16]的概念引入GAN,利用高斯金字塔進行下采樣,拉普拉斯金字塔進行上采樣來重建圖像,改善了GAN 的學習能力和生成圖片的質(zhì)量。DCGAN(deep convolutional GAN)[17]將卷積神經(jīng)網(wǎng)絡和GAN 結(jié)合在一起,使得生成圖像的質(zhì)量和多樣性得到了提升,對GAN 的發(fā)展有著極大的推動作用。InfoGAN[18]是Chen 等提出的一種衍生GAN 模型,其最大的特點是增加了互信息(mutual information,MI)的判斷部分,通過最大化GAN 噪聲變量子集和觀測值之間的互信息,以實現(xiàn)對學習過程的可解釋性。他們將輸入的噪聲數(shù)據(jù)分成兩部分,一部分記為z代表隨機噪聲,另一部分是可解釋的有隱含意義的信號c。其中c代表的是圖像的光照、傾斜度或者具體的類別等語意特征信息。在以MNIST 數(shù)據(jù)集訓練的模型中,信號c可以分為label code來代表數(shù)字種類信息(0~9),以及feature code來表示傾斜度、筆畫粗細等。
從以上的研究基礎(chǔ)中可以看出,GAN 在計算機視覺領(lǐng)域具有相當?shù)膬?yōu)勢,在圖像超分辨率、圖像數(shù)據(jù)庫擴充和圖像對抗樣本方面具有重要的應用價值。在生成對抗樣本的應用中,劉二虎等[19]提出一種衍生對抗樣本生成方法,該方法利用FGSM 法構(gòu)造的對抗樣本作為輸入,訓練一個GAN 模型,使得生成器G能夠模擬對抗樣本的分布,擴充了對抗樣本的規(guī)模,但攻擊成功率較低,只有30%左右。Xiao 等提出一種AdvGAN 網(wǎng)絡架構(gòu)來生成對抗樣本[20],在該方法中一旦架構(gòu)中的生成器G訓練完畢,對于任意輸入圖像都能高效生成所對應的擾動,提高了攻擊成功率,但該方法中針對一個樣本的輸入,只能生成相對應的一個擾動,限制了對抗樣本的數(shù)量,雖然攻擊成功率高但是樣本數(shù)量少、樣本多樣性低。
GAN 在圖像數(shù)據(jù)擴充方面的優(yōu)秀表現(xiàn),啟發(fā)出通過生成器模擬原始樣本集的分布,擴展樣本規(guī)模和樣本之間的差異性的方法。以InfoGAN 為框架構(gòu)造生成器G1,用以生成指定類別的圖像。將隨機隱含信號c進行初始化,信號c是一個長度為40 的列表,用以控制最終所生成圖像的傾斜角度、筆畫粗細等圖像風格,圖像風格的隨機性導致最終樣本的表現(xiàn)差異巨大,以此來提升最終對抗樣本在主客觀層面的差異性和多樣性。再將目標類別y轉(zhuǎn)化成one_hot 類型編碼并與之拼接,目標類別y控制最終生成圖像的類別,兩者共同組成生成器的輸入信號z。利用互信息對c進行約束,z與G(z,c)具有高度的相關(guān)性,優(yōu)化的目標函數(shù)如下式:
實際上,互信息項λI(c;G(z,c))很難直接被最大化,因為需要先獲取后驗概率項P(c|x)。為了解決這個問題,引入一個輔助定義Q(c|x) 的下確界來逼近P(c|x),于是目標函數(shù)被重新定義為如下形式,λ為超參數(shù):
在此基礎(chǔ)上構(gòu)造基于轉(zhuǎn)置卷積的樣本生成器G1,最終輸出目標圖像。
圖2 描述了利用GAN 生成樣本噪音的流程。構(gòu)造擾動生成器G2,其輸入為某一樣本,有目標攻擊下還需輸入目標類別,輸出為該樣本所對應的擾動,可對目標模型進行半白盒和黑盒攻擊。主要包含三部分:對抗噪聲生成器G2、判別器D和目標網(wǎng)絡f。G2 接受一個圖像實例x并生成所對應的擾動G2(x),對抗樣本由G2(x)+x構(gòu)成。判別器D的作用是引導G2 的訓練過程,最小化其損失值LGAN保證所生成的對抗樣本的真實性,同時在擾動系數(shù)的限制下盡可能減小噪聲。LGAN的定義如下:
Fig.2 AdvGAN architecture diagram圖2 AdvGAN 架構(gòu)圖
目標網(wǎng)絡f用以檢驗對抗樣本在攻擊過程中的效果,最小化其損失值Ladv可以使對抗樣本在攻擊過程中的結(jié)果更接近于本文的期望。Ladv的定義如下:
其中,lf表示目標模型f的損失函數(shù),在有目標攻擊中,t為攻擊目標,最小化Ladv可以使對抗樣本在攻擊過程中的結(jié)果更接近本文的期望;在無目標攻擊中,t為樣本的真實類別,最大化Ladv可以使對抗樣本在攻擊過程中的結(jié)果無限遠離真實結(jié)果。
綜合以上對于LGAN和Ladv的操作,通過反向傳播修改G2 的模型參數(shù),使得G2 能夠以盡可能小的噪聲代價生成盡可能符合預期的擾動。
模型蒸餾是模型壓縮和加速的技術(shù)之一,將教師網(wǎng)絡的知識遷移到學生網(wǎng)絡上,使得學生網(wǎng)絡能夠以較小的規(guī)模和計算成本得到與教師網(wǎng)絡相當?shù)男阅鼙憩F(xiàn)。Caruana 等首次提出知識遷移(knowledge transfer,KT)[21],借助模型的輸出軟標簽訓練一個壓縮后的小型網(wǎng)絡,該小型網(wǎng)絡能夠得到與原網(wǎng)絡相近的輸出結(jié)果,但這種方法只能對淺層網(wǎng)絡進行壓縮。Ba 等提出知識蒸餾(knowledge distillation,KD)的概念[22],將一個層數(shù)寬且深的模型壓縮為一個小型網(wǎng)絡模型,該模型能夠模擬原始模型的輸出,且具有較好的性能。Hinton等介紹了模型蒸餾的流程[23],將包含多個神經(jīng)網(wǎng)絡的集成模型壓縮為一個層數(shù)相同的學生網(wǎng)絡,Hinton 等以手寫數(shù)字和語音識別作為實驗對象,證實了蒸餾模型的確能夠達到如教師網(wǎng)絡的泛化能力。Romero 等提出了FitNet方法[24],同時使用教師網(wǎng)絡的標簽輸出和中間隱藏層的參數(shù)值來訓練學生網(wǎng)絡,學生網(wǎng)絡具有與教師網(wǎng)絡相同的層數(shù),但約減了層的寬度,得到一個深且窄的輕型模型,該方法得到的學生網(wǎng)絡性能足以媲美教師網(wǎng)絡且參數(shù)量和計算開支遠遠小于教師網(wǎng)絡,但是FitNet方法由于假設(shè)性過強,在有些情況下甚至會對網(wǎng)絡的收斂性和性能起到反作用。
2017 年Kaggle 組織的NIPS 大賽將對抗樣本分為目標針對性和非目標針對性[25]。目標針對性又稱有目標攻擊,指的是對抗樣本可以使目標模型給出所期望的分類結(jié)果;非目標針對性又稱無目標攻擊,指的是對抗樣本只需使模型給出錯誤的分類結(jié)果即可,不需指定某個特殊分類目標。同時,對抗樣本的攻擊方式也可分為黑盒攻擊和白盒攻擊[11]。黑盒攻擊將目標模型看作一個不知道內(nèi)部結(jié)構(gòu)和層次屬性的黑盒子,只能通過給出的I/O 接口進行查詢的攻擊方式;白盒攻擊則是指在已知目標模型的內(nèi)部結(jié)構(gòu)和參數(shù),可以通過對樣本進行針對性的調(diào)整的攻擊方式。在實際應用中,模型的內(nèi)部結(jié)構(gòu)和參數(shù)往往難以獲得,因此黑盒攻擊的場景較為常見,對黑盒攻擊的研究也更具有價值。
傳統(tǒng)黑盒攻擊方式通過觀察神經(jīng)網(wǎng)絡的決策結(jié)果,利用查詢的方式來生成對抗樣本。本文提出將模型蒸餾技術(shù)應用于深度神經(jīng)網(wǎng)絡的黑盒攻擊,使用模型蒸餾技術(shù)獲取目標模型的本地復制,然后使用與白盒攻擊相同的攻擊方式對蒸餾模型進行攻擊。首先根據(jù)實驗場景構(gòu)建目標黑盒模型b的蒸餾模型f,對于模型b和模型f來說,要使得模型蒸餾過程中的目標函數(shù)最小化,目標函數(shù)表示為:
其中,f(x)和b(x)分別代表同一張圖像在蒸餾模型和黑盒模型的輸出結(jié)果,H代表交叉熵損失,最小化此函數(shù)使得模型f的輸出結(jié)果逐漸逼近模型b,兩個模型的某些關(guān)鍵權(quán)值向量能夠逐漸吻合。相較于傳統(tǒng)利用對抗樣本轉(zhuǎn)移性的黑盒攻擊方式,蒸餾模型能夠顯著提高黑盒攻擊方式下的攻擊成功率。
首先介紹雙生成器GAN 的構(gòu)造框架,然后在此基礎(chǔ)上開展實驗。
GAN 生成對抗樣本的框架如圖3 所示,整個過程可以分為以下幾步:
(1)使用原始樣本集訓練一個樣本生成器G1,G1 為生成圖像的InfoGAN 架構(gòu),用于模擬原始樣本分布。
(2)構(gòu)造n個擾動生成器AdvGAN0至AdvGANn,n為數(shù)據(jù)集的類別個數(shù)。每一個擾動生成器的輸入為G1 輸出的圖像數(shù)據(jù),分別用于有目標攻擊情況下生成對應目標的擾動。例如AdvGAN0用于生成目標指向為label[0]的擾動。
(3)使用G1 生成1 000 張類別label[0]的圖片,記為Φ0;生成1 000 張類別label[1]的圖片記為Φ1;…以此類推,生成一組ΦN圖片集合,其中N∈[0,n]。
(4)將Φ0~Φn作為輸入,分別輸入到AdvGAN0,得到Φ0~Φn所對應的、有目標攻擊指向label[0]的擾動,排除Φ0攻擊自身label[0]類的數(shù)據(jù),最終得到Φ1→0,Φ2→0,…,Φn→0共(n-1)組擾動;以此類推可得到所有ΦN的擾動ΦN→M,其中N≠M,N∈[0,n],M∈[0,n]。
(5)將Φn與Φn→m對應相加并將圖片規(guī)范化處理之后,即可得到原始樣本類別為label[n],攻擊目標為label[m]的有目標攻擊對抗樣本ψN→M,其中N≠M,N∈[0,n],M∈[0,n]。
Fig.3 Adversarial examples structure圖3 對抗樣本構(gòu)造框架
模型蒸餾進行黑盒攻擊,主要是使學生網(wǎng)絡擬合教師網(wǎng)絡關(guān)鍵層的權(quán)值向量,較少依賴對抗樣本的轉(zhuǎn)移性,表1 展示了利用模型蒸餾技術(shù)進行黑盒攻擊與傳統(tǒng)方式的差異。首先訓練深度神經(jīng)網(wǎng)絡MD、卷積神經(jīng)網(wǎng)絡MC和一個對照的黑盒網(wǎng)絡MB,其模型的準確率在MNIST 數(shù)據(jù)集下分別是98.51%、98.93%和98.69%,對于MD和MC采用模型蒸餾法進行黑盒攻擊,對于MB采用傳統(tǒng)基于查詢的方式進行黑盒攻擊,采用本文對抗樣本構(gòu)造方法各自生成對抗樣本,分別記為AdvD、AdvC和AdvB,然后分別使用所生成的三個對抗樣本集來攻擊三個模型。可以看出,利用蒸餾模型進行黑盒攻擊,模型準確率大幅下降為1.19%和0.66%,而傳統(tǒng)基于查詢的方式進行黑盒攻擊,模型仍可保持13.51%的準確率,這說明蒸餾模型能夠提高黑盒攻擊下的攻擊成功率。同時,AdvD能夠在MD上保持較高的成功率,但對MC幾乎沒有造成影響,同樣AdvC也有類似表現(xiàn),說明模型蒸餾技術(shù)進行黑盒攻擊并不依賴對抗樣本的轉(zhuǎn)移性,這與傳統(tǒng)黑盒攻擊方式具有本質(zhì)區(qū)別。
Table 1 Comparison of model distillation black box attack表1 模型蒸餾黑盒攻擊對比%
在MNIST 數(shù)據(jù)集和CIFAR10 數(shù)據(jù)集下開展實驗。實現(xiàn)訓練四個神經(jīng)網(wǎng)絡模型,作為實驗的攻擊對象,這四個模型的層次架構(gòu)和在MNIST 上的識別準確度如表2。
Table 2 Preset target network structure and accuracy表2 預設(shè)目標網(wǎng)絡的架構(gòu)及準確率
樣本生成器G1 在訓練階段的輸入為數(shù)據(jù)集和對應的類別,在應用階段只需輸入類別即可生成相對應的圖像。生成系統(tǒng)訓練過程采用Adam 優(yōu)化器,Softmax 函數(shù)作為激活函數(shù),訓練400 次,生成器和判別器的損失函數(shù)如圖4 所示,模型在訓練200 次左右已經(jīng)相對穩(wěn)定。
Fig.4 GAN model loss function value圖4 GAN 模型損失函數(shù)值
Fig.5 Simulated sample examples圖5 模擬樣本圖示
Fig.6 Simulation sample recognition success rate圖6 模擬樣本識別成功率
模型訓練完畢后,生成如圖5 所示的樣本,同時為了檢測G1的生成樣本在模型中的表現(xiàn),將生成樣本通過預設(shè)的4個模型,得到的識別準確率如圖6所示。從圖中可以看出,G1 能夠模擬原始樣本的分布,且相較于原始樣本集生成的數(shù)據(jù)更加規(guī)范,排除原始樣本集異常數(shù)據(jù)影響,使得模型的識別準確率反而更高。
G2 的輸入為模擬樣本,輸出為其所對應的擾動。G2 訓練過程使用Adam 優(yōu)化器,還需調(diào)整擾動系數(shù)λt。擾動系數(shù)控制噪聲的大小,如式(7)所示:
其中,N代表G2 生成的數(shù)組形式的擾動數(shù)據(jù),像素值轉(zhuǎn)換為雙精度型,范圍在(-1,1)之間。擾動系數(shù)限制了噪聲的動態(tài)范圍,對模型的影響如圖7 所示。可以看出隨著擾動系數(shù)的增大,模型的準確率(acc)下降,對抗準確率(adv_acc)上升,但是過大的擾動系數(shù)會導致圖像失真,經(jīng)過實驗,選取擾動系數(shù)為0.2 時,在保證圖像質(zhì)量的同時擁有較高的攻擊成功率。將得到的擾動數(shù)據(jù)與輸入圖像合并,并將圖像的灰度范圍規(guī)范化為(0,255)之間,得到最終對抗樣本。對抗樣本在模型上的表現(xiàn)如表3 所示,其中Model1~Model4 是上文提到的MNIST 數(shù)據(jù)集下的模型,Model5 是CIFAR10 數(shù)據(jù)集下的卷積神經(jīng)網(wǎng)絡模型,其模型準確度為78.06%。由表可知,最終生成的對抗樣本能夠以平均98.07%的致錯率觸發(fā)模型的缺陷,同時平均對抗準確率保持在96.75%。
Fig.7 Influence of disturbance coefficient on model accuracy圖7 擾動系數(shù)對模型準確度的影響
Table 3 Accuracy against sample attacks表3 對抗樣本攻擊準確率%
由于G2 的訓練過程要不斷對蒸餾模型進行白盒訪問,且蒸餾模型的關(guān)鍵層權(quán)值向量與原始模型高度吻合,因此G2 所生成的擾動極大地迎合原始模型的“口味”,誘導模型做出期望的判別結(jié)果,因此會出現(xiàn)對抗準確率比模型原始準確率高的現(xiàn)象。
相較于傳統(tǒng)基于AdvGAN 模型生成對抗樣本,本實驗通過樣本生成器G1 動態(tài)地生成樣本來供擾動生成器G2 訓練和生成對應擾動,能夠有效提高最終生成的對抗樣本的多樣性。實驗使用原始方式和本文方法分別生成1 000 份數(shù)據(jù),每一份都是相同輸入條件下所產(chǎn)生的兩個對抗樣本。圖8(a)所示為樣本間SSIM(structure similarity)指數(shù),SSIM[26]是一種衡量數(shù)字圖像主觀感受的一種方法,在設(shè)計上考慮了人眼的視覺特性,分別從結(jié)構(gòu)、亮度和對比度三個角度度量圖片的相似性。SSIM 值范圍在[0,1],與圖像間相似度成正比,本文方法所生成的樣本SSIM 指數(shù)分布明顯較原始方式更靠下,而原始方式數(shù)據(jù)則聚集在1.0 附近,平均SSIM 值降低了50.7%,在視覺層面提升了多樣性。圖8(b)展示了基于互信息的圖像相似性指標,互信息(mutual information,MI)是信息論中的重要概念,描述了兩個系統(tǒng)之間相互包含信息的多少即二者之間相關(guān)性,在圖像匹配中,兩幅圖像的互信息是通過熵以及聯(lián)合熵來反映它們之間信息的相互包含程度,對于圖像F、R來說,它們之間互信息值表示為:
當兩幅圖像相似度越高,其聯(lián)合熵越小,互信息就越大,因此互信息與圖像相似性成正比,圖示平均MI 值降低了10.96%,樣本像素之間相互包含程度降低,多樣性更高。圖8(c)展示了樣本的Cosin 相似度,該方法將圖像表示為一個向量,計算兩個向量之間的余弦值來表征圖片間相似度,直觀結(jié)果較SSIM法有所提升,與圖像相似度成反比,圖示實驗結(jié)果表明本文方法Cosin值分布較為靠下,平均Cosin值降低了28.7%。圖8(d)展示了樣本間MSE(mean squared error)指數(shù),MSE 均方誤差值越小,代表兩張圖像越相似,MSE 表示為:
Fig.8 Violin plot of adversarial sample difference values圖8 對抗樣本差異值小提琴圖
Fig.9 Comparison of adversarial examples heatmap圖9 對抗樣本熱力圖對比
其中,m和n分別表示圖像的寬和高,P和Q表示兩張圖片對應的像素值,MSE 值的取值范圍為[0,1],與圖像間相似度成反比。圖示原始方法樣本的MSE 值聚集于0,本文方法樣本MSE 值分布均衡,平均MSE值提升了7.6%,像素間差異大,樣本整體多樣性提高。
熱力圖(heatmap)能夠反映數(shù)據(jù)表中多個特征的兩兩相似度,在圖像領(lǐng)域,熱力圖能夠被用來反映圖像間差異。首先使用傳統(tǒng)方式和本文方法分別生成100 組對抗樣本,每組對抗樣本包含兩份相同輸入條件下產(chǎn)生的兩個樣本,然后將圖像伸展成一維數(shù)組并組合,分別構(gòu)造成一個二維的圖像向量。圖9(a)展示了傳統(tǒng)AdvGAN 構(gòu)造的對抗樣本的熱力圖,上下分別表示對于同一個輸入所生成的兩個對抗樣本,不同對抗樣本熱力圖重合度高,圖像間差異不明顯。圖9(b)展示了本文方法生成的對抗樣本的熱力圖,可以看出即使在相同的輸入條件下,本文方法構(gòu)造的對抗樣本依然具有較高的多樣性。
圖像指紋也被稱為圖像Hash,可用于檢測圖像間相似程度[27]。圖像Hash 是檢測一張圖片的內(nèi)容,然后計算出該圖像所對應的唯一值的過程,不同于傳統(tǒng)Hash 算法之處在于:圖像的微小差異并不會生成差異巨大的Hash 值,相反相似圖像的Hash 值也相似。本文通過均值散列(average Hashing)、感知散列(perception Hashing)、梯度散列(gradient Hashing)和離散小波散列(wavelet Hashing)四種方式來計算圖像指紋,在得到圖像之后再計算其漢明距離(Hamming distance)判斷其相似度。實驗采用傳統(tǒng)AdvGAN 和本文方法在相同輸入條件下生成1 000 組樣本,結(jié)果如表4 所示,感知哈希法其漢明距離提升3 653.32,平均散列法漢明距離提升871.90,差值散列法海明距離提升2 042.61,離散小波散列法漢明距離提升1 331.35,四種方式平均海明距離提升1 974.80。實驗結(jié)果表明本文方法相較于原始方案,能夠顯著提升圖像的多樣性。
Table 4 Image fingerprint Hamming distance表4 圖像指紋漢明距離
神經(jīng)網(wǎng)絡模型的安全性和魯棒性已經(jīng)受到越來越多的關(guān)注,利用對抗樣本觸發(fā)模型缺陷是一種有效的模型檢測方法。本文提出一種具有雙生成器的GAN 圖像對抗樣本生成方法,提升了對抗樣本的多樣性,使其在攻擊過程中能夠更好地觸發(fā)模型的缺陷;在黑盒攻擊情境中,提出基于模型蒸餾技術(shù)的黑盒攻擊方法,有效提升了黑盒攻擊的攻擊成功率。在未來的工作中,如何將兩個生成器模型約減成一個整體是一個研究難點,同時對于GAN 生成的對抗樣本,如何對模型進行對抗訓練提升模型魯棒性是下一步繼續(xù)研究的方向。