如果是咱家公眾號的忠實粉絲就一定還記得之前咱家一篇關(guān)于NLP Privacy的文章,不出意外的話,你們是不是現(xiàn)在依然還擔(dān)心自己的隱私被輸入法竊取而瑟瑟發(fā)抖。所以,我們又來了!今天給大家討論的是NLP Privacy中一個非常核心的話題——文本對抗攻擊。
相信大家已經(jīng)非常熟悉對抗攻擊了,此類攻擊是攻擊者針對機器學(xué)習(xí)模型的輸入即數(shù)值型向量(Numeric Vectors)設(shè)計的一種可以讓模型做出誤判的攻擊。簡言之,對抗攻擊就是生成對抗樣本的過程。對抗樣本的概念最初是在2014年提出的,指的是一類人為構(gòu)造的樣本,通過對原始的樣本數(shù)據(jù)添加針對性的微小擾動所得到(該微擾不會影響人類的感知),但會使機器學(xué)習(xí)模型產(chǎn)生錯誤的輸出[1]。因此,從上述定義可知,對抗攻擊以及對抗樣本的生成研究最開始被用于計算機視覺領(lǐng)域。在當(dāng)時,那家伙,文章多的你看都看不完…當(dāng)然在這里我也拋出當(dāng)時寫的比較好的一篇綜述:“Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey”[2]。大家可以溫故而知新啦。
當(dāng)視覺領(lǐng)域中的對抗攻擊研究很難再有重大突破的時候(坑已滿,請換坑),研究人員便把目光轉(zhuǎn)移到了NLP領(lǐng)域。其實就NLP領(lǐng)域而言,垃圾郵件檢測、有害文本檢測、惡意軟件查殺等實用系統(tǒng)已經(jīng)大規(guī)模部署了深度學(xué)習(xí)模型,安全性對于這些系統(tǒng)尤為重要。但相比于圖像領(lǐng)域,NLP領(lǐng)域?qū)构舻难芯窟€遠(yuǎn)遠(yuǎn)不夠,特別是文本具有離散和前后輸入具有邏輯的特點使得對抗樣本的生成更具挑戰(zhàn)性,也有更多的研究空間。我們欣喜地看到,目前有越來越多的 NLP 研究者開始探索文本對抗攻擊這一方向,以 2020 年 ACL 為例,粗略統(tǒng)計有超過 10 篇相關(guān)論文,其中最佳論文Beyond Accuracy: Behavioral Testing of NLP Models with CheckList[3]中大部分測試方法其實和文本對抗攻擊有異曲同工之妙。故在本次推文中,我們一起來探究和領(lǐng)略一下如何在NLP領(lǐng)域?qū)嵤构?,并提供一些在該領(lǐng)域繼續(xù)深入挖掘的工具和方向。
對抗攻擊的分類
對抗攻擊按攻擊者所掌握的知識來分的話,可分為以下兩類:
白盒攻擊:稱為white-box attack,也稱為open-box attack,即攻擊者對模型(包括參數(shù)、梯度等信息)和訓(xùn)練集完全了解,這種情況比較攻擊成功,但是在實際情況中很難進(jìn)行操作和實現(xiàn)。
黑盒攻擊:稱為black-box attack,即攻擊者對模型不了解,對訓(xùn)練集不了解或了解很少。這種情況攻擊很難成功但是與實際情況比較符合,因此也是主要的研究方向。
如果按攻擊者的攻擊目標(biāo)來分的話,可以分為以下兩類:
定向攻擊:稱為targeted attack,即對于一個多分類網(wǎng)絡(luò),把輸入分類誤判到一個指定的類上
非定向攻擊:稱為non-target attack,即只需要生成對抗樣本來欺騙神經(jīng)網(wǎng)絡(luò),可以看作是上面的一種特例。
發(fā)展歷史與方法分類
我們先談?wù)劙缀泄?,因為白盒攻擊易于實現(xiàn),因此早在2014年關(guān)于對抗樣本的開山之作“Intriguing Properties of Neural Networks”中設(shè)計了一種基于梯度的白盒攻擊方法。具體來說,作者通過尋找最小的損失函數(shù)添加項,使得神經(jīng)網(wǎng)絡(luò)做出誤分類,將問題轉(zhuǎn)化成了凸優(yōu)化。問題的數(shù)學(xué)表述如下:
表示習(xí)得的分類映射函數(shù),表示改變的步長,公式表達(dá)了尋找使得映射到指定的類上的最小的。在此之后,許多研究人員在上述方法的基礎(chǔ)上提出了許多改進(jìn)的基于梯度的方法,具體可見[4-6]。
后來,研究人員逐漸從白盒攻擊的研究轉(zhuǎn)向研究黑盒攻擊,Transfer-based方法就是過渡時期的產(chǎn)物。Nicolas Papernot等人在2017年的時候利用訓(xùn)練數(shù)據(jù)可以訓(xùn)練出從中生成對抗性擾動的完全可觀察的替代模型[7]。因此,基于Transfer的攻擊不依賴模型信息,但需要有關(guān)訓(xùn)練數(shù)據(jù)的信息。此外,[8]文獻(xiàn)證明了如果在一組替代模型上生成對抗性樣本,則在某些情況下,模型被攻擊的成功率可以達(dá)到100%(好家伙,100%真厲害)。近幾年,不同類型的攻擊方法越來越多,但總體來說歸為以下三類:Score-based方法、Decision-based方法、Attack on Attention方法[9](這個方法非常新,有坑可跳),前兩大類方法的相關(guān)研究和參考文獻(xiàn)可閱讀原文一探究竟,在這里不再贅述。
文本對抗攻擊
基本概念
下圖展示了文本領(lǐng)域內(nèi)實現(xiàn)對抗攻擊的一個例子。語句(1)為原始樣本,語句(2)為經(jīng)過幾個字符變換后得到的對抗樣本。深度學(xué)習(xí)模型能正確地將原始樣本判為正面評論,而將對抗樣本誤判為負(fù)面評論。而顯然,這種微小擾動并不會影響人類的判斷。
算法的分類
首先,根據(jù)上述對抗攻擊的分類。同樣地,文本中的對抗攻擊也可以分為黑盒攻擊和白盒攻擊。除此之外,由于文本涉及到字符、詞匯、句子。因此我們可以根據(jù)添加擾動時所操作的文本粒度可以分為字符級、單詞級和語句級攻擊。具體來說,字符級攻擊是通過插入、刪除或替換字符,以及交換字符順序?qū)崿F(xiàn);單詞級攻擊主要通過替換單詞實現(xiàn),基于近義詞、形近詞、錯誤拼寫等建立候選詞庫;語句級攻擊主要通過文本復(fù)述或插入句子實現(xiàn)。具體分類詳見下圖.
攻擊方式的發(fā)展和分類
根據(jù)攻擊策略和攻擊方式我們可以分為Image-to-Text(借鑒圖像領(lǐng)域的經(jīng)典算法)、基于優(yōu)化的攻擊、基于重要性的攻擊以及基于神經(jīng)網(wǎng)絡(luò)的攻擊。Image-to-Text攻擊方式的思想是將文本數(shù)據(jù)映射到連續(xù)空間,然后借鑒圖像領(lǐng)域的一些經(jīng)典算法如FGSM、JSMA等,生成對抗樣本;基于優(yōu)化的攻擊則是將對抗攻擊表述為帶約束的優(yōu)化問題,利用現(xiàn)有的優(yōu)化技術(shù)求解,如梯度優(yōu)化、遺傳算法優(yōu)化;基于重要性的攻擊通常首先利用梯度或文本特性設(shè)計評分函數(shù)鎖定關(guān)鍵詞,然后通過文本編輯添加擾動;基于神經(jīng)網(wǎng)絡(luò)的攻擊訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型自動學(xué)習(xí)對抗樣本的特征,從而實現(xiàn)對抗樣本的自動化生成。具體的算法細(xì)節(jié)大家可移步一篇寫的非常全面的綜述“Adversarial Attacks on Deep Learning Models in Natural Language Processing: A Survey“。
文本對抗攻擊相關(guān)資源
文獻(xiàn)總結(jié)
如下圖所示,清華大學(xué)自然語言處理與社會人文計算實驗室(THUNLP)總結(jié)了各類文本對抗領(lǐng)域的相關(guān)文獻(xiàn),其中包含但不限于工具包、綜述、文本對抗攻擊、文本對抗防御、模型魯棒性驗證、基準(zhǔn)和評估等內(nèi)容。針對本文涉及的文本對抗攻擊領(lǐng)域,該列表收錄了句級、詞級、字級、混合四個子部分,并且還為每篇論文打上了受害模型可見性的標(biāo)簽:
gradient/score/decision/blind
除了提供論文 pdf 鏈接之外,如果某篇論文有公開代碼或數(shù)據(jù),也會附上相應(yīng)的鏈接[19]。
其中必須的綜述論文如下:
-- Analysis Methods in Neural Language Processing: A Survey. Yonatan Belinkov, James Glass. TACL 2019.
-- Towards a Robust Deep Neural Network in Text Domain A Survey. Wenqi Wang, Lina Wang, Benxiao Tang, Run Wang, Aoshuang Ye. 2019.
-- Adversarial Attacks on Deep Learning Models in Natural Language Processing: A Survey. Wei Emma Zhang, Quan Z. Sheng, Ahoud Alhazmi, Chenliang Li. 2019.
文本對抗攻擊工具包
目前文本攻擊工具包為該領(lǐng)域的研究人員提供了非常好的開發(fā)和研究基礎(chǔ)。這里介紹兩個比較常用的:
清華大學(xué)自然語言處理與社會人文計算實驗室開源的OpenAttack[20]
弗吉尼亞大學(xué)祁妍軍教授領(lǐng)導(dǎo)的 Qdata 實驗室開發(fā)的TextAttack[21]
至于如何使用上述兩種工具包,請大家火速前往項目主頁一探究竟,并不要忘了給一個Star哦?。?!
責(zé)任編輯:lq
-
文本
+關(guān)注
關(guān)注
0文章
118瀏覽量
17092 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5506瀏覽量
121255 -
nlp
+關(guān)注
關(guān)注
1文章
489瀏覽量
22052
原文標(biāo)題:文本對抗攻擊入坑寶典
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論