魏煥新 張宏國
1(湖南機電職業技術學院信息工程學院 湖南 長沙 410151) 2(哈爾濱理工大學軟件工程系 黑龍江 哈爾濱 150080)
隨著新興計算技術的發展,機器學習技術作為分類方案發揮了關鍵作用。探索性攻擊的對抗性樣本引起了人們對深度神經網絡安全性的關注。深度神經網絡廣泛用于圖像識別、語音識別、模式分析和入侵檢測等領域[1-3]。單目標對抗方法通常使用有針對性的對抗性樣本,只允許識別一個類,容易錯誤地將攻擊類識別為非攻擊類。因此,研究多目標對抗方法具有很好的現實意義和實用價值[4-5]。
國內外許多專家及學者圍繞多目標對抗方法進行了深入研究。文獻[6]研究了機器學習中的幾個安全問題,對機器學習的攻擊歸類為致病攻擊、影響學習、控制訓練數據,以及作為探索性攻擊導致錯誤分類,但不影響訓練過程。文獻[7-8]提出了一項關于對抗性實例的研究,使用對抗性樣本的主要目的是通過向原始圖像添加少量噪聲來使深度神經網絡犯錯誤。文獻[9]提出了一種平滑梯度法來阻止攻擊梯度,作為抵御黑匣子襲擊的最先進的防御,它由一個探測器和一個改造者組成,以抵抗對抗性的樣本攻擊。文獻[10]通過使用多個局部模型來攻擊其他模型,提出了一種集合對抗性樣本的方法。以上方法存在無法區分原始圖像和失真圖像之間差異的問題,仍有一定的改進空間[11-13]。
基于上述分析,本文提出一種基于深度神經網絡躲避攻擊的多目標對抗方法,并結合蟻群算法實現躲避攻擊的多目標對抗。其主要創新點為:
(1) 現有的大多數方法中,對抗性樣本只分為有針對性的對抗性樣本和無針對性的對抗性樣本,而本文方法設計一種與變換器和多個模型組成的體系結構,利用變換器生成一個多目標的對抗性樣本,利用多個模型預訓練的分類器對輸入值進行分類。
(2) 現有的大多數方法中針對性對抗樣本是單個目標攻擊,只允許識別一個類,而提出的多目標對抗樣本,使用單個修改后的圖像攻擊每個目標類中的多個模型,為了產生這樣的樣本,本文方法進行了一次變換,從而通過多個模型最大化不同目標類別的概率。
(3) 現有的大多數方法采用深度神經網絡進行多目標對抗,而本文方法在深度神經網絡的基礎上引入了蟻群算法,利用螞蟻互相交流學習的正反饋原理保證算法的收斂性和尋優速度,融合兩種算法的優勢,解決深度神經網絡輸入數據導致機器誤解數據的問題,實現躲避攻擊的多目標對抗。
圖1為提出的多目標對抗方法的示意圖。

圖1 多目標對抗方法示意圖
生成對抗性樣本的基本體系結構由兩個元素組成:目標模型和變換器。變換器將原始樣本x和目標類y作為輸入數據,然后創建輸出,變換的示例為x*=x+w,其中噪聲值w被添加到原始樣本x中。變換后的樣本x*作為輸入數據提供給目標模型。目標模型為變換器提供變換后的樣本的類概率結果。變換器更新變換的樣本x*=x+w中的噪聲值w,使得其他類概率高于原始類概率,同時最小化x*和x之間的失真距離。
通過對抗訓練、過濾方法、防御性蒸餾和磁鐵法等方法研究了對抗性樣本的防御。為了阻止攻擊梯度,這種防御性蒸餾具有兩個神經網絡,其中分類器的輸出類概率被用作第二級分類器訓練的輸入。同樣,這種方法有兩個步驟:首先,檢測器過濾失敗的對抗性樣本作為預學習步驟,包括原始樣本和對抗性示例之間的差異;然后,重整器找到原始樣本,該樣本可以轉換為對抗性樣本的小擾動。使用過濾方法、防御蒸餾和磁鐵方法進行測試發現,系統的被欺騙率可高達100%。
對抗性樣本攻擊的相關工作可以分為四類:目標模型信息、距離度量、對抗性樣本識別和生成方法[8]。
深度神經網絡廣泛用于圖像識別、語音識別、模式分析和入侵檢測等領域,具有全局搜索能力強的優點。為了生成多目標的對抗性樣本,設計一種與變換器和多個模型組成的體系結構,利用變換器生成一個多目標的對抗性樣本,利用深度網絡學習訓練的分類器對輸入值進行分類,提出一種由變換器和多個模型Di(1≤i≤n)組成的體系結構,如圖2所示。變換器的作用是生成一個多目標的對抗性樣本[14]。多個模型Di是預訓練的分類器,其對輸入值進行分類。

圖2 由變換器和多個模型組成的體系結構
若DNN模型將樣本作為輸入值,則它提供每個類的分類得分的輸出值,所提深度神經網絡模型將樣本分類為輸出值最高的類。表1顯示了原始樣本“2”和目標對抗性樣本“3”的分類得分示例。可以看出,原始樣本“2”可分類為得分29的類別,對抗性樣本“3”將分類為得分18.703的類別。

表1 對抗樣本“2”→“3”的分類分數
深度神經網絡的變換器將原始樣本x∈X和目標類yi∈Y(1≤i≤n)作為輸入值,并生成變換后的樣本x*作為輸出值。yi是攻擊者為每個模型Di選擇的目標類。多個模型Di將變換后的樣本x*作為輸入值,并向變換器提供反饋,該反饋是分類的結果。
本文方案的目標是生成多目標對抗性樣本x*,其被多個模型Di中的每一個錯誤分類為每個目標類別yi,同時最小化計算原始樣本x的像素距離。在數學表達式中,Di的運算函數分別由fi(x)(1≤i≤n)表示。給定預訓練模型Di、原始樣本x∈X和目標類yi,這是一個生成多目標對抗性樣本x*的優化問題:

(1)
式中:L(·)是原始樣本x和多目標對抗性樣本x*。
為了實現這一目標,該過程包括兩個步驟:創建預訓練模型Di和生成多目標對抗性樣本x*。首先,模型Di通過學習過程將原始樣本x將其正確分類為其原始類yorg:
fi(x)=yorg∈Y
(2)
式中:yorg是原始類。在實驗中,訓練模型Di對原始樣本進行分類時,其準確度可以達到99%。
其次,變換器接受原始樣本x和目標類別yi作為輸入值,并生成變換后的樣本x*。在這項研究中,修改了變壓器架構,x*被定義為:
(3)
式中:w用作調整項以最佳地最小化梯度;tanh用于軟化梯度。模型Di的x*的分類損失返回到變換器。然后變換器通過上面的迭代過程更新變換的示例x*,以計算總損耗lossT并且最小化總損耗lossT。lossT定義為:
(4)
式中:lossdistortion是變換樣本的失真;lossi是Di的分類損失;ci是模型Di的損失權重。損失權重的初始值是1。lossdistortion是原始樣本x和變換的樣本x*之間的距離。
(5)

(6)
式中:gi(k)=max{Zi(k)j:j≠yi}-Zi(k)yi,其中Zi是模型Di預測類的概率。通過最優化最小化損失lossi,fi(x*)的預測具有比其他類別更高的預測目標類別yi的概率。
算法1在變換器中生成一個多目標對抗性樣本
輸入:原始樣本x,目標類別yi(1≤i≤n),迭代次數r,損失權重ci。
對目標對抗性樣本生成:
w←0
t←yi
x*←x
Forrstep do
loss3←loss1+loss2
通過最小化loss3的梯度更新w
End for
Returnx*
多目標分配模型可以使用智能優化算法進行求解。蟻群算法是一種基于種群尋優的啟發式智能優化算法,利用蟻群中螞蟻間互相交流學習的正反饋原理保證了算法的收斂性和尋優速度[14-15]。借鑒蟻群算法解決問題的思路,設計面向對抗資源多目標分配的蟻群算法,并改進蟻群算法流程,以求解多目標分配模型。算法實現步驟如下:
(1) 隨機生成初始蟻群POP,種群數為N,求出目標函數值fi(x),i=1,2,…,J。
(2) 初始化外部集合BP,即Xf={x∈POP|e(x)≤0},BP={x∈Xf|?x′∈Xf,有x′ (3) 設置迭代次數NC=0。 (4) 令i=1。 (5) 隨機產生一個[0, 1]范圍內的隨機數p,當p≤p0時,對螞蟻i用基于全局最有經驗指導的方式尋優;當p>p0時,使用信息素交流方式尋優。 (6) 在可行域內移動螞蟻i,并在最終位置上加入隨機擾動因子φ0,再次評價螞蟻i,求得目標函數值以及約束函數值。 (7) 更新BP,并刪除BP中被i所支配的解。 (8)i=i+1,如果i≤N,則轉至(5)。 (9)NC=NC+1,如果NC≤NCMax,則轉至(4);否則,算法結束。 通過實驗展示一種生成多目標對抗性樣本,該樣本被多個模型中的每個模型錯誤分類為每個目標類,同時能夠最小化原始樣本的計算像素距離。在實驗中使用具有Xeon E5-2609 1.7 GHz處理器的服務器。 實驗采用MNIST數據集,它是一個標準的數據集,包含從0到9的手寫數字圖像。實驗方法為對Di(1≤i≤n)進行預訓練并生成多目標對抗樣本。 Di是常見的卷積神經網絡。為了有足夠的方法訓練多個模型Di,使用了60 000個訓練數據樣本。不失一般性,令實驗中模型數量n=5。通過學習不同的訓練數據創建了若干個Di的模型,同時保持原始樣本的準確度超過99%。在使用10 000個測試數據的實驗結果中,Di正確地將原始樣本分類到原始類別中,準確度超過99%。 將Adam算法作為優化器來生成多目標對抗性樣本,并使總損失最小化,參照文獻[16]中所提參數設置方法,設定學習率為1×10-2,初始常數為1×10-3。對于給定次數的迭代,變換器更新變換后的樣本將其提供給模型Di,并從這些模型接收反饋。在迭代集合結束時,具有目標針對性的攻擊成功。使用所需迭代次數、人類識別度和失真量來評估變換后的樣本x*。使用均方誤差將失真測量修改后的樣本與原始樣本之間的像素距離縮小。 實驗結果展示了多目標對抗性樣本的圖像、每個目標類的失真、多目標對抗性樣本的類別得分、可伸縮性分析和多個目標類的信息。 不失一般性,以模型D1和D2為例進行相關結果分析與說明。對于模型D1,目標類別的得分“0”(5.09)略高于原始類(5.03)。對于模型D2,目標類別“8”(5.08)的得分略高于原始類別(5.03)的得分。為了減少多目標對抗性示例的失真,該結果表明多目標對抗性樣本已經被修改,直到模型A和B的每個目標類別的得分高于原始類別的得分。 為了分析多目標對抗性樣本的可擴展性,每組模型有900個隨機多目標對抗性示例,針對其100%目標攻擊成功率的平均失真和迭代次數進行分析比較。迭代模式說明,隨著模型數量的增加,多目標對抗性樣本需要更多的學習過程來攻擊多個模型。另一方面,平均失真的模式表明隨著模型數量的增加,失真增加,但變化率降低。從圖3和圖4中可以看到,每個目標類的多目標對抗性樣本的失真是不同的。如果攻擊者需要具有最小失真的多目標對抗樣本,則此信息非常有用。 圖3 對于D2和D1的每個目標類別相對于原始樣本的平均變化率(1 000次迭代) 圖4 對于原始樣本“9”,每個D1和D2模型的目標類別的平均變化率 本文提出的深度神經網絡結合蟻群算法的多目標對抗方法與文獻[6]、文獻[10]提出的多目標對抗方法相比,具有較大的優勢。同樣采用2.1節中數據集,表2和表3是采用文獻[6]、文獻[10]方法的多目標針對性對抗樣本對于模型D1、D2、D3、D4和D5中的每個目標類的類別得分。表4是本文提出的深度神經網絡結合蟻群算法的多目標對抗方法中多目標對抗性樣本模型D1、D2、D3、D4和D5中的每個目標類的多目標對抗性樣本的類別得分。通過對比可以看出,本文方法的得分整體高于文獻[6]和文獻[10]方法,多目標對抗性更好,更具有優勢。這是因為引入蟻群算法,利用螞蟻互相交流學習的正反饋原理保證算法的收斂性和尋優速度,保證方法的全局優化性能。 表2 文獻[6]方法對于模型D1、D2、D3、D4和D5中的每個目標類的類別得分 表3 文獻[10]方法對于模型D1、D2、D3、D4和D5中的每個目標類的類別得分 表4 本文方法中多目標對抗性樣本模型D1、D2、D3、D4和D5中的每個目標類的類別得分 本文提出一種深度神經網絡結合蟻群算法躲避攻擊的多目標對抗方法。實驗結果表明,該方法比現有的躲避攻擊多目標對抗方法具有明顯的優勢,實現100%的攻擊成功率。未來的研究方向是繼續將實驗擴展到其他標準圖像數據集中,并進行隱身中的失真與人類感知之間的相關性分析。利用軟件方法進行全系統的閉環虛擬現實仿真,是一項行之有效的方法,它與利用硬件進行全系統的仿真相輔相成,未來將對這方面的工作進行更加深入的研究,同時關注本文算法對其他數據集的適用性。2 實 驗
2.1 實驗方法
2.2 實驗結果分析



















2.3 實驗結果對比



3 結 語