Chinese adversarial example generation method based on multi-disturbance strategy
Wang Chundong1,2,Zhu Wenying1,2,Lin Hao1,2(1.Scholofueeamp;inUesitna;NlEforComputer VirusPreventionamp;Control Technology,Tianjin 3Oo384,China)
Abstract:Toaddress thevulnerabilityofdeepneuralnetworkstoadversarialsamplesandthelackofhigh-qualityadversarial samples inthe Chinese context,the method introduced a new Chinese adversarial sample generation method named CMDS.In thekeywordselectionstage,theScore functionusedidentifiespositions whereperturbationscouldbeadded efectively,nsuring theadversarialsamples werebothreadableanddificulttodetect.Duringtheadversarialsamplegeneration phase,themethod fullexploited characteristicsunique to Chinese,consideringaspectssuchas character shape,meaning,andregion-specific homophones.Variousperturbationstrategies,includingsimilarcharacters,syonyms,homophones,andwordoderdisuption were employedalongwitha multi-priorityperturbation strategy to generateadversarial samples.Finally,aperturbationrate thresholdcontroledteoutput,eliminatingsamplesthatdiferedtoogreatlyfromteriginaltext.Folowingthis,asrsofexperimentscompared CMDS with baselinemethods to exploretheimpact of perturbation threshold sizes,involved humanevaluations,andconductedreal-worldattack tests.These experimentsconfimtheefectivenessandtransferabilityofCMDSinenhancing model securityResultsshowthat CMDS surpassesbaseline methods in terms of attck successratebyupto36.9 percentagepointsandimproves modelsecuritybymore than3Opercentagepoints.The generatedadversarialsamplesareofhighquality and demonstrate strong generalizability.
Key words:deep neural network;natural language procesing(NLP);Chineseadversarial example;multi-disturbance
0引言
近些年來,人工智能技術(shù)快速發(fā)展使其在計(jì)算機(jī)視覺[1]自然語言處理[2]、數(shù)據(jù)挖掘[3]、機(jī)器翻譯[4]等領(lǐng)域有著重要的研究和應(yīng)用,但深度神經(jīng)網(wǎng)絡(luò)的可解釋性相對較差[5],難以解釋其最終的輸出結(jié)果。對抗樣本是指通過對測試數(shù)據(jù)添加一些人類難以識別的擾動(dòng)且能使模型置信度或分類結(jié)果發(fā)生顯著變化的樣本。目前,模型的安全問題在很多應(yīng)用起著極其重要的作用。例如,在文本分類應(yīng)用領(lǐng)域,安全性高的系統(tǒng)可以增強(qiáng)文本分類模型對于偽造情感的識別;對于目前火熱的ChatGPT領(lǐng)域,可以確保模型處理用戶的輸入多樣性和潛在的惡性輸入;在垃圾郵件檢測應(yīng)用當(dāng)中,攻擊者往往修改部分內(nèi)容或加入噪聲來讓模型識別為正常郵件;還有在錯(cuò)別字校正系統(tǒng)和文本提取系統(tǒng)的應(yīng)用中,可以提高系統(tǒng)的識別性能。而解決模型安全問題的主要途徑是進(jìn)行對抗性訓(xùn)練,這也就需要大量種類多且質(zhì)量高的對抗樣本,因此對抗樣本應(yīng)用廣泛,對于模型安全以及相關(guān)應(yīng)用具有極其重要的意義。
最近提出文本攻擊方法中有些利用梯度,還有從字、詞和句子級別來制作高質(zhì)量的對抗樣本。幾乎所有的攻擊都是針對英文的,這些工作均基于互換、刪除、語義替換等簡單擾動(dòng),而很少設(shè)計(jì)基于其他語言特征的擾動(dòng)。與此相對,漢語使用人數(shù)最多的語言,中文也被應(yīng)用于各個(gè)領(lǐng)域。由于缺乏對抗樣本的相關(guān)研究,中文自然語言處理等領(lǐng)域仍面臨著來自安全方面的威脅。另外,中文本身和英文就有很大不同。與英語字母表中的26個(gè)字母相比,中文有超十萬的漢字,與英文字母的線性排列不同,每個(gè)漢字都是由相互交織的筆畫構(gòu)成的方形形式,所以無法將英文對抗樣本生成方法直接遷移到中文上。此外,中文對抗樣本的相關(guān)研究還存在以下問題:a)由于漢字結(jié)構(gòu)的獨(dú)特性,目前的擾動(dòng)策略,如漢字分割(左右切成兩個(gè)字)、拼音替換、繁體字替換,欺騙性較弱,可讀性較差;b)目前中文替換策略較為單一,導(dǎo)致對抗樣本種類單一,無法為對抗訓(xùn)練提供種類豐富的對抗樣本;c)生成的中文對抗樣本需要滿足與原文意思相近且不影響人類理解和閱讀,并使文本分類器模型分類錯(cuò)誤,而現(xiàn)有的方法在這種條件下效果并不理想。
為此,針對中文的黑盒對抗樣本生成,提出了Chinesemulti-disturbancestrategy(CMDS)方法,該方法引人基于漢語特征衍生出的形態(tài)、字詞意思、諧音、亂序和混合的多擾動(dòng)策略,使用設(shè)計(jì)的中文關(guān)鍵詞篩選函數(shù),通過多擾動(dòng)策略生成種類繁多的對抗樣本,并通過設(shè)計(jì)的篩選函數(shù)來輸出效果最好的對抗樣本。中文關(guān)鍵詞篩選函數(shù)引入了文本權(quán)重感知,使得關(guān)鍵詞容易出現(xiàn)在文本權(quán)重感知大的位置,在該位置使用更貼合中文特點(diǎn)的替換方式,在不容易被人類識別的同時(shí),實(shí)現(xiàn)了替換策略的多樣性,有效地生成可以解決上述問題的對抗樣本。
1相關(guān)工作
2014年,Szegedy等人[在研究圖像分類時(shí)首次提出對于對抗攻擊和深度神經(jīng)網(wǎng)絡(luò)(DNN)的魯棒性評價(jià),即通過在原始圖像中添加人類難以識別的微小噪聲所生成的樣本,就可以讓一個(gè)性能優(yōu)秀的深度神經(jīng)網(wǎng)絡(luò)分類錯(cuò)誤。在白盒場景下,攻擊者需要對目標(biāo)模型有充分的了解。雖然允許攻擊者了解模型參數(shù)是有風(fēng)險(xiǎn)的,但對研究人員探索AI模型的缺陷是有益的。與Szegedy等人重復(fù)優(yōu)化造成大量資源浪費(fèi)不同,F(xiàn)GSM[8] 方法和JSMA[9]方法在其基礎(chǔ)上進(jìn)行了簡化,具體來說,參考著圖像領(lǐng)域的方法,他們允許利用梯度信息來指導(dǎo)擾動(dòng)的添加,在文本領(lǐng)域也取得了不錯(cuò)的效果。與這些方法不同,Ebrahimi等人[10]開發(fā)了HotFlip,利用有關(guān)one-hot輸入表示的方向?qū)?shù)來有效地估計(jì)字符變化的損失,通過評估尋找修改前后損失的最大字符,來找到最優(yōu)的修改,這種方法為后續(xù)的文本的白盒對抗樣本領(lǐng)域提供了新的思路。Zhu等人[11提出了一種在嵌入空間中基于梯度的單詞級攻擊方法來攻擊文本分類模型,取得了很好的效果。
在黑盒場景下,攻擊者無法訪問目標(biāo)模型和目標(biāo)模型的內(nèi)部參數(shù),而往往實(shí)際攻擊是在這種情況下發(fā)生的,因此黑盒場景下的研究更加具有實(shí)用性。作為一種經(jīng)典的黑盒文本對抗樣本生成方法,Gao等人[提出的DeepWordBug方法,通過評估不同token對分類結(jié)果的影響程度來對關(guān)鍵字進(jìn)行評分,并按其重要性進(jìn)行排序,之后開發(fā)了簡單的替換策略,如交換、替換、刪除、插入等,以盡量減少擾動(dòng)的編輯距離。Ren等人[13]提出了概率加權(quán)詞顯著性的概念PWWS的黑盒攻擊方法,這種方法使用詞顯著性向量來確定替換單詞的優(yōu)先級,同時(shí)兼顧了替換后模型分類置信度變化和單詞顯著性,在替換策略上額外引入了同義詞替換。Alzantot等人[14]首次在文本對抗樣本領(lǐng)域引入群體優(yōu)化算法,這種方法在文本分類的任務(wù)中攻擊成功率達(dá)到了 70% 。Jin等人[15]提出的TextFooler方法采用同義詞提取,但僅限于POP檢查。由于漢字結(jié)構(gòu)的獨(dú)特性,中文相比于英文更加的離散,這是中文文本對抗樣本領(lǐng)域目前研究成果較少的主要原因之一。王文琦等人[1提出的中文對抗樣本攻擊方法Wordhanding,首次引入了同音詞替換的替換策略,成功實(shí)現(xiàn)了中文的對抗攻擊。之后,仝鑫等人[1提出的CWor-dAttacker方法使用繁體字和拼音字母替換漢字的替換策略,并沒有充分發(fā)揮漢字的特點(diǎn),且容易影響人類正常理解與閱讀。Nuo等人[18]提出了交換關(guān)鍵字順序、隨機(jī)插人無意義符號、拆分漢字為偏旁部首等方法,為中文的關(guān)鍵詞修改提供了新的思路。Zhang 等人[19提出了Argot方法,該方法使用孿生網(wǎng)絡(luò)來獲得字形最為相近的替換詞,以此生成對抗樣本。但這兩種方法有這著嚴(yán)格的限制,無法大規(guī)模生成對抗樣本。Kwon等人[20]生成的對抗樣本可以同時(shí)欺騙幾個(gè)NLP模型,有著不錯(cuò)的遷移性。Shao等人[21開發(fā)了一個(gè)應(yīng)用程序,該應(yīng)用程序能夠產(chǎn)生與NLP模型缺陷相關(guān)的固定擾動(dòng)。
上述的生成方法針對英文居多,針對中文文本的方法目前比較欠缺?,F(xiàn)存在的方法在關(guān)鍵詞生成替換步驟中,替換策略較為單一,容易被人類識別,生成的對抗樣本質(zhì)量較低,難以判斷替換前后哪個(gè)與原文更加接近,只能進(jìn)行隨機(jī)替換,導(dǎo)致生成的對抗樣本影響人類的閱讀和正常理解,閱讀的流暢度降低。
2 對抗樣本生成方法
2.1 問題定義
對抗攻擊的問題定義是,對于預(yù)先給定預(yù)訓(xùn)練的文本分類器 T:X?R ,攻擊者通過對正常樣本 xorg∈X 進(jìn)行一系列的干擾操作(樣本 x 的標(biāo)簽為 rorg∈R} ,生成一個(gè)對抗樣本 xadv 。使用對抗樣本 xadv 輸入到文本分類器 T 中,使得 T(xadv)≠rorg ,對于xadv 的生成方法就是對抗攻擊。根據(jù)攻擊者對于被攻擊模型的了解程度可以分類為白盒攻擊和黑盒攻擊,因?yàn)楹诤泄舾泳哂袑?shí)際意義,本文的方法是基于黑盒。
白盒攻擊:在進(jìn)行白盒攻擊時(shí),攻擊者可獲取被攻擊模型的所有信息,包括模型結(jié)構(gòu)、參數(shù)和結(jié)果。攻擊者可以從受害模型的梯度和損失函數(shù)入手對模型的弱點(diǎn)進(jìn)行針對性攻擊,這樣攻擊的效果往往會(huì)更好一些,缺點(diǎn)是遷移性和實(shí)際性相對更差些。
黑盒攻擊:在進(jìn)行黑盒攻擊時(shí),攻擊者不能獲取被攻擊模型的模型結(jié)構(gòu)、參數(shù),僅能獲取輸入的原始文本、模型的輸出結(jié)果和置信度等信息。這樣的環(huán)境和生活中的情況相似,實(shí)際性意義更大,生成的對抗樣本通常有著更好的遷移性,缺點(diǎn)是攻擊成功率相對較低。
白盒攻擊因?yàn)閷δP陀谐浞至私?,可以從結(jié)構(gòu)和梯度方面切入。黑盒攻擊已知信息過少,攻擊者往往很依賴輸出結(jié)果和置信度,從而忽略了一個(gè)好的對抗樣本除了要騙過模型,還要盡可能地不影響人類正常閱讀和理解,同時(shí)對抗樣本的種類應(yīng)盡量豐富。
2.2 中文相似度評估
與英文文本相似度評估不同,由于中文漢字的獨(dú)特結(jié)構(gòu),中文有著象形、拼音、諧音等特點(diǎn),所以中文相似度評估需要同時(shí)兼顧字音、字形等。本文在中文相似度評估方面采用字音字形相結(jié)合的評估方法(sound shape code similarity,SSCS)[22]。使用10個(gè)位序列來對漢字進(jìn)行編碼,拼音能直觀地表示漢字的發(fā)音,拼音由韻母、聲母、聲調(diào)構(gòu)成,使用前1\~4位進(jìn)行編碼。一般來說,韻母相似更容易讓人類認(rèn)為讀音相同。本文也是利用這個(gè)原理,設(shè)計(jì)出諧音和帶有地方特色的語言選擇替換策略。具體來說,編輯聲母表和韻母表以及對應(yīng)的代碼,將諧音和更容易觸發(fā)地方口音來源的聲母和韻母距離相近排放,例如,將“zh\"和“z\"設(shè)為相同的代碼“D”(這里“D”代表數(shù)字13,依此類推),將“ch”和“c”同時(shí)設(shè)為“F”,將“sh”和“s”同時(shí)設(shè)為“G”,韻母和聲母均用這種方式進(jìn)行排列。評估漢字的字形是否相似,這里引入結(jié)構(gòu)、四角號碼和筆畫數(shù)三個(gè)維度,使用5\~10位進(jìn)行編碼,其中第5位表示結(jié)構(gòu),6\~9使用四角編碼[23],第10位為筆畫數(shù)。將漢字轉(zhuǎn)換為SSCS碼,式(1)來計(jì)算漢字之間的相似度,對于給定的兩個(gè)漢字 a 和 a′ ,計(jì)算公式如下:
兩個(gè)漢字對應(yīng)的 SSCS(a,a′) 越小越相似。其中 β 為拼音和字形所占權(quán)重 β={β1,β2,β3,…,β10} 。這里可以利用前4位字音相似碼計(jì)算字音相似度 Ssound 和后6位字形相似度 Sshape 來判斷字音和字形的相似度。通過計(jì)算得到盡可能高的相似度,這樣的字詞往往不會(huì)干擾人類的正常理解,得到的對抗樣本的質(zhì)量也越高。
對于模型安全和魯棒性,通過對比前后攻擊成功率差異便可以看出。
還有詞移距離[24用來反映文檔相似度,在詞移距離中,需要將文本中的單詞表示為向量形式,通常使用word2vec或者其他方式來獲取詞向量,然后再通過計(jì)算兩個(gè)文本當(dāng)中每對單詞之間的距離(通常使用歐氏距離或余弦距離),找到使得兩個(gè)文本之間距離最小的單詞對應(yīng)關(guān)系。對于 text1 與 text2 之間的相似度V UMD(text1,text2 ),計(jì)算公式為WMD(text,te)=clideanie(texld其中: Tij 代表 text1i 和 text2j 計(jì)算的距離權(quán)重;euclidean_distance(text1i,text2j) 代表計(jì)算兩個(gè)詞匯的歐氏距離。引入相似度指標(biāo)的原因是,如果通過直接添加否定詞的方法來生成對抗樣本也可以達(dá)到使分類模型判斷錯(cuò)誤以及不影響人類正常理解的效果,但是這種對抗樣本無疑是沒有意義的。因此,需要進(jìn)行相似度計(jì)算。
2.3多擾動(dòng)對抗樣本生成算法
中文對抗樣本生成方法CMDS的框架如圖1所示。首先,將原始文本進(jìn)行預(yù)處理,之后通過擾動(dòng)定位模塊來計(jì)算出擾動(dòng)添加位置,之后通過擾動(dòng)添加模塊使用不同的方式添加擾動(dòng)得到關(guān)鍵詞候選序列,通過Score’函數(shù)和條件判斷選擇出最優(yōu)候選詞并生成對抗樣本,具體每個(gè)生成步驟細(xì)節(jié)將會(huì)在該節(jié)展開說明。
2.3.1 預(yù)處理
英文句子中單詞之間常用空格分隔,但中文不同,中文句子無法僅憑“逗號”去分割,需要根據(jù)語義來進(jìn)行分割,對原始文本進(jìn)行處理,將其分割為若干字詞,本文選用開源的中文分詞工具包PKUSEG[25]對中文句子進(jìn)行分詞的預(yù)處理操作,這款工具包有更精確的分詞效果。將句子分割為 X={x1,x2 x3,…,xn} 的形式。
2.3.2 擾動(dòng)定位
這一步的目的是選擇添加擾動(dòng)合適的位置的詞,通常這些位置的詞對分類模型的結(jié)果影響最大,且在這些位置添加擾動(dòng)后不容易引起人類的注意,這些位置的詞被稱為關(guān)鍵詞。這些詞數(shù)量會(huì)受到擾動(dòng)率的限制,因此需要最大限度地影響模型的判斷。那么如何選擇合適的位置呢,Petersen等人[26]研究了人類注意力的相關(guān)影響,《國民專注力洞察報(bào)告》說明人類的注意力時(shí)間在緩慢下降,而且大腦也在發(fā)生變化,報(bào)告指出國民專注力時(shí)間與之前相比下降百分之三十四左右,閱讀句子的時(shí)間和注意力也更加少,因此人眼往往對句中的詞的變化更加不敏感。利用這個(gè)現(xiàn)象,在擾動(dòng)定位時(shí)給予位置靠中的詞 xi 更高分?jǐn)?shù),而對于句首和句尾分?jǐn)?shù)相對更低。假定給定句子 X= {x1,x2,x3,…,xn} ,式(3)通過Score函數(shù)來計(jì)算和表示句子中單詞 x 對于分類器 T 的影響程度。
其中: k 為標(biāo)簽數(shù); Rorg 代表原標(biāo)簽置信度; Rotr 代表其他標(biāo)簽置信度; Rotr 代表添加擾動(dòng)后原標(biāo)簽置信度; R′otr 代表添加擾動(dòng)后其他標(biāo)簽置信度;函數(shù)Gs為引入的注意力函數(shù)式(4),句子中越容易被關(guān)注的位置Gs值越低,越容易忽視的位置Gs值越高,通常Gs值高的位置往往是合適添加擾動(dòng)的位置。Gs計(jì)算公式如下:
其中 :μ=n/2 代表最不容易發(fā)現(xiàn)的位置; σ 為可調(diào)節(jié)的參數(shù) (μ 和 σ 是用來控制Gs對詞分?jǐn)?shù)的影響,一般在長文本中 σ 值越低,在短文本中 σ 值越高)。當(dāng)兩個(gè)位置的字詞分類置信度相同時(shí),由于Gs函數(shù)的引入,函數(shù)最終會(huì)定位到最容易被人忽略的位置添加擾動(dòng)。
2.3.3關(guān)鍵詞替換
通過上一步驟得到了對分類模型影響較大的擾動(dòng)添加位置和對應(yīng)的前 p 個(gè)關(guān)鍵詞,在這一步利用多擾動(dòng)策略生成用來替換關(guān)鍵詞的候選詞序列,本文從文意、形態(tài)、字音、人類視覺多個(gè)方面進(jìn)行擾動(dòng)的添加。
1)形態(tài)由于漢字的特殊結(jié)構(gòu),許多的漢字偏旁部首不同,但形態(tài)極其相似,例如“洗”和“洗”,日常也經(jīng)常使用到繁體字,所以利用這一特點(diǎn),本文在構(gòu)建嵌入式空間時(shí),使用相似簡體字的同時(shí)額外增加了繁體字,最終從中選擇與關(guān)鍵字在形態(tài)上相似的漢字。
2)字音由于漢語拼音的存在,這給擾動(dòng)的添加增添了思路,目前使用拼音直接替換漢字的方法過于簡單也易被機(jī)器識別。本文使用字音相同的漢字來構(gòu)建候選詞序列,例如,“很好”和“狠好”。此外,由于字音表的存在,本文使用漢字的諧音和地方話的口音來構(gòu)建相似庫,互聯(lián)網(wǎng)的流行也使得地方口音和一些諧音理解起來非常輕松,例如,“真不錯(cuò)”和“真不戳”,“這”和“介”等,這樣的方式豐富了擾動(dòng)添加的多樣性,也增加了對抗樣本的多樣性。
3)亂序中國文化已傳承千年,很多字詞句子都是耳熟能詳,相比與英文嚴(yán)格的格式語序要求,中文更注重對于意的理解,即使讓字詞進(jìn)行亂序也很容易理解句子表達(dá)的含義,“究研明表,很多字亂序后之是不干擾正常讀閱的”,利用這個(gè)特點(diǎn),本文使用這種不影響人類正常理解的擾動(dòng)添加方式。
4)文意與英文使用意思接近的詞語代替相似,本文使用開源工具Synonyms對中文詞生成同義詞并添加到候選詞序列,之后對詞拆分成字,利用形態(tài)學(xué)、字音學(xué)進(jìn)行二次干擾,再使用亂序方法對詞進(jìn)行干擾,得到的多種候選詞按照多次干擾優(yōu)先的原則加入到候選詞序列當(dāng)中。通過這樣的方式可以盡可能地得到種類更多的候選詞,在不影響人類正常閱讀的前提下提高對抗樣本的質(zhì)量。
最后,將產(chǎn)生的候選詞按照文意、字音、形態(tài)學(xué)和亂序的順序,依次加入到候選詞序列當(dāng)中,準(zhǔn)備對關(guān)鍵詞進(jìn)行替換。
2.3.4對抗樣本的確定
使用上一步驟生成的候選詞序列中的詞對關(guān)鍵詞進(jìn)行替換得到候選對抗樣本,使用引導(dǎo)函數(shù)式(5)計(jì)算將分?jǐn)?shù)最高的候選對抗樣本輸出,如果分類器給新生成的文本一個(gè)新的標(biāo)簽,則對抗樣本生成成功。如果沒有,本文使用一種貪心算法進(jìn)行處理,保留攻擊效果最好的。在此之上,額外添加一個(gè)擾動(dòng)的位置,重復(fù)上述步驟,直到攻擊模型成功,亦或是如果超出設(shè)定的擾動(dòng)率閾值或修改了全部的重要位置依然失敗,則攻擊失敗。
算法1 CMDS算法
輸入:原始文本 X 以及對應(yīng)的標(biāo)簽 R ;分類器模型 T 關(guān)鍵詞重要函數(shù);引導(dǎo)函數(shù);參數(shù) μ 和 σ ;超參數(shù) l,m,n,o 和 p ;擾動(dòng)率閾值 ε 。
b)使用Score函數(shù)尋找到前 ξl 個(gè)最適合添加擾動(dòng)的位置。
c)用多擾動(dòng)策略對最合適添加擾動(dòng)位置的關(guān)鍵詞進(jìn)行擾動(dòng)添加,從文意中獲得相似的前 m 個(gè)候選詞先加入候選詞序列當(dāng)中。
d)用諧音和同音相似庫得到前 n 和前 ? 個(gè)候選詞,用中文嵌入空間搜索到前 p 個(gè)候選詞,將其合并加入到候選詞序列當(dāng)中。
e)用候選詞序列當(dāng)中的詞進(jìn)行替換并生成候選對抗樣本,使用引導(dǎo)函數(shù)來計(jì)算候選詞對標(biāo)簽置信度的影響并選擇影響較大的候選詞進(jìn)入下一輪生成過程。
f)利用引導(dǎo)函數(shù)選擇的最優(yōu)候選詞來替換原始文本以生成新的文本,如果分類器 T 給出與原文本不同的標(biāo)簽,則輸出 Xadv ,如果失敗則遍歷使用下一個(gè)候選詞,如果候選詞序列都失敗則增加一個(gè)關(guān)鍵詞重復(fù)以上步驟直至所有候選詞,直到 ξl 個(gè)位置都已使用過或擾動(dòng)率 gt;ε 則攻擊失敗。
3實(shí)驗(yàn)
3.1數(shù)據(jù)集與實(shí)驗(yàn)設(shè)置
實(shí)驗(yàn)使用公開的外賣評論和THUCNews作為數(shù)據(jù)集,THUCNews是由清華大學(xué)自然語言處理與社會(huì)人文計(jì)算實(shí)驗(yàn)室(THUNLP)提供的,數(shù)據(jù)來源于新浪新聞網(wǎng),包含了來自不同領(lǐng)域的新聞文本,數(shù)據(jù)集中的新聞文本被分為10個(gè)類別,包括財(cái)經(jīng)、彩票、房產(chǎn)、股票、家居、教育、科技、社會(huì)、時(shí)尚、體育,實(shí)驗(yàn)從中抽取20000條數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)集。外賣評論數(shù)據(jù)集基于外賣平臺顧客使用后評論,包含正面和負(fù)面兩個(gè)分類,實(shí)驗(yàn)使用爬蟲技術(shù)從餓了么、美團(tuán)等外賣平臺獲取顧客對于不同訂單的外賣評價(jià)若干,并從中抽取15000條用于實(shí)驗(yàn),保證實(shí)驗(yàn)數(shù)據(jù)的充足,其中正向評價(jià)7000條,負(fù)面評價(jià)8000條。
本文實(shí)驗(yàn)部分使用目前較為流行的分類模型進(jìn)行對比,目標(biāo)模型包含TextCNN[27]、Bi-LSTM[28]、Transformer[29]、Text-RCNN[30]以及 BERT[15]。選擇隨機(jī)攻擊、 WH[16] 、CWA[17]
CWC[31]這四種作為基線任務(wù)的對比。為了證明CMDS方法生成的對抗樣本對于模型魯棒性有提升的效果,實(shí)驗(yàn)分別收集在外賣數(shù)據(jù)集下CMDS、WH、CWC方法對于不同模型生成的對抗樣本,并對不同模型進(jìn)行對抗訓(xùn)練,最后將在外賣數(shù)據(jù)集下的對抗樣本進(jìn)行混合作為測試集,使用測試集對目標(biāo)模型進(jìn)行再次攻擊,并記錄其攻擊效果,實(shí)驗(yàn)結(jié)果在3.2節(jié)與3.3節(jié)呈現(xiàn)。
3.2 實(shí)驗(yàn)結(jié)果
表1和2顯示了實(shí)驗(yàn)結(jié)果,表明了CMDS在最小擾動(dòng)下和基線方法對比以及在不同數(shù)據(jù)集下的攻擊成功率ASR(attacksuccess rate), .ASR=num(xadv)/num(x) ,和原模型的準(zhǔn)確率OA(original accuracy)。
表1CMDS和基線方法在THUCNews數(shù)據(jù)集上
對不同模型的攻擊成功率情況
實(shí)驗(yàn)結(jié)果表示,CMDS方法在五種分類模型當(dāng)中表現(xiàn)最佳,在兩個(gè)數(shù)據(jù)集中的表現(xiàn)均如此。其中,在外賣評論數(shù)據(jù)集中對于不同分類模型的攻擊成功率在 54.10%~84.96% ,CMDS方法相比于CWordAttacker方法的攻擊成功率最多高出49.40百分點(diǎn),證明了CMDS方法的有效性和通用性。CWord-Attacker方法整體成功率偏低的原因是該方法的替換策略包括引入英文字符和繁體字進(jìn)行簡單的替換,這樣方式添加擾動(dòng)使得分類模型無法理解這些字符的含義,實(shí)際效果相當(dāng)于刪除了這些關(guān)鍵詞。CWC方法通過卷積層來篩選字形相似的字,從視覺方面構(gòu)建候選詞,而CMDS方法利用漢字的結(jié)構(gòu)特征、視覺習(xí)慣、讀音以及注重意境的表達(dá)方式等方法進(jìn)行擾動(dòng)的添加,最終選擇合適并且對分類模型有效的替換詞,這樣的方法提升了攻擊的成功率,也豐富了對抗樣本的種類。
其次,CMDS方法在外賣評價(jià)分類任務(wù)的表現(xiàn)更好,攻擊成功率有較小的上升,其原因是外賣評論的數(shù)據(jù)集包含著大量的感情傾向的詞匯,模型更加容易在這種任務(wù)上提取帶有感情特征的關(guān)鍵詞,使得分類模型容易做出正確判斷,這也是外賣評論數(shù)據(jù)集中OA相對高些的原因。針對這些關(guān)鍵詞進(jìn)行合適的擾動(dòng)添加后,更容易誤導(dǎo)分類模型的判斷,這也是基線方法和CMDS方法攻擊成功率整體小幅度提升的原因。
此外,從兩個(gè)分類任務(wù)中可以看出,BERT在原始文本精確度方面表現(xiàn)相對更好一些,但相比于其他模型,也更容易受到對抗樣本的干擾。這方面的原因可能是BERT分類模型更加復(fù)雜,具有更多的參數(shù)和更強(qiáng)大的建模能力,這點(diǎn)使其更容易捕捉到對抗樣本中的變化導(dǎo)致錯(cuò)誤分類。此外,Transformer在外賣評論數(shù)據(jù)集上的表現(xiàn)更差,其原因可能是相比于THUCNews數(shù)據(jù)集,外賣評論的數(shù)據(jù)更少,導(dǎo)致Transformer訓(xùn)練不夠充分,進(jìn)而表現(xiàn)更差。
使用CMDS方法在兩個(gè)數(shù)據(jù)集上進(jìn)行對抗樣本的生成,對于兩個(gè)數(shù)據(jù)集所生成的對抗樣本示例如圖2所示,其中第一行是原始文本,第二行是其對應(yīng)生成的對抗樣本。從示例可以看出,其他方法大多采用拼音的代替、漢字拆分、同音字詞等方法,本文使用的多擾動(dòng)策略考慮到漢語的復(fù)雜性,根據(jù)提出的語言元素越復(fù)雜就越脆弱,本文從文意、形態(tài)、字音、人類視覺方面對中文的對抗攻擊進(jìn)行突破,利用對原文進(jìn)行多次擾動(dòng)的原理,生成的對抗樣本在種類豐富的同時(shí),不影響人類對原文理解和閱讀的流暢性。
3.3對抗防御實(shí)驗(yàn)結(jié)果
對抗樣本重要的一方面便是對模型安全性能的提升能力,表3說明了CMDS和基線方法經(jīng)過不同方法生成的對抗樣本的對抗防御訓(xùn)練后,在測試集中針對不同模型的魯棒性表現(xiàn)。
通過表3可以看出,相同的測試集在經(jīng)過不同的對抗防御訓(xùn)練之后,模型的魯棒性有著較大差異(在模型相同的情況下,攻擊成功率越低,說明該方法的對抗樣本對于模型魯棒性的提升越大)。CMDS方法生成的對抗樣本作為訓(xùn)練集進(jìn)行對抗訓(xùn)練對于不同模型的魯棒性提升最大,原因是WH采用同音字進(jìn)行替換,CWC采用形近字進(jìn)行替換,相比于CMDS方法其他方法的擾動(dòng)添加方式單一,因此對于模型魯棒性提升有限,而CMDS方法采用多種的擾動(dòng)添加方式,經(jīng)過相應(yīng)的對抗訓(xùn)練后可以有效地提升模型的安全性。
3.4 探究實(shí)驗(yàn)
為了探究擾動(dòng)率閾值 ε 對于成功率的影響,本文做了實(shí)驗(yàn)進(jìn)行進(jìn)一步探究,結(jié)果如圖3和4所示。從圖中可以看出,隨著閾值 ε 的增大,各個(gè)模型的攻擊成功率都有不同程度的增加。當(dāng) ε 在 20% 時(shí),攻擊成功率增加的幅度明顯變緩,在外賣評論數(shù)據(jù)集中可以看出,隨著擾動(dòng)率增加,模型的攻擊成功率出現(xiàn)了收斂,反映了閾值 ε 對于攻擊成功率的影響是有限的。由于THUCNews數(shù)據(jù)集句子長度普遍較短,所以 ε 為 5% 時(shí),這個(gè)閾值造成的擾動(dòng)程度甚至不到單個(gè)字,這會(huì)造成無法擾動(dòng),而外賣評論數(shù)據(jù)集句子相比之下更長,因此在閾值較小時(shí),外賣評論數(shù)據(jù)集中的攻擊成功率普遍大于THUCNews數(shù)據(jù)集。在外賣評論數(shù)據(jù)集中Transformer模型表現(xiàn)明顯不佳,這里是因?yàn)橥赓u評論的數(shù)據(jù)集較少,未能對其進(jìn)行充分訓(xùn)練。實(shí)驗(yàn)設(shè)定的擾動(dòng)率閾值 ε 不大于 25% 的原因是超過 25% 之后,模型的計(jì)算效率明顯變差,更重要的是對于原文的擾動(dòng)率大過20% 時(shí),此時(shí)的對抗樣本會(huì)較為嚴(yán)重地影響到人類的正常理解和閱讀,對抗樣本的質(zhì)量較低,因此擾動(dòng)率超過25也就沒有了意義。由實(shí)驗(yàn)可以得出,最佳擾動(dòng)率閾值 ε 的設(shè)定在 15% \~20% ,在這個(gè)區(qū)間,既能保證攻擊的成功率,又可以避免因?yàn)閿_動(dòng)率過高而造成的生成的對抗樣本晦澀難懂的情況。
3.5 消融實(shí)驗(yàn)
本實(shí)驗(yàn)?zāi)康氖菫榱颂骄炕诙鄶_動(dòng)策略的黑盒對抗樣本生成方法中擾動(dòng)定位模塊的有效性(上文的實(shí)驗(yàn)結(jié)果中,通過對比Random和本方法的實(shí)驗(yàn)結(jié)果,已經(jīng)證明了本方法的可靠性,對此不再進(jìn)行空白的實(shí)驗(yàn)對照),因此設(shè)計(jì)實(shí)驗(yàn),將擾動(dòng)定位模塊進(jìn)行刪除,但其他參數(shù)不作修改,擾動(dòng)定位方法由原來的計(jì)算修改為隨機(jī)定位,并在THUCNews數(shù)據(jù)集上進(jìn)行測試,測試結(jié)果如表4所示。從表中可以看出,在刪除擾動(dòng)定位模塊步驟使用隨機(jī)定位的方式并使用同樣的添加擾動(dòng)模塊進(jìn)行擾動(dòng)后,三種模型上的成功率降低了30百分點(diǎn)以上。這說明了擾動(dòng)定位模塊是生成對抗樣本并成功攻擊模型極其重要的一環(huán),這個(gè)環(huán)節(jié)中,擾動(dòng)定位模塊可以找到最容易讓人忽略且對模型影響最大的關(guān)鍵詞位置,在這些位置添加擾動(dòng)不會(huì)影響人類的正常理解和閱讀,而且可以最大程度地使模型發(fā)生誤判。
3.6 人工評估
對抗性攻擊的目的是通過添加微小的擾動(dòng),使得分類模型在結(jié)果和高置信度上產(chǎn)生錯(cuò)誤的預(yù)測,但對人類來說卻難以觀察,這也是為啥要限制擾動(dòng)率和語法錯(cuò)誤。然而,與自動(dòng)評估器相比,人工評估更具有權(quán)威性和說服力[32]。從大學(xué)尋找到40名匿名的志愿者分為a、b兩組,其中b組10名是接觸過、了解過或從事對抗樣本相關(guān)研究的人員,其他為a組成員。測試前提前告知這個(gè)是自然語言處理的人工測試,而不是對抗性攻擊的具體內(nèi)容。首先隨機(jī)選取5對文本,然后將對抗樣本拿給志愿者,讓其說明表達(dá)的意思以及情感傾向或標(biāo)簽,并對其進(jìn)行記錄,最后,將對抗樣本與原始文本都拿給志愿者,并將表5的問題讓志愿者依次進(jìn)行回答。經(jīng)過實(shí)驗(yàn)統(tǒng)計(jì)表明,a組志愿者中有 93.3% 的人認(rèn)為表達(dá)的意思與原文一樣,且情感傾向與原始文本一致,有 96.7% 的人認(rèn)為這些句子并不會(huì)影響到正常理解和閱讀。b組志愿者都認(rèn)為情感傾向與原始文本情感一致,其中有 60% 的人感受到了句子的不同,但 90% 的人覺得這不會(huì)影響理解和閱讀。對于以上的實(shí)驗(yàn)結(jié)果分析,沒有接觸過對抗樣本領(lǐng)域的人是難以察覺對抗樣本存在的,大部分人都認(rèn)為不會(huì)影響正常理解和閱讀,而對于了解對抗樣本領(lǐng)域的人可以觀察出來文本被添加了擾動(dòng),但并不影響理解和閱讀,最后,他們給出的絕大多數(shù)結(jié)果也與原文標(biāo)簽一致。
所有對抗樣本都是從成功攻擊的結(jié)果中選擇的,這意味著這些對抗樣本全部使得分類模型識別錯(cuò)誤。這也證明了CMDS具有很強(qiáng)的攻擊性能和隱蔽性,在盡可能多地使用不同策略進(jìn)行擾動(dòng)的同時(shí),保證了生成的對抗樣本不影響人類的正常閱讀與正常理解。
3.7真實(shí)場景對抗實(shí)驗(yàn)
為了驗(yàn)證CMDS算法生成的對抗樣本的質(zhì)量水平以及是否具備欺騙真實(shí)場景中部署的文本分類系統(tǒng)的能力,本文加入了真實(shí)場景對抗實(shí)驗(yàn)。本文實(shí)驗(yàn)選用百度云中的文本情感分類服務(wù)作為測試中的黑盒分類器,實(shí)際測試CMDS的攻擊性能。具體來說,調(diào)用文本情感分類API模塊接收原始文本和相應(yīng)的對抗樣本作為輸人,輸出“正向情感”“負(fù)向情感”和與其對應(yīng)的置信度,置信度之和為1,置信度高的類為輸出結(jié)果。圖5是百度云中情感分析API的示例結(jié)果。
實(shí)驗(yàn)使用一些原始文本和與其對應(yīng)的不同方法生成的對抗樣本進(jìn)行實(shí)驗(yàn),由于新聞?lì)悢?shù)據(jù)集標(biāo)簽與百度云新聞分類API并不統(tǒng)一,所以僅使用外賣評論數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),將其輸人到情感分類API,并記錄不同方法攻擊的攻擊成功率以及置信度,最后統(tǒng)計(jì)不同方法的平均攻擊成功率以及置信度變化的絕對值,結(jié)果如表6和圖6所示。從表6可以看出,不同方法生成的對抗樣本都可以有效地攻擊該分類模型,而CMDS的攻擊效果更好,生成的對抗樣本攻擊成功率可以達(dá)到 73.2% 。從圖6可以看出,對于不同攻擊方法生成的對抗樣本都會(huì)使分類模型置信度不同程度地下降,其中CMDS方法生成的對抗樣本使分類模型置信度下降幅度更大,進(jìn)一步說明了其生成對抗樣本的質(zhì)量以及CMDS方法的有效性。
表6不同方法生成的對抗樣本對百度云分類模型的攻擊成功率
4結(jié)束語
本文提出一種基于語言特征的使用多擾動(dòng)策略的中文黑盒對抗樣本攻擊方法CMDS,通過本文提出的多種擾動(dòng)和多次擾動(dòng)策略生成了種類豐富的對抗樣本。除此之外,該方法在擁有較高攻擊成功率的同時(shí)提升了模型的安全性,而且進(jìn)一步保證了對抗樣本對于人類閱讀的流暢性,通過實(shí)驗(yàn)得出效果比基準(zhǔn)方法更好。最后,使用該方法在真實(shí)場景下進(jìn)行攻擊,效果和成功率也優(yōu)于基線方法。后續(xù)將研究中文對抗攻擊的防御框架,包括識別和恢復(fù),將對抗樣本恢復(fù)到添加擾動(dòng)之前的狀態(tài),這也是該領(lǐng)域的一大難點(diǎn)。
參考文獻(xiàn):
[1]KrizhevskyA,SutskeverI,Hinton GE.ImageNet classification with deepconvolutional neural networks[J].Communications ofthe ACM,2017,60(6) :84-90.
[2]Bowman SR,Vilnis L,VinyalsO,et al.Generating sentences from a continuous space[EB/OL].(2016-05-12).https://arxiv.org/abs/ 1511.06349.
[3]Milne D,Witten IH.An open-source toolkit for mining Wikipedia [J].Artificial Intelligence,2013,194:222-239.
[4].Ehsan U,Harrison B,Chan L,et al.Rationalization:a neural machine translation approach to generating natural language explanations[EB/ OL].(2017-02-25).https://arxiv.org/abs/1702.07826.
[5]Rahman J,Billah A M,Arafin P,et al.Design-focused interpretable machine learningmodels for compressive capacityprediction of gusset plateconnections[J].Engineering Structures,2024,298:117038.
[6]Zhang Jiliang,Li Chen.Adversarial examples:opportunities and challenges[J].IEEE Transon Neural Networksand LearningSystems,2020,31(7):2578-2593.
[7]Szegedy C,Zaremba W,Sutskever I,et al.Intriguing properties of neural networks[EB/OL].(2013-12-21).https://arxiv.org/abs/1312. 0199.
[8]Liang Bin,Li Hongcheng,Su Miaoqiang,et al.Deep text classification canbe fooled[C]//Proc of the27th International JointConferenceon Artificial Intelligence.PaloAlto,CA:AAAIPress,2018:4208-4215.
[9]Papernot N,McDanielP,Swami A,et al. Crafting adversarial input sequences for recurrent neural networks[C]//Proc of IEEE Military Communications Conference.Piscataway,NJ:IEEE Press,2O16:49-54.
[10]EbrahimiJ,RaoAnyi,LowdD,etal.HotFlip:white-boxadversarial examples for text classification[C]//Proc of the 56th Annual Meeting oftheAssociation for Computational Linguistics.Stroudsburg,PA:Association for Computational Linguistics,2O18 :31-36.
[11]ZhuBin,Gu Zhaoquan,XieYushun,etal.Word-level textual adversarialattackin the embedding space[C]//Proc of International Joint Conference on Neural Networks.Piscataway,NJ:IEEE Press,2021:1-8.
[12]Gao Ji,LanchantinJ,Soffa ML,etal.Black-box generationof adversarial text sequences to evade deep learning classifiers[C]//Proc of IEEE Security and Privacy Workshops.Piscataway,NJ: IEEE Press, 2018:50-56.
[13]Ren Shuhuai,Deng Yihe,He Kun,et al. Generating natural language adversarial examplesthrough probabilityweightedword saliency [C]//Proc of the 57th Annual Meeting of the Association for Computational Linguistics.Stroudsburg,PA:Associationfor Computational Linguistics,2019:1085-1097.
[14]Alzantot M,SharmaY,ElgoharyA,el al. Generating natural language adversarial examples[C]//Proc of Conference on Empirical Methods in Natural Language Processing.Stroudsburg,PA:Association for Computational Linguistics,2018 :2890-2896.
[15]Jin Di,Jin Zhijing,Zhou JT,et al.Is BERT really robust?A strong baseline for natural language attack on text classification and entailment[C]//Proc of AAAI Conference on Artificial Intelligence.Palo Alto,CA : AAAI Press,2020 :8018-8025.
[16]王文琦,汪潤,王麗娜,等.面向中文文本傾向性分類的對抗樣本 生成方法[J].軟件學(xué)報(bào),2019,30(8):2415-2427.(WangWenqi, Wang Run,Wang Lina,et al.Adversarial examples generation approach for tendency classification on Chinese texts[J].Journal of Software,2019,30(8):2415-2427.)
[17]全鑫,王羅娜,王潤正,等.面向中文文本分類的詞級對抗樣本生 成方法[J].信息網(wǎng)絡(luò)安全,2020,20(9):12-16.(Tong Xin,Wang Luona,Wang Runzheng,etal.A generation method of word-level adversarial samples for Chinese text classification[J].Netlnfo Security,2020,20(9) :12-16.)
[18]Nuo Cheng,Chang Guoqin,Gao Haichang,et al.WordChange:adversarial examples generation approach for Chinese text classification [J].IEEEAccess,2020,8:79561-79572.
[19] Zhang Zihan,Liu Mingxuan,Zhang Chao,et al. Argot: generating adversarial readableChinese texts[C]//Proc ofthe29th International Joint Conference on Artificial Intelligence.San Francisco,CA:Morgan KaufmannPublishers,2020:2533-2539.
[20]Kwon H,Lee S. Ensemble transfer attack targeting text classification systems[J].Computersamp;Security,2022,117:102695.
[21]Shao Kun,Zhang Yu,Yang Junan,et al. The triggers that open the NLPmodelbackdoorsarehidden inthe adversarial samples[J]. Computersamp; Security,2022,118:102730.
[22]Xu Senlin,Zheng Mingfan,Li Xinran.String comparators for Chinesecharacters-based record linkages[J].IEEE Access,2020,9: 3735-3743.
[23]黃大方.四角號碼法及其優(yōu)化[J].汕頭大學(xué)學(xué)報(bào):人文社會(huì)科學(xué) 版,1994,1O(2):1-11.(Huang Dafang.The four-corner coding systemand its optimization[J]. Journal of Shantou University:Humanities and Social Sciences Edition,1994,10(2):1-11.)
[24]KusnerMJ,Sun Yu,Kolkin NI,et al.From word embeddings to document distances[C]//Proc of the 32nd International Conference on Machine Learning.[S.1.]:JMLR.org,2015:957-966.
[25]Luo Ruixuan,Xu Jingjing,Zhang Yi,etal. PKUSEG: a toolkit for multi-domain Chinese word segmentation[EB/OL].(2019-06-27). https://arxiv.org/abs/1906.11455.
[26]Petersen SE,Posner MI.The atention system of the human brain:20 years after[J].Annual Review of Neuroscience,2012,35:73-89.
[27]He Tong,Huang Weilin,Qiao Yu,et al. Text-attentional convolutional neural network for scene text detection[J].IEEE Trans on Image Processing,2016,25(6) :2529-2541.
[28]Zhou Peng,Shi Wei,Tian Jun,et al.Attention-based bidirectional long short-term memory networks for relation classification [C]//Proc of the 54th Annual Meeting of the Association for Computational Linguistics.Stroudsburg,PA:Association for Computational Linguistics, 2016:207-212.
[29]Vaswani A,Shazeer N,Parmar N,etal.Attention isall you need [C]//Proc of the 31st International Conference on Neural Information Processing Systems.New York:Curran Associates Inc.,2O17:6000- 6010.
[30]Lai Siwei,Xu Liheng,Liu Kang,et al.Recurrent convolutional neural networksfor textclassification[C]//Proc of the29th AAAI Conference on Artificial Intelligence.Palo Alto,CA:AAAI Press,2015: 2267-2273.
[31]李相葛,羅紅,孫巖.基于漢語特征的中文對抗樣本生成方法 [J].軟件學(xué)報(bào),2023,34(11):5143-5161.(Li Xiangge,Luo Hong, SunYan.Adversarial sample generation method based on Chinese features[J].Journal of Software,2023,34(11) :5143-5161.)
[32]Vadillo J,SantanaR. Onthe human evaluationofuniversal audio adversarial perturbations[J].Computers amp; Security,2022,112: 102495.