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

?

文本對(duì)抗樣本攻擊與防御技術(shù)綜述

2021-10-12 04:52:32杜小虎吳宏明易子博李莎莎
中文信息學(xué)報(bào) 2021年8期
關(guān)鍵詞:黑盒字符擾動(dòng)

杜小虎,吳宏明,易子博,李莎莎,馬 俊,余 杰

(1. 國(guó)防科技大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長(zhǎng)沙 410073;2. 中央軍委裝備發(fā)展部 裝備項(xiàng)目管理中心,北京 100034)

1 介紹

1.1 對(duì)抗樣本

深度神經(jīng)網(wǎng)絡(luò)在解決各種現(xiàn)實(shí)任務(wù)中有著廣泛的應(yīng)用并取得了不錯(cuò)的效果,如計(jì)算機(jī)視覺[1-2]、圖像分類[3]和自然語(yǔ)言處理[4-5]等領(lǐng)域。但是,近年來,人們開始關(guān)注神經(jīng)網(wǎng)絡(luò)的安全性與魯棒性問題[6],神經(jīng)網(wǎng)絡(luò)容易受到對(duì)抗樣本的攻擊,例如,指紋識(shí)別[7],攻擊者可以利用對(duì)抗樣本來做偽裝,非法破解指紋識(shí)別器。在垃圾郵件檢測(cè)[8]中,攻擊者也可以通過偽裝逃避檢測(cè)。在NLP任務(wù)中,神經(jīng)網(wǎng)絡(luò)可能受到經(jīng)過精心修改的文本欺騙,這種修改后的文本與原始文本有著相當(dāng)高的相似性,魯棒的神經(jīng)網(wǎng)絡(luò)模型會(huì)對(duì)相似的文本做出與原文本一致的預(yù)測(cè),但神經(jīng)網(wǎng)絡(luò)會(huì)對(duì)這種修改后的文本做出文本預(yù)測(cè)錯(cuò)誤,這種經(jīng)過微小修改后的文本稱為對(duì)抗樣本,使用這些對(duì)抗樣本使神經(jīng)網(wǎng)絡(luò)發(fā)生錯(cuò)誤的過程叫做對(duì)抗攻擊。

1.2 相關(guān)術(shù)語(yǔ)

魯棒性(robustness): 魯棒性[9]反映了自然語(yǔ)言處理模型對(duì)不同輸入樣本的適應(yīng)程度,一個(gè)魯棒性高的模型更加不易受到對(duì)抗樣本的攻擊。模型在意義相似或相近的輸入文本上能夠表現(xiàn)出一致的性能。

詞向量(word embedding): 也叫詞嵌入,由于深度神經(jīng)網(wǎng)絡(luò)的輸入只能是連續(xù)的向量,所以其不能處理實(shí)際的文本,詞向量即是文本在詞空間中映射出的由實(shí)數(shù)組成的向量。

擾動(dòng)(perturbation): 對(duì)原始文本做出的細(xì)微修改稱為擾動(dòng),如對(duì)文本中單詞的修改、刪除和增加等操作。

1.3 NLP任務(wù)介紹

自然語(yǔ)言處理(NLP)是人工智能領(lǐng)域下的一個(gè)重點(diǎn)和熱點(diǎn)研究方向。近年來,深度神經(jīng)網(wǎng)絡(luò)(DNNs)被應(yīng)用于大量的NLP任務(wù)中,本文重點(diǎn)介紹一些用到深度神經(jīng)網(wǎng)絡(luò)且涉及對(duì)抗樣本攻擊與防御的NLP任務(wù)。

分類任務(wù): 包括文本分類[10]、情感分析[11]等。任務(wù)的目的是根據(jù)文本的內(nèi)容給出預(yù)測(cè)的標(biāo)簽,這些分類任務(wù)可以是二分類,也可以是多分類。如情感分類中,將電影評(píng)論分為積極的與消極的;新聞分類中把不同的新聞分類到不同的新聞?lì)悇e,如娛樂新聞、軍事新聞等。

文本蘊(yùn)含[12]: 本任務(wù)是針對(duì)兩段文本的關(guān)系的判斷,其中一個(gè)為前提,另一個(gè)為假設(shè)。如果文本P推出文本Q,即為P蘊(yùn)含Q,兩者為蘊(yùn)含關(guān)系,否則,兩者為矛盾關(guān)系。

機(jī)器翻譯[13]: 把一段文本從一種語(yǔ)言翻譯為另一種語(yǔ)言,如常見的中英文之間互相翻譯。

問答系統(tǒng): 從特定的上下文文本中提取信息構(gòu)造模型來回答人類用自然語(yǔ)言提出的問題。

1.4 文本對(duì)抗樣本與圖像的區(qū)別

對(duì)抗樣本起源于圖像,圖像的對(duì)抗樣本有著肉眼完全不可見的效果,如只修改圖像的一個(gè)像素,這種擾動(dòng)人類不易察覺,但神經(jīng)網(wǎng)絡(luò)能把修改后的圖像判斷為錯(cuò)誤圖像,這就是對(duì)抗樣本最原始的目的。由于圖像是連續(xù)的,可以將很微小的擾動(dòng)通過搜索或者其他方法引入圖像中,而這種擾動(dòng)對(duì)人類是不可見的。但是文本是一個(gè)離散的序列,任何對(duì)文本的修改都可能引起人們的注意,例如,添加字符或替換單詞[14]。同時(shí)這些改變可能改變文本原有的語(yǔ)義,例如,在句子中加入“not”,類似的否定詞會(huì)改變句子語(yǔ)義,如果在情感分類任務(wù)中也會(huì)改變句子情感傾向。Liang等人[15]的實(shí)驗(yàn)表明了將在圖像上表現(xiàn)較好的FGSM(fast gradient sign method)直接應(yīng)用在文本攻擊上會(huì)產(chǎn)生混亂不可讀的對(duì)抗樣本,雖然這種對(duì)抗樣本成功地使分類器判別錯(cuò)誤,但與原始文本差異明顯,并不可取。文本的對(duì)抗樣本生成有兩個(gè)思路,一是跟圖像一樣做盡量小的微小修改,讓人們盡可能地發(fā)現(xiàn)不了這種修改,類似于人們自己可能發(fā)生的錯(cuò)誤,如單詞拼寫錯(cuò)誤、鍵盤誤觸使單詞出錯(cuò)。這種主要是字符上的修改。另一個(gè)思路是不像圖像那樣產(chǎn)生人類完全不可見的修改。而是產(chǎn)生人類判斷正確卻會(huì)使神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)錯(cuò)誤的樣本。這就需要考慮兩個(gè)問題: 一是修改部分在語(yǔ)法和語(yǔ)義上與原文本需要有很大的相似性;二是修改的比例不能過高,修改過多會(huì)使文本失去原有的語(yǔ)義。這種情況主要體現(xiàn)在單詞級(jí)別的修改。

1.5 詞空間中文本相似度量方法

生成的對(duì)抗樣本不僅必須欺騙目標(biāo)模型,而且還必須使人們檢測(cè)不到擾動(dòng)。一個(gè)好的對(duì)抗樣本應(yīng)傳達(dá)與原始文本相同的語(yǔ)義,因此需要一些度量標(biāo)準(zhǔn)來量化相似性。本文介紹三個(gè)指標(biāo): 歐氏距離、余弦相似度和詞移距離[16]。

歐氏距離(euclidean distance): 在文本中,歐幾里得距離即是計(jì)算兩個(gè)詞向量之間的線性距離。

余弦相似度(cosine similarity): 余弦相似度通過計(jì)算兩個(gè)向量之間的角度的余弦值來表示兩個(gè)單詞的語(yǔ)義相似度。余弦距離更關(guān)心兩個(gè)向量之間的方向差異。兩個(gè)向量之間的角度越小(余弦值越大),相似度越大。

詞移距離(word movers distance): WMD[17]主要反映文檔之間的距離,因此不適合查找相似的單詞。其語(yǔ)義表示可以是基于Word2Vec或其他方式獲得的詞向量。該算法將文檔距離構(gòu)造為兩個(gè)文檔中單詞的語(yǔ)義距離的組合。例如,從對(duì)應(yīng)于兩個(gè)文檔中任意兩個(gè)單詞的單詞向量中獲得歐氏距離,然后從權(quán)重和總和中獲得。兩個(gè)文本A和B之間的WMD距離如式(1)所示。

(1)

1.6 常見數(shù)據(jù)集

IMDB[19]: 實(shí)驗(yàn)數(shù)據(jù)集包含50 000條IMDB電影評(píng)論,其中,訓(xùn)練集25 000條,測(cè)試集25 000條,該數(shù)據(jù)集專門用于情感分析。評(píng)論的結(jié)果是二分類的。標(biāo)簽為pos(積極)和neg(消極)。在訓(xùn)練集和測(cè)試集中兩種標(biāo)簽各占一半。

AG’s News[20]: 從新聞文章中提取的帶有標(biāo)題和描述信息的數(shù)據(jù)集。它包含4種新聞?lì)悇e,每種新聞?lì)悇e包含30 000個(gè)訓(xùn)練樣本和1 900個(gè)測(cè)試樣本。

Yahoo! Answers[20]: 是一個(gè)具有10種類別的主題分類數(shù)據(jù)集,其中包含44 83 032個(gè)問題和相應(yīng)的答案。在十種類別中每個(gè)類別具有140 000個(gè)訓(xùn)練樣本和5 000個(gè)測(cè)試樣本。

SNLI[21]: 是文本蘊(yùn)含任務(wù)的數(shù)據(jù)集,包含57萬(wàn)對(duì)人工標(biāo)記為蘊(yùn)含、矛盾或中性的人類書寫的英文句子對(duì)。

DBpedia: 文本分類數(shù)據(jù)集,包含560 000個(gè)訓(xùn)練樣本和70 000個(gè)測(cè)試樣本,這些樣本來自14個(gè)類別,例如公司、建筑和電影等。

SST: 是斯坦福大學(xué)發(fā)布的一個(gè)情感分析數(shù)據(jù)集,主要針對(duì)電影評(píng)論來做情感分類。有兩個(gè)版本可以用。一個(gè)是包含五個(gè)標(biāo)簽的 SST-1,一個(gè)是二分類的 SST-2。SST-1共有11 855 條樣本,其中8 544條訓(xùn)練樣本,1 101條驗(yàn)證樣本,2 210 條測(cè)試樣本。SST-2 有6 920條訓(xùn)練樣本,872條驗(yàn)證樣本,1 821條測(cè)試樣本。

1.7 本文貢獻(xiàn)

本文對(duì)文本對(duì)抗樣本攻擊與防御方法的前沿技術(shù)進(jìn)行了調(diào)研,分別從白盒和黑盒攻擊兩個(gè)方面回顧了文本對(duì)抗攻擊的發(fā)展歷史,同時(shí)對(duì)現(xiàn)有的最新防御技術(shù)做了介紹。最后,我們總結(jié)了文本對(duì)抗樣本領(lǐng)域如今面臨的挑戰(zhàn),并做了前景展望。與現(xiàn)有的文本對(duì)抗樣本綜述[22-23]相比,本文的貢獻(xiàn)如下:

(1) 現(xiàn)有的文本對(duì)抗樣本綜述文章對(duì)相關(guān)方法的具體公式描述較少,且沒有統(tǒng)一的描述形式。本文統(tǒng)一了攻擊和防御領(lǐng)域相關(guān)論文的所有符號(hào)和公式表示形式,特別是在黑盒攻擊部分對(duì)于單詞重要性分?jǐn)?shù)計(jì)算部分做了公式統(tǒng)一編輯,使讀者能夠更好地比較各個(gè)方法的具體細(xì)節(jié)差異。

(2) 本文相較于現(xiàn)有的綜述文章補(bǔ)充了最新的前沿技術(shù)。

(3) 本文是首次針對(duì)中文的文本對(duì)抗樣本攻擊和防御研究進(jìn)行綜述,分析了中文與英文的不同,中文的對(duì)抗樣本研究也是一個(gè)重要的研究方向。

1.8 本文符號(hào)說明

由于不同的攻擊方法中符號(hào)描述不盡相同,本文采用統(tǒng)一的符號(hào)來表述對(duì)抗樣本中涉及的各項(xiàng)數(shù)據(jù)。表1展示了本文中所用到的符號(hào)及其描述。

表1 符號(hào)描述表

2 文本對(duì)抗樣本攻擊

2014年,Szegedy等人[6]發(fā)現(xiàn)用于圖像分類的深度神經(jīng)網(wǎng)絡(luò)可以被添加過微小像素?cái)_動(dòng)的圖像所欺騙。實(shí)驗(yàn)表明,圖像分類器有很高的誤分類率,但人類沒有檢測(cè)到圖像的這種變化。2017年,Jia等人[24]率先考慮在基于文本的深度神經(jīng)網(wǎng)絡(luò)上生成對(duì)抗樣本。從那時(shí)起,人們開始關(guān)注文本的對(duì)抗樣本。

2.1 文本對(duì)抗樣本分類

對(duì)抗樣本攻擊根據(jù)是否了解模型參數(shù)可以分為兩種,即白盒攻擊和黑盒攻擊。前者可以獲得模型的參數(shù)和結(jié)構(gòu),而后者缺乏這些信息。黑盒攻擊更具挑戰(zhàn)性,因?yàn)樗鼈兺ǔP枰O(shè)計(jì)有效的搜索算法對(duì)模型進(jìn)行大量查詢[25]從而獲得單詞重要性分?jǐn)?shù),以此來決定單詞的替換順序。大多數(shù)白盒攻擊的方法都是基于梯度在使模型損失函數(shù)最大化的方向上做擾動(dòng),當(dāng)攻擊者不了解模型參數(shù)和結(jié)構(gòu)時(shí),只能采用黑盒攻擊。黑盒攻擊通過采用不斷的查詢和觀察目標(biāo)模型的輸出來產(chǎn)生最優(yōu)的擾動(dòng)。

根據(jù)擾動(dòng)的位置不同可以分為字符級(jí)攻擊和單詞級(jí)攻擊。字符級(jí)攻擊即是擾動(dòng)單詞中的單個(gè)字符,可以是刪除、增加、修改或者兩個(gè)字符交換。單詞級(jí)攻擊是對(duì)文本中的單個(gè)單詞做擾動(dòng),同樣也有增加、刪除、修改的操作,但單詞級(jí)攻擊一般不采用刪除的方式。刪除文本的單詞有比較大的風(fēng)險(xiǎn)出現(xiàn)語(yǔ)法錯(cuò)誤和語(yǔ)義不通順,大多數(shù)的單詞級(jí)攻擊為增加和修改,修改以同義詞替換為主,增加的方式有在文本開始或者結(jié)尾增加一段無(wú)關(guān)的文字,這樣原有的文本不會(huì)受到任何破壞,但分類器會(huì)預(yù)測(cè)出錯(cuò)。表2展示了近幾年常見的文本對(duì)抗樣本攻擊方法。

表2 常見的文本對(duì)抗樣本攻擊方法對(duì)比

2.2 文本對(duì)抗樣本白盒攻擊方法

2.2.1 字符級(jí)白盒攻擊

在2017年,Ebrahimi等人[26]提出了一種稱為HotFlip的基于梯度的白盒攻擊方法來生成對(duì)抗樣本。該方法基于one-hot輸入向量的梯度對(duì)字符做修改,包括替換、刪除和增加字符。通過評(píng)估哪個(gè)字符修改的損失最大,并利用束搜索來尋找最優(yōu)的修改。這種攻擊針對(duì)CharCNN-LSTM[41]模型在AG’s News數(shù)據(jù)集上的表現(xiàn)優(yōu)于貪心搜索攻擊算法。表3[26]展示了HotFlip的攻擊效果,僅僅將mood單詞中的d字符替換為P就使得模型將新聞的分類由57%置信度的World誤分類為95%置信度的Sci/Tech類別。

表3 原始文本和HotFlip生成的對(duì)抗樣本

第二年,Ebrahimi等人擴(kuò)展了HotFlip方法,改進(jìn)了束搜索,提出了one-shot 攻擊[27],這種攻擊并行操作所有單詞,不需要全局對(duì)梯度排序,減少了HotFlip的訓(xùn)練時(shí)間,常規(guī)訓(xùn)練時(shí)間減少至1/3。攻擊對(duì)象由文本分類器變成了機(jī)器翻譯(NMT)模型,使用TED平行語(yǔ)料庫(kù)作為數(shù)據(jù)集。實(shí)驗(yàn)結(jié)果表明,白盒攻擊的效果優(yōu)于Belinkov等人[42]的黑盒攻擊方法。

2018年,Liang等人[15]針對(duì)文本分類提出了一種字符級(jí)白盒攻擊方法。該方法先通過梯度確定原始文本中對(duì)分類貢獻(xiàn)較大的詞組,將其稱為熱樣本詞組HSPs(hot sample phrases),然后對(duì)這些HSPs詞組做修改,修改過程是從相關(guān)的語(yǔ)料庫(kù)中獲取常見的拼寫錯(cuò)誤替換HSP,如將film替換為flim,或者用外觀類似的字符替換,如將小寫字母l替換為數(shù)字1。這種白盒攻擊的目標(biāo)模型為DNN模型,使用數(shù)據(jù)集為DBpedia。實(shí)驗(yàn)結(jié)果表明, 該方法可以成功地使字符級(jí)神經(jīng)網(wǎng)絡(luò)分類器出錯(cuò)并將原始文本擾動(dòng)到任何期望的分類類別,即目標(biāo)攻擊。同時(shí)這種擾動(dòng)很難被感知。表4[15]展示了該方法所生成的對(duì)抗樣本,僅僅修改單詞film就使得模型將文本分類的類別由99.6%置信度的電影類別誤分類為99%置信度的公司類別。

表4 拼寫錯(cuò)誤生成的對(duì)抗樣本

2.2.2 單詞級(jí)白盒攻擊

Behjati等人[43]提出了一種基于梯度的通用性對(duì)抗樣本攻擊,即生成可以添加到任何輸入中的單詞序列。實(shí)驗(yàn)表明,文本分類器很容易受到此類攻擊的影響,在每個(gè)輸入序列開頭插入一個(gè)對(duì)抗詞可使模型準(zhǔn)確性由93%下降到50%。

Tsai等人[28]指出貪心搜索攻擊方法不能保證產(chǎn)生最優(yōu)的結(jié)果,而且耗時(shí)太多,因?yàn)樗惴ㄔ诿恳粋€(gè)迭代中需要搜索候選詞。與此同時(shí),考慮到貪心搜索算法的本質(zhì),算法可能在較早位置替換對(duì)最終目標(biāo)沒有太大貢獻(xiàn)的次優(yōu)詞。另一個(gè)限制是,被替換的詞往往在句子的一個(gè)鄰近區(qū)域,特別是在句子前面一部分。這大大降低了句子的可讀性,甚至破壞了原文的語(yǔ)義。Tsai等人[28]提出了一種“全局搜索”算法,通過計(jì)算梯度擾動(dòng)幅度來獲得候選詞,然后在擾動(dòng)較大的位置替換這些詞。擾動(dòng)越大,分類器對(duì)詞的變化越敏感。結(jié)果表明,全局搜索的結(jié)果比貪婪攻擊產(chǎn)生的對(duì)抗樣本更好,攻擊成功率更高。

在問答系統(tǒng)上,Eric等人[29]提出通過human-in-loop的方式生成對(duì)抗樣本,與傳統(tǒng)攻擊方式利用單詞替換生成對(duì)抗樣本并人工評(píng)估樣本有效性不同,human-in-loop加入了人工修改,使用人機(jī)協(xié)作方式生成更加多樣的對(duì)抗樣本。在攻擊過程中,該方法基于梯度計(jì)算單詞重要性分?jǐn)?shù),擁有更高的計(jì)算效率。通過用戶界面做人機(jī)交互,在用戶界面中,作者寫出問題,模型會(huì)預(yù)測(cè)五個(gè)結(jié)果并解釋這些預(yù)測(cè)的原因,如果最正確的預(yù)測(cè)是正確答案,界面會(huì)指出該問題在模型中的哪個(gè)位置正確,目的就是讓模型出錯(cuò)或者延遲找出正確答案的位置,該界面會(huì)隨著作者的修改不斷更新。human-in-loop首次將對(duì)抗攻擊過程可視化,同時(shí)揭示了問答系統(tǒng)的局限性。

白盒攻擊的相關(guān)工作已經(jīng)證明該方法在基于文本的攻擊中是非常有效的,但仍存在一些問題需要解決,例如,在單詞相似度、語(yǔ)法正確性和語(yǔ)義相似度等方面存在一些不足,且應(yīng)用場(chǎng)景有局限性。

2.3 文本對(duì)抗樣本黑盒攻擊方法

2.3.1 字符級(jí)黑盒攻擊

Gao等人[30]于2018年提出了一種稱為DeepWordBug的字符級(jí)黑盒攻擊方法。該方法使用一種新的評(píng)分策略來識(shí)別關(guān)鍵字符并排序。使用簡(jiǎn)單的字符替換排名最高的單詞,以最小化擾動(dòng)的編輯距離,并改變?cè)嫉姆诸悺T摲椒ㄔ谖谋痉诸?、情緒分析和垃圾郵件檢測(cè)等任務(wù)中取得了良好的效果,并降低了目前最先進(jìn)的深度學(xué)習(xí)模型的預(yù)測(cè)精度。

Heigold等人[31]在機(jī)器翻譯和形態(tài)標(biāo)記上提出了黑盒攻擊方法,該方法提出了三種擾動(dòng)方式: 字符交換、字符翻轉(zhuǎn)、單詞擾動(dòng)。字符交換是在單詞中隨機(jī)交換兩個(gè)相鄰字符,字符翻轉(zhuǎn)是將一個(gè)字符隨機(jī)替換為另外一個(gè)字符,單詞擾動(dòng)為隨機(jī)擾亂除第一個(gè)和最后一個(gè)字符外的其他字符。在形態(tài)標(biāo)記任務(wù)上,當(dāng)字符翻轉(zhuǎn)和字符交換比例設(shè)置為10%時(shí),模型的準(zhǔn)確性由95%下降到了80%左右,下降非常明顯。在機(jī)器翻譯上,采用單詞擾動(dòng)的方式,評(píng)估結(jié)果的BLEU分?jǐn)?shù)由30下降為5,也是大幅地下降。

2019年,Eger等人[32]提出了一種稱為VIPER的字符級(jí)白盒攻擊方法。它在視覺空間中尋找一個(gè)與原始文本中的字符最相似的字符并將其替換,實(shí)驗(yàn)結(jié)果表明,受到VIPER攻擊的SOTA模型性能下降達(dá)82%,但人們只受到輕微甚至是感受不到的擾動(dòng)。與HotFlip產(chǎn)生的對(duì)抗樣本容易造成不可讀的情況不同,VIPER方法理想情況下是可讀的,該方法通過概率p和詞空間CES來決定替換字符,對(duì)輸入文本的每個(gè)字符做替換,如果發(fā)生替換,則是選擇詞空間中20個(gè)最鄰近字符的一個(gè)。替換后的字符w′i可表示為兩個(gè)參數(shù),如式(2)所示。

w′i=VIPER(p,CES)

(2)

其中,選擇字符w′i的20個(gè)鄰近詞概率p與它們到w′i的距離成正比,CES可以是任何可用于識(shí)別字符鄰近詞的詞空間。表5[32]展示了VIPER的攻擊效果,全文替換的對(duì)抗樣本看上去差異明顯,而少量字符的替換則完全不影響閱讀,在Facebook和Twitter的有毒評(píng)論檢測(cè)模型中就可能面臨這樣的對(duì)抗樣本攻擊,用戶以這種相似的字符做偽裝而逃避模型的檢測(cè),但是用戶仍然表達(dá)了其觀點(diǎn),其他用戶也可以完全看出文本原來的意思。

表5 原始文本和VIPER生成的對(duì)抗樣本

2.3.2 單詞級(jí)黑盒攻擊

單詞級(jí)攻擊的優(yōu)點(diǎn)是能夠很大程度地保持語(yǔ)義,且不會(huì)像字符級(jí)攻擊那樣產(chǎn)生不存在的單詞。Jia等人[24]于2017年提出了一種針對(duì)閱讀理解系統(tǒng)的黑盒攻擊。作者提出的攻擊方法是在段落末尾添加一些分散注意力但毫無(wú)意義的句子。這些分散注意力的句子不會(huì)改變段落和答案的語(yǔ)義,但它們會(huì)使神經(jīng)網(wǎng)絡(luò)模型出錯(cuò)。分散注意力的句子可以是一個(gè)精心生成的真實(shí)句子,也可以是一個(gè)使用20個(gè)隨機(jī)的常見單詞的任意單詞序列。最后,對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行迭代查詢,直到輸出發(fā)生變化,即認(rèn)為攻擊成功。

2018年,Samanta等人[33]提出了一種叫作詞顯著性(word saliency,WS)的單詞級(jí)黑盒攻擊,通過對(duì)單詞的刪除、替換和增加等操作生成對(duì)抗樣本。該方法先計(jì)算每個(gè)單詞對(duì)分類結(jié)果的貢獻(xiàn)程度,并把它們按照從大到小排序,如果某個(gè)單詞貢獻(xiàn)大且是副詞,則刪除這個(gè)詞,在剩余的單詞中找出每個(gè)單詞的候選詞,在候選詞中選擇對(duì)模型正確分類貢獻(xiàn)程度最小的做替換。在替換時(shí),如果被替換的單詞是形容詞且候選詞是副詞,則將候選詞加到被替換單詞后面,否則用候選詞直接替換原詞。單詞wi貢獻(xiàn)率的計(jì)算,如式(3)所示。

(3)

其中,F(xiàn)Y(x)是文本x在分類器F中屬于Y標(biāo)簽的概率,x|wi是文本x去除目標(biāo)詞wi后的新文本。大量的查詢分類是一個(gè)非常耗時(shí)的過程。在情感分類數(shù)據(jù)集IMDB中,生成的對(duì)抗樣本與原始文本在Spacy工具的測(cè)試下有90%以上的相似度,實(shí)驗(yàn)結(jié)果還表明,更低的文本相似度會(huì)帶來更多的有效對(duì)抗樣本數(shù)量,這說明文本的相似性跟攻擊成功率成反比。

Tsai等人[28]提出一種貪心搜索攻擊方法(greedy search attack),在每次迭代中,算法都會(huì)計(jì)算出每個(gè)詞在詞空間中的k個(gè)近鄰。然后從k個(gè)鄰居中選出對(duì)預(yù)測(cè)結(jié)果影響最大的一個(gè)。雖然詞向量有助于找到在相似上下文中使用的單詞,但它不能保證替換后的詞性保持不變。因此,該方法還檢查了原詞的詞性,并確保所選的候選詞具有與原詞相同的詞性。貪心搜索攻擊中有三個(gè)因素會(huì)影響結(jié)果: 一是k的大小,k太小時(shí),可能沒有足夠的候選詞來形成一個(gè)對(duì)抗樣本;二是表示候選單詞與原單詞在詞空間中允許的最大距離d。當(dāng)d很大時(shí),改變后的句子的語(yǔ)義一般會(huì)離原句更遠(yuǎn)。當(dāng)d太小時(shí),成功攻擊的機(jī)會(huì)就會(huì)降低;三是表示句子中允許替換的百分比閾值r。當(dāng)r太小時(shí),生成成功的對(duì)抗樣本機(jī)會(huì)就會(huì)降低。當(dāng)r太大時(shí),會(huì)有太多的單詞被替換,所以產(chǎn)生的樣本與原句差別很大。

Wee等人[34]針對(duì)問答系統(tǒng)(QA)提出了黑盒攻擊方法,并將生成的對(duì)抗樣本作為數(shù)據(jù)擴(kuò)充方法來重新訓(xùn)練模型,以避免在未知的測(cè)試數(shù)據(jù)上性能下降,同時(shí)提高模型的泛化能力和可靠性。這種攻擊提出了一種新的訓(xùn)練神經(jīng)網(wǎng)絡(luò)方法,該方法將原問題和候選單詞或短語(yǔ)作為輸入來生成對(duì)抗樣本,訓(xùn)練數(shù)據(jù)集包括了原問題、候選詞/短語(yǔ)和目標(biāo)問題,其中候選詞/短語(yǔ)是目標(biāo)問題的一部分。這種訓(xùn)練可以為給定的問題生成多個(gè)對(duì)抗樣本。在人工評(píng)估方面采用來自AMT(Amazon mechanical turk)的人類注釋器(human annotators) 評(píng)估了對(duì)抗樣本的等效性和流暢性。在3 000個(gè)對(duì)抗樣本上認(rèn)為對(duì)抗樣本與原始問題含義一致的占78%,認(rèn)為生成的對(duì)抗樣本是流利的英文占78.6%。表6[34]展示了原始問題和對(duì)抗樣本,可以看到將短語(yǔ)associated with替換為related to就引起了預(yù)測(cè)的變化。

表6 問答系統(tǒng)的對(duì)抗樣本

(4)

其中,φ(z)i為softmax函數(shù),如式(5)所示。

(5)

Jin等人[36]提出一種稱為TEXTFOOLER的黑盒攻擊方法,由于WS和PWWS提出的詞顯著性方法與BERT關(guān)注一些單詞的統(tǒng)計(jì)線索[44]相呼應(yīng),作者提出了新的單詞替換選擇機(jī)制。用Iwi衡量單詞wi?x對(duì)分類結(jié)果F(x)=Y的影響并排序。對(duì)Iwi的計(jì)算如式(6)所示。

(6)

在單詞重要性排序做替換時(shí),先使用余弦相似度選擇N個(gè)近鄰作為候選詞,再對(duì)候選詞做詞性檢查,確保替換后語(yǔ)法基本一致,最后用USE方法[45]做語(yǔ)義相似度檢查。在篩選后的單詞中選擇使目標(biāo)標(biāo)簽發(fā)生變化或者使目標(biāo)標(biāo)簽置信度最低的詞做替換,然后重復(fù)下一個(gè)詞。該模型將幾乎所有目標(biāo)模型在所有任務(wù)中的精度降低到10%以下,而只有不到20%的原始單詞受到干擾。文中攻擊的對(duì)象是文本分類和文本蘊(yùn)涵任務(wù)。

Alzantot等人[37]首次將群體優(yōu)化算法引入文本對(duì)抗樣本攻擊中,提出了一種基于遺傳算法GA(genetic algorithm)的單詞級(jí)黑盒攻擊算法,該算法提出了稱為Perturb的方法作為baseline,該方法隨機(jī)選擇一個(gè)單詞,先根據(jù)GloVe詞空間計(jì)算該單詞的N個(gè)近鄰作為候選詞,再利用Google語(yǔ)言模型[46]根據(jù)上下文篩選最優(yōu)單詞進(jìn)行排序并保留前k個(gè)單詞,最后從這k個(gè)詞中選擇一個(gè)使目標(biāo)標(biāo)簽最大化的詞做替換,Perturb到此結(jié)束。隨后使用遺傳算法做優(yōu)化,首先調(diào)用Perturb多次生成初始種群P0,初始種群由多個(gè)只替換一個(gè)單詞的新文本構(gòu)成,如式(7)所示。

P0=(Perturb(x),…,Perturb(x))

(7)

每一代的個(gè)體可以通過查詢被攻擊模型得到對(duì)應(yīng)目標(biāo)標(biāo)簽的預(yù)測(cè)得分,以此預(yù)測(cè)得分成比例地在第P代抽取個(gè)體表示為Sample(P),如果這些樣本中存在使目標(biāo)標(biāo)簽發(fā)生變化的樣本,則優(yōu)化完成,該樣本為對(duì)抗樣本,否則以一定概率成對(duì)抽取樣本做交叉Crossover,交叉過程為從兩個(gè)樣本中按順序隨機(jī)抽取其中任一文本中的單詞,形成新的子代child。第i+1代的第k個(gè)個(gè)體表示如式(8)所示。

(8)

一輪完成之后再次使用Perturb做第二輪優(yōu)化直到模型標(biāo)簽預(yù)測(cè)發(fā)生變化。實(shí)驗(yàn)結(jié)果表明,GA算法在情感分類任務(wù)的IMDB數(shù)據(jù)集中,在25%替換率閾值情況下攻擊成功率達(dá)到了97%,在文本蘊(yùn)含任務(wù)中達(dá)到了70%。遠(yuǎn)高于其提出的baseline。表7[37]展示了GA算法在情感分類任務(wù)生成的對(duì)抗樣本。

表7 為情感分類任務(wù)生成的對(duì)抗樣本

隨后Wang等人[38]提出了一種改進(jìn)的遺傳算法IGA(improved genetic algorithm),與GA相比,不同的地方如下: 在初始化時(shí),GA使用Perturb隨機(jī)初始化S個(gè)樣本,而IGA采用同義詞替換文本中的每一個(gè)單詞形成文本長(zhǎng)度大小的初始種群,使得種群數(shù)量更加豐富;在變異時(shí),GA排除了替換過的單詞,而IGA可以替換之前替換過的單詞,這樣可以避免局部最小化,替換后的樣本種類更多;在交叉時(shí),GA是在兩個(gè)親代中按順序隨機(jī)選擇一個(gè)單詞形成子代,而IGA則使用隨機(jī)剪切,不限于單詞,可以剪切文字段。實(shí)驗(yàn)結(jié)果表明,IGA攻擊后的樣本在Word-CNN、LSTM和Bi-LSTM模型上的測(cè)試結(jié)果都優(yōu)于GA。

谷歌于2019年提出了一種黑盒方法來生成包括釋義對(duì)(paraphrase pairs)的英文數(shù)據(jù)集PAWS[39](paraphrase adversaries from word scrambling),PAWS由問答網(wǎng)站Quora和維基百科的句子構(gòu)成。釋義對(duì)即含義相同的一對(duì)句子,如“Flights from New York to Florida.”和“Flights to Florida from New York.”非釋義對(duì)為含義相反的一對(duì)句子,如“Flights from New York to Florida.”和“Flights from Florida to New York.”可以看出此處的釋義對(duì)類似于對(duì)抗樣本,即一對(duì)含義相同而又互相有微小差別的句子。目前比較先進(jìn)的模型,如BERT,僅在現(xiàn)有的自然語(yǔ)言數(shù)據(jù)集下訓(xùn)練,并不能很好地識(shí)別出非釋義對(duì),同時(shí)會(huì)對(duì)釋義對(duì)判斷錯(cuò)誤,因?yàn)楝F(xiàn)有的數(shù)據(jù)集缺少諸如此類的釋義對(duì)和非釋義對(duì)。在生成釋義對(duì)時(shí),原始文本首先輸入到基于單詞擾動(dòng)(word scrambling)的語(yǔ)言模型,該模型將生成具有單詞級(jí)交換的擾動(dòng)文本,但是還無(wú)法保證擾動(dòng)文本與原文本是否為釋義對(duì),有時(shí)會(huì)出現(xiàn)交換單詞后語(yǔ)句與原句意義截然相反的情況。為了保持釋義和非釋義的平衡,算法采用了反向翻譯(back translation)加人工判斷的形式進(jìn)一步調(diào)整生成的語(yǔ)句。實(shí)驗(yàn)結(jié)果表明,現(xiàn)有數(shù)據(jù)集上的模型在PAWS上準(zhǔn)確度低于40%,但是,包括了PAWS數(shù)據(jù)的模型可將其準(zhǔn)確度提升到85%,同時(shí)能夠保持現(xiàn)有任務(wù)的性能。

2020年,Zang等人[40]提出了一種新的黑盒攻擊方法,該方法結(jié)合了基于義原的詞替換方法和基于粒子群優(yōu)化PSO(particle swarm optimization)的搜索方法?;诹x原的方法可以保留更多潛在的高質(zhì)量候選替換詞。粒子群算法利用一群相互作用的個(gè)體在特定空間中迭代搜索最優(yōu)解。種群被稱為群體,個(gè)體被稱為粒子,每個(gè)粒子在搜索空間中都有一個(gè)位置,并以相應(yīng)的速度運(yùn)動(dòng)。算法在初始化種群時(shí)采用了遺傳算法的方法,后面算法與原始PSO算法相同。該方法基于文本的離散型,不直接更新空間,而是采用是否移動(dòng)的概率思想向全局最優(yōu)優(yōu)化。在SPO的思想上讓文本在獨(dú)立的空間移動(dòng)。實(shí)驗(yàn)表明PSO相比于baseline具有更高的攻擊成功率和更高質(zhì)量的對(duì)抗樣本。

綜上所述,黑盒攻擊方法有很多相似之處。由于黑盒不知道模型的內(nèi)部結(jié)構(gòu)和具體參數(shù),學(xué)者們?cè)噲D通過不同的方法在單詞空間中尋找最優(yōu)替換。有的先替換單詞,然后再計(jì)算替換后的預(yù)測(cè)分?jǐn)?shù),如對(duì)遺傳算法進(jìn)行多次迭代尋找最優(yōu)替換。同時(shí),攻擊者也試圖找出替換詞的重要性分?jǐn)?shù),然后進(jìn)行替換,以最小化替換詞的比例,如DeepWordBug和TEXTFOOLER。

3 文本對(duì)抗樣本檢測(cè)與防御方法

為神經(jīng)網(wǎng)絡(luò)生成對(duì)抗樣本的一個(gè)基本目的是利用這些對(duì)抗樣本增強(qiáng)模型的魯棒性。事實(shí)上,防御比攻擊更困難,這方面的工作相較于攻擊做得較少。造成這種情況有兩個(gè)原因: 一個(gè)是對(duì)于復(fù)雜的優(yōu)化問題,如對(duì)抗樣本生成方法不存在一個(gè)好的理論模型;另一個(gè)原因是,大量的輸入可能產(chǎn)生目標(biāo)輸出的可能性很多,具有很高的不可預(yù)知性。因此,建立一個(gè)真正的通用性防御方法是困難的。目前文本的對(duì)抗樣本檢測(cè)與防御方法還比較少,主要是針對(duì)特定模型所提出來的方法。本文將現(xiàn)有的防御方法主要分為以下幾類: ①改進(jìn)訓(xùn)練; ②添加附加組件。第一種方法不影響模型,第二種方法類似于數(shù)據(jù)預(yù)處理,先對(duì)文本處理一遍,再將其輸入模型。

3.1 改進(jìn)訓(xùn)練

3.1.1 對(duì)抗訓(xùn)練

對(duì)抗訓(xùn)練[6,47]是最早提出來的針對(duì)對(duì)抗樣本的防御方法,其基本思想是使用各種對(duì)抗樣本生成方法先制作一組大型的對(duì)抗樣本,并將它們添加到訓(xùn)練數(shù)據(jù)集中。訓(xùn)練數(shù)據(jù)集則包括對(duì)抗樣本和對(duì)應(yīng)的原始樣本的混合,通過這種方法可以在一定程度上檢測(cè)出對(duì)抗樣本。利用對(duì)抗訓(xùn)練可以對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行正則化,減少過擬合,從而提高神經(jīng)網(wǎng)絡(luò)的魯棒性。對(duì)抗訓(xùn)練有一些有效的抵御攻擊的方法[26,30,48-49], 但對(duì)抗訓(xùn)練方法并不總是有效的。2017年,Jia等人[24]通過對(duì)抗訓(xùn)練來增強(qiáng)閱讀理解模型的魯棒性,實(shí)驗(yàn)結(jié)果表明,對(duì)抗訓(xùn)練在防御使用相同的生成對(duì)抗樣本方式的攻擊是有效和健壯的。Pruthi等人[50]用對(duì)抗訓(xùn)練評(píng)估了用于情感分類的BERT模型[51],當(dāng)使用字符級(jí)替換后的對(duì)抗樣本攻擊BERT時(shí),其準(zhǔn)確率由90.3%降低到了64.1%,而使用對(duì)抗訓(xùn)練后準(zhǔn)確率只恢復(fù)到69.2%。

在Alzantot等人的工作[37]中也說明了這一點(diǎn),其防御方法將生成的1 000個(gè)對(duì)抗樣本加到現(xiàn)有的訓(xùn)練集中,并使用更新的數(shù)據(jù)集從頭開始對(duì)模型進(jìn)行對(duì)抗訓(xùn)練。盡管該模型對(duì)訓(xùn)練集中包含的對(duì)抗樣本分類的準(zhǔn)確性達(dá)到了近100%,但是在使用測(cè)試集的實(shí)驗(yàn)中沒有提供額外的魯棒性,主要是由于生成對(duì)抗樣本的方式不同,對(duì)抗訓(xùn)練在特定的攻擊方式中表現(xiàn)較好,如前面的攻擊是通過插入、替換、刪除的方式。而Alzantot等人的工作[37]是基于遺傳算法的同義詞替換。這也是對(duì)抗訓(xùn)練的局限性,它只對(duì)相應(yīng)的攻擊有效,對(duì)新的攻擊方式產(chǎn)生的樣本沒有效果。

由于生成對(duì)抗樣本的種類很多,僅靠人工加入的對(duì)抗樣本做對(duì)抗訓(xùn)練來防御各種類型的對(duì)抗攻擊是不夠的。2020年,Liu等人[52]提出了一種新的對(duì)抗訓(xùn)練方法,該方法的核心思想是迭代訓(xùn)練,自動(dòng)生成原本沒有的對(duì)抗樣本并重新訓(xùn)練模型,整個(gè)過程無(wú)須人工干預(yù)。具體防御步驟是: 對(duì)于每次迭代,首先通過擾動(dòng)詞向量訓(xùn)練過程得到權(quán)重矩陣w和訓(xùn)練損失trainloss;然后使用貪心搜索的方法從w中抽取擾動(dòng)文本并構(gòu)造對(duì)抗樣本;最后在數(shù)據(jù)集中加入新的對(duì)抗樣本重新訓(xùn)練模型。重復(fù)整個(gè)過程直到trainloss和迭代次數(shù)小于閾值。圖1展示了算法的流程圖,實(shí)驗(yàn)結(jié)果表明,該方法可以生成更加豐富的對(duì)抗樣本,從而有效補(bǔ)充了人為添加樣本做對(duì)抗訓(xùn)練的不足,大大提高了閱讀理解模型的魯棒性。進(jìn)一步的實(shí)驗(yàn)再加上基于規(guī)則的方法可以進(jìn)一步提高模型的魯棒性,并且超過SOTA性能。但是這種方法生成的對(duì)抗樣本都是不符合語(yǔ)法和沒有意義的序列,雖然成功使模型判斷錯(cuò)誤,但生成對(duì)抗樣本的方法還有待改進(jìn)。

圖1 防御過程流程圖

同年Liu等人[53]針對(duì)字符級(jí)攻擊提出了聯(lián)合字符詞向量charCNN和對(duì)抗穩(wěn)定訓(xùn)練AST(adversarial stability training)的防御方法。對(duì)于字符級(jí)攻擊,難點(diǎn)在于字符級(jí)攻擊可能產(chǎn)生詞典外的詞OOV(out-of-vocabulary),即該詞不存在,OOV會(huì)帶來信息的損失,如何處理好替換詞和原詞的分布差異是一個(gè)難點(diǎn)。同時(shí)字符級(jí)攻擊導(dǎo)致了訓(xùn)練集和對(duì)抗樣本之間的分布差異,這種差異違反了機(jī)器學(xué)習(xí)中的獨(dú)立同分布假設(shè),從而導(dǎo)致了模型在對(duì)抗樣本上性能不佳。字符級(jí)詞向量不僅可以像單詞詞向量一樣提取語(yǔ)法和語(yǔ)言信息,同時(shí)可以提取單詞前綴和后綴,盡可能多地保留單詞信息。在對(duì)抗訓(xùn)練方面采用了字符交換、替換、刪除和插入等方式來產(chǎn)生擾動(dòng)樣本。該防御框架有三個(gè)損失函數(shù),原文本輸入分類器得到的損失Ltrue(x,Y),擾動(dòng)文本輸入分類器得到的損失函數(shù)Lnoisy(x′,Y),還有原文本和擾動(dòng)文本輸入相似度評(píng)價(jià)模型得到的損失函數(shù)Ldiff(x,x′),最后得到對(duì)抗訓(xùn)練的目標(biāo)函數(shù),如式(9)所示。

(9)

其中,θclm是字符詞向量參數(shù),θcla是分類器參數(shù),α和β是超參數(shù)。在實(shí)驗(yàn)結(jié)果上,這種聯(lián)合方法CharCNN-BLSTM+AST在原始文本和對(duì)抗樣本上分別取得92.24%和89.45%,準(zhǔn)確率優(yōu)于baseline的Word-BLSTM方法的92.22%和82.50%。

3.1.2 重新編碼

Wang[38]等人提出一種稱為同義詞編碼(SEM)的防御方法,利用句子中的單詞是離散標(biāo)記的特性,可以很容易地找到輸入文本的幾乎所有鄰居?;诖?,提出了一種名為SEM (synonyms encoding method)的新方法來定位輸入單詞的相鄰詞??梢约僭O(shè)輸入句子x的鄰居是它的同義句。為了找到同義句,可以用同義詞代替句子中的詞。要構(gòu)造這樣的映射,需要做的就是對(duì)同義詞進(jìn)行整合,并為每個(gè)整合后的同義詞分配一個(gè)唯一的標(biāo)記。SEM防御過程是先生成同義詞編碼字典的詞向量矩陣,并將其保存下來;然后使用同義詞編碼的單詞詞典訓(xùn)練CNN、LSTM和Bi-LSTM模型;最后通過攻擊方法攻擊重新訓(xùn)練的模型。實(shí)驗(yàn)結(jié)果表明,在受到攻擊時(shí),使用SEM后的模型正確率高于正常訓(xùn)練和對(duì)抗訓(xùn)練的模型。

2020年,Wang等人[54]提出隨機(jī)替換編碼RSE(random substitution encoding)的防御方法,主要攻擊過程如下: 對(duì)于輸入的文本x,在給定的最大替換率和最小替換率之間隨機(jī)選擇一個(gè)替換率sr;然后產(chǎn)生文本的候選單詞集C,再為C中每個(gè)單詞挑選同義詞得到擾動(dòng)后的文本x′,用x′代替x,最后用這些新的文本訓(xùn)練模型,在測(cè)試階段可以用生成的x′輸入訓(xùn)練好的模型測(cè)試RSE替換方法對(duì)模型的影響。實(shí)驗(yàn)結(jié)果表明,在CNN、LSTM、Bi-LSTM三種模型中,IMDB、AGs News和Yahoo! Answers三種數(shù)據(jù)集上,RSE的防御效果整體優(yōu)于SEM。

同年,Erik等人[55]提出了一種稱為RobEn(robust encodings)的防御方法,RobEn針對(duì)字符級(jí)攻擊,其核心是一種編碼功能,將句子映射到較小的離散編碼空間,然后將其用于預(yù)測(cè)。RobEn的思想類似于SEM,主要區(qū)別是它在同義詞的選取上是字符級(jí)修改后的單詞,同時(shí)考慮了OOV詞的影響,而SEM為單詞級(jí)別上的相似詞。Erik等人指出了重新編碼方法防御對(duì)抗樣本攻擊需要滿足的兩個(gè)方面: 一是穩(wěn)定性,為了保證不同擾動(dòng)的一致預(yù)測(cè),編碼需要將句子的所有擾動(dòng)映射到一組編碼上;二是保真性,需要保證使用重新編碼訓(xùn)練的模型在原始未受擾動(dòng)的輸入上仍然效果良好,即重新訓(xùn)練的模型準(zhǔn)確率不應(yīng)低于原始訓(xùn)練的模型。而SEM在保真性上表現(xiàn)不佳,RobEn的編碼函數(shù)如式(10)所示。

α(x)=[π(x1),π(x2),…,π(xL)]

(10)

將每個(gè)單詞xi映射為π(xi),將許多單詞及其錯(cuò)別字映射到相同的編碼token。實(shí)驗(yàn)結(jié)果表明,RobEn在恢復(fù)準(zhǔn)確率上比單詞拼寫檢查方法高36%。

3.2 添加附加組件

對(duì)抗攻擊的一種防御策略是檢測(cè)輸入數(shù)據(jù)是否被修改。對(duì)抗樣本和非對(duì)抗樣本之間由于修改過肯定存在一些不同的特征。根據(jù)這一點(diǎn),人們進(jìn)行了一系列的工作來檢測(cè)對(duì)抗樣本,并在圖像上[56-57]表現(xiàn)得相對(duì)較好。在文本中,某些方法的修改策略可能會(huì)在生成的對(duì)抗樣本中產(chǎn)生拼寫錯(cuò)誤,這是一個(gè)可以利用的特性。Pruthi等人[50]通過檢查拼寫錯(cuò)誤的單詞來檢測(cè)對(duì)抗樣本,該方法在分類器的前面放置一個(gè)單詞識(shí)別模型。單詞識(shí)別模型建立在RNN半字符體系結(jié)構(gòu)的基礎(chǔ)上,引入了一些新的策略來處理稀有的單詞。經(jīng)過訓(xùn)練,該模型可以識(shí)別由隨機(jī)添加、刪除、交換和鍵盤錯(cuò)誤而改變的單詞,相對(duì)于原始半字符模型,該方法減少了32%模型對(duì)對(duì)抗樣本的錯(cuò)誤分類。Li等人[48]利用上下文感知拼寫檢查服務(wù)來做類似的工作。實(shí)驗(yàn)結(jié)果表明,該方法對(duì)字符級(jí)的修改是有效的,但不適用于單詞級(jí)的修改,因?yàn)閱卧~級(jí)的替換通常是真實(shí)存在的單詞,沒有拼寫上的錯(cuò)誤。

Zhou等人[58]采用對(duì)模型添加部件的方式來防御對(duì)抗攻擊,主要用來防御單詞級(jí)分類器。該方法有三個(gè)組件: 首先是擾動(dòng)檢測(cè)器,先檢測(cè)出一些候選的可能被擾動(dòng)單詞;然后是詞估計(jì)器,利用BERT等方法抽取給定上下文特征,找出最優(yōu)的可能原始詞;最后是單詞水平的還原。之后,將全部恢復(fù)的文本輸入給模型進(jìn)行預(yù)測(cè)。如能恢復(fù)為原始標(biāo)簽,則防御成功。這種方法稱為DISP(discriminate perturbations)。實(shí)驗(yàn)結(jié)果表明,DISP在單詞級(jí)攻擊的防御效果優(yōu)于對(duì)抗訓(xùn)練[47]和拼寫檢查[50],同時(shí)將DISP與拼寫檢查結(jié)合能夠進(jìn)一步提高模型魯棒性。

4 中文對(duì)抗樣本攻擊與防御

與英文對(duì)抗樣本不同,大多數(shù)需要解決的中文對(duì)抗性文本是由現(xiàn)實(shí)世界中的惡意網(wǎng)民生成的,由于不同網(wǎng)民采用了不同修改策略,因此其多樣性更加豐富,如生成垃圾郵件逃避檢測(cè)[59]、在線論壇發(fā)布廣告等惡意內(nèi)容。由于中文比較好的詞向量預(yù)訓(xùn)練模型還較少,這使得現(xiàn)有的工作在同義詞替換上還存在一些不足。另外,中文中的字符空間非常大,每個(gè)字符都可能受到各種攻擊策略的干擾,這使得干擾更加稀疏和無(wú)規(guī)律可循。目前針對(duì)中文的對(duì)抗樣本攻擊和防御的研究較少,本文各選取了一種效果較好的攻擊和防御方法來說明對(duì)抗樣本在中文中的應(yīng)用。

4.1 針對(duì)中文的對(duì)抗樣本攻擊

王文琦等人[60]提出了一種稱為WordHanding的黑盒攻擊方法,這種方法設(shè)計(jì)了新的中文詞重要性計(jì)算方法,使用同音詞替換做對(duì)抗攻擊。與WS、PWWS等方法類似,WordHanding定義了一些新的衡量方法來計(jì)算詞重要性,最后得到詞重要性的排序,再做詞替換。實(shí)驗(yàn)數(shù)據(jù)集采用京東購(gòu)物評(píng)論和攜程酒店評(píng)論,結(jié)果表明WordHanding能夠使LSTM模型對(duì)生成的對(duì)抗樣本檢測(cè)的準(zhǔn)確率平均降低 29%,使 CNN 模型檢測(cè)準(zhǔn)確率平均降低 22%,且對(duì)原始的中文文本的修改幅度僅占輸入數(shù)據(jù)長(zhǎng)度的 14.1%。同音詞替換雖然可以很好地表達(dá)原始文本的意思,因?yàn)樽x上去的發(fā)音跟原始文本一樣,但是由于只是讀音相同,在視覺上能夠明顯區(qū)分出這種對(duì)抗樣本,文本可讀性較差。表8[60]展示了WordHanding生成的對(duì)抗樣本。可以看到,對(duì)抗樣本替換的詞都是感情色彩比較明顯的詞,對(duì)情感分類影響較大。

表8 原始文本和WordHanding生成的對(duì)抗樣本

4.2 中文對(duì)抗樣本攻擊的防御

2014年,有研究者提出了針對(duì)中文的拼寫檢查和糾錯(cuò)的方法,包括基于規(guī)則[61]的和基于語(yǔ)言模型[62]的方法。但是相比于英文,中文拼寫檢查更困難,因?yàn)橹形奈谋驹~語(yǔ)之間沒有分割,一句話是連在一起的整體,而拼寫檢測(cè)一般只能在詞級(jí)別上來確定,結(jié)果是中文的拼寫檢測(cè)對(duì)模型性能的恢復(fù)能力有限。

Li等人[63]提出了一種專門為基于中文對(duì)抗樣本的防御框架TEXTSHIELD,這是一種基于神經(jīng)機(jī)器翻譯(NMT)的新型防御方法。首先在一個(gè)大型對(duì)抗性平行語(yǔ)料庫(kù)上訓(xùn)練一個(gè)NMT模型,基于Encoder-Decoder框架設(shè)計(jì)對(duì)抗NMT模型,用于恢復(fù)擾動(dòng)的文本;然后將其置于基于多模態(tài)嵌入的文本分類模型前,將對(duì)抗性擾動(dòng)恢復(fù)到良性擾動(dòng)。在訓(xùn)練階段,首先通過對(duì)抗性攻擊生成大量的句子對(duì),構(gòu)造一個(gè)大型對(duì)抗性平行語(yǔ)料庫(kù);接下來將設(shè)計(jì)好的NMT模型在對(duì)抗樣本上進(jìn)行訓(xùn)練。一旦訓(xùn)練完成,NMT模型就會(huì)被用作對(duì)抗文本校正器,通過翻譯來重建原始文本。由于攻擊者在真實(shí)場(chǎng)景中采用的擾動(dòng)策略主要集中在基于符號(hào)和基于語(yǔ)音的擾動(dòng)上,該文專門提出了三種跨不同模式的詞向量方法來處理相應(yīng)的變異類型: 即語(yǔ)義詞向量: 應(yīng)用skip-gram模型[64]來學(xué)習(xí)連續(xù)的語(yǔ)義詞向量。字形詞向量: 在中國(guó)的書寫體系中,有一大批文字在視覺上很相似,但卻有著完全不同的含義,例如,用“堵”取代“賭博”的“賭”,用字形詞向量方案來提取每個(gè)字符的基于字形的特征,以捕捉受干擾的單詞與其良性對(duì)應(yīng)詞之間的相似性。語(yǔ)音詞向量: 提取漢字中的同音字,提高文本分類模型及其魯棒性,例如擾動(dòng)如“澀情”或“se清”,和毒性詞“色情”有相同的發(fā)音。實(shí)驗(yàn)結(jié)果表明,TEXTSHIELD對(duì)惡意用戶生成的對(duì)抗文本具有較高的準(zhǔn)確性,如對(duì)“色情”檢測(cè)準(zhǔn)確率為0.944,而與良性輸入相比,對(duì)模型性能的影響很小,模型準(zhǔn)確性降低了不到2%。

5 面臨的挑戰(zhàn)和前景展望

5.1 單詞相似性與預(yù)訓(xùn)練模型使用問題

對(duì)抗樣本的研究由圖像發(fā)展而來,由于圖像具有連續(xù)性,使得圖像的對(duì)抗樣本有著很好的人類不可感知性。但是,在文本領(lǐng)域,一點(diǎn)很小改動(dòng)都能明顯被人類察覺到,雖然現(xiàn)在主流的方法是同義詞替換,但這種同義詞是詞空間中由詞向量計(jì)算而來的同義詞,且詞向量中距離較近的同義詞不一定是現(xiàn)實(shí)生活中的同義詞,在有些對(duì)抗樣本攻擊中生成的同義詞在現(xiàn)實(shí)中是不相關(guān)詞,在不同的數(shù)據(jù)集中,一個(gè)詞的同義詞可能因?yàn)檎Z(yǔ)境等原因有差別。同時(shí),單詞的替換很可能改變句子的語(yǔ)義或語(yǔ)法,雖然最新的攻擊方法在盡量避免這種情況,但仍然有很大的提升空間。因此,使用能準(zhǔn)確反映訓(xùn)練數(shù)據(jù)集單詞相似性的詞向量將會(huì)大大改善生成的對(duì)抗樣本質(zhì)量。如在中文同義詞替換部分使用ERNIE[65](enhanced representation through knowledge integration)等其他表現(xiàn)較好中文預(yù)訓(xùn)練語(yǔ)言模型,ERNIE的訓(xùn)練語(yǔ)料庫(kù)包括了維基百科、百度貼吧、百度新聞等常見的中文表現(xiàn)形式。其中百度貼吧由于其AI文本審核技術(shù)的存在,導(dǎo)致百度貼吧本身就存在很多規(guī)避審核的對(duì)抗樣本, ERNIE無(wú)論在攻擊領(lǐng)域還是防御領(lǐng)域都可以用在未來的工作中。在英文方面,能夠更好地反映上下文關(guān)系的預(yù)訓(xùn)練語(yǔ)言模型ELECTRA[66](efficiently learning an encoder that classifies token replacements accurately)在訓(xùn)練過程中由流行的MLM(masked language modeling)方法改進(jìn)為RTD(replaced token detection),其將生成式的MLM任務(wù)改成了判別式的RTD任務(wù),其替換詞檢測(cè)的思想跟對(duì)抗樣本檢測(cè)和防御非常契合,在未來的工作中使用類似的預(yù)訓(xùn)練語(yǔ)言模型或許有助于提升防御效果。

5.2 防御方法的通用性不強(qiáng)

到目前為止,現(xiàn)有的防御方法都是針對(duì)特定攻擊方法、特定數(shù)據(jù)集,比如拼寫檢查在字符級(jí)攻擊的防御效果較好,但不適用于單詞級(jí)攻擊。特定的防御方法在特定的攻擊方法上表現(xiàn)很好,但是換了另一種攻擊方法就達(dá)不到預(yù)期的效果。比如通過分析數(shù)據(jù)發(fā)現(xiàn)RSE在PWWS攻擊方法上防御效果很好,但在GA攻擊下并不能很好地感知出其所替換的單詞。原因是在做防御時(shí),可供選擇的攻擊方法有限,一般只選擇幾種方法做實(shí)驗(yàn),算法可以在這幾種攻擊方法上取得較好的防御效果,但遇到未使用過的攻擊方法時(shí)防御效果就減弱了。由于攻擊方法層出不窮,通用性問題目前還沒有較好的解決方法,希望未來有更好的解決方法。

5.3 評(píng)估方法

對(duì)抗樣本攻擊效果是一個(gè)多因素綜合考慮的結(jié)果,現(xiàn)在有一些對(duì)抗樣本攻擊方法以模型準(zhǔn)確性來評(píng)價(jià)其方法的性能,即準(zhǔn)確性越低,攻擊效果越好。也有一些以攻擊成功率評(píng)價(jià)攻擊效果,即成功使模型出錯(cuò)的樣本數(shù)量與總的樣本的比例。但是模型準(zhǔn)確性或者攻擊成功率只反映了一個(gè)方面,另外的比如語(yǔ)義相似性、單詞替換率和不可感知性等因素都會(huì)影響最后的攻擊效果。一個(gè)攻擊方法的語(yǔ)義相似越高,單詞替換率越低,不可感知性越強(qiáng),其效果越優(yōu),但嚴(yán)格限制這幾個(gè)因素之后攻擊成功率就不會(huì)太高。對(duì)于語(yǔ)義相似性,評(píng)估的方法有歐氏距離、余弦距離和編輯距離等方法,這幾種方法都有人使用過,但是沒有一個(gè)標(biāo)準(zhǔn)方法來衡量語(yǔ)義相似性。其次,針對(duì)不可感知性,目前通用的方法是人工評(píng)估,即選擇若干志愿者人工評(píng)估生成的對(duì)抗樣本是否是修改過的對(duì)抗樣本。嚴(yán)格來說,這并不嚴(yán)謹(jǐn),但目前還沒有更好的評(píng)估方法,因此需要更標(biāo)準(zhǔn)化的方法來評(píng)估對(duì)抗樣本的不可感知性和語(yǔ)義相似性。

6 總結(jié)

本文從攻擊和防御兩方面在對(duì)抗樣本這一新興的研究方向進(jìn)行綜述,介紹了目前常見的攻擊和防御方法,在攻擊部分按照黑盒、白盒、字符級(jí)和單詞級(jí)詳細(xì)介紹了具體的攻擊方法,并對(duì)所有介紹的攻擊方法做了對(duì)比。本文還討論了防御方法,并探討了現(xiàn)有防御方法的不足。同時(shí)介紹了中文對(duì)抗樣本攻擊與防御方法的進(jìn)展,雖然現(xiàn)有的針對(duì)中文的方法較少且不成熟,但在對(duì)抗樣本這一鄰域的研究越來越多,以后針對(duì)中文的方法也會(huì)更加完善。雖然對(duì)抗樣本是深度學(xué)習(xí)的一個(gè)重大威脅,但相信隨著對(duì)于對(duì)抗攻擊方法的深入研究,未來一定能夠?qū)崿F(xiàn)抵御對(duì)抗攻擊更具魯棒性的深度學(xué)習(xí)模型。

猜你喜歡
黑盒字符擾動(dòng)
一種基于局部平均有限差分的黑盒對(duì)抗攻擊方法
Bernoulli泛函上典則酉對(duì)合的擾動(dòng)
尋找更強(qiáng)的字符映射管理器
字符代表幾
一種USB接口字符液晶控制器設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:50
(h)性質(zhì)及其擾動(dòng)
消失的殖民村莊和神秘字符
小噪聲擾動(dòng)的二維擴(kuò)散的極大似然估計(jì)
用于光伏MPPT中的模糊控制占空比擾動(dòng)法
广宁县| 连州市| 亳州市| 哈密市| 稻城县| 潜山县| 罗甸县| 阿拉善盟| 丰镇市| 平顶山市| 民勤县| 宁安市| 万州区| 台东市| 乌拉特中旗| 同仁县| 集安市| 孝昌县| 长垣县| 磐安县| 卢湾区| 大同市| 安岳县| 井研县| 湛江市| 磐安县| 乌鲁木齐市| 绥德县| 武穴市| 舒兰市| 且末县| 五河县| 元谋县| 苏尼特右旗| 南岸区| 手机| 兰西县| 衢州市| 阿拉善盟| 阿坝| 西藏|