?

基于Transformer 和GAN 的對抗樣本生成算法

2024-02-29 04:39劉帥威李智王國美張麗
計算機工程 2024年2期
關鍵詞:鑒別器類別擾動

劉帥威,李智,王國美,張麗

(貴州大學計算機科學與技術學院公共大數據國家重點實驗室,貴州 貴陽 550025)

0 引言

深度神經網絡在過去幾年取得了巨大成功,并引起了學術界和產業界的廣泛關注[1]。隨著深度神經網絡的快速發展和部署,其顯露出的安全問題逐漸引起了社會的關注[2]。最近的研究發現,深度神經網絡很容易受到對抗樣本的影響,對抗樣本通常是在合法樣本上添加精心設計且難以察覺的擾動[3]。利用對抗樣本可以讓攻擊者在很多應用場景中對人工智能模型本身發起攻擊,從而造成難以估計的危害,例如:基于人臉識別技術的手機解鎖系統可能存在安全漏洞[4],攻擊者可以通過偽裝等方式欺騙人臉解鎖,從而進入他人手機;自動駕駛汽車的識別系統會被攻擊者誤導[5],可能導致交通事故;不法分子利用對抗樣本欺騙計算機輔助診斷系統修改其醫療診斷記錄,從而實施騙保行為[6]。研究更先進的對抗攻擊算法能評估深度神經網絡的魯棒性,進一步揭露深度學習的安全漏洞,有助于開發人員對系統的運行進行維護,從而提高系統的安全性和穩定性。

現有的對抗攻擊方法根據攻擊方式的不同大致分為3 類:1)基于梯度的攻擊;2)基于優化的攻擊;3)基于生成式的攻擊。文獻[7]提出基于梯度的快速梯度符號法(FGSM),使用模型的梯度信息來計算對原始樣本的擾動從而欺騙模型。文獻[8]提出迭代式的投影梯度下降(PGD)攻擊,在FGSM 的基礎上引入多次迭代,并加入投影步驟來限制對抗樣本的擾動大小,以提高攻擊的效果和穩定性。文獻[9]提出優化式的CW 攻擊,通過最小化對抗樣本與原始樣本之間的距離來生成對抗樣本。CW 攻擊通過對模型輸出的標簽和置信度進行修改,使得模型更容易將對抗樣本進行錯誤分類。

在基于生成式的攻擊方法中:文獻[10]提出AdvGAN 方法,其主要思想是訓練一個生成器和一個鑒別器,使用生成器生成具有誤導性的對抗樣本,使用鑒別器區分對抗樣本和原始樣本;文獻[11]提出AdvGAN 的改進版AdvGAN++,向生成器中加入一定的高斯噪聲,使得生成的對抗樣本更具隨機性和多樣性,提高了攻擊的魯棒性和隱蔽性;文獻[12]提出AI-GAN 方法,其設計靈感來自于人類的攻擊行為,即在攻擊者擁有攻擊目標背景知識的情況下,攻擊者可以針對目標進行精準攻擊。AI-GAN 利用這種攻擊思路,首先通過背景知識收集對目標模型有益的信息,然后利用這些信息生成對抗樣本。

雖然上述攻擊方法在對抗樣本生成方面取得了一定成果,但是它們也存在一些缺點,例如:基于梯度的攻擊方法生成的對抗樣本有一定的規律性,易于被發現;基于優化的CW 方法生成的對抗樣本遷移性差,在多個模型中攻擊效果不一致,且計算成本較高;基于生成式的方法生成的對抗樣本在可接受性和可解釋性方面有待提高。雖然AI-GAN 可以針對特定目標進行攻擊,生成的對抗樣本更具針對性和欺騙性,但是AI-GAN 也存在一些缺點,如需要額外的輔助數據集和背景知識,攻擊效率較低。上述不足都限制了對抗攻擊在實際中的應用,因此,還需要進一步研究和改進對抗攻擊方法。

本文結合先進的深度學習模型Transformer[13]和生成對抗網絡(GAN)[14],提出基于生成式的攻擊算法Trans-GAN。該算法使用Transformer 作為重構網絡,利用其強大的視覺表征能力增強對抗樣本的可接受性和可解釋性;算法同時訓練基于Transformer的生成器和基于深度卷積神經網絡(DCNN)[15]的鑒別器,通過對鑒別器的對抗訓練來提高生成圖像的真實性以及攻擊的魯棒性和欺騙性。此外,本文提出改進的注意力機制Targeted Self-Attention,修改網絡輸入,同時接收干凈圖像和攻擊目標,針對特定目標進行攻擊,生成更具針對性和欺騙性的對抗樣本。

1 相關工作

1.1 對抗樣本

考慮由正常圖像訓練得到的目標分類模型f,正常的輸入圖像是x,攻擊者試圖找到一個對抗擾動δ,使得x'=x+δ,其中,對抗擾動δ使得x跨越了分類模型f的決策邊界導致f(x)≠f(x'),x'即為對抗樣本。對抗樣本的形式化定義如下:

下面對相關術語進行介紹:

1)對抗攻擊和對抗防御。對抗攻擊表示通過一定的算法在原輸入圖像上加入攻擊噪聲得到攻擊圖像,使分類器結果出錯。攻擊任務的難點在于攻擊成功率和擾動大小之間的平衡,一般而言,擾動越大,攻擊成功率越高。對抗防御表示構建足夠魯棒的分類器或防御模型,使其在輸入攻擊圖像時也能夠正確分類。

2)白盒攻擊(white-box attack)和黑盒攻擊(blackbox attack)。根據攻擊者對目標模型先驗知識的掌握情況,對抗攻擊可以分為白盒攻擊和黑盒攻擊。還有一種只在訓練時利用目標模型先驗知識的攻擊,稱為半白盒攻擊。

3)有目標攻擊(targeted attack)和無目標攻擊(non-targeted attack)。根據對抗攻擊是否設置目標結果,攻擊被分為有目標攻擊和無目標攻擊。

4)評價指標。目前攻擊算法的評價指標主要采用Lp距離(一般也稱為Lp范數),如式(2)所示,其中,vi表示像素點i的像素值變化大小,n表示像素點個數,v一般通過攻擊圖像減原圖像得到,表示兩張圖的差值,也就是擾動。目前常用的Lp距離包括L0、L2和L∞。

1.2 Transformer 模型

ViT(Vision Transformer)[16]將 純Transformer 架構直接應用到一系列圖像塊上進行分類任務,取得了優異的結果,引發了Transformer 在計算機視覺應用中的熱潮。Transformer 強大的表達能力主要來源于自注意力機制的應用。計算機視覺中的自注意力機制借鑒自NLP 的思想,保留了Query、Key 和Value等名稱。圖1 中的自注意力機制結構自上而下分為3 個分支,分別是Query、Key 和Value(彩色效果見《計算機工程》官網HTML 版,下同)。i表示輸入的卷積特征圖,o表示輸出的自注意力特征圖。計算時通常分為3 步:第1 步令Query 和每個Key 進行相似度計算得到權重;第2 步使用Softmax 歸一化這些權重;第3 步將歸一化權重和Key 相應的Value 進行加權求和,得到最后的注意力特征圖。輸出的自注意力特征圖如下(忽略了1×1 卷積操作):

圖1 計算機視覺中的自注意力機制Fig.1 Self-attention mechanism in computer vision

自注意力模塊有助于模擬跨越圖像區域的長距離、多層依賴關系。通過在原始特征圖上添加加權的attention 來獲得特征圖中任意2 個位置的全局依賴關系。生成器可以利用自注意力模塊來繪制細節充分協調的圖像。

1.3 生成對抗網絡

GAN 是一種無監督生成網絡,包含生成、判別和對抗3 個部分,利用對抗的思想交替訓練生成器G和鑒別器D。生成器G負責根據隨機向量z生成盡可能真實的樣本G(z),鑒別器負責判別接收的內容是否真實。鑒別器會輸出一個概率,概率接近1 表示鑒別器認為輸入樣本符合真實數據集的數據分布,接近0 表示輸入樣本不符合真實數據分布。對抗是指GAN 交替訓練生成器G和鑒別器D的過程。以圖片生成為例,生成器學習真實數據的分布,生成一些假樣本,期望能夠騙過鑒別器,然后鑒別器學習區分真樣本和假樣本,交替這一動態博弈過程,直至達到納什均衡點,即鑒別器對任何圖片的預測概率都接近0.5,無法判別圖片的真假,此時表示已經訓練好生成器,可以停止訓練。GAN 的優化目標如式(4)所示:

其中:Pdata(x)表示真實樣本數據的分布;Pz(z)表示隨機向量的分布;D(x)表示x是真實圖像的概率;G(z)表示從輸入噪聲z產生的生成圖像。GAN 的優點是可以產生更加清晰、逼真的樣本,缺點是訓練不穩定,容易出現模式崩潰問題,即使長時間地訓練生成器,生成效果依然可能很差。

2 本文算法設計與實現

受Transformer 和GAN 的啟發,本文提出一種深度學習模型Trans-GAN,利用Trans-GAN 生成對抗樣本,實現有目標攻擊。

2.1 網絡結構

如圖2所示,Trans-GAN網絡結構包括生成模型G、判別模型D和目標分類模型f,其中,生成模型使用Transformer 代替原始GAN 中簡單的卷積神經網絡。網絡以原始實例圖像x和目標標簽t作為輸入,在模型中進行端對端的訓練以生成對抗實例。

圖2 Trans-GAN 網絡結構Fig.2 Trans-GAN network structure

本文使用基于Transformer 的Restormer 模型[17]作為生成器網絡結構,其在高分辨率圖像復原領域取得了較高的性能。為了實現有目標攻擊,將目標標簽作為輔助信息參與到重建任務中,提出自注意力機制的修改版本Targeted Self-Attention,改進后的生成器模型架構如圖3 所示。在圖3 中,生成器模型[圖3(a)]采用編碼-解碼結構,由若干個Transformer Block 組成。模型接收干凈樣本x進行下采樣,在編碼器的每一層,同時接收由目標標簽t變換到同等尺寸大小的目標特征圖tn(n取1、2、3、4)作為輸入,在充分提取到圖像特征和目標信息后經解碼器進行逐步上采樣,恢復原始圖像大小,輸出噪聲信息。下采樣的每個Transformer Block 中使用修改的自注意力機制Targeted Self-Attention[圖3(c)],上采樣中每個Transformer Block 使用原有的自注意力機制[圖3(b)]。在修改的注意力機制中,V不再由x通過卷積操作得到,而是由輸入的目標特征tn產生,tn表示目標標簽擴張維度后的特征,其尺寸大小和x相同,其余部分不變,這種簡單操作將目標標簽作為輔助信息,能有效指導生成器進行有目標攻擊。

圖3 生成器模型架構Fig.3 Generator model architecture

本文使用CNN 作為鑒別器網絡。表1 所示為用于CIFAR10 數據集的鑒別器架構(用于MNIST 數據集的架構由于輸入圖片尺寸不同而稍有改變,具體詳見公開代碼)。在表1 中,Conv 表示卷積層,BN表示批歸一化,激活函數使用斜率為0.2 的LeakyReLU。鑒別器架構默認使用核窗口大小為4、步幅為2 的卷積操作進行下采樣,最后使用Sigmoid函數輸出鑒別器的置信分數。

表1 用于CIFAR10 數據集的鑒別器架構 Table 1 Discriminator architecture for CIFAR10 dataset

2.2 損失函數

在訓練過程中,Transformer 接收原始干凈圖像和攻擊目標類別后生成噪聲信息,將殘差連接與原始干凈圖像相結合生成擾動實例。判別模型和生成模型聯合訓練,使用LGAN損失函數來提高模型的穩定性,LGAN損失設計如式(5)所示,其中,G表示生成器,D表示鑒別器,x表示干凈樣本,t表示目標標簽。

此外,通過在噪聲信息上添加L2約束Lperturbation來控制所生成擾動的大小幅度,如式(7)所示,其中,表示L2范數,即求歐氏距離。

為了提高生成模型的能力,改善對抗樣本的視覺質量,采用結構相似度損失Lssim[18]和感知損失Lperception[19]進行聯合訓練,分別如式(8)、式(9)所示:

其中:a表示生成的對抗樣本,即x+G(x,t);μx、μa、σx、σa和σx,a分別表示2 個圖像、圖像的均值、方差以及協方差;c1和c2為常數,通常取c1=(K1·L)2,c2=(K2·L)2,一般地,K1取0.01,K2取0.03;L表示灰度級,取255;?表 示VGG 網 絡[20];j表示網 絡的第j層;?j(·)和CjHjWj表示第j層的特征圖和尺寸。

網絡總體損失函數如式(10)所示,α、β、γ和λ為各部分損失函數的平衡參數,為了增強模型對擾動量的約束能力,上述參數默認設置分別為1、10、1 和1,以提高所生成對抗樣本的可視質量。

在推理過程中,本文算法不再需要目標分類模型的參與,直接輸入干凈圖像和攻擊標簽就能生成相對應的對抗樣本,能夠攻擊目標分類器,使其分類錯誤。

2.3 算法流程

Trans-GAN 算法訓練流程如算法1 所示。生成器根據干凈樣本x和目標標簽t生成對抗擾動,計算出對抗樣本a;將a輸入目標分類器f中計算對抗損失,提升攻擊能力;將a和x一起輸入D中計算GAN損失,提升生成的對抗樣本和干凈樣本的區分度;對x和a計算相似度損失、感知損失和L2損失,進一步提高對抗樣本的視覺效果。

在測試階段,不需要鑒別器D和目標分類器f的參與,只需向生成器G中輸入測試集的干凈樣本以及想要攻擊的目標類別標簽,即可計算得出相應的對抗樣本,從而實施相應的攻擊。

3 實驗結果與分析

本文所有實驗均運行在Linux 操作系統上,系統版本為Ubuntu 18.04 LTS,所使用的GPU 資源為2 塊RTX 2080Ti,采用PyTorch 1.9.0 作為深度學習框架,CUDA 版本號為11.1。實驗設置的總訓練輪數為100 個Epoch,采用Adam 作為優化器,學習率設為0.000 1,權重衰減系數設為0.000 5。

首先評估所提算法在沒有防御時對MNIST[21]和CIFAR10[22]的攻擊效果,然后評估所提算法在有對抗訓練防御下的攻擊效果。此外,通過對ImageNet 數據集[23]執行半白盒攻擊,評估所提算法的可擴展性。實驗過程中對抗性擾動的評價指標采用L2和L∞范式。MNIST 的擾動幅度限制在0.3 以內,CIFAR10 和ImageNet 的擾動使用L2范式進行限制。使用不同攻擊方法生成對抗性例子,以進行公平的比較。

從表2 可以看出,在計算效率方面:FGSM 生成對抗樣本的運行時間為0.06 s;PGD 在FGSM 的基礎上執行迭代攻擊,多次計算梯度信息,因此運行時間是FGSM 的數十倍;基于優化的攻擊算法CW 超過3 h,運行時間最長;本文所提算法和AdvGAN 一樣屬于生成式攻擊,運行時間遠小于基于梯度的攻擊算法和基于優化的攻擊算法,在訓練好模型參數后,只需進行一次簡單的前向傳播即可快速生成對抗樣本。此外,FGSM 和優化類算法只能進行白盒攻擊,本文所提算法可以在半白盒設置下進行攻擊,只在訓練時需要模型參與。

表2 不同攻擊算法的攻擊效率比較 Table 2 Comparison of attack efficiency of different attack algorithms

與AdvGAN 算法相比,本文算法接收目標標簽作為輸入,只需訓練1 個模型即可實現任意目標類別的有目標攻擊,而AdvGAN 的攻擊目標在訓練時的損失函數中指定,訓練好的模型只能實現特定目標的攻擊。如果將AdvGAN 應用到ImageNet 這種具有1 000 個物體類別的數據集中,就需要針對每個目標類別共訓練1 000 個模型,而本文算法只需訓練1 個模型就能使目標分類器分錯至任意目標類別,因此,本文算法具有更強的應用價值。

3.1 沒有防御系統下的攻擊評估

首先評估本文所提算法在沒有任何防御設置下對MNIST 和CIFAR10 的攻擊能力。對于MNIST 數據集,在所有實驗中為2 個模型生成對抗性例子,2 種模型網絡結構如表3 所示,模型A 是文獻[24]使用的架構,模型B 是文獻[9]用于評估基于優化策略的目標網絡體系結構。對于CIFAR10 數據集,選擇ResNet-32[25]和Wide ResNet-34(WRN-34)[26]作為目標模型。

表3 用于MNIST 數據集的2 種分類模型結構 Table 3 Structure of two classification models for MNIST dataset

表4 中展示了在MNIST 和CIFAR10 測試數據集上使用AI-GAN 和本文算法對各個目標類別進行攻擊的實驗結果,表中數值表示攻擊成功率(ASR),最優結果加粗標注。從表4 可以看出,在不同數據集上,本文算法的攻擊能力在大多數攻擊類別上都要強于AI-GAN,并都取得了最高的平均攻擊成功率。具體來說,在MNIST 數據集上,本文算法的平均攻擊成功率達到了99.9%以上,在CIFAR10 數據集上平均攻擊成功率也分別達到了96.36% 和98.47%,這主要得益于作為生成器的Transformer 網絡具有很強的學習能力。

針對CIFAR10 數據集隨機選擇樣本,生成的對抗性示例如圖4 所示。使用訓練好的攻擊算法從CIFAR10 的10 個類別中隨機選擇一張圖像對其他類別進行攻擊。圖4(a)表示生成的對抗樣本示例,其中對角線上為原始干凈圖像,“0~9”表示攻擊的目標類別,可以看出,從肉眼上基本看不出干凈圖像和對抗樣本的區別。將生成器生成的對抗噪聲進行可視化,如圖4(b)所示,可以看出,生成的擾動非常小,看不出任何細節。將噪聲圖放大10 倍后如圖4(c)所示,從中可以看出明顯的擾動細節。此外,在對不同圖像進行相同目標的攻擊時,生成器產生了紋理極為相似的噪聲擾動,猜測這是由于在訓練過程中同時接收了干凈圖像和目標標簽作為輸入,而針對CIFAR10 數據集而言,訓練集圖像有50 000 張,而目標類別只有10 種,在訓練過程中,目標標簽容易占據主導地位,指導生成器生成與攻擊類別相對應的特定擾動,這樣的擾動施加在干凈圖像上可以促使目標分類器將關注點聚焦于對抗樣本中的特定擾動,從而產生錯誤分類。上述這一現象可能推動相關人員對于通用擾動的研究。

圖4 CIFAR10 數據集的對抗樣本示例Fig.4 Examples of adversarial samples of CIFAR10 dataset

3.2 防御系統下的攻擊評估

面對不同類型的攻擊策略,學者們提出了不同的防御手段,其中,對抗訓練被廣泛認為是最有效的方法。文獻[7]首先提出對抗性訓練作為提高深度神經網絡魯棒性的有效方法,文獻[24]將其擴展到集成對抗性學習,文獻[8]也提出針對更強攻擊方法的魯棒網絡。本文選擇3 種流行的對抗性訓練方法來提高目標模型的魯棒性:1)使用FGSM 進行對抗性訓練;2)集成對抗性訓練;3)使用PGD 進行迭代式對抗性訓練。假設攻擊者并不知道防御模型,并使用白盒設置中的普通目標模型作為目標,直接嘗試攻擊原始的學習模型,在這種情況下,如果攻擊者仍然可以成功攻擊模型,就表明攻擊策略具有很強的魯棒性。

首先不考慮任何防御,應用不同的攻擊方法在原始模型的基礎上生成對抗性樣本,然后應用不同的防御方法來直接防御這些對抗性的實例以得到魯棒模型。將本文所提算法與FGSM、CW 攻擊、PGD 攻擊、AdvGAN、AI-GAN 一起對這些防御方法進行攻擊,定量比較結果如表5 所示。從表5 可以看出,本文所提算法具有最高的攻擊成功率,優于所有其他算法。與傳統的攻擊方法和AdvGAN 相比,AIGAN 和本文算法在2 個數據集的不同模型、不同防御下都取得了更高的攻擊成功率。與AI-GAN 相比,本文所提算法攻擊成功率高出10.74%~55.14%,展現出其良好的攻擊能力。

表5 在防御模型上不同算法的攻擊性能比較Table 5 Comparison of attack performance of different algorithms on defense models %

3.3 ImageNet 實驗評估

為了評估本文所提算法生成高分辨率對抗樣本的能力,針對復雜數據集進行相關實驗,研究所提算法的有效性和可擴展性。從ImageNet-1000k 數據集中隨機選擇100 個類別,每個類別含有600 張圖像(輸入大小為224×224 像素)進行對抗攻擊實驗。為了減輕訓練壓力,在進行有目標攻擊時,從100 個目標中隨機選擇10 個目標進行訓練。在訓練好攻擊模型參數后,為測試數據集中的每個樣本隨機選擇一個不同于其真實類別的目標標簽,然后采用FGSM、PGD、本文算法進行有目標攻擊測試,統計攻擊所需總時長以及攻擊成功率,實驗結果如表6所示。從表6 可以看出:雖然FGSM 作為經典且簡單有效的對抗攻擊算法,在MNIST 和CIFAR10 數據集上有著較高的攻擊能力和生成速率,但對于ImageNet 這種較大尺寸和多目標類別的數據集,其攻擊性能明顯下降,有目標攻擊的成功率只有28.76%;相比于FGSM,基于迭代的PGD 攻擊具有更強的攻擊能力,但其生成對抗樣本的時間也成倍增加;本文算法相比于PGD 攻擊不僅具有更高的攻擊成功率,同時具有更快的生成速率。

表6 在ImageNet 數據集上不同算法的攻擊性能比較 Table 6 Comparison of attack performance of different algorithms on ImageNet dataset

本文算法的攻擊性能不僅體現在高攻擊成功率上,還體現在生成的對抗樣本具有高可視質量。如圖5 所示,圖中第1 行表示從測試集中隨機選取的干凈樣本,第2 行表示使用本文算法生成的對抗擾動的可視圖像,第3 行表示施加了對抗擾動的對抗樣本。由于訓練過程中相似度損失函數和感知損失函數的約束,模型學習到了更高級的對抗擾動,能夠改變原始圖像的亮度(如第1 列和第2 列示例),或者改變原始圖像的顏色(如第3 列和第4 列示例),或者改變原始圖像的紋理特征(如第5 列和第6 列示例)。傳統方法生成的對抗擾動通常表現為無規律的雜亂無章的噪聲點,會嚴重影響干凈樣本的清晰度,而本文算法針對干凈樣本和目標標簽生成的對抗樣本看起來更加自然,更符合人類視覺的觀感特性。

圖5 ImageNet 數據集的對抗樣本示例Fig.5 Example of adversarial samples of ImageNet dataset

4 結束語

本文提出一種基于Transformer 和GAN 的對抗樣本生成算法Trans-GAN。利用Transformer 架構作為GAN 的生成器,同時接收干凈圖像和目標標簽作為輸入,提出改進的注意力機制Targeted Self-Attention,有針對性地生成對抗性擾動,并施加到干凈圖像上生成對抗樣本。將生成網絡與鑒別器進行聯合訓練,以實現快速收斂,同時使得對抗樣本和干凈樣本不可區分。實驗結果表明,相比FGSM、PGD等算法,Trans-GAN 算法生成的對抗樣本可視質量更高,圖像更為自然,且在各個攻擊目標類別上具有較高的攻擊成功率,有更好的遷移性能,能夠滿足復雜應用場景的需求。但是,通過定性實驗結果發現,本文算法針對同一目標類別生成的對抗擾動具有相似的紋理特征,因此,下一步將研究如何快速有效地生成通用擾動。

猜你喜歡
鑒別器類別擾動
基于多鑒別器生成對抗網絡的時間序列生成模型
Bernoulli泛函上典則酉對合的擾動
(h)性質及其擾動
衛星導航信號無模糊抗多徑碼相關參考波形設計技術*
小噪聲擾動的二維擴散的極大似然估計
陣列天線DOA跟蹤環路鑒別器性能分析
服務類別
用于光伏MPPT中的模糊控制占空比擾動法
論類別股東會
中醫類別全科醫師培養模式的探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合