王文琦 , 汪 潤(rùn) , 王麗娜 , 唐奔宵
1(空天信息安全與可信計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室(武漢大學(xué)),湖北 武漢 430072)
2(武漢大學(xué) 國(guó)家網(wǎng)絡(luò)安全學(xué)院,湖北 武漢 430072)
基于深度神經(jīng)網(wǎng)絡(luò)(deep neural network,簡(jiǎn)稱DNN)的機(jī)器學(xué)習(xí)方法已被廣泛地應(yīng)用于許多領(lǐng)域,如計(jì)算機(jī)視覺(jué)[1,2]、語(yǔ)音識(shí)別[3]、自然語(yǔ)言處理[4?9]、惡意軟件檢測(cè)[10?12]等,但DNN 在上述應(yīng)用中都面臨著對(duì)抗樣本攻擊的威脅.對(duì)抗樣本是指在正常的樣本中通過(guò)有目地性添加少量的擾動(dòng)信息,使得基于DNN 模型的系統(tǒng)出現(xiàn)誤判[13,14].Szegedy 等人[14]已證實(shí)了對(duì)于一些機(jī)器學(xué)習(xí)模型,包括在多方面表現(xiàn)很好的神經(jīng)網(wǎng)絡(luò)模型,在遭受對(duì)抗樣本的攻擊時(shí)都表現(xiàn)出明顯的脆弱性.
對(duì)抗樣本最初發(fā)現(xiàn)在基于DNN 的圖像識(shí)別中,如自動(dòng)駕駛中,攻擊者對(duì)路標(biāo)圖像進(jìn)行修改使得車(chē)輛識(shí)別系統(tǒng)把左轉(zhuǎn)判別為右轉(zhuǎn),存在極大的安全隱患.而對(duì)抗樣本不僅出現(xiàn)在圖像領(lǐng)域,本文發(fā)現(xiàn),在基于DNN 的中文文本傾向性檢測(cè)中也存在對(duì)抗樣本攻擊的問(wèn)題.如判斷網(wǎng)絡(luò)中傳播的文本信息是正常還是異常時(shí),攻擊者可以利用對(duì)抗樣本生成的方法對(duì)異常信息進(jìn)行處理,使處理之后的異常信息被檢測(cè)系統(tǒng)誤判為正常信息,“欺騙”系統(tǒng)的檢測(cè),使得異常信息擴(kuò)散.或者是把大量惡意評(píng)論“偽裝”成正常評(píng)論散播,影響人們對(duì)人和事的情感傾向或?qū)ξ锏馁?gòu)買(mǎi)欲望.如圖1 所示,某商品經(jīng)過(guò)推薦系統(tǒng)宣傳銷(xiāo)量增加,然而受商業(yè)競(jìng)爭(zhēng)對(duì)手雇傭的攻擊者把針對(duì)該商品的惡意信息進(jìn)行修改生成對(duì)抗樣本,使基于DNN 的惡意信息檢測(cè)系統(tǒng)產(chǎn)生錯(cuò)誤的判別而未攔截.這導(dǎo)致人們被大量負(fù)面信息影響,對(duì)該商品由購(gòu)買(mǎi)傾向變?yōu)椴毁I(mǎi),最終使得產(chǎn)品銷(xiāo)量降低.這些安全性問(wèn)題自然引起了人們對(duì)深度學(xué)習(xí)模型魯棒性的關(guān)注,而對(duì)深度學(xué)習(xí)模型具有威脅性的對(duì)抗樣本生成過(guò)程的研究同樣有著重要意義,其有助于分析基于深度學(xué)習(xí)模型系統(tǒng)存在的安全問(wèn)題,有助于建立針對(duì)此類(lèi)攻擊的檢測(cè)防御工作[15].
Fig.1 Impacts of adversarial example attack圖1 對(duì)抗樣本攻擊帶來(lái)的影響
按攻擊者對(duì)目標(biāo)模型的了解程度,可以將對(duì)抗樣本攻擊分為白盒、黑盒可探測(cè)以及黑盒不可探測(cè)攻擊:白盒情景下,攻擊者對(duì)模型完全掌握,包括模型的類(lèi)型、結(jié)構(gòu)、所有參數(shù)及權(quán)重值;黑盒可探測(cè)情景下,攻擊者對(duì)目標(biāo)模型部分了解,但能對(duì)模型進(jìn)行探測(cè)或查詢,如通過(guò)輸入觀察輸出結(jié)果;黑盒不可探測(cè)情景下,攻擊者對(duì)目標(biāo)模型了解有限或完全沒(méi)有,構(gòu)建對(duì)抗樣本時(shí)不允許對(duì)目標(biāo)模型進(jìn)行探測(cè)查詢.在現(xiàn)實(shí)中,黑盒攻擊比白盒更為實(shí)際,但如今,大多數(shù)文本類(lèi)型對(duì)抗樣本的生成和攻擊是以白盒為前提假設(shè)[16?19],黑盒條件下的研究很少[20,21].此外,目前的研究都是針對(duì)英文數(shù)據(jù),一般的修改方法包含對(duì)輸入中的字母進(jìn)行操作,如插入、刪除、相鄰字母位置互換等.該方法不適用于中文數(shù)據(jù),因?yàn)槊總€(gè)漢字是一個(gè)獨(dú)立單元,不可拆分;而使用鄰近詞[19]、添加標(biāo)點(diǎn)的方式,這些方法會(huì)改變?cè)斎胝Z(yǔ)句的意思,也不適用.因此,如何對(duì)中文文本數(shù)據(jù)處理生成對(duì)抗樣本,在更實(shí)際的黑盒條件下實(shí)現(xiàn)針對(duì)長(zhǎng)短記憶網(wǎng)絡(luò)(long short-term memory,簡(jiǎn)稱LSTM)和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,簡(jiǎn)稱CNN)這兩種常見(jiàn)的情感分析模型的對(duì)抗樣本攻擊,是本文要解決的問(wèn)題.
本文提出了一種面向中文文本的對(duì)抗樣本生成方法WordHandling,該方法不需要直接目標(biāo)網(wǎng)絡(luò)的參數(shù)信息,其通過(guò)設(shè)計(jì)一個(gè)新的算法計(jì)算文本中影響分類(lèi)的重要詞語(yǔ),用同音詞或詞組替換的方法修改原始數(shù)據(jù)生成對(duì)抗樣本,有效地實(shí)現(xiàn)了針對(duì)深度神經(jīng)網(wǎng)絡(luò)模型的黑盒攻擊.圖2 所示為利用WordHandling 生成中文對(duì)抗樣本的例子.
圖2(a)和圖2(b)虛線上半部分是原始樣本,下半部分是生成的對(duì)抗樣本.從正常的情感傾向看,圖2(a)和圖2(b)中的原始樣本分別為負(fù)面評(píng)論與正面評(píng)論.可以看出,原始的輸入樣本能夠被深度神經(jīng)網(wǎng)絡(luò)模型正確的分類(lèi).但僅僅對(duì)輸入的中文文本進(jìn)行些許改動(dòng),就能干擾深度學(xué)習(xí)傾向檢測(cè)系統(tǒng),使其產(chǎn)生錯(cuò)誤的傾向判斷,把正面評(píng)論判斷為負(fù)面評(píng)論,或者是負(fù)面評(píng)論判別為正面評(píng)論.同時(shí),由于句子修改前后的含義內(nèi)容變化微小,人仍然能夠通過(guò)句子的語(yǔ)義或語(yǔ)音來(lái)理解修改后的語(yǔ)句.
Fig.2 Examples of generated adversarial example es by WordHandling圖2 WordHandling 生成的對(duì)抗樣本樣例
本文的主要貢獻(xiàn)有:
(1) 提出了一種中文對(duì)抗樣本生成方法,只需要對(duì)輸入的中文文本進(jìn)行些許修改,且不需要知道目標(biāo)模型的參數(shù),即能生成對(duì)抗樣本,可用于干擾文本的情感傾向分類(lèi).
(2) 本文設(shè)計(jì)了一種新的詞語(yǔ)重要性計(jì)算方法,利用該方法,以較小的代價(jià)對(duì)中文文本數(shù)據(jù)進(jìn)行修改,有效改變DNN 模型對(duì)修改后樣本的傾向分類(lèi).
(3) 提出的方法在真實(shí)的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),使用LSTM 和CNN 模型對(duì)生成的對(duì)抗樣本做傾向判別,傾向判別準(zhǔn)確率平均下降29%和22%,而對(duì)輸入的中文文本平均的修改幅度為14.1%,實(shí)驗(yàn)結(jié)果證明了文中所提的WordHandling 對(duì)抗樣本生成方法的有效性.
本文第1 節(jié)是相關(guān)工作的介紹.第2 節(jié)是背景知識(shí).第3 節(jié)對(duì)本文提出的對(duì)抗樣本生成算法進(jìn)行詳細(xì)描述.第4 節(jié)為實(shí)驗(yàn)設(shè)置以及結(jié)果的分析討論.第5 節(jié)為本文的總結(jié).
傳統(tǒng)機(jī)器學(xué)習(xí)的安全性方面已進(jìn)行了許多研究工作,如針對(duì)機(jī)器學(xué)習(xí)模型形成的不同類(lèi)型攻擊方法的總結(jié)及相應(yīng)的防御措施[22].其中提出的一些攻擊方法,包括“污染”攻擊[23,24]和回避攻擊[25?27],威脅著已部署的基于機(jī)器學(xué)習(xí)模型的系統(tǒng).而在各方面表現(xiàn)很好的深度神經(jīng)網(wǎng)絡(luò)模型也同樣存在著安全問(wèn)題,如精巧制作對(duì)抗樣本,能夠誤導(dǎo)基于DNN 的分類(lèi)系統(tǒng),這種新的攻擊方式及其針對(duì)性的防御引起越來(lái)越多的關(guān)注.就對(duì)抗樣本攻擊而言,現(xiàn)已有多種生成對(duì)抗樣本的方法用于對(duì)抗DNN,如FGSM(fast gradient sign method)[28?30],JSMA(jacobianbased saliency map attack)[31],Deepfool[32]等.但上述方法多是針對(duì)圖像類(lèi)型,并不能直接應(yīng)用于文本領(lǐng)域.原因在于圖像是連續(xù)的,文本是離散的且有詞序限制;另一方面,文本和圖像的距離度量標(biāo)準(zhǔn)并不一致.
盡管不同于圖像領(lǐng)域,文本方面的對(duì)抗樣本研究工作也已有相應(yīng)的進(jìn)展,Liang 等人[17]通過(guò)對(duì)輸入數(shù)據(jù)的詞向量梯度計(jì)算決定向文本中插入、刪除、修改的內(nèi)容,在哪里插入以及如何進(jìn)行修改,但是該方法需要知道模型參數(shù),不適合本文的黑盒場(chǎng)景,而且插入整個(gè)語(yǔ)句的方法可能會(huì)改變輸入內(nèi)容的意思.Ebrahimi 等人[18]使用同義詞來(lái)替代原詞,其中加入了嚴(yán)格的限制條件.但是該方法在僅改動(dòng)一兩個(gè)詞就可生成對(duì)抗樣本的情況下,得到的對(duì)抗樣本數(shù)量十分稀少.Papernot 等人[19]使用LSTM,把隨機(jī)選取的詞在嵌入(embedding)層的詞向量用向量空間中最鄰近的詞向量替代,映射到輸入中就可能會(huì)生成與原詞完全不相關(guān)的詞來(lái)代替,不能保證語(yǔ)義上的相似.此外,Gao 等人[21]在黑盒條件下生成文本類(lèi)型的對(duì)抗樣本,他們提出了DeepWordBug 算法,根據(jù)黑盒條件下觀察模型的輸出結(jié)果,設(shè)計(jì)詞語(yǔ)重要性計(jì)算函數(shù),找出文本中的關(guān)鍵單詞,并對(duì)單詞的字母進(jìn)行插入、刪除、取代、前后字母交換位置等方式修改以生成對(duì)抗樣本,但修改的方法不適用于中文數(shù)據(jù).上述方法使用的實(shí)驗(yàn)數(shù)據(jù)是英文文本,并沒(méi)有使用中文實(shí)驗(yàn)數(shù)據(jù)的研究工作.本文在第3 節(jié)介紹針對(duì)中文文本數(shù)據(jù)生成對(duì)抗樣本的算法.
情感傾向性分析的目的是利用機(jī)器提取人們?cè)谖谋局袑?duì)某事物或某人表現(xiàn)的態(tài)度,從而發(fā)現(xiàn)潛在的問(wèn)題來(lái)改進(jìn)和預(yù)測(cè).主要的分析內(nèi)容是對(duì)特定的人或事物帶有主觀色彩的偏好和傾向,如喜歡、討厭、好、壞等.而分類(lèi)任務(wù)是把自然語(yǔ)言編寫(xiě)的文檔通過(guò)深度學(xué)習(xí)模型自動(dòng)地劃分到預(yù)先定義的類(lèi)別中[33].在文本領(lǐng)域,確定產(chǎn)品或評(píng)論中的情感傾向的情感分類(lèi)也是一種文本分類(lèi)任務(wù).文本分類(lèi)典型的方法是用詞袋向量(bag-of-word vectors)表示文本數(shù)據(jù),使用SVM(support vector machine)等傳統(tǒng)機(jī)器學(xué)習(xí)模型并不能保證詞在文本中的詞序,而詞序的缺失對(duì)文本的情感分類(lèi)有很大影響.Johnson 等人[33,34]分別使用CNN 和LSTM 在保證詞序的前提下對(duì)詞向量處理,進(jìn)行情感分類(lèi).而在實(shí)際生活中,情感傾向性分類(lèi)可用于評(píng)論篩選、信息過(guò)濾等工作.
卷積神經(jīng)網(wǎng)絡(luò)CNN[35]是一種前饋神經(jīng)網(wǎng)絡(luò),其包含卷積層與池化層.卷積操作的作用是突出特征,將更明顯的特征提取出來(lái),在CNN 中,卷積的操作可以用公式(1)來(lái)表示.
該公式表示卷積核與卷積區(qū)域的點(diǎn)乘和,然后同偏置求和后激活.池化也稱為子采樣,其可看作為一種特殊的卷積過(guò)程,常有均值和最大值子采樣兩種形式.卷積和池化能簡(jiǎn)化模型的復(fù)雜度,減少其中的參數(shù).
CNN 在多個(gè)領(lǐng)域取得了成功,在圖像處理方面,其特有的卷積、池化結(jié)構(gòu)能夠提取圖像中各種不同程度的紋理、結(jié)構(gòu),并最終結(jié)合全連接網(wǎng)絡(luò)實(shí)現(xiàn)信息的匯總和輸出.而在短文本分析任務(wù)中,句子的長(zhǎng)度有限、結(jié)構(gòu)緊湊、能夠獨(dú)立表達(dá)意思的特點(diǎn),使得CNN 在處理這一類(lèi)問(wèn)題上成為可能[36],因而其也能用在文本傾向性檢測(cè)中.
面對(duì)時(shí)序相關(guān)的輸入數(shù)據(jù)時(shí),傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)表現(xiàn)不佳,其直進(jìn)直出的特性決定這只能使用當(dāng)前輸入而不能利用之前的數(shù)據(jù)信息.循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,簡(jiǎn)稱RNN)很好地解決了這一問(wèn)題,RNN 是一個(gè)循環(huán)網(wǎng)絡(luò),能夠很好地存儲(chǔ)信息,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示.圖3 對(duì)h處的循環(huán)展開(kāi),可看出,單元ht不僅受當(dāng)前輸入xt的影響,還受到ht之前單元的影響.W1~W3 表示權(quán)值.
Fig.3 Network structure of RNN圖3 RNN 網(wǎng)絡(luò)結(jié)構(gòu)
但當(dāng)前輸入信息與之前的輸入關(guān)聯(lián)度有長(zhǎng)有短,隨著信息關(guān)聯(lián)度的變長(zhǎng),RNN 不能學(xué)習(xí)這些信息之間的聯(lián)系而失去效用.為解決這個(gè)長(zhǎng)期依賴問(wèn)題,LSTM 因此被提出.長(zhǎng)短記憶網(wǎng)絡(luò)LSTM[37]是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)RNN,由Sepp Hochreiter 和Jürgen Schmidhuber 在1997 年提出,并加以完善與普及,其能夠?qū)W習(xí)到長(zhǎng)期依賴關(guān)系,可以對(duì)之前的輸入有選擇的記憶,從而有助于判斷當(dāng)前輸入.LSTM 在各類(lèi)任務(wù)上表現(xiàn)良好,包括情感傾向性檢測(cè),因此被廣泛使用[38?40].
本文預(yù)先訓(xùn)練一個(gè)LSTM 替代模型,把一個(gè)文本數(shù)據(jù)作為輸入,經(jīng)過(guò)LSTM 模型后,會(huì)輸出一個(gè)分?jǐn)?shù)s,根據(jù)預(yù)先設(shè)定的閾值與s的比較來(lái)判別該輸入的類(lèi)別傾向.一般黑盒條件下,觀察模型的結(jié)果僅能得到輸入數(shù)據(jù)所屬的類(lèi)別標(biāo)簽y,而本文通過(guò)LSTM 替代模型,可獲取且僅需獲取輸出的判別分?jǐn)?shù)s.
①設(shè)定訓(xùn)練集中的正負(fù)樣本評(píng)論數(shù)據(jù)分別標(biāo)記為1 和0,傾向分類(lèi)判別閾值用λ表示.當(dāng)s>λ時(shí),該輸入被判別為正樣本(positive);當(dāng)s≤λ時(shí),被判別為負(fù)樣本(negative).
② 原始樣本分詞后,依次輸入得到各自的分?jǐn)?shù),認(rèn)為s在β到α之間的詞語(yǔ)為偏中性,不帶情感傾向或傾向微弱;s>α,偏正面;s<β,偏負(fù)面.
③名詞不包含明顯的情感傾向,可排除在修改序列外.
④ 對(duì)于漢字中不存在同音字的詞,如“嗯”“命”等,但這些字并不影響WordHandling.原因在于,不存在同音字的漢字稀少,并不存在明顯的情感傾向且可以用諧音詞代替.這些詞計(jì)算得到的重要性程度弱于其他情感傾向較大的詞,如正面傾向的“喜歡”“好”,負(fù)面傾向的“壞”“差”“無(wú)用”等.
自然語(yǔ)言處理的相關(guān)應(yīng)用對(duì)輸入文本中的某些詞具有高度的敏感性,對(duì)敏感詞進(jìn)行修改在較大程度上能夠改變分類(lèi)器對(duì)輸入樣本的類(lèi)別傾向判斷[5].而敏感詞也即是語(yǔ)句中的重要詞(關(guān)鍵詞或貢獻(xiàn)度大的詞),其重要性或貢獻(xiàn)度則是對(duì)輸入數(shù)據(jù)類(lèi)別傾向判斷影響程度的一個(gè)度量,重要詞被修改之后很大程度上會(huì)改變?cè)驾斎氲那楦蓄?lèi)別傾向.因此,本文對(duì)語(yǔ)句中情感傾向性詞語(yǔ)進(jìn)行修改以生成對(duì)抗樣本的流程,如圖4 所示.
Fig.4 Adversarial examples generation process in this paper圖4 本文對(duì)抗樣本生成的流程
其過(guò)程描述如下:
①對(duì)輸入文本進(jìn)行分詞處理,依次輸入計(jì)算各個(gè)詞或詞組的分?jǐn)?shù)score.
② 統(tǒng)計(jì)score 大于α(偏正面)和小于β(偏負(fù)面)的詞的個(gè)數(shù),分別記為P和N.
③比較P和N的大小:若P>N,則認(rèn)為輸入的數(shù)據(jù)偏正面;反之,則認(rèn)為輸入的數(shù)據(jù)偏負(fù)面.
④ 利用詞語(yǔ)重要性計(jì)算函數(shù)計(jì)算輸入文本數(shù)據(jù)中各個(gè)詞或詞組的重要程度.
⑤ 若輸入數(shù)據(jù)偏正面,對(duì)各個(gè)詞的score 按降序排列;若輸入數(shù)據(jù)偏負(fù)面,則按升序排列.
⑥ 對(duì)排序在前m的詞或詞組(剔除名詞后的)用同音詞替換修改得到對(duì)抗樣本,m為修改文本中詞或詞語(yǔ)的次數(shù)或幅度.
為保證修改后得到的文本的可讀性和有效性,對(duì)文本中重要詞或詞組進(jìn)行修改并控制改動(dòng)的幅度是必須的.但哪些是重要詞語(yǔ)以及如何確定,是本節(jié)將要解決的問(wèn)題.對(duì)重要詞語(yǔ)的計(jì)算則需要使用詞語(yǔ)重要性計(jì)算函數(shù),本文設(shè)計(jì)了新的方法來(lái)進(jìn)行計(jì)算.
· Delete Score (DS)
對(duì)輸入樣本X進(jìn)行分詞得到X=[x1,x2,x3,…,xn],n表示分詞的長(zhǎng)度,對(duì)序列中的第i個(gè)詞語(yǔ),計(jì)算整句輸入和移除第i個(gè)詞語(yǔ)后的輸入分?jǐn)?shù)的差值:
· Forward Score (FS)
該函數(shù)計(jì)算的是序列中第i個(gè)詞語(yǔ)的預(yù)測(cè)分?jǐn)?shù),通過(guò)計(jì)算輸入中前i個(gè)詞語(yǔ)和前i?1 個(gè)詞語(yǔ)分?jǐn)?shù)的差值:
其中,假定當(dāng)i=1 時(shí),FS(xi)=0.
· TF-IDF Score
TF-IDF 提取輸入數(shù)據(jù)中的關(guān)鍵詞,提取的關(guān)鍵詞中可能含有帶情感傾向的詞:
移除計(jì)算得到的關(guān)鍵詞中的名詞詞語(yǔ),找到這些關(guān)鍵詞在X=[x1,x2,x3,…,xn]中的位置索引,把長(zhǎng)度為n的零向量M中相應(yīng)位置的數(shù)值0 用TF-IDF值替代,得到向量M=[m1,m2,m3,…,mn].則詞語(yǔ)的TIS score 為
其中,x為向量中數(shù)值,mmax和mmin分別為M中所有數(shù)據(jù)最大值和最小值.最終,通過(guò)詞語(yǔ)重要性計(jì)算函數(shù)對(duì)輸入樣本X中的第i個(gè)詞語(yǔ)重要程度進(jìn)行計(jì)算:
其中,w2是一個(gè)超參數(shù).
近年的研究工作中,文本類(lèi)型對(duì)抗樣本生成使用的是英文數(shù)據(jù),采用的方法是對(duì)輸入中的英文詞語(yǔ)進(jìn)行直接修改,方法包括詞語(yǔ)的替換、插入、刪除及單詞中相鄰字母位置交換等.但這些方法對(duì)于中文文本數(shù)據(jù)而言并不適用,對(duì)中文文本中的詞語(yǔ)進(jìn)行插入、刪除,極大多數(shù)情況會(huì)改變?cè)Z(yǔ)句的意思,而單個(gè)中文漢字則并不存在相鄰字母位置交換的情況.因而在輸入層面而非詞向量嵌入層和語(yǔ)義層上對(duì)中文樣本進(jìn)行直接修改,重要詞語(yǔ)替換的方式具有可行性.但簡(jiǎn)單的隨機(jī)替換也同樣存在改變?cè)瓟?shù)據(jù)的意思的問(wèn)題,而本文則提出一個(gè)有效且可行的方法,使用詞語(yǔ)重要性計(jì)算函數(shù)計(jì)算語(yǔ)句中各個(gè)詞的重要程度,對(duì)重要性高的詞語(yǔ)通過(guò)獲取它們的同音詞或詞組來(lái)代替原詞語(yǔ),生成對(duì)抗樣本來(lái)迷惑深度學(xué)習(xí)模型,提高其誤檢率.這樣做的好處是:人仍然能夠通過(guò)句子的上下文或詞的諧音來(lái)理解句子的含義,較大程度上保留原樣本數(shù)據(jù)的內(nèi)容,同時(shí)又能夠“避開(kāi)”學(xué)習(xí)模型的檢測(cè).
算法.WordHandling 算法.
輸入:X=x1x2x3…xn,修改幅度m,詞語(yǔ)重要性計(jì)算函數(shù)S,排序函數(shù)Rank,轉(zhuǎn)換函數(shù)T,功能函數(shù)F.
輸出:X′.
算法說(shuō)明:對(duì)于輸入的中文數(shù)據(jù)進(jìn)行分詞,X中的元素可能是單個(gè)漢字,也可能是詞組;然后計(jì)算X中每個(gè)元素的重要性,判斷輸入樣本情感偏向性;按情感偏向的正或負(fù)來(lái)對(duì)詞語(yǔ)的重要性進(jìn)行降或升序排列,選取重要性排名前m個(gè)重要詞進(jìn)行修改得到生成的對(duì)抗樣本.以酒店評(píng)論為例,一般只包含正面評(píng)論和負(fù)面評(píng)論兩類(lèi),輸入樣本經(jīng)過(guò)算法步驟5 初步判斷情感傾向后,若判定為正面評(píng)論,對(duì)各個(gè)詞的重要程度降序排列,偏向正面的詞或詞組的分?jǐn)?shù)排在前列,對(duì)這些詞進(jìn)行修改能較大程度上改變樣本的情感傾向,使模型對(duì)修改后的樣本類(lèi)別產(chǎn)生不同判定,但與原樣本的內(nèi)容含義差異微小.
在本文中,修改幅度m是動(dòng)態(tài)變化的.在對(duì)抗樣本生成的過(guò)程中,依次對(duì)排序后的詞進(jìn)行修改,判斷修改前后樣本的類(lèi)別是否改變,直到影響原輸入樣本情感傾向的詞(即score>α或score<β)的詞被全部修改為止.對(duì)于定長(zhǎng)的輸入樣本而言,修改的幅度m越大,其改動(dòng)后類(lèi)別的變化可能性越大.第4.2 節(jié)中給出深度學(xué)習(xí)模型對(duì)給定長(zhǎng)度的數(shù)據(jù)以不同修改幅度生成對(duì)抗樣本的檢測(cè)準(zhǔn)確率的變化情況.
本文在不同的深度神經(jīng)網(wǎng)絡(luò)模型上進(jìn)行對(duì)抗樣本的有效性驗(yàn)證,采用的數(shù)據(jù)集形式見(jiàn)表1.
Table 1 Experimental data set表1 實(shí)驗(yàn)數(shù)據(jù)集
實(shí)驗(yàn)所使用的是公開(kāi)的攜程酒店評(píng)論數(shù)據(jù)和京東購(gòu)物評(píng)論數(shù)據(jù).對(duì)于攜程酒店評(píng)論數(shù)據(jù)集,從中選取正負(fù)面評(píng)價(jià)語(yǔ)料各3 000 條作為訓(xùn)練樣本,另隨機(jī)取3 000 條作為測(cè)試樣本進(jìn)行測(cè)試,選取的訓(xùn)練語(yǔ)料的平均長(zhǎng)度為108 字,中值長(zhǎng)度為146 字.對(duì)于京東購(gòu)物評(píng)論數(shù)據(jù)集,從中選取2 400 條五星評(píng)價(jià)的正面評(píng)論和2 400 條一星評(píng)價(jià)的負(fù)面評(píng)論作為訓(xùn)練樣本,另隨機(jī)選取3 000 條評(píng)價(jià)為測(cè)試樣本,選取的訓(xùn)練語(yǔ)料的平均長(zhǎng)度為37 字,中值長(zhǎng)度為26 字.實(shí)驗(yàn)中,訓(xùn)練和測(cè)試所使用到的數(shù)據(jù)其類(lèi)標(biāo)簽是已知的,正面評(píng)論樣本標(biāo)記為1,負(fù)面評(píng)論樣本標(biāo)記為0,深度學(xué)習(xí)模型對(duì)樣本的分類(lèi)閾值λ數(shù)值為0.5,α,β的數(shù)值分別為0.6 和0.4.
為了驗(yàn)證所提出的WordHandling 的有效性,本文利用預(yù)先訓(xùn)練的LSTM 替代模型對(duì)兩個(gè)數(shù)據(jù)集中的測(cè)試集進(jìn)行修改,生成相應(yīng)的中文對(duì)抗樣本,把這些對(duì)抗樣本作為輸入,對(duì)LSTM,CNN 模型實(shí)施黑盒攻擊.對(duì)于WordHandling 實(shí)際效果的衡量則是通過(guò)深度學(xué)習(xí)模型對(duì)生成的對(duì)抗樣本檢測(cè)的準(zhǔn)確率來(lái)體現(xiàn),準(zhǔn)確率越低,則攻擊效果越好,生成的對(duì)抗樣本更能有效地“避開(kāi)”系統(tǒng)的檢測(cè),誘導(dǎo)模型產(chǎn)生錯(cuò)誤的傾向分類(lèi).
本文在LSTM 和CNN 模型上驗(yàn)證所提出的WordHandling 方法的有效性,關(guān)于模型檢測(cè)準(zhǔn)確率的結(jié)果見(jiàn)表2(表中數(shù)值均為百分比),對(duì)比方法有3 種:隨機(jī)刪除修改、隨機(jī)選詞替換以及DeepWordBug[21].
Table 2 Verification of WordHandling validity on two datasets表2 兩種數(shù)據(jù)集上驗(yàn)證WordHandling 的有效性
本文在不對(duì)輸入文本進(jìn)行較大規(guī)模改動(dòng)及保證語(yǔ)義變化甚微的前提下,動(dòng)態(tài)確定修改幅度m.在本文的實(shí)驗(yàn)中,文本數(shù)據(jù)的修改幅度m平均占輸入文本長(zhǎng)度的14.1%,近似等于文本長(zhǎng)度的六分之一.對(duì)于攜程酒店評(píng)論數(shù)據(jù)集,使用WordHandling 算法生成對(duì)抗樣本,并在深度學(xué)習(xí)模型上進(jìn)行黑盒攻擊,其中:LSTM模型檢測(cè)的準(zhǔn)確率從92.38%下降到59.03%,CNN 模型檢測(cè)的準(zhǔn)確率從90.12%下降到66.42%;對(duì)于京東購(gòu)物評(píng)論數(shù)據(jù)集,LSTM模型檢測(cè)的準(zhǔn)確率從88.51%下降到61.25%,CNN 模型檢測(cè)的準(zhǔn)確率從87.82%下降到67.19%.
數(shù)據(jù)柱狀圖如圖5 和圖6 所示.
Fig.5 Detection results of adversarial examples on Ctrip data in Table 2圖5 表2 中攜程數(shù)據(jù)上對(duì)抗樣本檢測(cè)結(jié)果
Fig.6 Detection results of adversarial examples on Jingdong data in Table 2圖6 表2 中京東數(shù)據(jù)上對(duì)抗樣本檢測(cè)結(jié)果
由表2 可以看出,關(guān)鍵詞語(yǔ)對(duì)輸入數(shù)據(jù)類(lèi)別傾向的影響較大,使用隨機(jī)的方式對(duì)輸入進(jìn)行改動(dòng)得到的結(jié)果并不理想;而且本文提出的WordHandling 算法比DeepWordBug 效果更佳.表3 則是選取的若干原始樣本和在其基礎(chǔ)之上生成的對(duì)抗樣本的例子,由表3 可以看出,生成的對(duì)抗樣本仍然能夠通過(guò)語(yǔ)義上下文被人所理解,文本意思變化在可接受范圍內(nèi).
Table 3 Examples of original examples and generated adversarial examples表3 原始樣本和生成的對(duì)抗樣本例子
為了驗(yàn)證模型對(duì)于對(duì)抗樣本檢測(cè)的準(zhǔn)確率與樣本修改的幅度m的關(guān)聯(lián)性,從兩種數(shù)據(jù)集中分別選取1 000條長(zhǎng)度大于120 字的數(shù)據(jù),根據(jù)不同的修改幅度生成相應(yīng)的對(duì)抗樣本.圖7 為攜程酒店評(píng)論數(shù)據(jù)集在兩種模型上檢測(cè)的準(zhǔn)確率隨修改規(guī)模m變化的曲線,圖8 則是在京東購(gòu)物評(píng)論數(shù)據(jù)集在兩種模型上的實(shí)驗(yàn)結(jié)果.
Fig.7 Change rate of accuracy of adversarial examples with the modified amplitude m on Ctrip data圖7 攜程數(shù)據(jù)對(duì)抗樣本檢測(cè)準(zhǔn)確率隨修改幅度m 的變化曲線
Fig.8 Change rate of accuracy of adversarial examples with the modified amplitude m on Jingdong data圖8 京東數(shù)據(jù)抗樣本檢測(cè)準(zhǔn)確率隨修改幅度m 的變化曲線
由圖7 和圖8 可以看出,隨著修改規(guī)模m的增大,檢測(cè)的準(zhǔn)確率逐漸降低;即使僅對(duì)輸入的數(shù)據(jù)進(jìn)行個(gè)別重要詞語(yǔ)的修改,本文提出的WordHandling 算法也能生成許多對(duì)抗樣本,誤導(dǎo)檢測(cè)系統(tǒng)的檢測(cè).而m次修改的總長(zhǎng)度最多占輸入數(shù)據(jù)長(zhǎng)度的1/6,超過(guò)該數(shù)值會(huì)嚴(yán)重影響文本的可讀性,干擾人對(duì)對(duì)抗樣本內(nèi)容的理解.
圖像中距離度量典型的方法是使用Lp范數(shù),L0,L2,L∞分別為3 種常用的Lp范數(shù),但其不適用于文本距離度量.因?yàn)閳D像是連續(xù)的,而文本是離散的且有詞序限制.因此,本文采用Word Mover’s Distance(WMD)[41]對(duì)生成的對(duì)抗樣本質(zhì)量進(jìn)行度量.WMD 基于Earth Mover’s Distance(EMD)[42],將EMD 的適用范圍擴(kuò)展到自然語(yǔ)言處理領(lǐng)域,用于測(cè)量?jī)晌臋n之間的距離(即相似性).WMD 距離越大,兩文檔之間相似性越低;反之則越高.而文檔越相似,其語(yǔ)義偏離度則越低.
從生成的對(duì)抗樣本中隨機(jī)選取2 000 條數(shù)據(jù)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖9 所示.由該圖可看出,WMD 距離小于0.6 的對(duì)抗樣本占實(shí)驗(yàn)樣本總數(shù)量的50%左右,這部分樣本與原樣本相似度較高;而WMD 距離大于0.8 的占樣本總數(shù)量的30%左右,這部分樣本與原數(shù)據(jù)相似度較低.
Fig.9 Ratio of sample numbers to total samples in different WMD distance intervals圖9 不同WMD 距離區(qū)間內(nèi)樣本數(shù)量占總樣本的比例
對(duì)圖9 中各個(gè)區(qū)間的數(shù)據(jù)長(zhǎng)度進(jìn)行統(tǒng)計(jì)分析,結(jié)果見(jiàn)表4.由該表可以看出,長(zhǎng)度大于30 的文本,在WMD 距離偏小的區(qū)間內(nèi)所占比例比短文本高.原因在于對(duì)抗樣本生成過(guò)程中修改幅度大小m,其影響被修改詞語(yǔ)在整個(gè)輸入數(shù)據(jù)中的比重,短文本數(shù)據(jù)即使只修改兩三字,輸入數(shù)據(jù)也被修改了10%左右(以長(zhǎng)度為20 字的樣本為例).這也導(dǎo)致與相同修改幅度的長(zhǎng)文本相比,短文本的可讀性稍差.
Table 4 Proportion of long and short texts in different WMD distance intervals表4 不同WMD 距離區(qū)間長(zhǎng)短文本數(shù)量所占該區(qū)間比例
表5 中則給出了幾例WMD 距離計(jì)算實(shí)例.本文中,與原樣本之間WMD 距離小于0.6 的對(duì)抗樣本是語(yǔ)義偏離度較小,閱讀性比較好的對(duì)抗樣本.
Table 5 Examples of WMD distance calculation表5 WMD 距離計(jì)算實(shí)例
在本文中,我們提出了中文文本類(lèi)型的對(duì)抗樣本生成算法,以此來(lái)實(shí)現(xiàn)針對(duì)網(wǎng)絡(luò)中深度學(xué)習(xí)模型的黑盒攻擊,誘導(dǎo)這些檢測(cè)系統(tǒng)做出錯(cuò)誤的傾向性判別,使得制作的對(duì)抗樣本能夠避開(kāi)檢測(cè),降低檢測(cè)的準(zhǔn)確率.本文首先利用設(shè)計(jì)的詞語(yǔ)重要性計(jì)算函數(shù)計(jì)算文本數(shù)據(jù)中的各個(gè)詞或詞組的重要程度,并以此為依據(jù)進(jìn)行排序,針對(duì)排在前m的詞或詞組,用同音詞替換原詞來(lái)生成對(duì)抗樣本,方法有效,且生成的對(duì)抗樣本內(nèi)容的改變很小,仍然能夠通過(guò)上下文或語(yǔ)音諧音來(lái)理解語(yǔ)句意思.實(shí)驗(yàn)結(jié)果表明,本文提出的WordHandling 算法能夠使LSTM 模型對(duì)生成的對(duì)抗樣本檢測(cè)的準(zhǔn)確率平均降低29%,使CNN 模型檢測(cè)準(zhǔn)確率平均降低22%,且對(duì)原始的中文文本的修改幅度僅占輸入數(shù)據(jù)長(zhǎng)度的14.1%.同時(shí),對(duì)生成的對(duì)抗樣本質(zhì)量進(jìn)行度量,保證語(yǔ)義偏離度小、可讀性好,證明本文提出的WordHandling 算法有效且表現(xiàn)較佳.此外,文中計(jì)算詞的重要程度的詞語(yǔ)重要性計(jì)算函數(shù)還能進(jìn)一步優(yōu)化,針對(duì)每個(gè)輸入文本,修改幅度m的最優(yōu)選取問(wèn)題也存在提升的空間.在今后的工作中,我們會(huì)對(duì)這些存在問(wèn)題解析并改善提高,并對(duì)能夠進(jìn)行定向分類(lèi)的對(duì)抗樣本生成進(jìn)行研究.