王曉娟
(安徽理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001)
近年來(lái),深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNNs)在眾多領(lǐng)域得到了廣泛應(yīng)用,如計(jì)算機(jī)視覺,自然語(yǔ)言處理等。然而,大量的研究表明DNN容易受到對(duì)抗攻擊,即通過(guò)在原始輸入中添加微小的擾動(dòng)誤導(dǎo)DNN 做出錯(cuò)誤預(yù)測(cè)。在廣泛使用DNN 的自然語(yǔ)言處理(Natural Language Processing,NLP)領(lǐng)域,垃圾郵件過(guò)濾,惡意軟件檢測(cè)和情感分析等實(shí)用系統(tǒng)應(yīng)用廣泛,與此同時(shí),其安全問(wèn)題也越來(lái)越受關(guān)注。因此,對(duì)抗攻擊的研究具有重要意義。
現(xiàn)有的文本對(duì)抗攻擊方法按攻擊時(shí)修改內(nèi)容的粒度分為三類:字符級(jí)對(duì)抗攻擊,詞級(jí)對(duì)抗攻擊以及句級(jí)對(duì)抗攻擊。其中,字符級(jí)對(duì)抗攻擊主要思路是改變單詞中不起眼的字母,使單詞在預(yù)測(cè)時(shí)失效,如Gao 等人通過(guò)替換、插入、刪除、交換字符來(lái)構(gòu)造對(duì)抗樣本;句級(jí)對(duì)抗攻擊主要是通過(guò)增加句子或者是對(duì)整個(gè)原始句子進(jìn)行修改來(lái)構(gòu)造對(duì)抗樣本,如Wang 等人通過(guò)在段尾添加句子的方式構(gòu)建對(duì)抗樣本,以達(dá)到欺騙機(jī)器閱讀理解模型的目的;詞級(jí)對(duì)抗攻擊主要是通過(guò)增刪和替換單詞來(lái)構(gòu)造對(duì)抗樣本,如Ren 等人和Jin 等人通過(guò)確定原始輸入中單詞的重要性分?jǐn)?shù),選擇關(guān)鍵單詞進(jìn)行同義詞替換的方式使目標(biāo)模型做出錯(cuò)誤預(yù)測(cè)。字符級(jí)對(duì)抗樣本的構(gòu)造往往會(huì)引入語(yǔ)法錯(cuò)誤,容易被語(yǔ)法檢查器識(shí)別;句級(jí)對(duì)抗樣本擾動(dòng)粒度較大,容易加劇與原始句子之間的語(yǔ)義相似度差距;相比之下,詞級(jí)對(duì)抗攻擊的擾動(dòng)率相對(duì)較小且具有更少的語(yǔ)法錯(cuò)誤。
現(xiàn)有的文本對(duì)抗攻擊場(chǎng)景分為黑盒和白盒。其中,白盒攻擊需要訪問(wèn)目標(biāo)模型的參數(shù),損失函數(shù)等構(gòu)造對(duì)抗樣本,這類攻擊的計(jì)算成本很高,需要了解模型的內(nèi)部細(xì)節(jié),而這在大多數(shù)真實(shí)場(chǎng)景中是無(wú)法獲得的。黑盒攻擊僅使用目標(biāo)模型預(yù)測(cè)的置信度分?jǐn)?shù)或分類概率來(lái)構(gòu)造對(duì)抗樣本,相比較白盒攻擊而言,黑盒攻擊更具有現(xiàn)實(shí)價(jià)值。Ren 等人和Jin等人使用單詞重要性分?jǐn)?shù)來(lái)對(duì)單詞進(jìn)行排序,然后用相似的單詞替換它們。這里的單詞重要性分?jǐn)?shù)排序通過(guò)觀察依次對(duì)原始樣本中的單詞刪除或用其他符號(hào)替換單詞后目標(biāo)模型置信度分?jǐn)?shù)的變化來(lái)得到。這種方法存在明顯的缺點(diǎn):
(1)通過(guò)刪除每個(gè)單詞或用其他符號(hào)代替單詞來(lái)排序,可能會(huì)改變?cè)驾斎氲恼Z(yǔ)義,導(dǎo)致不清楚目標(biāo)模型置信度的變化是由于去掉單詞引起的,還是由于修改了輸入引起的;
(2)這種排序機(jī)制對(duì)于原始輸入較長(zhǎng)的情況,需要頻繁訪問(wèn)目標(biāo)模型,導(dǎo)致效率低下。
本文提出一種新的單詞排序機(jī)制,通過(guò)訓(xùn)練替代模型計(jì)算單詞重要性分?jǐn)?shù),并結(jié)合語(yǔ)義相似度分層采樣后得到的目標(biāo)模型決策概率差值對(duì)原始輸入中的單詞進(jìn)行排序,然后對(duì)排序后的單詞依次使用同義詞進(jìn)行替換,直到改變目標(biāo)模型的預(yù)測(cè)結(jié)果。本文所使用的方法是基于黑盒攻擊場(chǎng)景的詞級(jí)文本對(duì)抗攻擊,通過(guò)實(shí)驗(yàn),本文在目標(biāo)模型的訪問(wèn)頻率上與以往的方法相比,大大降低,并且攻擊成功率達(dá)到或超過(guò)之前的攻擊方法。


針對(duì)上述問(wèn)題,本文提出了一種適應(yīng)黑盒場(chǎng)景的更加有效的單詞排序和替換方法。具體而言,本文的方法主要包括兩個(gè)步驟:
(1)單詞排序,對(duì)輸入=(,,…,x)中的重要單詞進(jìn)行選擇并按其重要性程度進(jìn)行降序排序;
(2)單詞替換,對(duì)于步驟(1)中確定的重要單詞進(jìn)行同義詞替換,生成對(duì)抗樣本。本文所提方法的總體結(jié)構(gòu)圖如圖1所示。

圖1 總體結(jié)構(gòu)圖
本文從輸入 中單詞本身對(duì)分類決策的影響以及替換同義詞后對(duì)分類決策的影響兩個(gè)角度出發(fā),綜合測(cè)量單詞的重要程度后進(jìn)行排序。如何確定單詞排序的有效方式是本文探討的重點(diǎn)內(nèi)容。本文的方法是首先建立一個(gè)可解釋的替代模型,獲取單詞本身的重要性分?jǐn)?shù),即單詞重要性評(píng)分策略;然后對(duì)上述步驟中找到的重要單詞進(jìn)行同義詞替換,根據(jù)語(yǔ)義相似度分層采樣后,進(jìn)而計(jì)算目標(biāo)模型決策概率差值,即單詞替換評(píng)分策略;最后,將上述兩個(gè)步驟中得到的分?jǐn)?shù)結(jié)合后,對(duì)單詞進(jìn)行降序排序。
1.2.1 單詞重要性評(píng)分策略
黑盒場(chǎng)景相比較白盒更符合實(shí)際,而在黑盒場(chǎng)景下無(wú)法訪問(wèn)被攻擊的目標(biāo)模型的訓(xùn)練數(shù)據(jù),本文使用文獻(xiàn)[10]中的框架通過(guò)在類似的數(shù)據(jù)集上訓(xùn)練替代模型以達(dá)到模仿目標(biāo)模型決策的目的。


將個(gè)單詞的索引用表示,并且其對(duì)應(yīng)的在中的子向量表示為X。

其中∈ρ,X∈R,作為超參數(shù)進(jìn)行調(diào)整,以找到使互信息(X;)最大化的。


1.2.2 單詞替換評(píng)分策略



其中,Encoder( · )是一個(gè)通用句子編碼器,用來(lái)對(duì)句子進(jìn)行向量化;Sim( · )表示語(yǔ)義相似度函數(shù);Coc( · )表示余弦相似度計(jì)算。





合適的替換詞應(yīng)該滿足以下標(biāo)準(zhǔn):
(1)與原詞具有相同的詞性;
(2)符合上下文的語(yǔ)境;

接下來(lái)按照以下過(guò)程進(jìn)行替換:
(1)為了保證語(yǔ)法正確和語(yǔ)義流暢,將x同義詞集合中與x詞性不同的單詞過(guò)濾掉,將過(guò)濾后的同義詞集'中的每一個(gè)單詞c∈'與x進(jìn)行替換,計(jì)算其與之間的語(yǔ)義相似度,過(guò)濾掉語(yǔ)義相似度低于閾值的同義詞;
(2)依次判斷過(guò)濾后的同義詞集'中是否存在能夠改變目標(biāo)分類模型判斷結(jié)果的單詞,若存在,保留語(yǔ)義相似度最高的作為對(duì)抗樣本。若預(yù)測(cè)結(jié)果不變,則保留類別置信度最低的同義詞。按照單詞排序順序,重復(fù)執(zhí)行過(guò)程1~ 2,直到目標(biāo)分類模型判斷結(jié)果發(fā)生改變。
本文在兩個(gè)公開的文本分類任務(wù)數(shù)據(jù)集上驗(yàn)證了提出的方法的有效性:IMDB 數(shù)據(jù)集和Yelp 數(shù)據(jù)集。IMDB 數(shù)據(jù)集是一個(gè)二分類電影評(píng)論數(shù)據(jù)集,其中包括積極和消極兩個(gè)類別,將25 000 條作為訓(xùn)練集,另外25 000 條評(píng)論作為測(cè)試集,評(píng)論的平均長(zhǎng)度為215。Yelp 數(shù)據(jù)集也是一個(gè)二分類數(shù)據(jù)集,將560 000 個(gè)樣本作為訓(xùn)練集,另外38 000 個(gè)樣本作為測(cè)試集,樣本平均長(zhǎng)度為152。
本文將BERT 模型,WordLSTM 模型以及WordCNN 模型作為目標(biāo)模型,即被攻擊模型。與Jin 等人所提出的TextFooler 方法在眾多評(píng)估指標(biāo)上進(jìn)行對(duì)比。與TextFooler方法的實(shí)驗(yàn)設(shè)置一致,從IMDB 和Yelp 的測(cè)試集中分別篩選1 000 條樣本進(jìn)行實(shí)驗(yàn),將同義詞數(shù)量設(shè)為50,語(yǔ)義相似度閾值=0.7。
本文將攻擊后準(zhǔn)確率,目標(biāo)模型的平均訪問(wèn)次數(shù),單詞擾動(dòng)率作為實(shí)驗(yàn)的評(píng)估指標(biāo)。其中攻擊后準(zhǔn)確率(After-attack Accuracy,AAcc)指目標(biāo)模型對(duì)于使用本文方法所生成對(duì)抗樣本的分類準(zhǔn)確率;平均訪問(wèn)次數(shù)(Average number of Queries,Avg-Queries)指原始樣本成功轉(zhuǎn)換為對(duì)抗樣本所需要訪問(wèn)目標(biāo)模型的平均次數(shù);單詞擾動(dòng)率(Perturbed words percentage,Perturbed)用來(lái)衡量原始樣本和對(duì)抗樣本之間的相似度。這三個(gè)評(píng)估指標(biāo)的值都是越低越好。
如表1所示,與TextFooler 方法相比較,本文提出的方法在6 組實(shí)驗(yàn)中對(duì)抗攻擊成功率超過(guò)或等于TextFooler 方法,并且本文方法均取得了更低的目標(biāo)模型訪問(wèn)次數(shù),尤其在平均長(zhǎng)度較長(zhǎng)的IMDB 數(shù)據(jù)集上效果更加明顯,同時(shí)也證明了本文方法效率更高。

表1 在IMDB 和Yelp 數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果對(duì)比
本文提出了一種通過(guò)訓(xùn)練替代模型計(jì)算單詞重要性分?jǐn)?shù),并結(jié)合語(yǔ)義相似度分層采樣后得到的目標(biāo)模型決策概率差值對(duì)原始輸入中的單詞進(jìn)行排序的方法。該方法對(duì)排序后的單詞依次使用同義詞進(jìn)行替換,直到改變目標(biāo)模型的預(yù)測(cè)結(jié)果,實(shí)驗(yàn)結(jié)果表明,本文方法可以以更少的目標(biāo)模型訪問(wèn)次數(shù)構(gòu)造對(duì)抗樣本,是一種有效的對(duì)抗攻擊方法。