沈志東,岳恒憲
(武漢大學(xué) 國家網(wǎng)絡(luò)安全學(xué)院,武漢 430000)
對(duì)抗樣本是通過向輸入的樣本添加一個(gè)細(xì)微的擾動(dòng)來增加機(jī)器學(xué)習(xí)模型產(chǎn)生的損失[1-2],導(dǎo)致模型以高置信度給出一個(gè)錯(cuò)誤的輸出。目前的機(jī)器學(xué)習(xí)模型,即使是最先進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)都無法正確分類對(duì)抗樣本。對(duì)抗訓(xùn)練(Adversarial Training,AT)是訓(xùn)練模型可以正確分類未修改的原始樣本和對(duì)抗樣本的過程,不僅能夠提高神經(jīng)網(wǎng)絡(luò)的魯棒性,而且還能夠增強(qiáng)模型的泛化性能。
與圖像分類領(lǐng)域取得的成功不同,AT 不能直接應(yīng)用于自然語言處理(Natural Language Processing,NLP)分類中的任務(wù),這主要是因?yàn)槠錈o法為NLP 中的任務(wù)計(jì)算擾動(dòng)輸入,輸入由離散符號(hào)組成,而不是在圖像處理中使用的連續(xù)空間。文獻(xiàn)[3]提出一種新的策略來改進(jìn)NLP 任務(wù)的對(duì)抗訓(xùn)練,即將對(duì)抗訓(xùn)練應(yīng)用于連續(xù)的詞嵌入空間,而不是文本的離散輸入空間。該方法的優(yōu)點(diǎn)是保留了圖像處理領(lǐng)域的背景,并且具有正則化的效果,顯著提高了任務(wù)性能,并在多個(gè)文本分類任務(wù)中實(shí)現(xiàn)了最優(yōu)的性能,它的另一個(gè)顯著優(yōu)勢(shì)是架構(gòu)簡(jiǎn)潔,因?yàn)橹恍枰ㄟ^損失函數(shù)的梯度來獲得對(duì)抗擾動(dòng)。梯度計(jì)算是在模型訓(xùn)練期間更新模型參數(shù)的標(biāo)準(zhǔn)計(jì)算過程,可以以較小的計(jì)算成本在詞嵌入空間中獲得對(duì)抗擾動(dòng),而無須添加任何額外的復(fù)雜架構(gòu)。
以往的研究主要是將對(duì)抗訓(xùn)練應(yīng)用于圖像分類任務(wù)中。對(duì)抗性擾動(dòng)通常涉及對(duì)許多真實(shí)值輸入的較小修改,對(duì)于文本分類,輸入是離散的,通常表示為一維獨(dú)熱向量。由于一維獨(dú)熱向量集不允許無限小的擾動(dòng),因此將擾動(dòng)添加在連續(xù)的詞嵌入而不是離散的詞輸入。傳統(tǒng)的對(duì)抗訓(xùn)練可以解釋為正則化策略[1-2],也可以解釋為對(duì)能夠提供惡意輸入的對(duì)手的防御。
特定的攻擊算法不會(huì)生成所有可能的對(duì)抗樣本,解決內(nèi)部最大化問題是AT 成功的關(guān)鍵。文獻(xiàn)[4-5]方法訓(xùn)練多種攻擊手段,可以看作是對(duì)文獻(xiàn)[6]內(nèi)部問題的更詳細(xì)描述,但仍然缺乏對(duì)許多不同攻擊方法的準(zhǔn)確描述。由于文本不能像圖像一樣直接進(jìn)行處理,主要是因?yàn)槲谋静皇沁B續(xù)變量的,只有將文本通過嵌入層后才能如AT[7]那樣連續(xù)解決文本對(duì)抗分布訓(xùn)練(Textual Adversarial Distribution Training,TADT)的最小化問題。
本文提出一種基于概率分布式訓(xùn)練的文本對(duì)抗訓(xùn)練方法,旨在提高神經(jīng)網(wǎng)絡(luò)的魯棒性和泛化能力。通過將每個(gè)輸入示例的對(duì)抗分布最大化,并最小化對(duì)抗分布的預(yù)期損失,使用可訓(xùn)練參數(shù)的對(duì)抗分布,引入熵的正則化項(xiàng)來防止對(duì)抗分布坍縮為一個(gè)點(diǎn),并通過生成模型直接生成對(duì)抗分布的參數(shù),降低訓(xùn)練成本,改善深度學(xué)習(xí)模型在面對(duì)不同攻擊時(shí)的防御性能。
對(duì)抗樣本最初是由SZEGEDY 等[1]在2013 年提出并定義的。對(duì)抗樣本是在輸入數(shù)據(jù)上人為加入人類視覺無法察覺的非隨機(jī)擾動(dòng),以改變目標(biāo)模型的推理結(jié)果。文獻(xiàn)[8]基于盲點(diǎn)假設(shè)提出一種Limitedmemory BFGS(L-BFGS)算法來生成對(duì)抗樣本。文獻(xiàn)[2]基于線性假設(shè)利用損失函數(shù)在原始圖像像素值上的梯度來降低損失函數(shù)值,并通過優(yōu)化提出一種計(jì)算成本大幅降低的快速梯度符號(hào)法(Fast Gradient Sign Method,F(xiàn)GSM)。之后基于FGSM 方法衍生出許多算法:如迭代梯度符號(hào)法(I-FGSM)[9]、動(dòng)量迭代快速梯度符號(hào)法(MI-FGSM)[10]等。另外,一些基于梯度掩蔽來防御白盒攻擊的算法被提出,最具代表性的如防御性蒸餾方法[11]。此后,對(duì)抗樣本的攻防不斷迭代。基于優(yōu)化的C&W 攻擊[12]打破了實(shí)現(xiàn)梯度掩蔽的防御蒸餾,解決了FGSM[13]中的一些基本缺陷。文獻(xiàn)[14]利用對(duì)抗樣本與正常樣本的數(shù)據(jù)差異進(jìn)行檢測(cè),重新設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)或增加網(wǎng)絡(luò)子模塊,消除了對(duì)抗干擾,將對(duì)抗樣本恢復(fù)為正常數(shù)據(jù)[15]。
在對(duì)抗樣本的攻防發(fā)展中,由于研究人員制定的指標(biāo)和標(biāo)準(zhǔn)不統(tǒng)一,衡量各自算法的優(yōu)劣成為制約對(duì)抗樣本研究發(fā)展的重要因素。為此,研究人員將他們的算法應(yīng)用到各種競(jìng)賽中,如NIPS 對(duì)抗樣本攻防[16]、GeekPwn 的CAAD 對(duì)抗樣本攻防、IJCAI 對(duì)抗樣本競(jìng)賽等。大量的攻防算法在這些比賽中得到了充分的驗(yàn)證,很多算法也成為了后續(xù)研究的基礎(chǔ),極大地促進(jìn)了對(duì)抗樣本的發(fā)展,比如著名的ATN 全卷積對(duì)抗樣本生成網(wǎng)絡(luò)就是通過生成對(duì)抗網(wǎng)絡(luò)不斷訓(xùn)練得到的。對(duì)抗樣本生成器可以批量生成對(duì)抗樣本,大幅壓縮了以往攻擊所需的計(jì)算時(shí)間,成為基于生成器的對(duì)抗樣本攻擊算法中極具啟發(fā)性的算法。
近年來,基于深度學(xué)習(xí)技術(shù)本身可能存在的內(nèi)在缺陷,研究人員進(jìn)行了更加深入的分析和研究。由于深度模型具有黑盒特性,因此提高模型的可解釋性可以解決基于對(duì)抗樣本的AI 安全問題[10,17]。由于對(duì)抗樣本是可遷移的,因此了解特征的生成方式至關(guān)重要[18-20],研究人員已經(jīng)從理論上證明了模型的魯棒性或安全邊界。然而,對(duì)抗樣本的根本原因當(dāng)前尚無定論和發(fā)展,例如QIN 等[21]否定了之前局部線性導(dǎo)致對(duì)抗樣本的觀點(diǎn),證明了局部線性的特性可以提高魯棒性。一般來說,大多數(shù)人認(rèn)為魯棒性和準(zhǔn)確性之間存在平衡,引入對(duì)抗性訓(xùn)練會(huì)降低原始數(shù)據(jù)的準(zhǔn)確性。然而,XIE 等[22]的研究結(jié)果表明,對(duì)抗訓(xùn)練可以同時(shí)提高模型的準(zhǔn)確性和魯棒性,他們觀察到之前結(jié)合干凈樣本和對(duì)抗樣本的方法都沒有提前進(jìn)行區(qū)分,因此提出一種新的訓(xùn)練方案,即用兩個(gè)簡(jiǎn)單但是高效的批歸一化層分離兩個(gè)文本對(duì)抗分布,能夠通過對(duì)抗樣本改進(jìn)模型。但是,提高模型的魯棒性和對(duì)不同攻擊的泛化性,仍需進(jìn)一步探索。
本文主要考慮的是標(biāo)準(zhǔn)分類任務(wù),其基礎(chǔ)數(shù)據(jù)集D分布在成對(duì)的示例xi?Rd和相應(yīng)的標(biāo)簽yi?[k]上。AT 可以表述為極小極大問題,即:
其中:fθ表示參數(shù)為θ的神經(jīng)網(wǎng)絡(luò)模型,其輸出是所有類的概率;S={δ:‖δ‖∞≤?}是一個(gè)擾動(dòng)集,?>0;L為損失函數(shù);n為類別數(shù)。本文方法還可以擴(kuò)展到其他威脅模型,如L2 范數(shù)。
極小極大問題通常是順序求解的,即首先通過求解內(nèi)部最大化來生成對(duì)抗樣本,然后根據(jù)生成的對(duì)抗樣本優(yōu)化模型參數(shù)。本文考慮一個(gè)基于單詞替換的簡(jiǎn)單模型,其中輸入句子中的每個(gè)單詞都可以被其同義詞替換。給定一個(gè)句子和一組同義詞,確保使用對(duì)抗訓(xùn)練的模型預(yù)測(cè)不會(huì)被基于單詞替換的任何擾動(dòng)所改變。然而,由于可能擾動(dòng)的數(shù)量隨句子長(zhǎng)度呈指數(shù)增長(zhǎng),因此數(shù)據(jù)擴(kuò)充無法覆蓋輸入句子的所有擾動(dòng)。
如前文所述,對(duì)抗訓(xùn)練雖然有效,但并非沒有問題。針對(duì)特定攻擊的對(duì)抗訓(xùn)練可能會(huì)導(dǎo)致模型過度擬合某種攻擊方式[9,23-25],影響訓(xùn)練模型抵抗其他攻擊的能力,這主要是因?yàn)閱我坏墓羲惴o法探索對(duì)抗空間中所有可能的擾動(dòng),降低了模型的泛化性[23,26]。為了解決這些問題,本文通過文本對(duì)抗分布訓(xùn)練來計(jì)算每個(gè)輸入對(duì)抗性擾動(dòng)的分布,而不是僅找到局部最優(yōu)解。本文從p(δi)中采樣的對(duì)抗分布被添加到每個(gè)自然示例xi中形成對(duì)抗樣本,其中p(δi)包含在S中。假設(shè)給定一個(gè)合適的損失函數(shù)L(θ,x,y),例如神經(jīng)網(wǎng)絡(luò)的交叉熵?fù)p失函數(shù),通常θ?RP是模型參數(shù)集。本文的目標(biāo)是找到能使期望E(x,y)~D[L(θ,x,y)]最小化的模型參數(shù)θ:
其中:P={p:supp(p)?S}是一組支撐包含在S中的分布。式(2)的內(nèi)部最大化目標(biāo)是學(xué)習(xí)一個(gè)對(duì)抗分布,該分布中的任何一點(diǎn)都是這個(gè)樣本的對(duì)抗樣本。相反,外部最小化的目標(biāo)是通過最小化由內(nèi)部問題引起的最壞情況對(duì)抗分布的預(yù)期損失來訓(xùn)練模型的魯棒性。值得注意的是,AT 是TADT 的特例,是指分布族P只包含delta 分布時(shí)的特例。
對(duì)于TADT 的內(nèi)部最大化,即:
從式(3)可以看出,通過解決TADT 的內(nèi)部問題獲得的最優(yōu)分布有可能退化為delta 分布,這將導(dǎo)致對(duì)抗分布無法覆蓋更多的對(duì)抗樣本,TADT 變?yōu)榱薃T。為了解決這個(gè)問題,在目標(biāo)中添加了一個(gè)熵的正則化項(xiàng),即:
其中:H(p(δi)) 是p(δi)的熵;λ是平衡 超參數(shù);L(p(δi),θ)表示整體損失函數(shù)。為了防止整個(gè)分布退化為一個(gè)點(diǎn),通過加入熵λH(p(δi))來防止這種情況發(fā)生。
在圖像對(duì)抗攻擊中,只需改變圖片中的一個(gè)或幾個(gè)像素點(diǎn)就可達(dá)到攻擊者的目的。在文本攻擊中,可以通過僅改變?cè)~嵌入向量中的某些元素來實(shí)現(xiàn)攻擊者的目標(biāo)。因此,在對(duì)抗訓(xùn)練中,希望能夠訓(xùn)練分類器,使其對(duì)嵌入的擾動(dòng)具有魯棒性。
由于在預(yù)訓(xùn)練的詞向量空間中同義詞的詞向量之間的距離很近,可以認(rèn)為每個(gè)樣本都有一個(gè)對(duì)抗分布空間,這個(gè)空間中的每個(gè)點(diǎn)都是它的對(duì)抗樣本。將T個(gè)單詞的序列表示為{w(t)|t=1,2,…,T},并將相應(yīng)的目標(biāo)表示為y。為了將離散詞輸入轉(zhuǎn)換為連續(xù)向量,將詞嵌入矩陣定義為V?R(K+1)×D,其中,K是詞匯表中的詞數(shù),每行vk對(duì)應(yīng)于第i個(gè)詞的詞嵌入。
僅通過一種攻擊方式來增加對(duì)抗擾動(dòng)是有缺陷的,由于它只能防御這一種攻擊方式。因此,需要為每個(gè)樣本添加一個(gè)對(duì)抗擾動(dòng)分布。本文的目標(biāo)就是找到每個(gè)樣本的對(duì)抗分布。
對(duì)輸入數(shù)據(jù)周圍的對(duì)抗空間建模的方法是具有顯式密度函數(shù)的對(duì)抗分布TADTEXP。為了定義pΦi(δi)在S上的適當(dāng)分布,本文采用隨機(jī)變量的變換,如式(5)所示:
其中:Ui是從均值為μi和標(biāo)準(zhǔn)差為σi?Rd的正態(tài)分布中采樣得到的,Ui在通過tanh 函數(shù)轉(zhuǎn)換后乘以?得到δi。本文定義的顯式對(duì)抗分布首先假設(shè)每個(gè)維度的均值和標(biāo)準(zhǔn)差滿足|μi,j| 為了解決內(nèi)部問題,需要估計(jì)參數(shù)?i上預(yù)期損失的梯度。一種常見的方法是低方差重參數(shù)化技術(shù)[5,12],如圖1 所示,用相應(yīng)的可微分變換代替目標(biāo)變量的采樣過程。運(yùn)用該技術(shù),梯度可以直接從樣本反向傳播到分布參數(shù)。在本文方法中,通過δi=?·tanh (ui)=?·tanh (μi+σir)重新參數(shù)化?i,其中,r是遵循標(biāo)準(zhǔn)高斯分布N(0,1)的輔助噪聲向量。增加的熵的正則化項(xiàng)變?yōu)椋?/p> 式(7)是對(duì)數(shù)密度(即熵)的估計(jì)。在實(shí)際中,可以通過蒙特卡羅采樣逼近式(6)中的期望,并繼續(xù)對(duì)?i執(zhí)行T步梯度上升來解決內(nèi)部問題。在獲得最優(yōu)參數(shù)后,再使用對(duì)抗分布更新模型參數(shù)θ。 TADT 方法的核心是內(nèi)部最大化問題的求解,形式化表示見式(6)。本文的基本思想是用可訓(xùn)練參數(shù)Φi重參數(shù)化內(nèi)部問題的分布。運(yùn)用參數(shù)化pΦi(δi),內(nèi)部問題轉(zhuǎn)化為最大化預(yù)期損失Φi。 與圖像領(lǐng)域不同,組成文本的詞語一般都是以 獨(dú)熱向量或者是詞索引向量來表示的,可以視作是離散的,而非圖像中連續(xù)的RGB 值,如果直接在原始文本上進(jìn)行擾動(dòng),則有可能擾動(dòng)的方向和大小都沒有任何明確的語義對(duì)應(yīng),但詞嵌入表示可以是連續(xù)的,因此需要對(duì)文本進(jìn)行一些處理。如上所述,本文將對(duì)抗性擾動(dòng)直接應(yīng)用于詞嵌入,而不再是應(yīng)用于原始輸入。為了定義詞嵌入的對(duì)抗性擾動(dòng),表示一個(gè)串聯(lián)[vˉ1,vˉ2,…,vˉT]的詞嵌入向量序列(歸一化)為s、y,其中模型條件概率p(y|s;θ)給定s,θ是模型參數(shù),那么s上的對(duì)抗擾動(dòng)rTADT定義為: 為了使式(8)中定義的對(duì)抗性擾動(dòng)具有魯棒性,本文將對(duì)抗損失定義為: 其中:N是標(biāo)記示例的數(shù)量。在本文的實(shí)驗(yàn)中,對(duì)抗訓(xùn)練是指使用隨機(jī)梯度下降[29]負(fù)對(duì)數(shù)似然加上LTADT。這里需要計(jì)算最小化損失函數(shù)的擾動(dòng)分布,選擇負(fù)對(duì)數(shù)是為了改變梯度方向,選擇朝著梯度上升的方向添加擾動(dòng),將這樣的擾動(dòng)分布輸入模型進(jìn)行訓(xùn)練,再進(jìn)行反向傳播更新模型參數(shù),從而達(dá)到提升模型魯棒性的目的。 AT 和TADT 之間的主要區(qū)別在于:對(duì)于每個(gè)自然輸入xi,AT 找到一個(gè)最壞情況的對(duì)抗樣本,TADT學(xué)習(xí)包含各種對(duì)抗樣本的最壞情況的對(duì)抗分布。由于可以通過多種攻擊生成對(duì)抗樣本,本文預(yù)計(jì)這些對(duì)抗樣本可能位于對(duì)抗分布的高概率區(qū)域,因此最小化該分布的預(yù)期損失會(huì)導(dǎo)致訓(xùn)練好的分類器具有更好的泛化能力,并可以使模型抵抗交叉攻擊。此外,在式(4)中添加了一個(gè)熵的正則化項(xiàng),以防止對(duì)抗性分布退化為單一的對(duì)抗性訓(xùn)練,與概率加權(quán)詞顯著性(Probability Weighted Word Saliency,PWWS)等單一攻擊方法相比,發(fā)現(xiàn)了更多的對(duì)抗樣本。文本對(duì)抗分布訓(xùn)練也考慮了同義詞嵌入向量的相似性,具有更好的泛化能力。最大限度地減少這些不同對(duì)抗樣本的損失,有助于在輸入的自然樣本周圍學(xué)習(xí)更平滑、更平坦的損失曲面。因此,TADT 比AT更能提高整體魯棒性。 算法1TADT 的通用算法 輸入訓(xùn)練數(shù)據(jù)D,損失函數(shù)L(p(δi),θ),每次梯度估計(jì)的蒙特卡羅采樣次數(shù)k,訓(xùn)練批次N,學(xué)習(xí)率η 輸出準(zhǔn)確率 1.將文本的獨(dú)熱向量轉(zhuǎn)化為詞嵌入向量W,初始化模型參數(shù)θ 2.初始化rTADT 3.用式(9)計(jì)算k 次蒙特卡羅損失 4.更新rTADT 5.使用隨機(jī)梯度下降法更新模型參數(shù)θ 第3.3 節(jié)提到的算法為TADT 提供了一種學(xué)習(xí)顯式概率分布的簡(jiǎn)單方法,但它需要計(jì)算每個(gè)輸入樣本的分布參數(shù),進(jìn)行多次迭代,時(shí)間開銷太大。與之前基于對(duì)抗性攻擊的AT 相比,TADTEXP大約慢k倍,因?yàn)?i梯度的每一步都需要k次蒙特卡羅采樣。本節(jié)提出一種效率更高的訓(xùn)練方法,能夠直接生成TADTEXP參數(shù)(μi,σi)的內(nèi)部分布,并將此方法命名為TADTEXP-GE。 本文沒有繼續(xù)選擇去學(xué)習(xí)每個(gè)數(shù)據(jù)xi可能存在的概率分布,而是選擇去學(xué)習(xí)映射g?:Rd→P,它定義了對(duì)抗分布p?(δi|xi)以條件概率的方式作為每個(gè)輸入。本文通過映射生成器網(wǎng)絡(luò)實(shí)例化g?,以樣本xi作為輸入,輸出參數(shù)為(μi,σi)。這種方法的特點(diǎn)是生成器網(wǎng)絡(luò)可以直接學(xué)習(xí)給定樣本的擾動(dòng)空間概率分布的參數(shù),而不需要進(jìn)行多次采樣[3,30],即不再需要對(duì)每個(gè)數(shù)據(jù)xi進(jìn)行過度優(yōu)化,可節(jié)省大量時(shí)間。 在TADTEXP-GE對(duì)抗訓(xùn)練中,由于分布未知,假設(shè)每個(gè)樣本服從正態(tài)分布,并將TADT 的極小極大問題重寫為: 本節(jié)用VAE[31]來實(shí)現(xiàn)生成器網(wǎng)絡(luò),通過它可以直接計(jì)算得到每個(gè)輸入樣本對(duì)抗分布的參數(shù)。此外,該目標(biāo)還是數(shù)據(jù)真實(shí)對(duì)數(shù)似然的有效下界。 本節(jié)在文本分類的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),使用CNN 和LSTM 兩個(gè)神經(jīng)網(wǎng)絡(luò)模型來評(píng)估本文提出的TADT方法和其他防御方法的性能,如圖2所示,圖2(a)是基于CNN 網(wǎng)絡(luò)架構(gòu),圖2(b)是基于LSTM 網(wǎng)絡(luò)架構(gòu)。實(shí)驗(yàn)通過多種攻擊方法進(jìn)行測(cè)試。 圖2 神經(jīng)網(wǎng)絡(luò)模型整體架構(gòu)Fig.2 Overall architecture of neural network model 文獻(xiàn)[32]描述一種概率加權(quán)詞顯著性(PWWS)的貪心算法,并在同義詞替換策略的基礎(chǔ)上,提出一種由詞性顯著性和分類概率確定的詞替換方法,將PWWS 算法作為對(duì)樣本進(jìn)行詞級(jí)擾動(dòng)的手段,使用GA 對(duì)擾動(dòng)后的樣本進(jìn)行優(yōu)化。文獻(xiàn)[33]提出一種基于梯度下降的攻擊方法UAT,并給出基于令牌的梯度引導(dǎo)搜索方法。本節(jié)對(duì)每個(gè)數(shù)據(jù)集隨機(jī)選擇的1 000 個(gè)測(cè)試樣本采用PWWS、GA 和UAT 3 種攻擊算法測(cè)試它們對(duì)對(duì)抗攻擊的防御性能,并與對(duì)抗訓(xùn)練(ADV)[34]、基于間隔傳播(IBP)等防御方法[35]進(jìn)行比較。 本節(jié)首先在互聯(lián)網(wǎng)電影數(shù)據(jù)庫(IMDB)[23]文本分類數(shù)據(jù)集上進(jìn)行訓(xùn)練,分別使用LSTM 和CNN兩個(gè)模型完成文本分類任務(wù)。LSTM 首先通過詞嵌入網(wǎng)絡(luò)將每個(gè)輸入詞轉(zhuǎn)化為近似連續(xù)可微分的向量,然后根據(jù)具有D維隱藏狀態(tài)的雙向遞歸神經(jīng)網(wǎng)絡(luò),在訓(xùn)練過程中計(jì)算出每個(gè)詞的對(duì)抗分布,在得到每個(gè)詞的對(duì)抗分布模型后訓(xùn)練網(wǎng)絡(luò)參數(shù)。CNN 與LSTM 模型流程類似,通過預(yù)訓(xùn)練的GloVe[36]詞嵌入模型得到單詞的詞向量。TADT 模型使用對(duì)抗分布損失進(jìn)行訓(xùn)練,且它們的超參數(shù)在驗(yàn)證集上進(jìn)行調(diào)整。表1 和表2 所示為CLN 干凈數(shù)據(jù)集與PWWS、GA 和UAT 3 種攻擊算法在CNN 和LSTM 模型上的準(zhǔn)確率。 表1 不同方法在CNN 模型上的準(zhǔn)確率 Table 1 Accuracy of different methods on CNN model % 表2 不同方法在LSTM 模型上的準(zhǔn)確率 Table 2 Accuracy of different methods on LSTM model % 從表1 和表2 可以看出,TADT 在干凈數(shù)據(jù)集上的精確率優(yōu)于ADV 和IBP,并且在所有攻擊算法下的準(zhǔn)確率也是最優(yōu)的。在文本分類中,LSTM 比CNN 模型更容易受到對(duì)抗性攻擊。在GA 算法的攻擊下,ORIG、ADV、IBP 和RAN 訓(xùn)練的LSTM 準(zhǔn)確率分別為0.2%、32.0%、64.3% 和35.5%,而TADT 訓(xùn)練的LSTM 準(zhǔn)確率仍然可以達(dá)到82.9%。由于IMDB 中句子的平均長(zhǎng)度為255 個(gè)單詞,句子越長(zhǎng),對(duì)手可以對(duì)基于單詞替換的擾動(dòng)就越多??偟貋碚f,TADT 在CLN 干凈數(shù)據(jù)集上優(yōu)于IBP,與ADV相當(dāng),并且在所有攻擊方式下都優(yōu)于其他防御方法。結(jié)果表明,本文TADT 方法具有更高的性能和更好的魯棒性。 本文方法在TADTEXP中計(jì)算每個(gè)樣本的對(duì)抗分布時(shí),對(duì)每個(gè)樣本分布的估計(jì)都需要進(jìn)行k次采樣,并進(jìn)行T次梯度上升,這會(huì)耗費(fèi)大量時(shí)間,使訓(xùn)練時(shí)間成倍增加,消耗大量的計(jì)算資源。本文在TADTEXP-GE中添加了一個(gè)VAE 網(wǎng)絡(luò),減少了上述的k次采樣步驟,在相同條件下訓(xùn)練時(shí)間要少得多。一般來說,在給定相同的網(wǎng)絡(luò)結(jié)構(gòu)的情況下,使用TADTEXP增強(qiáng)模型魯棒性的訓(xùn)練時(shí)間比TADTEXP-GE的訓(xùn)練時(shí)間慢4~5 倍。表3 所示為TADTEXP-GE訓(xùn)練方式的性能提升??梢钥闯觯琓ADTEXP-GE效率明顯提高。 表3 兩種訓(xùn)練方式的性能提升 Table 3 Performance improvement of the two training methods 本節(jié)對(duì)TADT 進(jìn)行消融實(shí)驗(yàn),分析TADT 面對(duì)不同變化的穩(wěn)健性和泛化性能。消融實(shí)驗(yàn)結(jié)果如表4所示,其中,w/o PRE 表示原始模型在對(duì)抗性攻擊下的準(zhǔn)確性,ADV 對(duì)抗訓(xùn)練算法的原始模型表示為w/o ADV-TRAIN,TADT 為使用本文方法進(jìn)行訓(xùn)練的原始模型。 表4 消融實(shí)驗(yàn)結(jié)果 Table 4 Results of ablation experiment % 從表4 可以看出,由于沒有使用對(duì)抗防御算法,在沒有任何保護(hù)下,原始模型受影響最大。在相同的神經(jīng)網(wǎng)絡(luò)模型下,與TADT 相比,在PWWS、GA 和UAT 算法攻擊下,w/o PRE 準(zhǔn)確率分別下降了50.4%、63.2%和34.2%,w/o ADV-TRAIN 準(zhǔn)確率分別下降了30.5%、43.7%和30.2%。 本文選擇同義詞替換攻擊,主要是因?yàn)樗亲钣杏绊懥褪褂米顝V泛的文本對(duì)抗攻擊方法之一。目前基于這種思路的攻擊方法較多,例如HotFlip[37]、PWWS[32]、GA[36]、TextWitter[38]等。另外,本文還 針對(duì)基于梯度下降的攻擊方法進(jìn)行測(cè)試,證明該方法也是非常有效的。 本文基于文本分類任務(wù)提出一種基于分布式擾動(dòng)的防御對(duì)抗攻擊方法,能夠在不犧牲性能的情況下大幅提高正確分類對(duì)抗樣本的準(zhǔn)確性。TADT 是一種用于文本對(duì)抗分布的方法,可在熵的正則化下描述自然樣本周圍的對(duì)抗樣本。實(shí)驗(yàn)結(jié)果表明,使用對(duì)抗分布訓(xùn)練的分類模型在具有不同網(wǎng)絡(luò)結(jié)構(gòu)的數(shù)據(jù)集上優(yōu)于其他對(duì)抗防御方法。下一步將對(duì)更多文本分類模型進(jìn)行訓(xùn)練研究,將本文方法擴(kuò)展到其他文本分類任務(wù)中。3.2 文本對(duì)抗分布訓(xùn)練
3.3 TADTEXP的通用算法
4 對(duì)抗訓(xùn)練時(shí)間復(fù)雜度的改善
5 實(shí)驗(yàn)
5.1 文本分類實(shí)驗(yàn)
5.2 訓(xùn)練性能
5.3 消融實(shí)驗(yàn)
6 結(jié)束語