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