国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于孿生結構的對抗樣本攻擊動態(tài)防御方法

2022-09-06 11:09夙,凌
計算機工程與應用 2022年17期
關鍵詞:擾動濾波器像素

熊 夙,凌 捷

廣東工業(yè)大學 計算機學院,廣州 510006

神經(jīng)網(wǎng)絡已被廣泛地應用于人們生活中的各個領域,如在圖像識別[1-2]、語音識別、自動駕駛[3-4]和金融交易[5]等方面,都能取得較高的預測準確率。但是神經(jīng)網(wǎng)絡模型也存在漏洞,模型本身容易受到對抗攻擊(adversarial attack),導致模型輸出錯誤的預測結果。對抗樣本攻擊是指故意對神經(jīng)網(wǎng)絡的輸入樣本中添加人們難以察覺的微小擾動,使得分類器給出錯誤的分類。Szegedy 等人[6]第一次在圖像分類領域中發(fā)現(xiàn)深度神經(jīng)網(wǎng)絡具有容易受到對抗攻擊的弱點,如在圖片分類任務中,通過在原始圖片中添加精心設計的微小擾動,這些擾動通常很小以至無法被人所察覺[7],能夠欺騙人眼使人誤認為只是一張普通的圖片。但它能欺騙分類模型,并讓模型以較高的置信度將圖片分類成一個錯誤的分類。這些人為添加微小擾動后的圖片稱為對抗樣本(adversarial example)[8]。雖然大多數(shù)對抗樣本都是針對計算機視覺提出的,但是除了圖片分類模型之外,在文本識別和其他方面也容易受到對抗樣本的攻擊[9]。

隨著神經(jīng)網(wǎng)絡模型的日益普及,針對其結構的對抗樣本攻擊,已經(jīng)給神經(jīng)網(wǎng)絡各應用領域的安全性都帶來了巨大的危害。尤其是在自動駕駛和人臉識別等安全性敏感的應用方面,造成了很大的威脅[10]。因此,如何提高神經(jīng)網(wǎng)絡對于對抗樣本的抵御能力成為了深度學習安全領域的研究熱點,目前不斷有許多學者提出了針對神經(jīng)網(wǎng)絡結構的新的對抗攻擊方法,和新的防御方法,這些對抗攻擊和防御方法種類較多[11]。其中針對對抗攻擊的防御策略主要分為兩種,分別是防御方法和檢測方法。第一類防御方法是提高深度學習分類模型的魯棒性,即在模型遇到對抗樣本攻擊的時候仍然能夠輸出正確的分類結果,如對抗訓練[12]。第二類防御方法是針對對抗樣本的檢測和攔截,即通過檢測輸入樣本是否為對抗樣本,并在將對抗樣本輸入分類模型之前,提前對其進行攔截,從而防御對抗樣本的攻擊,如使用額外的神經(jīng)網(wǎng)絡檢測對抗樣本。但這些方法都有自身的局限性,如對抗訓練需要重新訓練現(xiàn)有模型,因此需要很大的額外工作量。此外,這類方法需要獲取大量的對抗樣本去訓練模型,且總會有新生成的對抗樣本可以成功欺騙模型,因此這種防御方法對不同種類的對抗樣本攻擊不具有通用的防御能力。使用額外的分類器去檢測對抗樣本,則容易因為保證安全性而降低分類準確率,且這個額外的防御模型本身也容易受到對抗樣本的二次攻擊。

因此,本文提出一種增強神經(jīng)網(wǎng)絡對于對抗樣本防御能力的方法,通過對目標神經(jīng)網(wǎng)絡構建一個權值共享的鏡像模型,將二者組合成孿生神經(jīng)網(wǎng)絡結構,并在輸入和輸出處分別構建了動態(tài)濾波器和防御選擇模塊,增強了對于對抗樣本的防御能力。相比于其他對抗樣本防御方法和檢測方法,本文方法對防御不同類型的對抗樣本攻擊更有通用性,且防御能力更強。此外,動態(tài)濾波器還能防止針對防御模塊的二次攻擊。另外,本文方法還同時具有防御和檢測能力,無需修改重訓練目標模型,部署更簡單,只需要在原有神經(jīng)網(wǎng)絡結構上增加一個鏡像,就能大幅提高對惡意對抗樣本的防御能力。實驗結果說明,與其他方法相比,本文方法具有如下優(yōu)點:

(1)本文方法可以在無需特定對抗樣本訓練的條件下,防御多種對抗樣本攻擊,對不同種類對抗樣本具有通用的防御能力?,F(xiàn)有的防御方法需要大量且特定種類的對抗樣本去訓練模型,如對抗訓練。這不僅需要收集大量的對抗樣本,而且只能防御已知的特定種類攻擊。本文只從孿生神經(jīng)網(wǎng)絡兩端輸出的差異著手篩選對抗樣本,檢測濾波器處理前后的對抗攻擊效果變化,可以解決這個問題。

(2)本文方法對于對抗樣本有更好的防御效果,在動態(tài)濾波器和孿生神經(jīng)網(wǎng)絡選擇模塊的共同作用下,能夠更好地防御各種對抗樣本的攻擊。且由于鏡像防御網(wǎng)絡中的動態(tài)濾波器參數(shù)是動態(tài)變化的,能夠增加針對網(wǎng)絡的二次攻擊的難度,提高防御方法的安全性。

(3)本文方法同時具有防御和檢測能力,可在提高分類器對對抗樣本魯棒性的同時,檢測輸入是否為對抗樣本?,F(xiàn)有的防御方法往往只注重提高模型魯棒性,或者只注重檢測對抗樣本,而不能同時取得兩種防御效果,本文方法可在提高模型對對抗樣本分類能力的同時,判斷樣本是否為可疑的對抗樣本。

(4)本文方法無需額外的訓練,方便部署。且防御模塊不會影響原分類器的準確率?,F(xiàn)有的對抗樣本檢測方法,往往需要在原分類器上添加并訓練一個額外的檢測模型去分辨對抗樣本。額外訓練模型需要很大工作量,不利于部署,且這些防御模塊的干預會降低神經(jīng)網(wǎng)絡分類模型的準確率。本文方法只需要對分類器構建一個權值共享的鏡像網(wǎng)絡并組合成孿生結構,無需額外的訓練,方便部署。且只會在檢測出可疑對抗樣本的情況下輔助神經(jīng)網(wǎng)絡分類,不會影響分類模型本身。

1 相關工作

本章簡單介紹了對抗攻擊及其原理,以及常見的對抗樣本防御方法、檢測方法。

1.1 對抗樣本攻擊

對抗攻擊是指在樣本中添加人為設置的微小擾動,如在圖片中添加微小的擾動像素。這些微小擾動通常很難被人眼所察覺,但是卻能有效干擾神經(jīng)網(wǎng)絡,使其輸出錯誤的分類,甚至能夠誘導神經(jīng)網(wǎng)絡以很高的置信度輸出為某個指定分類結果。這些人為添加擾動像素的圖片樣本即是對抗樣本圖片。

對抗樣本普遍存在于深度學習算法之中,生成對抗樣本的方法有多種,根據(jù)攻擊環(huán)境的不同可以將其分為白盒攻擊和黑盒攻擊兩類。其中黑盒攻擊是指攻擊者對所攻擊模型的內(nèi)部結構和參數(shù)一無所知。而白盒攻擊是指攻擊者已經(jīng)了解所攻擊模型的內(nèi)部結構和參數(shù),目前大多數(shù)攻擊算法都屬于白盒攻擊,如利用損失函數(shù)梯度進行攻擊的FGSM(fast gradient sign method)算法,以及DeepFool算法、JSMA算法等[13]。以通過梯度來生成擾動像素的FGSM攻擊算法為例,其算法表達如下:

其中,x′和x分別是生成的對抗樣本圖像和原始樣本圖像,ε表示擾動程度的大小,其他部分表示梯度。ε一般設置成一個較小值,使得生成的擾動難以被人眼所察覺。該方法可通過計算損失函數(shù)的梯度來生成擾動,改變圖片像素,并最終生成能夠欺騙分類模型的對抗樣本圖片。

1.2 對抗樣本的防御方法

對抗攻擊的防御,主要指提高深度學習分類模型對于對抗樣本的魯棒性,其目標是讓深度學習分類模型在遇到對抗樣本攻擊時,仍然能夠得出正確的分類結果。這類防御方法主要包括網(wǎng)絡蒸餾,以及對抗性訓練等。

1.2.1 對抗訓練

對抗訓練是一種提高神經(jīng)網(wǎng)絡魯棒性的常用方法。它的主要思想是在模型訓練過程中,除了用原始的樣本訓練模型以外,還另外將對抗樣本加入訓練集去訓練模型。這樣模型訓練時除了正確率會不斷提高以外,模型對于對抗樣本的魯棒性也會隨著訓練過程而不斷的提高。Goodfellow等人的研究表明,對抗訓練能夠提高深度學習分類模型對對抗樣本的魯棒性,提高模型對對抗性實例的分類精度。雖然對抗訓練是一種防御對抗樣本的有效方法,但是它也有局限性。首先,對抗訓練需要大量有效的對抗樣本去訓練模型,才能提高模型的魯棒性。其次,對抗訓練需要不斷輸入新類型的對抗樣本進行訓練,對于未經(jīng)訓練的新類型對抗樣本的防御能力仍然較差。因此,無論如何訓練,總會有新的對抗樣本可以成功欺騙模型。

1.2.2 對抗樣本去噪

除了利用對抗樣本進行對抗訓練以外,對輸入圖像去噪也是一種簡單的對抗樣本防御方法。由于對抗樣本是在原始圖像上加上特定的微小擾動,因此降噪的方法也可以消除部分的擾動,使得對抗樣本失去欺騙深度學習分類模型的能力。在文獻[14]中,作者構建了一個圖像壓縮模型去除對抗擾動,用于抵抗對抗樣本的攻擊?;趫D片變換去噪的方法比較簡單有效,常用的去噪方法還包括減少像素顏色深度、中值平滑、jpeg壓縮等[15]。

和對抗訓練相比,去噪的方法無需大量的對抗樣本重新訓練模型,應用于不同種類的對抗樣本和不同結構的模型時也更具通用性。但是降噪的方法也有自身的缺陷,降噪方法難以去除全部噪點,且降噪后殘留的對抗擾動仍會通過誤差放大效應,被網(wǎng)絡不斷放大,最后導致模型得出錯誤的分類[16],因此僅采用圖像去噪的處理方法對于對抗樣本的抵抗能力仍然較弱。

1.3 對抗樣本的檢測方法

除了提高深度學習分類模型對于對抗樣本的魯棒性之外,也有許多研究嘗試直接檢測對抗樣本,并在其輸入分類模型之前進行攔截。目前提出的檢測方法很多,包括如下幾類檢測方法等。

首先是使用額外的分類器去檢測對抗樣本,在文獻[17]中,作者通過構建一個額外的神經(jīng)網(wǎng)絡,去辨別輸入的樣本是否是一個對抗樣本。雖然這種方法可以將對抗樣本檢測問題轉(zhuǎn)換為一個簡單的二分類問題,但是這種方法本身也存在很多缺陷,額外的檢測模型需要大量的對抗樣本供其進行訓練,且由于檢測模型本身也是神經(jīng)網(wǎng)絡結構,所以也容易被對抗樣本所攻擊。

其次是基于分布統(tǒng)計的對抗樣本檢測方法,如Hendrycks 等人發(fā)現(xiàn)[18],對抗樣本和正常的圖像樣本在統(tǒng)計特征上是有差異的,對抗樣本在最大主成分上的權重往往比正常樣本的要更高。在文獻[19]中,作者用高斯混合模型對神經(jīng)網(wǎng)絡隱藏層的最后一層輸出進行建模,并根據(jù)正常樣本和對抗樣本的不同分布去區(qū)分對抗樣本。雖然統(tǒng)計特征可用于識別對抗樣本,但是基于統(tǒng)計特征的檢測方法也有很多自身的缺陷,如這類方法都需要收集足夠數(shù)量的對抗樣本,才能進行統(tǒng)計檢測。

2 本文方法

現(xiàn)有的對抗樣本圖像防御方法往往只側重于提高對對抗樣本的魯棒性,或者側重于構建額外的模型檢測對抗樣本,而無法兼顧兩者。本文提出一種基于孿生神經(jīng)網(wǎng)絡結構的對抗樣本防御方法,解決了上述方法無法兼顧兩者的問題。且在所構建的動態(tài)濾波器和孿生結構防御選擇模塊的共同作用下,可在無需特定種類的對抗樣本訓練的條件下,獲得對不同種類對抗樣本攻擊的通用防御效果。且能夠有效防御二次攻擊,對對抗樣本的攻擊具有更好的防御效果。

2.1 孿生神經(jīng)網(wǎng)絡結構

孿生神經(jīng)網(wǎng)絡是一種由兩個相似的神經(jīng)網(wǎng)絡構成的復合網(wǎng)絡,這一網(wǎng)絡結構由Chopra等人提出[20]。在狹義的孿生神經(jīng)網(wǎng)絡結構中,孿生神經(jīng)網(wǎng)絡的兩個子網(wǎng)絡的結構是完全相同且權值共享的。而在后來廣義的偽孿生神經(jīng)網(wǎng)絡結構中,兩個子網(wǎng)絡可以由具有不同結構的神經(jīng)網(wǎng)絡組成。孿生神經(jīng)網(wǎng)絡的模型結構如圖1 所示。由于該網(wǎng)絡的特殊結構,使其可以同時接受兩個輸入,因此該網(wǎng)絡的主要用途是可用于小樣本學習,以及用于衡量兩個輸入樣本之間的相似程度等。

圖1 孿生神經(jīng)網(wǎng)絡結構Fig.1 Structure of siamese network

2.2 基于孿生結構的動態(tài)防御方法

由于孿生神經(jīng)網(wǎng)絡結構具有能夠接受兩個不同輸入的特點,且可用于衡量兩個輸入樣本的相似程度。本文利用這特點對孿生神經(jīng)網(wǎng)絡模型進行改進,并提出了一種基于孿生結構的對抗樣本攻擊動態(tài)防御方法,該方法可以增強神經(jīng)網(wǎng)絡分類模型對于對抗樣本攻擊的防御能力。這一基于孿生神經(jīng)網(wǎng)絡結構的對抗樣本攻擊動態(tài)防御方法,整體流程如圖2所示。以一個易受攻擊的普通深度學習分類模型Network1 為例,為了提高模型對于對抗樣本的防御性能,本文首先對其構建一個內(nèi)部結構形似、且權值共享的鏡像網(wǎng)絡Network2,用于防御對抗樣本的攻擊,并將二者共同構建成孿生神經(jīng)網(wǎng)絡結構。得益于孿生神經(jīng)網(wǎng)絡之間可以權值共享的特點,這一補充構建的防御模塊并不需要額外的工作量去訓練,大大減少了構建防御模塊的工作量。此外,在鏡像網(wǎng)絡中的輸入層構建了動態(tài)防御機制,其中其隱藏層內(nèi)第一個卷積層的濾波器參數(shù)是動態(tài)變化的,可以更好地抵消對抗攻擊的擾動像素,并防止發(fā)生針對防御網(wǎng)絡的二次攻擊。另外,在孿生神經(jīng)網(wǎng)絡的輸出部分也構建了本文設計的對抗樣本選擇檢測模塊,通過檢測圖片在動態(tài)濾波前后的攻擊效果是否有明顯變化,從孿生神經(jīng)網(wǎng)絡兩側的差異著手,篩選出帶有動態(tài)擾動的對抗樣本,進一步提高模型對于對抗樣本的防御效果。

圖2 基于孿生結構的對抗樣本攻擊動態(tài)防御方法Fig.2 Dynamic defense method against adversarial example attacks based on siamese network structure

2.2.1 輸入層的動態(tài)防御機制

鏡像網(wǎng)絡的內(nèi)部結構和初始的神經(jīng)網(wǎng)絡結構相似,但是也有差異,其中在隱藏層添加了一層基于高斯濾波器設計的圖像平滑層。這一卷積層的圖像平滑原理是依次將每一個像素值取為周圍像素的平均值,由于圖片的像素間具有連續(xù)性,這一數(shù)值上的平滑處理,能夠讓中間像素失去細節(jié),從而使得圖片產(chǎn)生一種模糊的效果。

由于一個圖像的不同像素之間的連續(xù)性是不同的,越是相互接近的像素間的連續(xù)性會越強,因此當濾波器在圖片中移動并平滑圖片時,不能夠簡單地取濾波器內(nèi)矩陣的平均值,這種均值濾波會大大破壞模糊后的圖像的細節(jié)。為了在平滑過程中,根據(jù)距離中心點的遠近不同,給不同像素賦予不同的權重,使用加權平均的方法去平滑圖像。本文在賦予濾波器矩陣內(nèi)的像素不同權重時,采用了高斯函數(shù)去計算合適的權重。高斯分布也稱正態(tài)分布,是自然界和工程技術中最常見的分布之一,可以作為大多數(shù)分布的近似分布。高斯分布可以表示為:

這一分布圖像如圖3 所示,呈現(xiàn)為中間高,兩邊逐漸降低的對稱鐘形曲線。決定分布形狀的參數(shù)是期望值μ和標準差σ,其中期望值μ決定了分布的位置,而標準差σ則決定了分布的寬度,隨著標準差的增大分布曲線會趨于平緩。特別的,當期望值和標準差分別取0和1時,分布符合標準正態(tài)分布。

圖3 一維高斯分布圖像Fig.3 One-dimensional Gaussian distribution

當將高斯函數(shù)應用于二維的圖片濾波器時,由于令中心點為原點,則可以令μ的值取為0,此時可推導出二維高斯函數(shù)為:

二維高斯分布的圖像如圖4所示,二維高斯分布的每一個維度上都是符合高斯分布的鐘形曲線。具體表現(xiàn)為位于中心原點的取值最大,四周的取值隨著與中心距離的增大而遞減。這一分布特點跟圖像像素間,像素連續(xù)性隨著距離增加而遞減的規(guī)律相吻合,因此很適合用來分配圖像濾波器內(nèi)的權重參數(shù)。當濾波器對一個圖片的像素進行平滑處理時,濾波器窗口范圍越大,圖片丟失的細節(jié)就會越多,對圖像平滑效果也越強,會使得圖像變得更模糊,這里以選取濾波器的窗口大小為3×3 為例。當濾波器窗口對圖片中的某個像素進行平滑處理時,會將該像素點定位為中心,此時這點的坐標為(0,0),這個像素點周圍最近的8 個像素坐標分別從(-1,1)依次遞增至(1,-1),如圖5(a)所示,根據(jù)二維高斯函數(shù)的分布規(guī)律,此時中心點的值為最大值,假設濾波器中的σ取值為1.5,則此時中心像素坐標(0,0)根據(jù)高斯分布計算的權重值為0.070 7。同理,此時這8個周圍的最近像素點也可根據(jù)各自的坐標計算出對應的高斯權重值,如坐標為(-1,1)的像素點可根據(jù)二維高斯函數(shù)計算出權重為0.045 4。這樣就可以計算出在σ設置為1.5,且窗口半徑為1的整個濾波器內(nèi)的權重矩陣為圖5(b)所示。由于該權重矩陣計算的是濾波器窗口內(nèi)各個像素的加權平均值,因此還必須讓整個權重矩陣的總和為1,此時讓權重矩陣的每個值除以總和0.478 7,得到最終用于平滑圖像的濾波器內(nèi)的權重矩陣為圖5(c)所示。

圖4 二維高斯分布圖像Fig.4 Two-dimensional Gaussian distribution

圖5 計算濾波器內(nèi)的權重矩陣Fig.5 Calculating weight matrix within filter

由于對抗樣本對原始圖片添加的擾動總是盡可能得少,使得不容易被人眼察覺。因此這些少量的對抗擾動像素在周圍像素點中往往不具有連續(xù)性,使用高斯濾波的方法對圖像進行模糊處理,能夠用周圍連續(xù)的像素點對這些小部分不連續(xù)的對抗擾動像素進行平滑。這種改變圖片輸入的圖像模糊算法能夠在很大程度上改變這些對抗攻擊的擾動,使其失效,或者對其攻擊效果造成一定的干擾。以一個MNIST 手寫數(shù)字圖像為例,用高斯函數(shù)設計的濾波器對FGSM 生成的對抗樣本圖像進行平滑的過程如圖6 所示。其中圖6(a)是對抗樣本圖像,圖6(b)是將對抗擾動像素平滑后的圖像。

圖6 濾波器對對抗樣本圖像的平滑效果Fig.6 Smoothing effect of filter on adversarial sample

首先,由于二維高斯分布函數(shù)符合上述像素間連續(xù)性遞減的特性,因此可以用其構建出合理的圖像平滑濾波器,將需要平滑的像素放置于濾波器中心位置,并讓濾波器內(nèi)的周圍像素根據(jù)其坐標計算出在二維高斯分布曲線上的取值,即可根據(jù)距離的大小計算濾波器內(nèi)的權重矩陣,根據(jù)像素間的關聯(lián)性強弱獲得一系列合理的加權平均值,這一取值方法符合了像素間的關聯(lián)性隨著距離遞減的特點。其次,由于高斯分布函數(shù)中的參數(shù)σ可以改變高斯分布的形狀,分布曲線的形狀會隨著標準差σ的增大而趨于平坦。因此只要改變這一參數(shù),就可以對濾波器內(nèi)像素的權重進行合理的調(diào)整,讓濾波器對圖像產(chǎn)生不同的平滑處理效果。本文根據(jù)這兩點設計了一個動態(tài)的圖片平滑濾波器,將其放置在鏡像網(wǎng)絡隱藏層的第一個卷積層中,讓濾波器內(nèi)高斯函數(shù)的標準差σ不取固定值,而是讓其在一個合適的取值區(qū)間內(nèi)隨機變化。這樣的設計會使高斯濾波器的窗口在每次處理一張圖片前,都會先在這一取值區(qū)間內(nèi)隨機固定一個σ的數(shù)值,并用這個高斯分布函數(shù)去對圖像進行平滑處理。通過這種方法,即使是將同一張圖片輸入鏡像網(wǎng)絡Network2的卷積層多次,也會輸出多個不完全一致的平滑圖像。這種濾波器的微小變動,只會改變圖片部分像素,在總體上只會對圖形的模糊效果有微小變化,對圖形的分類結果并不會產(chǎn)生根本的影響[21],但是這個變動卻能有效干擾擾動像素,防御對抗樣本的攻擊。本文在鏡像網(wǎng)絡中構造的這種動態(tài)去噪方法,使得構建對抗樣本的攻擊者很難通過在圖片中添加固定的微小擾動像素,去對網(wǎng)絡實施對抗樣本攻擊。另外,每次都會改變的圖片像素也能干擾針對鏡像神經(jīng)網(wǎng)絡發(fā)起的二次攻擊,使得針對防御模塊的對抗攻擊更難發(fā)生,增加了模型的安全性。

2.2.2 輸出層的選擇防御機制

對于傳統(tǒng)的構建額外的神經(jīng)網(wǎng)絡檢測模型去檢測對抗樣本的方法,由于對抗樣本和正常樣本往往過于相似,容易有漏判的風險。且檢測模型本身也可能被對抗樣本攻擊。所以本文在構建鏡像神經(jīng)網(wǎng)絡用于檢測對抗樣本時,使用了和普通檢測模型不一樣的檢測策略。由于同一個對抗樣本雖然可能欺騙多個分類模型,但往往很難在多個不同的分類模型上取得完全一致的欺騙效果,根據(jù)這一攻擊效果的差異,可以從根源上篩選出帶有動態(tài)擾動的對抗樣本。本文方法將一個圖像樣本同時輸入上述構造的孿生神經(jīng)網(wǎng)絡的兩側,并比較兩個網(wǎng)絡輸出的向量的相似程度。由于這兩個鏡像網(wǎng)絡是結構相似且權值共享的,因此如果輸入的圖像是一個正常樣本,理論上兩個神經(jīng)網(wǎng)絡Network1 和Network2 會輸出相似的結果。反之,如果輸入的圖像是一個帶有攻擊者特意添加的微小擾動的對抗樣本,則即使圖片能欺騙第一個分類網(wǎng)絡Network1 得出錯誤結果,但在Network2 的第一個卷積層中這些擾動像素會被動態(tài)濾波器完全抵消或削弱,導致在模型兩側的網(wǎng)絡得出區(qū)別較大的分類結果。根據(jù)這點,本文方法在孿生神經(jīng)網(wǎng)絡的輸出層設置了一個防御選擇模塊,根據(jù)判斷兩側分類網(wǎng)絡內(nèi)的向量的距離大小Distance(F(Input1),F(xiàn)(Input2))是否超過設置的閾值Maximun Distance,去判斷輸入圖片是否相似,進而判斷圖片是否為對抗樣本。根據(jù)這一方法,只要比較孿生神經(jīng)網(wǎng)絡模型兩側的Network1 和Network2分類效果是否足夠相似,就可以進一步地有效過濾出帶有人為設計擾動的對抗樣本。即使有部分偽裝得很好的對抗樣本成功欺騙了兩個分類模型,根據(jù)這種同一個對抗樣本很難在不同網(wǎng)絡上產(chǎn)生完全一致的影響的判斷原理,也能根據(jù)孿生神經(jīng)網(wǎng)絡兩側的向量距離太大,而攔截出潛在的對抗樣本,這一輸出層的選擇防御機制能大大提高分類網(wǎng)絡對對抗樣本的防御能力。

在孿生神經(jīng)網(wǎng)絡的兩個子網(wǎng)絡中,Network1處理的是原始圖像,鏡像網(wǎng)絡Network2 處理的是動態(tài)高斯濾波器平滑后的圖像。這一濾波器以丟失圖片的部分細節(jié)為代價,平滑對抗樣本中添加的惡意擾動像素。利用高斯函數(shù)對圖片中不連續(xù)的對抗像素進行平滑處理,以周圍連續(xù)的正常像素去抵消對抗擾動。雖然高斯濾波器在用連續(xù)像素平滑擾動像素時,損失了圖形的部分細節(jié),但是在同一個權值共享的網(wǎng)絡中,對于高清圖像和平滑后的模糊圖像的輸出結果是相似的,輸出的向量會控制在一個誤差范圍之內(nèi)[22]。相反的,對于一個惡意攻擊者設計的對抗樣本,則會在被高斯濾波器模糊之后,由于不連續(xù)的對抗擾動像素被完全抵消或削弱后,影響了對抗樣本圖片的攻擊能力,導致鏡像網(wǎng)絡輸出一個和原始網(wǎng)絡輸出差別很大的結果。這里用L2范數(shù)去衡量兩個模型分類時輸出的向量相似度,則兩個分類網(wǎng)絡的向量距離大小可以表示為如下形式:

其中,F(xiàn)(x)表示一個分類網(wǎng)絡接受圖像輸入x后,將輸入映射到新特征空間后對應的向量。這一距離可用于衡量同一張圖片在被動態(tài)濾波器平滑處理前后的分類相似程度。并針對這一距離設置一個最大值Maximum Distance,將超過這一最大距離閾值的兩個輸入圖像,歸類為相似度不足的圖像。最后根據(jù)平滑前后的兩張圖像相似性是否不足,在孿生神經(jīng)網(wǎng)絡的輸出部分設計了一個選擇模塊。根據(jù)同一個對抗樣本很難同時對兩個不同網(wǎng)絡產(chǎn)生相同攻擊效果的原理,進一步篩選出潛在的對抗樣本。在這一選擇模塊中,如果平滑前后的兩張輸入圖片被孿生神經(jīng)網(wǎng)絡歸類為足夠相似的圖片,則說明圖片是正常樣本,此時選擇模塊輸出原始網(wǎng)絡的分類結果Output1,分類準確率不會因為防御模塊的影響而降低。只有當遇到一個對抗樣本時,孿生神經(jīng)網(wǎng)絡才會因為平滑后的兩張圖片相似度嚴重不足,而將其歸類為惡意的對抗樣本圖片,此時會輸出鏡像防御網(wǎng)絡的分類結果Output2,并對這一張輸入圖像打上對抗樣本標簽。

這一防御模塊的設計具有許多優(yōu)點,首先,這種根據(jù)孿生神經(jīng)網(wǎng)絡兩端輸出距離去識別對抗樣本的防御方式,可以從對抗攻擊效果的根源處著手,在無需特定種類對抗樣本訓練的情況下,對多種對抗樣本的攻擊具有通用防御能力。其次,防御模塊不會降低分類模型的準確率,只有檢測到相似度不足的對抗樣本才會使用防御模塊的分類結果,解決了傳統(tǒng)防御方法無法兼顧防御能力和準確率這兩者的缺點。最后,這一模型同時具備了對抗樣本防御和對抗樣本檢測的功能,不僅能夠增強模型對對抗樣本的魯棒性,還能有效檢測出對抗樣本,目前所有防御方法都無法完全抵御各種對抗樣本攻擊,同時防御和檢測可使得在無法做出正確分類時,也能對對抗樣本打上可疑的惡意標簽,增強了模型的安全性。

3 實驗及分析

3.1 構造數(shù)據(jù)集及預訓練

為了驗證本文方法的有效性。本文分別用MNIST圖片和CIFAR-10 圖片構造了兩組測試數(shù)據(jù)集,并將本文方法應用于對應的兩個MNIST和CIFAR神經(jīng)網(wǎng)絡分類模型,測試本文的防御方法對于對抗樣本的防御效果。這兩組測試數(shù)據(jù)集都包含了由FGSM、DeepFool、JSMA 這三種攻擊產(chǎn)生的對抗樣本。每個單獨的測試集中都包含有5 000張測試圖片,其中MNIST是灰色手寫數(shù)字數(shù)據(jù)集,而CIFAR-10 是彩色圖像數(shù)據(jù)集。在每次實驗中主要以預測準確率為評估指標,并使用FGSM、DeepFool、JSMA這三種攻擊方法來檢驗本文防御方法的有效性。

此外,雖然對神經(jīng)網(wǎng)絡添加一個權值共享的鏡像防御模塊不需要額外的訓練,但是本文中的孿生神經(jīng)網(wǎng)絡模型中的部分參數(shù)仍然需要訓練集去訓練,以確定合適的參數(shù),如動態(tài)濾波器需要確定高斯函數(shù)參數(shù)σ的合適波動范圍,孿生神經(jīng)網(wǎng)絡的選擇模塊也需要預先選擇一個合適的閾值。且需要驗證集去驗證這些模型參數(shù)是否設置正確,因此,在測試實驗開始前,還需要構造訓練數(shù)據(jù)集和驗證數(shù)據(jù)集,對構造的孿生神經(jīng)網(wǎng)絡進行簡單的預訓練,以設置這幾個參數(shù)的數(shù)值。本文在構建訓練集訓練孿生神經(jīng)網(wǎng)絡時,為了驗證本文方法在未使用特定種類對抗樣本訓練的條件下,仍對多種對抗樣本攻擊具有通用的防御效果,在預訓練時只采用FGSM攻擊方法去攻擊MNIST 分類模型和CIFAR 分類模型,以生成訓練數(shù)據(jù)集所需的對抗樣本圖片。首先分別給普通的MNIST 和CIFAR 神經(jīng)網(wǎng)絡分類模型添加鏡像防御模塊,并構建成本文設計的孿生神經(jīng)網(wǎng)絡結構。然后針對MNIST 數(shù)據(jù)和CIFAR 數(shù)據(jù),構建了兩個數(shù)量為50 000的數(shù)據(jù)集,這里的兩個數(shù)據(jù)集中,50%是正常的圖片,另外的50%則是用FGSM 攻擊方法生成的對抗樣本。并將其以8∶2 的比例劃分為訓練集和驗證集。對所構建的孿生神經(jīng)網(wǎng)絡進行預訓練。在確定好合適的參數(shù)值后,即可通過實驗,用上述的三種攻擊方法分別檢驗本文方法的防御性能。

3.2 對抗樣本攻擊防御實驗

首先,以準確率為評估指標,測試本文方法在未使用特定種類對抗樣本訓練的條件下,對多種對抗樣本攻擊的通用防御能力。在測試防御準確率的過程中,由于本文方法同時具有對抗防御和對抗檢測功能。因此,對于測試集中的正常圖片,只有模型正確輸出其分類、且未輸出對抗樣本警告時,才視為正確預測。對于測試集中的對抗樣本圖片,只要模型正確輸出了對抗樣本的分類、或者在無法正確分類時輸出了對抗樣本警告,就視為防御成功。

將上述使用不同種對抗樣本攻擊構造的測試數(shù)據(jù)集,分別輸入對應的孿生結構分類模型。其中以MNIST分類模型構建的孿生結構防御模型為例,其輸入包括3個測試集,這3 個測試集分別是用FGSM、DeepFool 和JSMA 三種攻擊方法添加對抗擾動生成的對抗樣本圖片,和普通的手寫數(shù)字圖片,各以50%的比例組成的5 000張測試圖片數(shù)據(jù)集。實驗得到相應的檢測準確率如表1所示。

表1 本文方法在不同測試集上的檢測準確率Table 1 Detection accuracy of proposed method on test datasets %

從實驗結果可以看出,在未收集特定種類對抗樣本進行訓練的條件下,在MNIST和CIFAR測試數(shù)據(jù)集上,本文的防御方法對FGSM攻擊的防御準確率較高,分別為95.35%和92.13%。對于DeepFool方法的防御準確率則較低,由于DeepFool 能夠以更小的擾動生成對抗樣本圖片,使得孿生神經(jīng)網(wǎng)絡的防御選擇模塊中兩端的輸出區(qū)別較小,在兩個測試數(shù)據(jù)集上對于DeepFool 的防御準確率分別為93.52%和91.47%。對于JSMA 方法的防御準確率則分別為93.73%和90.80%。

由于本文方法只在預訓練階段使用了少量FGSM攻擊方法生成的對抗樣本確定參數(shù),并未針對FGSM、Deepfool 和JSMA 攻擊方法進行訓練。由此可見,本文方法能夠從兩個分類網(wǎng)絡的攻擊效果差異上著手,在沒有特定種類對抗樣本訓練的條件下,仍然以較高準確率防御了各種對抗樣本的攻擊。和其他常規(guī)的防御方法相比較,本文的防御方法更具通用性,可以在不需要收集特定種類的對抗樣本圖片進行訓練的情況下,獲得對不同種類對抗樣本攻擊的通用防御能力。因此,實驗中在多種對抗樣本測試集上取得的防御效果,證明了本文方法對多種攻擊都具有通用的防御能力。

然后,為了進一步測試本文方法對于不同強度的對抗攻擊的防御能力,以精確率、召回率和F1-score 作為評估指標,在MNIST 數(shù)據(jù)集上,分別用不同擾動強度ε的FGSM攻擊生成對抗樣本進行實驗。在實驗中,擾動強度ε由0.1遞增至0.5。最后得到的實驗結果如表2所示。從實驗結果可以看出,本文方法對不同擾動大小的FGSM 攻擊都具有一定的防御效果。當對抗擾動取最小值0.1 時,本文方法的精確率為94.71%,召回率為91.15%,F(xiàn)1-score 為92.89%。而當對抗擾動增大至0.5時,本文方法的精確率為99.27%,召回率為93.61%,F(xiàn)1-score為96.35%。

表2 對抗擾動大小對防御效果的影響Table 2 Influence of disturbance strength on defense effect

圖7 展示了防御效果隨著動態(tài)擾動的增大而變化的過程。從圖中可以看出,當對抗擾動增大時,本文方法對FGSM 對抗樣本的檢測效果也隨之增強。這是由于隨著對抗擾動的增大,對抗樣本中改變的像素點也越多。因此,經(jīng)過動態(tài)濾波器濾波后,對抗樣本圖片和原始圖片的差異也變得越大,使得孿生神經(jīng)網(wǎng)絡的防御選擇模塊能夠更有效地分辨出正常圖片和對抗樣本圖片。

圖7 對抗擾動增大時,對于FGSM攻擊的防御效果Fig.7 Defense effect against FGSM attack as disturbance increases

3.3 二次攻擊防御實驗

由于濾波器內(nèi)的參數(shù)在動態(tài)波動,因此本文的防御方法除了具有通用的防御能力之外,還比常規(guī)方法具有更強的二次攻擊防御能力。在動態(tài)濾波器不斷變化的參數(shù)和孿生神經(jīng)網(wǎng)絡的防御選擇模塊的共同作用下,更難被對抗樣本攻擊二次攻破,能夠獲得更好的二次攻擊防御效果。目前的對抗樣本防御方法都有很大的局限性,用于防御對抗樣本攻擊的模型本身也存在被二次攻擊的風險,文獻[23]對各種對抗樣本檢測方法做了總結。

為了測試本文的防御方法對二次攻擊的防御能力。將本文方法和文獻中的對抗訓練方法和使用平均濾波器對圖像進行模糊處理的方法進行對比,比較三種防御方法在白盒攻擊情況下對二次攻擊的防御效果。

分別使用MNIST 和CIFAR-10 分類模型進行兩組實驗。其中,以MNIST分類模型為例,對于對抗訓練的防御方法,在數(shù)據(jù)集中生成FGSM、DeepFool 和JSMA三種攻擊方法的對抗樣本,對分類模型進行對抗訓練。然后對MNIST 分類模型進行二次攻擊,并分別用三種防御方法防御。分別構建總數(shù)為5 000 張,且包含了三種對抗樣本的MNIST 圖片測試集,比較對于三種防御方法的二次攻擊成功率,實驗結果如表3所示。

從表3 實驗結果可以看出,在MNIST 和CIFAR-10數(shù)據(jù)集上,相比其他常規(guī)的防御方法,如對抗訓練和用均值濾波器平滑對抗樣本的方法,本文的防御方法可以降低二次攻擊的成功率,具有更好的防御能力。在鏡像網(wǎng)絡中,參數(shù)不斷變化的動態(tài)濾波器能提高針對防御模塊的攻擊難度,使得二次攻擊更難成功。動態(tài)濾波器能夠平滑或干擾大多數(shù)的擾動像素,并結合孿生神經(jīng)網(wǎng)絡的選擇模塊有效地防御對抗樣本攻擊。使得對抗樣本的對抗擾動更難成功欺騙分類模型,提高惡意攻擊者的攻擊門檻。

表3 對本文方法和其他防御方法的攻擊效果比較Table 2 Different attack performance of this method and other methods %

4 結論及未來工作

為增強神經(jīng)網(wǎng)絡對于對抗樣本攻擊的防御能力,本文設計了一種基于孿生結構的對抗樣本攻擊動態(tài)防御方法。在輸入層中,通過鏡像網(wǎng)絡中設計的動態(tài)濾波器,平滑對抗樣本圖像中的擾動像素。并在輸出層中,通過孿生神經(jīng)網(wǎng)絡中的防御選擇模塊,從孿生神經(jīng)網(wǎng)絡兩端的差異著手,通過檢測動態(tài)濾波前后樣本是否有不同的攻擊效果,從根源處檢測出各種對抗樣本,進一步提高對對抗樣本攻擊的防御能力。

實驗結果表明,通過這種方法,可以在無需特定對抗樣本訓練的條件下,防御多種對抗樣本的攻擊,相比于其他防御方法,本文方法對各種對抗樣本具有更通用的防御能力。在上述MNIST 測試集的實驗中,本文防御方法在FGSM 算法生成的對抗樣本測試集上取得了95.35%的防御準確率,在DeepFool和JSMA對抗樣本上則分別取得了93.52%和93.73%的防御準確率。證明了在沒有使用特定對抗樣本進行訓練的情況下,本文方法仍然能取得較高的防御準確率。此外,在動態(tài)濾波器和選擇模塊這兩個防御模塊的共同作用下,該方法比其他防御方法更難被成功攻擊,提高了攻擊者的二次攻擊難度。在MNIST 和CIFAR-10 數(shù)據(jù)集上使用三種攻擊進行二次攻擊實驗時,對抗訓練和使用均值濾波器平滑對抗樣本的方法均被成功攻破,但在本文方法上只取得了68.24%和63.15%的攻擊成功率。本文方法難以被二次攻擊,也在整體上提高了本文防御方法的安全性。

雖然本文方法在對抗樣本攻擊檢測問題中取得了一定的效果,但是在設計卷積層的動態(tài)濾波器和設計孿生神經(jīng)網(wǎng)絡的防御選擇模塊時,只使用了較為通用的高斯函數(shù)和L2范數(shù)。這兩個防御模塊的具體方法和參數(shù)在選擇上還有很大的研究空間,在未來的研究工作中,針對不同分類任務的特點,還可以嘗試更有針對性的動態(tài)防御方法和特征距離衡量方法,進一步提高防御能力。

猜你喜歡
擾動濾波器像素
像素前線之“幻影”2000
帶擾動塊的細長旋成體背部繞流數(shù)值模擬
磁暴期間中國中低緯電離層不規(guī)則體與擾動分析
結合向量化和FFT技術的模型擾動引力快速計算
“像素”仙人掌
從濾波器理解卷積
一種改進的基于SINS/GNSS的水平重力擾動測量方法
開關電源EMI濾波器的應用方法探討
一種微帶交指濾波器的仿真
高像素不是全部