999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向自然語言處理的對抗攻防與魯棒性分析綜述

2021-08-17 00:57:34鄭海斌陳晉音張旭鴻葛春鵬歐陽亦可紀守領
計算機研究與發展 2021年8期
關鍵詞:單詞文本方法

鄭海斌 陳晉音,2 章 燕 張旭鴻 葛春鵬 劉 哲 歐陽亦可 紀守領

1(浙江工業大學信息工程學院 杭州 310023) 2(浙江工業大學網絡空間安全研究院 杭州 310023) 3(浙江大學控制科學與工程學院 杭州 310063) 4(南京航空航天大學計算機科學與技術學院 南京 211106) 5(華為技術有限公司南京研究所 南京 210029) 6(浙江大學計算機科學與技術學院 杭州 310063)

深度神經網絡(deep neural networks, DNNs)的突破性發展使其成為人工智能技術的重要分支之一,在圖像識別、無人駕駛、自然語言處理(natural language processing, NLP)、網絡圖譜分析、生物醫療診斷等領域得到廣泛應用.尤其是在NLP領域中,DNNs被廣泛應用在機器翻譯[1]、自動文本摘要[2]、語音識別及文本轉換[3]、信息抽取與過濾[4]、文本分類與聚類[5]等任務中.與此同時,研究發現DNNs在圖像識別領域中極易受到對抗性擾動[6]的影響,使得DNNs預測錯誤.目前普遍認為,神經網絡容易受到對抗性擾動的主要原因在于它們在高維空間中的線性行為[7].

不僅計算機視覺領域的DNNs容易受到攻擊,NLP領域的DNNs(即NLP模型)同樣面臨著安全威脅,具體表現為NLP模型在使用過程中容易受到精心制作的對抗文本的干擾.由于圖像和文本數據存在數據結構的內在差異,因此并不能直接將圖像上的攻擊方法直接應用到文本數據中.針對圖像數據的擾動是人眼難以察覺的像素級別的微小變化,因此人類仍然可以正確地對受擾動的圖像進行正確分類而DNNs不行.但是對于文本的對抗性攻擊,由于語言閱讀的習慣和前后文的邏輯關系,人類此時也很難對攻擊后的文本進行正確的理解.Jia等人[8]首先提出了在處理文本任務的NLP模型上進行對抗文本生成.隨后出現了各種不同角度和策略的文本對抗攻擊方法,例如,用相似的單詞替換單詞[9]、添加額外的文本[10]或用語義相似的句子替換句子[11]等會生成無效的單詞或語法錯誤的句子,極大地改變句子的語義從而實現攻擊.在這種情況下,即使人類也無法提供正確的預測.這些潛在的安全問題引起了研究人員極大的關注,進而提出了大量的攻擊方法對NLP模型進行安全漏洞挖掘.

同時,為了提高NLP模型的魯棒性,目前研究也提出了較多面向NLP的防御方法,主要包括對抗訓練、隱私保護防御和檢測防御3類.對抗訓練被認為是目前最有效的防御方法之一,其基本思想是利用攻擊方法獲得的對抗文本與正常文本進行混合,作為新的訓練數據集對目標模型進行微調訓練;但是對抗訓練的防御效果容易受到對抗樣本多樣性、數量以及微調訓練策略等的影響.隱私保護防御主要是針對NLP模型容易受到隱私竊取攻擊這一問題所提出的解決方案,主要包括針對數據和針對模型的隱私保護,前者是避免攻擊者從開源數據集中竊取用戶的隱私信息,后者是保護預訓練的NLP模型的訓練數據隱私信息不被竊取.檢測防御的主要功能是檢測待處理的輸入數據是否為對抗樣本,通常情況下對于失真嚴重的對抗樣本具有較好的防御效果.

目前針對NLP模型的防御方法大多是后驗的、被動的,對于未知攻擊的防御效果難以保證,因此需要進一步研究能夠用理論證明的可驗證的NLP模型魯棒評估方法.針對NLP模型的可驗證魯棒性方法主要從模型的決策邊界或者內部結構出發,通過計算模型的可驗證精度、最大擾動下界、最小擾動上界等指標,實現為NLP模型在最壞情況下提供有效的可計算形式的保證,達到可驗證魯棒性評估的目的.

NLP攻防領域的研究工作還有很大的發展空間,針對NLP模型的對抗文本生成問題以及模型魯棒優化防御任務也成為安全領域相關研究人員的關注點之一.為此,本文按照NLP模型、攻防方法、魯棒分析、平臺和工具包的邏輯關系展開介紹.

1 面向NLP的模型

目前DNNs在NLP領域中被廣泛應用,如序列標注任務、文本分類、句子關系判斷和文本生成式任務等.為了應對NLP發展過程中各項任務的不同挑戰,DNNs也隨之出現各種模型架構,除了最常見的前饋神經網絡、卷積神經網絡(convolutional neural network, CNN)等,循環神經網絡(recurrent neural network, RNN)、Word2vec[12]、序列到序列學習模型(sequence-to-sequence learning, Seq2Seq)[13]以及注意力模型(attention model)[14]也是NLP任務中常用的模型,這是因為它們具有處理序列的能力.此外,Transformer模型及其各種變體模型[15-22]以及XLNet[23]模型近年來在NLP領域中也越來越受歡迎.在本節中,我們將簡要介紹NLP領域中常用的DNNs.

1.1 Word2vec模型

Word2vec模型[12]是谷歌公司研究人員設計的NLP模型,它的特點是將所有的詞向量化,這樣就可以定量地去度量詞與詞之間的關系,挖掘詞之間的聯系.Word2vec模型的具體實現分為CBOW[24]和Skip-Gram[25]兩種模型.

CBOW模型的訓練輸入是某一個特征詞的上下文相關的詞對應的詞向量,而輸出就是這一特定詞的詞向量.Skip-Gram模型則相反,其輸入是一個特定詞的詞向量,而輸出是特定詞對應的上下文詞向量.通過訓練Word2vec模型,將每個詞都映射到一個較短的詞向量上,所有的詞向量就構成了向量空間,進而可以用統計學的方法來研究詞與詞之間的關系.基于此,Word2vec模型解決了由于詞與詞相互獨立并且特征向量會過于稀疏而造成的維度災難問題.

1.2 Seq2Seq模型

由于原始的RNN要求序列等長,然而實際遇到的大部分任務的序列都是不等長的,如機器翻譯中,源語言和目標語言的句子往往并沒有相同長度.Seq2Seq模型[13]的出現解決了這個問題,通過使用編碼器-解碼器體系結構為給定的序列信息生成另一個序列信息,保證了序列的長度要求.

Seq2Seq模型是RNN的一個變體,包括編碼器和解碼器2部分,這一模型結構在機器翻譯、文本摘要、閱讀理解、語音識別等領域取得很好的性能.Seq2Seq模型的輸入是一個序列,輸出也是一個序列,編碼器用于編碼序列信息,將任意長度的序列信息編碼為一個固定長度的向量.解碼器在得到上下文信息向量之后可以將信息解碼,并輸出可變長度的序列.隱變量分層遞歸編碼器-解碼器模型[26]是典型的Seq2Seq模型,該模型利用子序列之間的復雜依賴性生成新序列.

1.3 Attention模型

注意力機制[27]的提出解決了編碼Seq2Seq模型中所需的長序列的困難.注意力使解碼器可以回顧源序列的隱藏狀態,而隱藏狀態將加權平均值作為解碼器的附加輸入,從而使其關注序列的重要信息部分.Attention模型[14]中,解碼器的輸出會與編碼器每一個時間點的輸出進行向量計算,常見的計算方式為內積法.NLP的自注意力[28]利用注意力機制“動態”地生成不同連接的權重,用于查看序列中的周圍單詞以獲得更多的上下文相關單詞表示[29],從而處理變長的信息序列.

1.4 ELMo模型

ELMo模型[30]主要使用了一個兩層雙向的長短時記憶網絡(long short term memory, LSTM)語言模型,結合上下文來理解詞義.先在一個大型的語料庫上進行訓練,用模型的內部狀態來表征一個詞的向量,此時內部狀態混合了所有的語義;然后將下游任務的文本輸入模型,此時的詞具備了具體的上下文語境,再用內部狀態的線性組合來表征詞.這種線性組合是在下游任務中進行訓練得到的.雙向LSTM層能有效地編碼上下文中不同類型的語法和語義信息,提高整體任務性能.

1.5 Transformer模型及其變體

與大多數Seq2Seq模型一樣,Transformer[31]的結構也是由編碼器和解碼器組成.不同于Attention模型中的注意力機制,Transformer提出了多頭注意力的機制,分別學習對應的源句內部、目標句內部、源句與目標句之間的3種關系.對于短語的位置,Transformer使用位置編碼機制進行數據預處理,擴展了模型的并行性,獲得了更好的效果.針對不同的問題,Transformer還有各種不同的結構變體,包括Vanilla Transformer[15],Universal Transformer[16],Generative Pre-trained Transformer(GPT)[17]等.

1.5.1 Vanilla Transformer模型

RNN結構本身比較簡單,也很適合序列建模,但RNN的明顯缺點之一就是無法并行,因此速度較慢,這是遞歸的天然缺陷.此外,RNN難以很好地學習到全局的結構信息.為了解決這一問題,Vaswani等人[15]提出了Vanilla Transformer模型,通過多頭自注意力結構一步到位獲取了全局信息.Vanilla Transformer模型通過位置嵌入,對每個位置編號,然后通過正余弦函數將編號映射為一個向量.通過這一操作,為每個詞都引入了一定的位置信息,解決了自注意力本身無法捕捉序列順序的問題.

1.5.2 Universal Transformer模型

由于Transformer模型中編碼器和解碼器執行的次數仍是人為設置的超參數,使得模型架構無法自主轉換任務并且自動地調整訓練策略.Universal Transformer模型[16]有別于傳統做法,采用了自適應計算時間讓模型可以動態地調整每個符號的計算次數,實現最好的矢量表達.此方法在轉換函數上另作符號分頭進行,能夠有效地學習每個符號的矢量表達,并保留了Vanilla Transformer模型的優點,解決傳統方法梯度爆炸/消失和信息遺失的問題.

1.5.3 GPT模型

Radford等人[17]首次提出結合無監督的預訓練和有監督的微調而得到GPT單向自回歸語言模型,旨在學習一種通用的表示方式,可以做很少的改變就能轉移到各種類型的NLP任務中.此外,目前主流的機器學習模型對于字幕或者閱讀理解、圖像分類這樣的任務,輸入的多樣性和不確定性會把模型缺點暴露出來.為了構建一個泛化能力更強的模型,Radford等人[18]把多任務學習和無監督學習關聯起來得到GPT-2模型,在多個任務上進行預訓練,無監督地做下游任務.模型沿用GPT單向自回歸語言模型,但是使用的數據質量高、更寬泛、量更大,模型的參數規模更大,訓練成本也更高.

1.5.4 BERT模型

BERT模型[19]代表Transformer的雙向編碼器表示,與其他語言表示模型不同,BERT旨在通過聯合調節所有層中的上下文來預先訓練深度雙向表示模型.它采用了3種嵌入相加的方式作為模型輸入:符號嵌入+段嵌入+位置嵌入,其中符號嵌入采用的是單詞符號嵌入,段嵌入則采用文本語句嵌入,位置嵌入使用了隨機參數同Transformer模型一起訓練.因此,預訓練的BERT表示可以通過一個額外的輸出層進行微調,適用于廣泛任務的模型構建,比如問答任務和語言推理,無需針對具體任務做大幅架構修改.

但是,BERT的預訓練模型并沒有得到充分訓練,因此Liu等人[20]提出了魯棒優化的BERT預訓練方法(robustly optimized BERT approach, RoBERTa)以更好地訓練BERT模型.BERT的掩碼是在預處理時進行的,導致該掩碼是靜態的,而RoBERTa中使用動態掩碼,只是在序列送入模型中的時候才進行動態的掩碼.這樣在更大數據集上或者更多步數的訓練上會表現更好,但是過程中使用了大量的訓練數據,且模型結構更為復雜.為了得到更好的模型訓練參數,Lan等人[21]則提出了更輕量級的模型(a lite BERT, ALBERT).ALBERT的核心思想是采用2種減少模型參數的方法,比BERT占用的內存空間小很多,在保證模型訓練效果的同時極大提升了訓練速度.

1.5.5 Transformer-XL模型

由于Transformer無法建模超過固定長度的依賴關系,對長文本編碼效果差,且把要處理的文本分割成等長的片段,通常不考慮句子(語義)邊界,導致上下文碎片化.因此,Dai等人[22]提出Transformer-XL模型,使用片段級遞歸機制,通過引入一個記憶模塊,循環用來建模片段之間的聯系,使得片段之間產生交互,解決編碼長距離依賴和上下文碎片化問題.Transformer-XL模型還使用了相對位置編碼機制,代替絕對位置編碼,這是為了實現片段級遞歸機制而提出,解決可能出現的時序混淆問題.

1.6 XLNet模型

XLNet模型[23]與BERT模型[19,21]類似的是同樣遵循兩階段的過程:第1個階段是語言模型預訓練階段;第2階段是任務數據微調階段.XLNet模型主要改動第1個階段,它不同于BERT模型帶掩碼符號的降噪自編碼模式,而是采用自回歸語言模型的模式.通過對輸入全排列來引入上下文信息,并利用雙流自注意力機制和注意力掩碼實現更好的效果.此外,XLNet模型直接使用了相對位置編碼,并將遞歸機制整合到全排列設定中.對于生成類的任務,能夠在維持表面從左向右的生成過程前提下,學習隱含上下文的信息,比BERT模型具有更明顯優勢.

根據上述對NLP模型的介紹,我們進一步整理并總結其中的關鍵技術、應用、優勢以及待解決的挑戰,如表1所示:

Table 1 Comparison of Classic Natural Language Processing Models表1 經典的NLP模型對比

2 面向NLP的攻擊方法

隨著DNNs在NLP領域的發展應用,針對其文本數據的對抗和中毒攻擊研究工作也得到廣泛關注.根據對文本數據擾動粒度的不同,實現對已有的NLP相關攻擊方法進行分類,主要分為:字符級攻擊、單詞級攻擊、句子級攻擊.對比以上3種不同粒度的攻擊擾動,字符級和句子級擾動所產生的對抗文本質量較差,前者會破壞其語法性,降低對抗文本的可讀性,但是攻擊成功率較高;后者則使得對抗文本和原始輸入之間有巨大的差別,且攻擊效果也比較一般.而單詞級攻擊在對抗文本質量和有效性控制以及攻擊成功率方面則有更好的表現.

2.1 字符級攻擊

字符級攻擊主要通過對原始輸入中的字符添加擾動,常用的方法包括字符的刪除、修改、添加、替換等.字符級擾動所產生的對抗文本質量較差,破壞了其語法性[32],因此該類攻擊方法應用較少.

Eger等人[33]研究了視覺對抗攻擊對當前NLP系統的影響,包括字符、單詞和句子級別的任務.作者引入視覺擾流器,通過在視覺嵌入空間中隨機地將輸入中的字符替換為其視覺近鄰字符,從而實現攻擊.結果表明,最先進的NLP模型在受到視覺擾流器攻擊時,對各種NLP任務的性能都顯著下降.在單個任務的攻擊場景中,下降率高達82%.此外,作者探索了3種文本屏蔽防御方法——視覺字符嵌入、對抗訓練和基于規則的恢復方法,這大大提高了NLP模型的魯棒性.但是,在攻擊場景下文本屏蔽方法的性能仍然落后于非攻擊場景,這說明了對視覺攻擊的處理難度更大.

進一步,根據攻擊者對目標模型的信息掌握情況對其作進一步的分類,可以分為白盒攻擊和黑盒攻擊.在白盒攻擊場景中,攻擊者可以獲取目標模型的所有信息,包括模型結構、梯度和參數等;而在黑盒攻擊場景中,攻擊者則無法獲取目標模型的相關信息,但是可以得到模型的輸出結果,從而利用對抗文本的遷移性進行攻擊.黑盒攻擊在無法探知原NLP模型結構和參數的前提下,通過找到與訓練原NLP模型同分布的數據,并使用該數據訓練一個新的替代模型.基于此,Gil等人[34]提出White-to-black攻擊,證明在優化過程中利用隱含的知識,可以提煉得到另一個更有效的DNNs.通過白盒攻擊生成針對替代模型的對抗文本,然后根據白盒攻擊生成的對抗文本來對攻擊者進行訓練,訓練出的DNNs可用于實施黑盒攻擊,攻擊過程如圖1所示.圖1中的白盒攻擊過程,源毒性模型S(*)通過白盒攻擊方法生成對抗文本,并以此訓練攻擊者模型DISTFLIP.圖1中的黑盒攻擊過程,使用訓練好的DISTFLIP來攻擊黑盒模型,并翻轉了生成樣本中42%的API預測標簽.該方法減少了對抗文本生成時間,并且此方法在黑盒設置的情況下,也能通過攻擊谷歌透視圖API來暴露其安全漏洞.

Fig. 1 Attack effect from white box to black box[34]圖1 白盒變黑盒的攻擊效果[34]

在文本分類任務中,Gao等人[35]針對NLP模型存在的安全漏洞,提出了一種算法DeepWordBug,它可以產生敵對的文本序列,并通過利用這個漏洞誤導深度學習模型.該算法可在黑盒設置中有效地生成微小文本擾動,從而迫使NLP模型對文本輸入進行誤分類.作者還為DeepWordBug算法設計了新的評分策略,以找到最重要的單詞進行修改,從而使NLP模型做出錯誤的預測.DeepWordBug算法將簡單的字符級轉換應用于排名最高的單詞,以最小化擾動的編輯距離,同時更改原始分類.結果表明,DeepWordBug降低了當前最新的NLP模型的預測準確性,通過生成對抗性序列文本使得模型的性能下降.

Ebrahimi等人[36]研究了字符級別神經機器翻譯(neural machine translation, NMT)的對抗文本,并將黑盒對手與新白盒對手進行對比,后者使用可微字符串編輯操作對對抗性變化進行排序.Ebrahimi等人[36]提出了2種新的攻擊類型,目的是刪除或改變翻譯中的一個詞,而不是簡單地破壞NMT.實驗結果表明,在不同的攻擊場景下,白盒對抗文本的攻擊效果明顯強于黑盒對抗文本,這顯示了比目前已知的更嚴重的漏洞.此外,利用該方法生成的對抗文本進行對抗性訓練,可以提高NLP模型的魯棒性.

即使目前最先進的NMT模型也無法很好地翻譯人類容易理解的中等噪音文本,基于此Belinkov等人[37]提出將面向字符的NMT模型與合成的和自然的噪聲源相結合的攻擊方法.此外,作者還探討了2種增強模型魯棒性的方法:結構不變詞表示和噪聲文本的魯棒訓練,并發現基于CNN的模型能夠同時學習對多種噪聲具有魯棒性的表示.實驗結果表明,基于字符的NMT模型是非常脆弱的,并且當面對自然和合成類型的噪聲時往往會發生模型預測錯誤.但是,通過使用結構不變詞表示和通過對不同種類的對抗文本進行集成訓練,可以在一定程度上提高模型的魯棒性.

綜上所述,字符級攻擊所產生的對抗文本質量較差,大概率會破壞其語法性,造成對抗文本不可讀.盡管攻擊成功率較高,但是目前已有一些基于語法糾錯的防御方法可以很好地應對字符級攻擊.

2.2 單詞級攻擊

與字符級攻擊不同的是,單詞級攻擊擾動的對象是原始輸入中的詞,最主要的方法為詞替換,包括基于詞向量相似度[38]、同義詞[39]、義原[40]、語言模型分數[41]等詞替換方法.單詞級攻擊在對抗文本質量和有效性控制以及攻擊成功率方面有更好的表現,加上利用語言模型進行控制,所產生的對抗文本的通順性、流暢性也能夠保證.

在單詞級攻擊方法中,典型的白盒攻擊如基于共享的詞替換攻擊[42]、TextFooler攻擊[38]等,都是需要獲取目標模型的詳細信息;而常用的黑盒攻擊如基于義原的詞替換攻擊[40]則利用對抗文本的遷移性進行攻擊.此外,還有研究人員同時研究白盒場景和黑盒場景下的其他攻擊方法,如基于關系解析擾動的攻擊[43].本節將從單詞級白盒攻擊、黑盒攻擊、其他攻擊3方面進行介紹.

2.2.1 單詞級白盒攻擊

Shi等人[42]從使用共享詞進行修改的角度研究了釋義識別模型的魯棒性,并表明模型在面對這些修改攻擊時,存在嚴重的魯棒性安全問題.攻擊模型的目的是構建一個有效的新對抗文本,使目標模型做出錯誤的預測.Shi等人[42]為了找到一個修改的攻擊方案,使用受啟發式規則約束的波束搜索,并利用BERT掩碼語言模型來生成與上下文兼容的替換詞.實驗表明,這種攻擊方法所生成的對抗文本還能用于進行對抗訓練以提高NLP模型的安全性.但是這種修改不保留語義,每一對修改的句子通常有更低的單詞重疊,因此這種攻擊方法容易誤導模型的預測.為了生成保留語義內容、語法性且人類能夠分類正確的對抗文本,Jin等人[38]提出TextFooler攻擊方法用于產生對抗文本,并將其應用于2個基本的NLP任務,文本分類和文本蘊涵任務.最終成功地攻擊了多個目標NLP模型,包括強大的預訓練BERT模型,以及廣泛使用的CNN和RNN.該攻擊框架在成功率和擾動率方面優于以前的攻擊,能夠生成保留語義內容的對抗文本,而且計算復雜度與文本長度呈線性關系,缺陷是對初始精度高的模型攻擊難度較大.

為了解決輸出空間的連續性問題,Cheng等人[44]提出了一種結合group lasso和正則化的投影梯度方法,此方法通過Seq2Seq模型生成對抗文本,使用投影梯度法解決輸入空間的離散性問題,采用group lasso增強失真的稀疏性,并開發一種正則化技術進一步提高成功率.實驗結果驗證了所提算法的有效性:通過改變小于3個單詞,可以使Seq2Seq模型產生期望的錯誤輸出,具有很高的攻擊成功率.此外,作者還使用一個外部情感分類器驗證了生成的對抗文本仍然保留了語義性,而Seq2Seq模型在對抗攻擊方面具有更強的內在魯棒性.此方法可以進行更具挑戰性的目標關鍵字攻擊,并能有效應用于機器翻譯和文本摘要任務.

由于對文本分類的對抗攻擊過程中,產生的對抗文本難以保持詞法的正確性、語法的正確性和語義的相似性.在同義詞替換攻擊策略的基礎上,Ren等人[39]提出了一種基于概率加權詞顯著性(probability weighted word saliency, PWWS)的文本分類實例生成方法來解決這一問題.PWWS引入了一種新的詞替換順序,該順序由詞的顯著性決定,并以分類概率為權重.實驗表明,PWWS能在較低的詞替換率下大幅度降低文本分類的準確率,且這種干擾是人類難以察覺的,證明了在離散輸入空間中存在對抗文本,并顯示了NLP模型的脆弱性.PWWS也表現出良好的可移植性,并且通過對抗性訓練可以提高模型在測試時的魯棒性.

在NLP的機器翻譯任務中,Hsieh等人[45]和Cheng等人[46]分別提出了面向翻譯模型的攻擊方法.前者檢查了自注意神經網絡對敵對性輸入擾動的魯棒性.具體地,作者研究了最先進的RNN和自注意架構在對抗攻擊下的情感分析、蘊涵和機器翻譯的注意機制和特征提取機制.同時提出了一個新的攻擊算法產生更多的自然對抗文本,用以誤導NLP模型.而Cheng等人[46]利用對抗性源實例攻擊翻譯模型,同時使用對抗性目標實例保護翻譯模型,提高其對對抗性源實例的魯棒性.為了生成對抗性實例,作者提出了一種基于梯度的攻擊方法,通過對干凈文本的翻譯損失制作對抗文本.Hsieh等人[45]的實驗結果表明,對于這3個NLP任務(情緒分析、文本蘊含和機器翻譯),在輸入擾動較小時,自注意力模型比RNN對對抗攻擊有更高的魯棒性.此外,作者還從模型內部變化出發,對自注意力模型魯棒性較強的原因進行解釋,為進一步生成更強大的對抗文本提供理論基礎.Cheng等人[46]在漢英和英德翻譯任務上的實驗結果則表明,此方法能夠提高翻譯性能和魯棒性,并在噪聲數據上表現出更高的魯棒性,說明該方法生成對抗文本可以用于對抗訓練,進而反向提升NLP模型的魯棒性.

由此可見,對抗訓練不僅在圖像處理領域取得巨大成功,在NLP領域中也應用廣泛.研究人員可以直接將在圖像處理領域開發的對抗訓練直接應用于輸入詞嵌入空間,而不是離散的文本輸入空間.然而,此方法放棄了諸如生成對抗文本之類的可解釋性,以顯著提高NLP任務的性能.Sato等人[47]通過限制嵌入空間中單詞的擾動方向,恢復其可解釋性.此方法將每個帶有擾動的輸入直接重構為實際的文本,并將擾動視為句子中單詞的替換,并通過限制輸入嵌入空間中現有單詞的擾動方向恢復其可解釋性,進而可以成功地在嵌入空間中生成合理的對抗文本和可解釋的可視化擾動.

Samanta等人[48]提出了一種通過修改原始樣本來制作對抗文本的方法,這是第1個從復雜的文本樣本合成對抗文本的工作.對原始文本的修改是通過刪除或替換文本中重要或突出的單詞,或在文本中引入新單詞來完成的.此算法最適合每個類的樣本都有子類別的數據集.在制作對抗文本時,關鍵的約束之一是生成有意義的句子,從語言(英語)的語法觀點來看,這些句子是合法的.與圖像不同的是,文本在進行修改時必須滿足一些條件,以確保文本樣本的語義和語法的保留.在面向情感分析的電影評論數據集(internet movie database, IMDB)和性別檢測的Twitter數據集上,實驗結果表明了此方法的有效性.

NLP模型通常用于解決復雜任務,以及在敏感情況下做出決策,因此許多NLP模型容易受到以對抗文本為輸入的對抗性操縱.Papernot等人[49]基于詞序列轉換的攻擊,研究RNN在處理順序數據時的對抗威脅,為對抗性機器學習領域做出了貢獻.研究表明,先前介紹的對抗文本生成算法,若能夠使得前饋神經網絡誤分類,將也可以適用于對RNN的攻擊.實驗結果表明,此方法在攻擊中必須考慮數據的預處理過程,且在較弱的威脅模型下執行攻擊也將有助于更好地理解漏洞并指導防御.但是還需要解決對抗性序列的語法問題,以改善其在句子中的語義,使擾動更加難以察覺.

2.2.2 單詞級黑盒攻擊

Maheshwary等人[50]提出了一種基于決策的攻擊策略,該策略可以針對文本分類和文本蘊含任務設計高質量的對抗文本.作者提出的攻擊策略利用基于種群的優化算法,通過只觀察目標模型預測的Top1標簽來制作貌似合理且語義相似的對抗文本.盡管種群優化算法是強大的組合優化技術,但是如果搜索空間很大,它們仍然會變慢并收斂到局部最優.

在每次迭代實驗過程中,優化過程都允許單詞替換,從而最大限度地提高原始文本和對抗文本之間的整體語義相似度.如圖2所示,包括初始化對抗樣本、縮減搜索空間、優化對抗樣本等步驟,用X*替換更多的同義詞會大大增加搜索空間.因此,在此步驟中通過將一些同義詞替換為各自的原始單詞來減少X*中的替換次數.此方法并不依賴于使用替代模型或任何類型的訓練數據,并且能夠在受限設置下以較低的詞擾動百分比獲得較高的攻擊成功率.

Fig. 2 Search space visualization[50]圖2 搜索空間可視化[50]

Garg等人[51]提出了一種黑盒攻擊方法BAE(BERT-based adversarial examples),利用BERT掩碼語言模型的上下文擾動制作對抗文本.BAE在原始文本中替換和插入token以遮蔽待攻擊詞,語言模型根據語境選取預測出的詞.并利用BERT-MLM生成掩碼token的對抗文本,在文本分類任務中插入和替換句子中的token以進行攻擊.實驗表明,BAE執行了更強的攻擊.此外,與之前的工作相比,BAE生成的對抗文本具有更好的語法和語義一致性.

單詞級攻擊中常用的是詞替換攻擊方法,基于此,Zang等人[40]將基于義原的詞替換方法和基于粒子群優化的搜索算法相結合,通過基于最小語義單位的詞替換保留更多潛在的有效對抗文本,分別解決不合適的搜索空間縮減方法和效率低下的優化算法這2個問題.Tan等人[52]通過擾亂干凈文本中的詞形變化,生成看似合理且語義相似的對抗文本,而不需要訪問模型的梯度.Alzantot等人[9]則是使用基于黑盒種群的優化算法,生成語義和語法上相似的對抗文本.這些對抗文本能夠欺騙已訓練好的情感分析和文本蘊含模型,攻擊成功率分別達到97%和70%.作者通過大量的實驗驗證了該方法可以獲得更高的攻擊成功率,并且能夠制造出更多高質量的對抗文本.此外,Tan等人[52]的攻擊方法在顯示強大的攻擊能力的同時,還能保持處理干凈數據集的性能.作者的攻擊方法生成的對抗文本都具有更高的可遷移性并能有效用于對抗訓練,從而提高受威脅NLP模型的魯棒性.

隨著詞攻擊方法的研究發展,研究人員意識到可以使用策略學習的方法制作對抗文本.Zou等人[53]通過基于強化學習生成對抗文本的方法來研究基于DNNs的NLP系統在這種情況下如何、以及何時會失敗的問題.作者針對任何給定的NMT體系結構,通過引入一種強化學習范式,在token級別上應用離散擾動,以實現直接的翻譯性能下降.Yang等人[54]提出了一個概率框架研究針對離散數據的對抗性攻擊.在此基礎上,作者推導出一種基于擾動的貪婪攻擊方法和一種基于學習的可擴展的Gumbel攻擊方法,以用于攻擊算法設計中的各種權衡.

結果表明,Zou等人[53]能有效地生成具有保持語義的對抗文本的穩定攻擊,但是在“加強文本”上攻擊效果不佳.作者也提出了一個定性和定量分析的首選模式的攻擊,可以暴露給定性能指標上的度量缺陷,實現模型安全漏洞的定量分析.Yang等人[54]的貪婪攻擊查詢效率相對較低,因為模型評估與攻擊者選擇的特征數量和子字典大小呈線性關系.由于不需要查詢攻擊階段的模型,Gumbel攻擊對攻擊成功率和文本語義保持有折中考慮.但是這些攻擊方法都能有效應用于最新的文本分類NLP模型的攻擊.

2.2.3 其他攻擊

以前面向NLP模型的對抗文本攻擊研究主要集中在語義任務上,例如情感分析、問題回答和閱讀理解.Zheng等人[43]研究了基于神經網絡的依賴解析模型的魯棒性,證明了依存關系解析中也存在對抗文本.作者提出2種方法,研究解析器如何通過在句子和短語級別上搜索現有文本的擾動而犯錯,以及設計在黑盒和白盒設置中構造此類示例的算法.針對句法任務進行對抗攻擊的實驗表明,此方法成功地找到了解析器的盲點,并取得了很高的攻擊成功率.同時,通過使用此攻擊得到的對抗文本進行對抗訓練,不僅保持了依賴解析器在干凈數據上的性能,而且提高了依賴解析器的魯棒性.

由于句子空間是離散的,因此很難沿梯度方向進行小的擾動搜索,而且不能保證順利地生成對抗文本.Zhang等人[41]提出了基于Metropolis-Hastings的攻擊(MHA),它通過執行Metropolis-Hastings采樣來解決上述2個問題,同時利用梯度進行快速攻擊.

在IMDB和斯坦福自然語言推理(Stanford natural language inference, SNLI)數據集上的實驗結果表明,MHA相比于比遺傳算法可以更快地生成對抗文本,而且利用MHA方法生成的對抗文本更流暢.但是,MHA在標簽改變時返回輸出結果,可能導致句子不完整.此外,利用MHA生成的對抗文本進行對抗性訓練,也能改善NLP模型的魯棒性.

Liang等人[55]提出了一種制作對抗文本的有效方法,揭示了一個容易被忽視的重要事實,即基于DNNs的文本分類器也容易受到對抗文本的攻擊.具體地,面對不同的對抗場景,通過計算輸入文本的代價梯度(白盒攻擊)或生成一系列封閉的測試樣本(黑盒攻擊),進而識別對分類結果很重要的文本項.因此,作者設計了3種擾動生成策略來生成對抗文本,即插入、修改和刪除.實驗結果表明,該方法生成的對抗文本能夠成功愚弄最先進的字符級和詞級NLP文本分類器.這些對抗文本可以被用于干擾任何期望的字符級或詞級,而不會影響其效用,且引入的擾動是很難被感知的.

綜上所述,單詞級攻擊在對抗文本質量和有效性控制以及攻擊成功率方面有更好的表現,對某些詞進行同義替換很難改變這句話的語義,所產生的對抗文本的通順性、流暢性也更容易保證.此外,單詞級攻擊在白盒和黑盒的場景下都能達到較高的攻擊成功率,因此單詞級攻擊應用較廣.

2.3 句子級攻擊

句子級攻擊將整句原始輸入視作擾動的對象,旨在產生一個和原始輸入語義相同(至少針對當前任務的真實標簽不改變),但卻使得受威脅模型判斷改變的對抗文本.常用的句子級攻擊方法包括編碼后重解碼[56]、添加無關句子[57]、改述[58]等,下面將對句子級攻擊方法進行介紹.

Wang等人[58]提出了一個受控對抗文本生成(controlled adversarial text generation, CATGen)模型,在給定輸入文本的情況下,通過與已知任務標簽無關的可控屬性生成對抗文本.與許多現有的對抗文本生成方法相比,此方法可以生成更加多樣化和流暢的對抗文本,且對模型再訓練和不同的模型架構具有很強的魯棒性.因此,可以使用生成的對抗文本進行對抗訓練來改進模型,但模型如何隱式地提取屬性還需探索.由此,Li等人[59]基于BERT提出了一種更為高效的對抗文本生成方法BERT-Attack,通過使用預先訓練的掩碼語言模型制作高質量的對抗文本.作者將BERT與下游任務中精細調整的模型和其他DNNs相對立,以便誤導目標模型的預測結果.此方法在成功率和干擾百分比上都優于最先進的攻擊策略,同時生成的對抗文本流暢并且語義上保持不變,但在干擾率、攻擊成功率、語法正確性和語義一致性等方面仍有很大的改進空間.

在面向NLP結構化預測任務的攻擊與防御研究中,除了任何攻擊者都會面臨的如何干擾離散單詞和句子流暢性問題外,結構化預測模型對攻擊者還有一個特定的挑戰:結構化輸出對輸入中的小擾動十分敏感.為了解決這一問題,Han等人[60]提出了一個新的框架,首先通過使用Seq2Seq模型,從處理相同結構化預測任務的多個參考模型進行反饋,對結構化預測模型進行攻擊.在此基礎上,作者進一步通過對抗性訓練來增強受威脅模型的性能,使其預測更加準確且魯棒.對句法分析和詞性標注的攻擊實驗表明,此攻擊框架可以產生高質量的句子,進而有效地攻擊當前最先進的NLP模型.防御實驗表明,利用此模型生成的對抗文本進行對抗訓練可以對原始模型的魯棒性進行改善.

與人類用戶進行交互時,在大型數據集上受訓的面向目標的對話代理可以實現良好的性能.但是,在現實世界的應用程序中,更重要的是確保代理不僅與常規用戶進行正常交互,而且能夠與那些會通過交互攻擊系統以實現自身優勢的惡意用戶進行順暢交互.Wallace等人[61]提出“人在回路中”的對抗文本生成方式,用于指導人類攻擊目標模型.作者將此生成框架應用于Quizbowl問答任務中,通過交互式用戶界面幫助解釋模型預測,而且用戶可以在其中提出對抗性問題.對抗性問題涵蓋了從multi-hop推理到實體類型干擾等多種現象,暴露出問題解答中的開放性挑戰.Cheng等人[62]則通過使用對抗性智能體精心設計的攻擊來評估對話系統的魯棒性,分別在黑盒和白盒設置中進行.這是第1個在互動對話系統中創造對抗代理的方法.實驗結果表明,目前基于DNNs的模型對此方法的對抗代理是不穩定的.此外,通過使用此方法的黑盒代理進行迭代對抗訓練,可以顯著提高對話系統的魯棒性.

Ribeiro等人[11]介紹了語義等效攻擊,通過語義保留擾動,誘導模型預測發生變化.作者將這些敵對方歸納為語義上等價的對抗規則,在許多情況下通過簡單、通用的替換規則混淆對手.通過在3個任務場景中(機器理解、視覺問答和情感分析)檢測最先進的黑盒模型中的錯誤,展示了針對語義等效對手和等價對抗規則的有用性和靈活性,此方法在大多情況下有效地產生了高質量的對抗文本,具有泛化攻擊能力.

Minervini等人[63]研究了自然語言推理(natural language inference, NLI)中違反一階邏輯約束的對抗性實例的自動生成問題.作者將識別此類對抗性例子的問題簡化為組合優化問題,通過最大化度量違反此類約束的數量,并使用語言模型來生成語義上具有混淆性的例子.此外,作者提出了一種對抗規則神經推理模型來整合背景知識的方法.結果表明,雖然所提出的方法并不總能改善SNLI和多體類自然語言推理(multi-genre natural language inference, MultiNLI)數據集上的結果,但它顯著且持續地提高了對敵制作數據集的預測精度.此外,該方法生成的對抗文本還能在不同模型上進行遷移,并且所提出的對抗性訓練過程通常能夠產生更魯棒的模型.

針對處理斯坦福問答數據集(Stanford question answering dataset, SQuAD)缺乏魯棒性的問題,Wang等人[64]提出了一種新的添加輸出多樣化(add sent diverse, ASD)的對抗文本生成算法,通過不同位置放置干擾和擴大假答案的設置產生對抗文本,顯著增加了對手的訓練數據方差.此外,為了提高對語義擾動(例如反義詞)的魯棒性,除了添加基于ASD的對抗性訓練實現數據增強之外,還共同提高了模型的語義關系學習能力.在許多不同類型的對抗評估下,此方法可以實現36.5%的F1得分提升.Jia等人[8]則針對SQuAD數據集提出了一個新的對抗性評估方法,通過向輸入段落添加分散注意力的句子來創建對抗文本.這些句子是自動生成的,用來分散問答系統的注意力,不會改變正確的答案或誤導人類,以測試系統面臨干擾時的魯棒性.實驗表明,在這種對抗性的環境下,模型的平均準確率明顯下降,進一步驗證了對抗文本的攻擊有效性.

在NLP的句子級攻擊中,研究人員通常使用句子的語法轉換進行攻擊,Iyyer等人[56]提出了句法控制釋義網絡(syntactically controlled paraphrase networks, SCPNs)制作對抗文本.給定一個句子和目標語法形式(例如選區解析),訓練SCPNs用于所需的語法對句子進行釋義.Zhao等人[57]則通過在密集和連續數據表示的語義空間中進行搜索,生成位于數據流形上的對抗實例,且得到的對抗文本是在語法和意義上與輸入相似的.Iyyer等人[56]大規模地進行反向翻譯,然后使用解析器標記在這個過程中自然發生的語法轉換.這種攻擊方法允許用額外的輸入來指定目標語法,進而訓練一個神經編碼器-解碼器模型.自動評估和人工評估的結合表明,與現有的不受控制的釋義生成系統相比,該模型顯示出的詞匯變化要少得多,而更傾向于純粹的語法修改.Zhao等人[57]的實驗解釋了決策行為并評估了黑盒分類器的準確性,但是其生成的對抗文本難以直接有效地用于對抗訓練以提升模型的魯棒性.

Minervini等人[65]提出了第1個可以使用功能無關的Horn子句(如對話)來正則化任何神經鏈路預測器的方法,其復雜性與域的大小無關.對于幾個鏈路預測模型,優化問題所面臨的對手存在有效的封閉形式的解決方案,其神經鏈路預測的正則化概述過程如圖3所示.圖3中,給定帶有變量{X1,X2,X3}的子句,一個對手會將每個變量映射到一個嵌入的對抗實體,該實體最大程度地減少了不一致的損失,同時通過最小化鏈路預測和不一致的損失來訓練鑒別器.在鏈路預測基準上的實驗表明,在給定適當的先驗知識的情況下,此方法可以顯著影響所有相關指標的神經鏈路預測的結果,達到攻擊效果.

綜上所述,句子級擾動往往使得對抗文本和原始輸入之間有巨大的差別,很難控制所產生的對抗文本的質量,更無法保證其有效性,因此符合語義和理解的句子級攻擊比單詞級和字符級攻擊難度更大.

根據上述對面向NLP模型的攻擊方法介紹,我們按照字符級攻擊、單詞級攻擊、句子級攻擊3類分別對其關鍵技術、應用、是否為目標攻擊、是否為黑/白盒攻擊、攻擊階段等進行進一步整理和歸納,具體總結如表2所示:

Fig. 3 Block diagram of regularization for neural link prediction[65]圖3 神經鏈路預測的正則化操作框圖[65]

Table 2 Attack Methods of Natural Language Processing表2 針對NLP的攻擊方法

續表2

其中目標/非目標攻擊是從攻擊效果出發對攻擊方法的歸類.目標攻擊是指攻擊者首先預設了一個目標,并且攻擊后的預測結果滿足預設目標,如在文檔分類任務中,通過添加特定的文本擾動將該文檔歸類為攻擊者指定的某一類.而非目標攻擊則只需滿足攻擊后的預測結果與真實標簽不一致即可.

3 面向NLP的防御方法

生成針對NLP模型的對抗文本的基本目的是利用這些對抗文本來增強模型的魯棒性,以防御惡意對抗文本對模型預測的干擾.本節主要介紹了NLP領域的文本防御方法,分為對抗訓練、隱私保護防御和檢測防御.由于攻擊方法層出不窮,針對文本的防御工作變得更為重要也更加困難,目前圍繞NLP領域的防御研究仍需進一步地探索.

3.1 基于對抗訓練的防御

對抗訓練是增強神經網絡魯棒性的重要方式.在對抗訓練的過程中,訓練樣本中會混合一些帶有微小擾動的對抗文本,然后使神經網絡適應這種擾動,從而對對抗文本具有魯棒性.在NLP領域,Miyato等人[66]將對抗和虛擬對抗訓練引入文本分類中,通過對模型添加正則項,使得一個樣本的輸出分布與加擾動之后的輸出分布相同.該方法在文本分類任務中有很好的防御效果,并且能夠利用大量的未標注樣本,通過對抗訓練來作為模型的正則化進而提升效果.此外,為了克服分布差異問題,該框架通過對句子中的每個單詞加上一些小的擾動而獲得對抗性句子,并為句子中的單詞生成字符級單詞表示.

Liu等人[67]把對抗訓練應用于預訓練和微調2個階段,通過最大化對抗損失、最小化模型損失的方式進行博弈,在下游任務上取得了一致的效果提升.實驗表明這種對抗訓練方法不僅能夠在BERT上有提高,而且在中文預訓練的模型上也能有所提高,說明對抗訓練的確可以幫助模型糾正易錯點.此外,Liu等人[68]提出了一種模型驅動的防御方法,使用自適應對抗的方式自動生成未觀察過的對抗文本,并運用生成的樣本提升NLP模型的魯棒性,全程無需人工參與.該方法首先對每個訓練樣本利用對抗的方法生成一個干擾向量輸入,使其能夠誤導當前的NLP模型;然后采用貪心策略從干擾向量的詞匯權重中采樣得到對應的離散化的干擾文本;最后使用干擾文本構建用于訓練的對抗文本,并重新訓練NLP模型并重復上述步驟直至收斂.實驗表明,在不同的文本數據集上均有非常顯著的性能提升,分類錯誤率降低了50%.

針對詞嵌入模型中的詞匯表外單詞(out of vocabulary, OOV)和訓練與推理之間的分布差異,Liu等人[69]提出了共同使用字符嵌入和對抗性穩定訓練的框架.此框架可輕松應用于所有單詞級文本分類模型,以增強其魯棒性,如圖4所示.該框架的基本目的是克服字符級對抗示例中的詞匯表外單詞和分布差異,通過進行字符嵌入,為句子中的單詞生成字符級單詞表示.字符級單詞表示由細粒度字符生成,不僅保留了單詞的信息,而且解決了OOV單詞的問題.同時作者也構造了2種字符級對抗文本,用來模擬故意攻擊和粗心的拼寫錯誤,以評估框架的魯棒性.在5個文本分類數據集上的實驗結果表明,所提出的方法可以有效防御字符級對抗文本,防御能力具有較好的泛化性.

Fig. 4 Framework to defend char-level adversarial examples[69]圖4 防御字符集對抗文本的框圖[69]

綜上所述,對抗訓練能有效地抵抗文本分類、文本蘊含等任務中的對抗攻擊.但是,對抗訓練只能有效防御某一類的攻擊,無法對所有的對抗文本有效防御.

3.2 文本的隱私保護防御

為了保護NLP模型的隱私安全,防止用戶信息被竊取,Li等人[70]提出了一種無偏表征隱私保護學習方法.作者利用Ganin等人[71]的方法訓練具有對抗性學習能力的深度模型,以明確隱藏個體的隱私信息.因此,數據的學習表征可以在不損害用戶隱私的情況下進行傳遞,同時仍支持高質量的NLP任務.實驗結果表明,該保護方法能隱藏用戶的大部分個人信息,在NLP任務中達到數據保護的目的.

對于文本數據隱私保護問題,Coavoux等人[72]訓練了預測二進制屬性的分類器,將生成式對抗網絡(generative adversarial network, GAN)應用于文本隱私保護,并且基于字符級的語言模型,直接優化訓練樣本的概率.實驗結果表明,在Trustpilot數據集上的隱私保護得到了改善,同時針對原文本的準確率僅有略微下降,改善了文本表征的實用性和隱私性之間的權衡.

綜上所述,NLP中的隱私保護方法可以有效地保護文本數據信息,防止用戶隱私被竊取帶來的危害.但是其在物理世界中的實用性,仍然需要進一步的研究.

3.3 基于對抗檢測的防御

針對NLP模型的防御除了通過對抗訓練和隱私保護技術增強訓練過程的魯棒性和文本數據隱私安全,還可以通過對對抗文本等的檢測,以實現抵抗基于同義詞或者拼寫錯誤引發的模型攻擊.這一部分主要介紹面向NLP模型的對抗文本檢測防御方法.

Gao等人[35]使用Python自動校正工具包v0.3.0來檢測惡意輸入.Python自動校正工具將模型的預測準確率從平均13.34%提高到平均74.17%.針對文本中的錯誤數據,Belinkov等人[37]使用谷歌的拼寫檢查器來糾正敵對方法產生的拼寫錯誤.谷歌的拼寫檢查器將法語語料庫的雙語評價替補(bilingual evaluation understudy, BLEU)評分從16.7提高到21.4,德語語料庫的BLEU評分從18.6提高到25.0,進而降低了2種情況下對抗文本的有效性.Li等人[73]利用上下文感知的拼寫檢查操作來完成類似的效果.但實驗結果表明,該檢測方法對字符級修飾是有效的,對詞級攻擊卻是部分有效的,這可能是由于修飾策略的差異造成的.此外,拼寫檢查方法也不適用于基于漢語等其他語言的對抗文本[74].

為了抵御由拼寫錯誤帶來的模型攻擊,Jones等人[75]和Tan等人[76]分別提出魯棒性編碼和基本拐點編碼的方法.魯棒性編碼的核心是一個編碼函數:首先對token進行聚類,對同一類簇中的token都映射為其中心點,然后由同一個token導致的錯字就可以“還原”為原來的token.重要的是,這種方法是任務無關的,即一旦構建好聚類,就可以在任何與錯字相關的任務上使用它.魯棒性編碼雖然可以很好地對抗異常值攻擊,但是在干凈的數據上性能表現卻稍微差一點.基本拐點編碼則通過將拐點詞修改為基礎形式來標記英文文本的方法,使用該編碼對下游任務進行微調預訓練的NLP模型可以抵御對抗文本,同時還能保持對正常文本的識別準確率.但是,基本拐點編碼增加了編碼序列的長度,如果用于形態豐富的文本數據集,可能會導致長序列造成時間復雜度增加.

為了保護模型免受基于同義詞的攻擊,Pruthi等人[32]和Wang等人[77]都提出了檢測對抗文本的方法.前者提出了一種用于DNNs之前的單詞識別模型,能夠處理對抗文本,包括插入、刪除、字符交換、鍵盤錯誤等,用于檢測對抗文本.作者使用了半基于字符的RNN模型,并采用穿越退避、中性詞退避、背景模型退避這3種不同的退避策略,建立單詞識別模型.作者提出的識別模型是建立在Sakaguchi等人[78]提出的半字符級遞歸神經網絡(semi-character level recurrent neural network, ScRNN)的單詞識別器上的,并在對抗性訓練和基于數據增強的防御中測試了該方法,以表明其防御機制優于現成的拼寫檢查和對抗訓練.Wang等人[77]則通過同義詞編碼方法進行防御,將編碼器網絡置于分類器模型之前,并檢查擾動.在文本分類的任務中,該方法可以有效地防御基于同義詞替換的對抗性攻擊.此外,Mozes等人[79]發現,針對CNN,LSTM和基于Transformer的文本分類模型的對抗性攻擊會執行單詞替換,檢測方法可以通過替換單詞及其相應替換詞之間的頻率差異來識別.由此,作者提出了頻率引導詞替換,利用對抗性詞替換的頻率特性對對抗文本進行檢測的防御算法.實驗結果表明,該方法在情感數據集上能準確地檢測區分惡意樣本,實現對詞替換攻擊的有效防御.

對抗文本和異常值有一個重要的特征,即它們都在正態分布之外.因此,檢測測試數據中的異常值或者對抗文本也能夠保護NLP模型.Ko等人[80]提出了證據分析法,從大數據中過濾出噪聲樣本.噪聲數據可能由異常值或可疑元素組成,這使得數據無法識別.該方法就像一個用于數據表示和流形學習的數據預處理器.基于優勢和相似性特征,能夠通過對樣本進行聚類并檢測出噪聲文本,還可以使用歸納操作去除噪聲文本以達到防御的目的.

為了區分不同擾動粒度級別的攻擊,Zhou等人[81]采用對模型添加部件的方式提出了擾動區分法(discriminate perturbations, DISP),主要用來防御字符級別和單詞級別的攻擊.為了識別對抗文本,擾動鑒別器驗證文本中的token被擾動的可能性,并提供一組潛在的擾動,擾動判別器的訓練過程如圖5所示:

Fig. 5 Disturbance discriminator training[81]圖5 擾動判別器訓練框架[81]

對于每個潛在的擾動,嵌入估計器根據上下文學習恢復原始單詞的嵌入,并基于k-近鄰算法搜索選擇替換token.在2個基準數據集上的實驗表明,DISP能有效地阻止文本分類中的對抗攻擊.此外,DISP無需修改模型結構或訓練過程就可以阻止針對NLP模型的對抗性攻擊.

綜上,對抗檢測防御方法可以有效檢測基于詞替換等攻擊生成的對抗文本,且能區分不同級別的擾動攻擊,能有效防御惡意樣本,實現文本數據安全應用.

根據上述對面向NLP模型的防御方法介紹,我們按照基于對抗訓練的防御、文本的隱私保護防御、基于對抗檢測的防御3類分別對其關鍵技術、應用、能夠抵御的攻擊類型等進行進一步整理和歸納,具體總結如表3所示:

Table 3 Defense Methods of Natural Language Processing表3 針對NLP的防御方法

4 可驗證魯棒性分析與評估基準

為了改善NLP模型的魯棒性,研究人員提出了各種防御方法,然而這些防御工作大多都是受到攻擊方法的啟發而提出的后驗防御.而且這些防御只是在受限的實驗環境下進行了有效性驗證,并不具備可靠的泛化能力,且沒有充足的理論依據支撐.其次,這些防御方法在對當前攻擊有效時,面對其他未知的新型攻擊未必有效,且很可能會被更強大的攻擊打敗.因此,為了提高NLP模型的魯棒性以及NLP的應用安全,研究人員試圖尋找能用理論證明的可驗證的模型魯棒性方法,同時對NLP模型進行安全性分析以評估模型的魯棒性基準.下面介紹模型的可驗證魯棒性與評估基準的相關研究工作.

4.1 NLP的可驗證魯棒性方法

最先進的NLP模型也會被對抗擾動所欺騙而輸出錯誤預測結果,比如同義詞替換攻擊.因此研究具有理論證明支撐的魯棒性模型,使得該模型保證預測結果不會被任何可能的文本攻擊方法所改變是十分重要的.

4.1.1 基于隨機平滑的可驗證魯棒

Ye等人[82]提出了一種基于隨機平滑技術的可驗證魯棒方法,通過對輸入語句應用隨機詞替換來構造隨機集合,并利用該集合的統計特性來證明其魯棒性.該方法使用基于同義詞網絡的隨機單詞替換對模型進行平滑,并利用隨機集合的統計特性構造可驗證的魯棒邊界,如圖6所示.圖6中,首先給定同義詞集,然后從中生成擾動集.當輸入句子X時,從隨機打亂的句子中提取受擾動的句子輸入到分類器中,并對其輸出求平均值,以估計ΔX,該值用于決定模型是否對X具有可驗證的魯棒性.

Fig. 6 Block diagram of robustness certification approach[82]圖6 魯棒性驗證方法框圖[82]

實驗結果表明,該方法在IMDB和Amazon文本數據集分類任務上的魯棒性提升顯著優于對比方法,且是第1個在大型NLP系統(如BERT)上以實際有意義的可驗證精度實現可驗證魯棒性的研究工作.隨機平滑的方法簡單且對模型結構沒有任何要求,因為它只需要對模型輸出進行黑盒查詢,因此可以應用于任何預先訓練的模型.

4.1.2 魯棒邊界驗證方法

魯棒性驗證旨在形式化地證明DNNs的預測行為,已成為理解模型行為和獲得安全保證的重要工具.由于Transformers模型具有復雜的自注意力層,這給NLP模型的魯棒性驗證帶來了許多挑戰.為此,Shi等人[83]考慮了Transformers模型的魯棒性驗證問題,并設計了理論更加完備的模型魯棒性驗證算法.

Shi等人[83]提出的驗證算法得到的邊界反映了不同詞語在情感分析中的重要性,比通過采用間隔邊界傳播(interval bound propagation, IBP)的邊界要嚴格得多,這表明這些邊界在實踐中是有意義的.同時,這種魯棒驗證算法解決了Transformers模型交叉非線性和交叉位置依賴的問題.

4.1.3 基于IBP的魯棒驗證

由于文本數據的離散性,其對抗性擾動引起的搜索空間復雜性使之難以找到最壞情況的攻擊.Huang等人[84]從相反的方向解決問題:針對預定義的對抗性攻擊形式,驗證系統的魯棒性.首先將這些輸入擾動建模為單純形,然后使用IBP進行建模.作者修改了常規的對數似然訓練目標,以訓練能夠有效驗證的模型,否則該模型將具有指數級的搜索復雜性.Jia等人[85]也使用IBP來最小化任何單詞替換組合可能引起的最壞情況的損失上界.為了評估模型對這些變換的魯棒性,Jia等人[85]還測量了應用于測試集樣本的對抗性單詞替換的準確性.

Huang等人[84]研究了在同義詞替換或字符翻轉擾動下的文本分類,實驗結果表明,所得模型在標稱精度上僅表現出很小的差異,但是在擾動下改善了可驗證精度,并且在最壞情況下提供了有效的可計算形式的保證.而Jia等人[85]在實驗中經過IBP訓練的模型在IMDB和SNLI數據集上均達到75%的對抗準確性,大大提高了模型抵抗對抗文本的能力,其魯棒性明顯優于經過數據增強訓練的模型.這2種方法都顯示了對于對抗文本的防御能力,從邊界理論來研究模型的魯棒性,都能有效地提升模型的魯棒安全.

4.1.4 面向RNN的魯棒量化方法

目前已有通過計算最小對抗性擾動的認證下界來對前饋網絡進行魯棒性量化的工作,但是量化RNN(尤其是LSTM和GRU)的魯棒性仍未很好地被解決.對此,Ko等人[86]提出了面向RNN的傳播輸出量化魯棒性方法(propagated-output quantified robustness for RNNs, POPQORN),與通過攻擊得到的上界相比,POPQORN得到的認證邊界為RNN的最小失真提供了有保證的下限.

在不同RNN任務上的實驗表明,POPQORN可以計算有意義的驗證范圍,并提供有關序列數據中單個幀的重要性和敏感性的見解.POPQORN可以在多種不同的RNN模型上進行魯棒量化處理,包括普通RNN,LSTM和GRU,這是一種量化RNN魯棒性的通用算法.

4.2 NLP的魯棒評估基準數據集

對抗性攻擊是對DNNs模型的輸入添加對抗性擾動從而實現攻擊,旨在愚弄機器而不是人類.NLP領域主要關注高級攻擊場景,例如解釋輸入文本,使得NLP模型存在安全漏洞威脅.因此需要提高對于模型的魯棒安全評估,以便于進行魯棒分析與提升技術的研究開展.下面將介紹目前已有的關于魯棒評估基準數據集建立的相關工作.

Eger等人[87]建立了第1個大規模的低級別對抗性攻擊目錄和基準Zéroe,其涵蓋了包括視覺和語音攻擊在內的9種不同的攻擊方式.作者的數據集提供了一個評估基準,可用于測試已有以及未來更多類似的NLP模型的魯棒性.Nie等人[88]同樣也引入了一個新的大規模NLI基準數據集,該數據集是通過迭代的、對抗性的人-模型交互過程收集的.在這個新的基準數據集上訓練的模型,能夠在各種主流的NLI基準上表現出良好性能,同時對其新的測試集構成了更高的挑戰.這種數據收集方法可以應用在終身學習場景中,成為自然語言理解的動態目標,而不是會很快飽和的靜態基準.

監督學習的基準測試集評估應用廣泛,但是當數據集存在系統差距時(例如注釋工具),這些評估結果將具有誤導性.如NLP模型可以學習在測試集上執行良好的簡單決策規則,但不能獲得數據集要測試的能力.Gardner等人[89]通過提出了一個更嚴格的注釋范例來彌補測試數據中的系統差距.在完成數據集構建后,以微小但有意義的方式更改原始標簽,進而創建對照集來手動干擾測試實例.對照集提供了模型決策邊界的局部視圖,可用于更準確地評估NLP模型的真實語言能力.實驗結果表明,作者的對照集作為新的評估基準盡管沒有明顯的對抗性,但在該數據集上訓練的模型性能明顯低于原始測試集——在某些情況下低至25%.

對抗文本對模型輸入的擾動會引起輸出的巨大變化,這也已被證明是評估Seq2Seq模型魯棒性的有效方法.但是,這些擾動僅表示模型中的部分弱點,而且前提是沒有對輸入文本進行顯著改變.Michel等人[90]針對Seq2Seq模型的對抗性攻擊任務提出了一種新的評估框架,該框架考慮了擾動前后輸入的語義等效性.該框架證明了對攻擊添加其他約束條件可以使對抗性擾動保留語義,但仍然會極大地改變輸出順序.此外,該評估框架還有效地表明了在不損失測試性能的情況下,在該評估基準上,利用保留語義的無目標攻擊進行對抗訓練能有效地提升模型的魯棒性.

5 應用平臺和工具包

為了便于研究人員進行實驗,這一部分主要研究NLP相關的國內外應用平臺和常用工具包,主要從工具集中包含的NLP模型類型、集成功能、支持語言、應用場景等進行介紹.

5.1 應用平臺

面向NLP處理任務的應用平臺大多集成了現有主流的NLP技術,包括分詞、文本生成、依存句法分析、語義角色標注等,功能較為全面.下面從是否使用了深度學習技術對NLP應用平臺進行分類介紹.

早期的研究主要是將機器學習算法應用于NLP處理任務,如樸素貝葉斯、邏輯回歸、支持向量機和聚類算法等.基于此建立的典型NLP應用平臺包括哈爾濱工業大學社會計算與信息檢索研究中心的語言技術平臺(language technology platform, LTP[91])、復旦大學NLP實驗室的FudanNLP[92]、北京理工大學大數據搜索與挖掘實驗室的NLPIR[93]、賓夕法尼亞大學計算機與信息科學系的自然語言工具箱(natural language toolkit, NLTK[94])和Apache軟件基金會的OpenNLP[95]等.基于機器學習的NLP應用平臺的特點在于對中英文的功能支持比較全面,對傳統機器學習算法的集成相對完善.如LTP應用平臺提供中文分詞、詞性標注、命名實體識別、依存句法分析、語義角色標注等豐富、高效、精準的NLP模塊.其中“語言云”以LTP為基礎,提供具有跨平臺、跨語言等特性的中文NLP云服務.OpenNLP應用平臺提供基于機器學習的NLP文本處理功能,包括標記化、淺層分析(句字分塊)、分詞、分句、分塊、詞性標注、命名實體識別、語法解析、指代消解等,涵蓋最大熵、感知機、樸素貝葉斯等模型,為多種語言提供預訓練模型以及對應的標注語料資源.

相比于基于機器學習的NLP應用平臺,基于深度學習的NLP應用平臺大多采用了目前流行的Transformer模型及其變體,因此具有的功能也更加強大.目前主流的基于深度學習的NLP應用平臺包括HanLP[96]、百度NLP部門的漢語詞匯分析(lexical analysis of Chinese, LAC[97])、斯坦福大學NLP組的Stanford CoreNLP[98]、Explosion AI的spaCy[99]和fastNLP[100].這些平臺不僅支持多種語言的處理,還支持多種深度學習框架,包括與TensorFlow,PyTorch,scikit-learn,Gensim等Python語言的深度學習框架結合使用.如Stanford CoreNLP應用平臺不僅提供詞干提取、詞性標注、命名實體識別、依存語法分析、指代消解、情感分析、關系抽取等功能,還集成了很多NLP工具,為多種主流編程語言提供開發接口,并且支持以Web服務形式運行.

5.2 工具包

本節介紹的工具包主要是由清華大學自然語言處理與社會人文計算實驗室負責研發的,其中包括詩歌自動生成模型及數據資源、機器翻譯工具包、文本對抗攻擊工具包等,以下是相關工具包的主要內容介紹.

MixPoet[101]包含詩歌自動生成模型及數據資源,能夠自動生成中文古典詩歌、中文格律及韻律詩等.THUMT[102]是一個NMT工具包,其Demo網站提供了英語和中文的相互翻譯、其他8種語言到英語的翻譯,以及古文和現代文的相互翻譯功能.OpenKE[103]是一個知識圖譜表示學習工具包,設計了用于將知識圖譜嵌入到低維連續向量空間進行表示的開源框架.OpenNRE[104]是一款神經網絡關系抽取工具包,包括了多款常用的關系抽取模型,例如句子級別關系抽取、包級別關系抽取等.OpenMatch[105]是一款開放域信息檢索開源工具包,不僅能夠為用戶提供開放域下信息檢索的完整解決方案,還能支持領域知識的遷移學習.上述工具包主要具備文本處理的功能.

OpenAttack[106]則是一款文本對抗攻擊工具包,可用于文本對抗攻擊的全過程,包括文本預處理、受威脅模型訪問、對抗文本生成、對抗攻擊評測以及對抗訓練等.對抗攻擊能夠用于暴露受威脅模型的弱點,有助于后續進一步提高模型的魯棒性和可解釋性,具有重要的研究意義和應用價值.OpenAttack還具有高可用性、攻擊類型全覆蓋、高可擴展性和全面的評測指標等特點.

綜上所述,這些應用平臺和工具包使得NLP模型訓練和對抗攻防學習變的方便快捷,可以僅用幾行代碼就嘗試進行模型訓練、對抗文本生成、對抗攻擊評測以及對抗訓練等實踐操作.根據目前的調研結果發現,功能完善的面向NLP的攻防工具仍然是比較缺乏的,因此在未來的研究中可以作為重點之一.

根據上述對面向NLP的應用平臺和工具包的介紹,我們進一步整理并總結各個平臺和工具包的來源、集成模型、攻防功能和優勢特點、支持語言等,具體如表4所示:

Table 4 The Application Platforms and Toolkits for NLP表4 面向NLP的應用平臺和工具包介紹

6 未來研究方向

本文針對NLP領域已提出的攻擊方法以及為抵御這些攻擊而提出的防御措施進行了全面調研.本文還提供了常用的NLP模型介紹,并對模型的可驗證魯棒性分析和評估基準進行整理總結.本節基于上述對NLP任務安全性和魯棒性的介紹,從對抗攻防角度探討其在未來的研究發展方向.

6.1 面向NLP攻擊方法的展望

對于目前已有的攻擊方法,在白盒攻擊中,攻擊者可以利用DNNs的損失來自動識別文本中受影響最大的點(例如字符、單詞),然后通過自動修改相應的文本對這些點進行攻擊.白盒攻擊雖然借助了模型梯度降低了對抗文本生成難度,但是如果要生成高質量的對抗文本仍然需要付出較大的攻擊代價.因此,未來可以綜合考慮對抗文本的生成效率,以進一步提升對抗文本的攻擊成功率和生成質量.

白盒文本攻擊方法雖然能以較高的概率成功攻擊NLP模型,并且使句子的語義有所保留,但是部分語義可能會在人類的理解能力之外,進而使句子變得生澀難懂.因此,未來可以考慮在保證對抗文本質量的同時,提高其在原語句中的通順和流暢程度.

在黑盒攻擊中,某些攻擊通過訓練DNNs替代模型,并在替代模型上應用白盒攻擊策略來自動實現黑盒攻擊.但是,大多數攻擊都是以人工方式制作對抗文本,這種方式針對目標模型進行攻擊時既費時又不切實際.因此,未來可以考慮減少人工干預,實現完全自動化生成對抗文本.此外,針對對抗文本的遷移性問題,目標攻擊生成的對抗文本的遷移效果通常不如非目標攻擊的遷移效果,對抗文本的泛化能力較差,未來希望可以有更多的研究來提高對抗文本在不同語境中的遷移性.

6.2 面向NLP防御及魯棒增強的展望

NLP主要通過對抗訓練、隱私保護和檢測防御這3類防御方法來實現模型的魯棒性增強和安全加固.目前已有的防御方法使用比較廣泛的是對抗訓練,但是對抗訓練需要的樣本數據較多,且重新訓練所付出的訓練代價和所需訓練資源較大.此外,對抗訓練本質上還是屬于數據增強,這種防御方法往往只能提高模型對于參與訓練的對抗文本的擬合能力.但是面對訓練樣本之外的未知對抗文本,模型的性能表現依然不盡人意.未來的防御方法可以從數據安全考慮,設計抵抗不同類對抗文本的通用算法,提高防御的泛化能力.

同時還可以從模型的魯棒優化角度出發,基于可驗證魯棒理論來設計NLP的可驗證防御方法,以實現對于不同對抗文本的有效防御.此外,隨著目前攻擊方法的發展和演變,NLP模型只學習到了訓練數據體現出來的淺層統計特征,缺乏對更為根本的深層特征的挖掘,因此如何避免自學習淺層特征也是未來增強NLP模型魯棒性的研究方向.

猜你喜歡
單詞文本方法
單詞連一連
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
看圖填單詞
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
如何快速走進文本
語文知識(2014年1期)2014-02-28 21:59:13
最難的單詞
主站蜘蛛池模板: 欧美一区精品| 999国产精品| 久青草免费在线视频| 精品人妻AV区| 精品综合久久久久久97超人该| 精品国产毛片| 国产精品亚洲а∨天堂免下载| 精品国产自在现线看久久| 国产丝袜无码精品| 日本精品中文字幕在线不卡| 亚洲精品色AV无码看| 青草视频在线观看国产| 无码电影在线观看| 激情综合激情| 五月婷婷丁香色| 国产高清不卡| 日韩欧美中文字幕在线韩免费| 欧美日韩午夜| 在线免费看黄的网站| 日本三区视频| 91免费精品国偷自产在线在线| 最新亚洲人成无码网站欣赏网| 日韩欧美高清视频| 国产小视频在线高清播放| 极品私人尤物在线精品首页| 91青青草视频在线观看的| 久久精品国产精品一区二区| 亚洲水蜜桃久久综合网站| a毛片在线播放| 中国丰满人妻无码束缚啪啪| 国产精鲁鲁网在线视频| 国产91无毒不卡在线观看| 91精品在线视频观看| 亚洲人精品亚洲人成在线| 青青草综合网| 亚洲国产精品不卡在线| 亚欧乱色视频网站大全| 高清码无在线看| 亚洲精品第一页不卡| 在线日韩一区二区| 亚洲欧州色色免费AV| 欧美精品xx| 色婷婷色丁香| 日韩高清成人| 99热这里只有精品5| 久久大香伊蕉在人线观看热2| 一区二区三区在线不卡免费| 国产精品欧美在线观看| 91美女视频在线观看| 国产一区二区福利| 亚洲国产成熟视频在线多多| 国产精品一区二区国产主播| 精品成人免费自拍视频| 国产微拍一区二区三区四区| 51国产偷自视频区视频手机观看| 国产正在播放| 国产激爽大片在线播放| 国产精品女同一区三区五区| 男人的天堂久久精品激情| 婷婷色丁香综合激情| 久久精品国产亚洲AV忘忧草18| 婷婷六月激情综合一区| 波多野结衣第一页| 亚洲娇小与黑人巨大交| 久久99国产乱子伦精品免| 大香伊人久久| 国产免费久久精品99re不卡| 91久久国产热精品免费| 日本高清在线看免费观看| 亚洲欧美一级一级a| 毛片卡一卡二| 二级特黄绝大片免费视频大片| 中文字幕va| 亚洲国产成熟视频在线多多| 久久久久亚洲AV成人网站软件| 国产成人毛片| 国产精品观看视频免费完整版| 精品久久久久久久久久久| 在线观看国产精品日本不卡网| AV片亚洲国产男人的天堂| 欧美啪啪网| 日韩高清无码免费|