王 成,李永忠
(江蘇科技大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 鎮(zhèn)江 212003)
近年來(lái),深度學(xué)習(xí)技術(shù)獲得前所未有的發(fā)展,在圖像分類(lèi)[1]、無(wú)人駕駛、計(jì)算機(jī)視覺(jué)[2]和自然語(yǔ)言處理[3]等領(lǐng)域得到廣泛應(yīng)用,不斷影響并改變著人們生活。然而,深度學(xué)習(xí)作為一個(gè)復(fù)雜的軟件系統(tǒng),因其本身的脆弱性引發(fā)諸多安全問(wèn)題[4]。對(duì)抗樣本攻擊就是問(wèn)題之一,因其可以直接攻擊深度學(xué)習(xí)模型,直接導(dǎo)致模型以高置信度給出一個(gè)錯(cuò)誤分類(lèi)的結(jié)果,從而帶來(lái)巨大的負(fù)面影響。因此,針對(duì)對(duì)抗樣本攻擊的防御技術(shù)受到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注。
目前針對(duì)對(duì)抗樣本攻擊的防御方法包括:Dziugaite等[5]利用圖像壓縮方式,用壓縮的JPG 圖像減少擾動(dòng),從而保證分類(lèi)的準(zhǔn)確性,但該方法在壓縮圖像過(guò)程中會(huì)丟失很多原始圖像邊緣細(xì)節(jié),導(dǎo)致原始圖片也會(huì)出現(xiàn)分類(lèi)錯(cuò)誤的情況;Zantedeschi 等[6]提出高斯數(shù)據(jù)增強(qiáng)方法,通過(guò)在原始數(shù)據(jù)上添加高斯噪聲并進(jìn)行訓(xùn)練,進(jìn)而訓(xùn)練出可識(shí)別噪聲的網(wǎng)絡(luò)模型,但對(duì)抗樣本噪聲會(huì)隨著網(wǎng)絡(luò)深度的增加而越來(lái)越強(qiáng),隨機(jī)添加的噪聲卻不存在這一特性,因此實(shí)際防御效果不太理想。
針對(duì)以上問(wèn)題,本文結(jié)合雙邊濾波與卷積降噪自編碼器理論建立一個(gè)對(duì)抗樣本防御模型,首先通過(guò)雙邊濾波器的保邊去噪特性[7-8]對(duì)加入對(duì)抗樣本的圖片進(jìn)行初步去噪處理,同時(shí)保留圖片的邊緣紋理,然后通過(guò)卷積降噪自編碼器進(jìn)行特征提取[9],通過(guò)計(jì)算原始圖像與還原圖像之間的差距,得到最小化損失函數(shù),從而還原原始圖像信息。實(shí)驗(yàn)結(jié)果表明,在不影響原始數(shù)據(jù)分類(lèi)的情況下,本方案對(duì)對(duì)抗樣本有較好的防御效果。
對(duì)抗樣本是由Szegedy 等[10]提出的,是指在自然圖片上人為添加經(jīng)過(guò)精心設(shè)計(jì)的微小噪聲而得到的圖片。人眼在看對(duì)抗樣本時(shí)可以正確識(shí)別其中的區(qū)別,但分類(lèi)模型會(huì)以高置信度給出錯(cuò)誤的結(jié)果。
對(duì)抗樣本自提出以來(lái)已發(fā)展出多個(gè)研究方向,如從攻擊結(jié)果上,可分為定向攻擊和非定向攻擊;從攻擊內(nèi)容上,可分為白盒攻擊、灰盒攻擊和黑盒攻擊。對(duì)抗樣本的攻擊方式有很多種,如Goodfellow 等[11]提出基于梯度的攻擊方法(Fast Gradient Sign Method,F(xiàn)GSM),只需單步迭代即可產(chǎn)生對(duì)抗樣本;Papernot 等[12]使用l0范數(shù)方式限制擾動(dòng),僅更改原圖像上極小的像素區(qū)域,即可產(chǎn)生有效的對(duì)抗樣本;Yuan 等[13]利用黑產(chǎn)方式讓違規(guī)照片繞過(guò)主流圖片檢測(cè)服務(wù),更是將對(duì)抗樣本技術(shù)從實(shí)驗(yàn)室研究引入網(wǎng)絡(luò)對(duì)抗實(shí)戰(zhàn)中。
本文選取Goodfellow 等[11]提出的FGSM(快速梯度法)生成對(duì)抗樣本,假設(shè)圖片原始圖像數(shù)據(jù)為x,模型分類(lèi)結(jié)果為y,在原始圖像上添加肉眼難以識(shí)別的微弱擾動(dòng)η,其數(shù)學(xué)公式為:
其中,ε為一個(gè)較小的常數(shù),θ是網(wǎng)絡(luò)參數(shù),J(θ,x,y)是損失函數(shù),將添加擾動(dòng)后的圖像數(shù)據(jù)值與權(quán)重值相乘,得到:
Goodfellow 等[11]指出,如果變化量與梯度方向一致,將會(huì)對(duì)分類(lèi)結(jié)果產(chǎn)生較大影響。當(dāng)x為n時(shí),模型參數(shù)在每個(gè)維度的均值為m,每個(gè)維度變化量與梯度一致,最終輸出效果為εnm。雖然η很小,但累加后的輸出結(jié)果與原分類(lèi)結(jié)果差別很大,將其作用在激活函數(shù)上,會(huì)有較大可能影響到分類(lèi)結(jié)果。
雙邊濾波是一種非線性濾波,其同時(shí)考慮圖像空間域與值域的影響,并解決了高斯濾波存在的在突變像素邊緣上邊緣被模糊的問(wèn)題。
求解最優(yōu)雙邊濾波去噪后的圖片N(x,y),也即求解原始圖像I(i,j)在高斯距離權(quán)值ws(i,j)與高斯像素相似度權(quán)值wr(i,j)乘積作用下得到的最優(yōu)結(jié)果。
在求解ws(i,j)與wr(i,j)時(shí),需要分別考慮d與δ、ζ與c之間的空間距離差和像素差,以及σs與σr之間的相似度方差和空間方差。
進(jìn)一步通過(guò)控制濾波的窗口范圍Ω,對(duì)圖片進(jìn)行歸一化處理:
從而計(jì)算出經(jīng)過(guò)雙邊去噪器去噪后的輸出圖片:
自編碼器是一種典型的無(wú)監(jiān)督網(wǎng)絡(luò)模型,由編碼器、隱含層、解碼器組成,編碼器將輸入從高維轉(zhuǎn)為低維,解碼器再將數(shù)據(jù)從低維轉(zhuǎn)為高維并輸出,同時(shí)使用反向傳播算法進(jìn)行微調(diào),這就是自編碼器的數(shù)據(jù)壓縮及特征提取過(guò)程。
研究人員在對(duì)自編碼器進(jìn)行研究的過(guò)程中,提出如降噪自編碼器[14]、稀疏自編碼器[15]、棧式自編碼器等多個(gè)變種模型,本文采用的卷積降噪自編碼器網(wǎng)絡(luò)結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)在圖像處理以及自編碼器在無(wú)監(jiān)督學(xué)習(xí)中的優(yōu)勢(shì),能夠有效重構(gòu)有損的輸入數(shù)據(jù)。實(shí)現(xiàn)方案為將加噪后的圖片作為輸入送入編碼器中,并進(jìn)行卷積與池化操作,也即編碼過(guò)程,然后通過(guò)反卷積與反池化操作對(duì)數(shù)據(jù)進(jìn)行還原重構(gòu),也即解碼過(guò)程。文獻(xiàn)[16]對(duì)卷積降噪自編碼器的卷積與池化過(guò)程、反卷積與反池化過(guò)程進(jìn)行了詳細(xì)介紹。
在卷積降噪自編碼器中,假設(shè)加入噪聲后的輸入為x~,通過(guò)編碼器h對(duì)數(shù)據(jù)進(jìn)行降維處理,利用激活函數(shù)S(·)產(chǎn)生編碼器第k個(gè)卷積核的輸出:
解碼器輸出為:
其中,b1、b2與W1、W2分別為編碼層和解碼層的偏置及權(quán)重,為了使隱含層盡可能保留原始數(shù)據(jù)特征,其代價(jià)函數(shù)表示為:
根據(jù)上述理論,本文提出基于雙邊濾波與卷積降噪自編碼器的對(duì)抗樣本防御技術(shù),其基本思想為:在獲取的數(shù)據(jù)集上添加對(duì)抗樣本擾動(dòng),之后對(duì)擾動(dòng)后的圖片進(jìn)行雙邊濾波保邊去噪,實(shí)現(xiàn)數(shù)據(jù)預(yù)處理的目的,再將處理后的圖片送入卷積自編碼器中進(jìn)行訓(xùn)練;通過(guò)反向傳播,對(duì)比輸出圖片與原始圖片的差距,計(jì)算損失函數(shù),進(jìn)行梯度下降迭代優(yōu)化,更新參數(shù)權(quán)重;最后通過(guò)預(yù)訓(xùn)練模型對(duì)輸出的圖片進(jìn)行分類(lèi),對(duì)防御效果進(jìn)行直觀展示。防御模型包括數(shù)據(jù)預(yù)處理、特征提取、模型分類(lèi)3 部分。對(duì)抗樣本防御流程如圖1 所示。
Fig.1 Adversarial sample defense process圖1 對(duì)抗樣本防御流程
首先將圖片數(shù)據(jù)集記載到模型中,將其轉(zhuǎn)換為tensor數(shù)據(jù)類(lèi)型并進(jìn)行后續(xù)運(yùn)算,然后在數(shù)據(jù)集中添加FGSM 對(duì)抗樣本擾動(dòng),最后利用OpenCV 庫(kù)文件自帶的BilterFilter 函數(shù)對(duì)原始數(shù)據(jù)進(jìn)行初步保邊濾波,完成數(shù)據(jù)預(yù)處理過(guò)程。
若將輸入數(shù)據(jù)設(shè)為X={x1,x2,…,xn},定義好前向傳播的網(wǎng)絡(luò)參數(shù),經(jīng)過(guò)卷積降噪自編碼器輸出的數(shù)據(jù)為Z={z1,z2,…,zn},通過(guò)MSELoss 函數(shù)計(jì)算輸出數(shù)據(jù)與輸入數(shù)據(jù)間的差值,通過(guò)梯度下降法更新整個(gè)網(wǎng)絡(luò)的權(quán)重參數(shù)。具體更新步驟如下:
Step3:根據(jù)上述步驟獲得更新后的權(quán)重,進(jìn)而使得代價(jià)函數(shù)J(W,b)盡可能小。
基于前兩部分內(nèi)容的鋪墊,最后利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為分類(lèi)器[17]。被對(duì)抗樣本攻擊成功的數(shù)據(jù)通過(guò)本模型后成功實(shí)現(xiàn)去噪,其去噪后標(biāo)簽值與原始值一致,則表明防御成功。對(duì)抗樣本分類(lèi)還原流程如圖2 所示。
本實(shí)驗(yàn)采用經(jīng)典的圖像實(shí)驗(yàn)數(shù)據(jù)集MNIST(手寫(xiě)數(shù)字識(shí)別數(shù)據(jù)集),在實(shí)驗(yàn)過(guò)程中選取20%的訓(xùn)練集以及全部測(cè)試集進(jìn)行測(cè)試驗(yàn)證,并訓(xùn)練一個(gè)結(jié)構(gòu)如表1 所示的卷積神經(jīng)網(wǎng)絡(luò)作為被攻擊的分類(lèi)器,利用FGSM 攻擊算法在訓(xùn)練集和測(cè)試集上添加無(wú)定向攻擊擾動(dòng)。
Fig.2 Adversarial sample classification and restoration process圖2 對(duì)抗樣本分類(lèi)還原流程
Table 1 Convolutional neural network structure表1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本文通過(guò)訓(xùn)練一個(gè)卷積降噪自編碼器,以防御對(duì)抗樣本攻擊。參考文獻(xiàn)[18]所述,本文將雙邊濾波器的顏色空間標(biāo)準(zhǔn)差值與坐標(biāo)空間標(biāo)準(zhǔn)差值參數(shù)設(shè)置為20,從而進(jìn)行圖像保邊濾波。卷積降噪自編碼器結(jié)構(gòu)如表2 所示。
Table 2 Convolutional noise reduction autoencoder structure表2 卷積降噪自編碼器結(jié)構(gòu)
算法運(yùn)行環(huán)境為:Python 3.6.4,16.04.1-Ubuntu SMP,硬件配置為:CPU 8 核,12G 內(nèi)存,NVIDIA Tesla-K80 GPU。
本文主要使用卷積降噪自編碼器網(wǎng)絡(luò),在特征提取過(guò)程中,其重構(gòu)數(shù)據(jù)與原始數(shù)據(jù)之間的均方誤差結(jié)果如圖3所示。由圖可以看出,隨著訓(xùn)練時(shí)間的增加,均方誤差持續(xù)減小,表明本文使用的網(wǎng)絡(luò)能夠有效提取圖像數(shù)據(jù)特征。
Fig.3 Mean square error between reconstructed data and original data圖3 重構(gòu)數(shù)據(jù)與原始數(shù)據(jù)之間的均方誤差
由于本文處理的是多分類(lèi)數(shù)據(jù)集,所以主要通過(guò)準(zhǔn)確率(Accuracy,ACC)對(duì)防御指標(biāo)進(jìn)行評(píng)測(cè)。本文進(jìn)行了以下兩組實(shí)驗(yàn),以驗(yàn)證該防御方法的有效性。
實(shí)驗(yàn)一:為保證原始圖片經(jīng)過(guò)濾波與自編碼器后,分類(lèi)結(jié)果不受影響,本文采用l2范數(shù)對(duì)輸出圖片進(jìn)行約束,設(shè)置FGSM 攻擊擾動(dòng)系數(shù)為0.01。在MNIST 測(cè)試集上選取不同模型、處理方式,通過(guò)CNN 分類(lèi)器進(jìn)行分類(lèi)的準(zhǔn)確率對(duì)比如表3 所示。
Table 3 Comparison of classification accuracy of different models and processing methods表3 選取不同模型、處理方式的分類(lèi)準(zhǔn)確率對(duì)比
從表3 的結(jié)果來(lái)看,添加本模型后的原數(shù)據(jù)分類(lèi)結(jié)果相比未添加模型的結(jié)果并沒(méi)有發(fā)生太大改變,并且可以看到,在原數(shù)據(jù)上添加對(duì)抗樣本擾動(dòng)后,原分類(lèi)準(zhǔn)確率僅能達(dá)到10.81%,說(shuō)明對(duì)抗樣本對(duì)模型的影響是巨大的。通過(guò)本模型訓(xùn)練后,分類(lèi)準(zhǔn)確率直線上升到近乎未添加擾動(dòng)的水平,證明了本模型具有較強(qiáng)的防御能力。
實(shí)驗(yàn)二:為了驗(yàn)證本文提出防御方法的有效性,將本文方法與其他學(xué)者提出的對(duì)抗樣本防御方法的準(zhǔn)確率進(jìn)行比較,包括文獻(xiàn)[19]提出的一種基于圖像總方差最小化與圖像拼接的對(duì)抗樣本防御方法Image quilting、文獻(xiàn)[20]提出的一種基于DCT 編碼器與對(duì)抗訓(xùn)練的對(duì)抗樣本防御方法DCT-AT,另外本文也將未添加任何防御方法的結(jié)果加入對(duì)比中。當(dāng)設(shè)置抗擾動(dòng)系數(shù)ε在0.01~0.1 之間時(shí),本文方法BF-CDAE 與其他方法的分類(lèi)準(zhǔn)確率對(duì)比如圖4 所示。
Fig.4 Comparison of classification accuracy of different defense methods圖4 不同防御方法分類(lèi)準(zhǔn)確率對(duì)比
從圖4 可以看出,本文提出的BF-CDAE 方法在不同的擾動(dòng)值部分,分類(lèi)準(zhǔn)確率都高于其他防御方法,驗(yàn)證了本文方法的可行性。
隨著科技的進(jìn)步,人工智能技術(shù)開(kāi)始在人們生活中得到廣泛應(yīng)用,但因其內(nèi)部工作機(jī)理十分復(fù)雜,使得其應(yīng)用的安全性受到人們關(guān)注,對(duì)抗樣本的存在更是敲響了人工智能安全方面的警鐘。一些學(xué)者通過(guò)優(yōu)化機(jī)制建立具有對(duì)抗魯棒性的神經(jīng)網(wǎng)絡(luò),而另一些研究者則通過(guò)設(shè)計(jì)去噪模塊,過(guò)濾掉對(duì)抗性擾動(dòng)以構(gòu)建防御模型,從而達(dá)到相應(yīng)的防御效果。
本文采用將雙邊濾波與卷積降噪自編碼器相結(jié)合的方式,可更深層次地濾除加入圖像的擾動(dòng),最大限度保證模型的魯棒性與分類(lèi)準(zhǔn)確性,并通過(guò)兩組實(shí)驗(yàn)驗(yàn)證了方案的可行性與有效性。后續(xù)將作進(jìn)一步理論研究,將該模型運(yùn)用到語(yǔ)音識(shí)別、惡意代碼入侵檢測(cè)等領(lǐng)域的對(duì)抗樣本防御中。