0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在NLP領(lǐng)域?qū)嵤构?/h1>

如果是咱家公眾號的忠實粉絲就一定還記得之前咱家一篇關(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)。具體分類詳見下圖.

9af4079c-7c22-11eb-8b86-12bb97331649.png

攻擊方式的發(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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 文本
    +關(guān)注

    關(guān)注

    0

    文章

    118

    瀏覽量

    17092
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5506

    瀏覽量

    121255
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    489

    瀏覽量

    22052

原文標(biāo)題:文本對抗攻擊入坑寶典

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    鑒源實驗室·如何通過雷達(dá)攻擊自動駕駛汽車-針對點云識別模型的對抗攻擊的科普

    非常精確,它們也面臨一種新興的威脅——對抗攻擊對抗攻擊是一種通過微小但精心設(shè)計的擾動,旨在欺騙機器學(xué)習(xí)模型的攻擊方式。對于自動駕駛系
    的頭像 發(fā)表于 11-05 15:44 ?279次閱讀
    鑒源實驗室·如何通過雷達(dá)<b class='flag-5'>攻擊</b>自動駕駛汽車-針對點云識別模型的<b class='flag-5'>對抗</b>性<b class='flag-5'>攻擊</b>的科普

    nlp邏輯層次模型的特點

    NLP(自然語言處理)邏輯層次模型是一種用于理解和生成自然語言文本的計算模型。它將自然語言文本分解為不同的層次,以便于計算機更好地處理和理解。以下是對NLP邏輯層次模型特點的分析: 詞匯層次 詞匯
    的頭像 發(fā)表于 07-09 10:39 ?408次閱讀

    nlp神經(jīng)語言和NLP自然語言的區(qū)別和聯(lián)系

    神經(jīng)語言(Neuro-Linguistic Programming,NLP) 神經(jīng)語言是一種心理學(xué)方法,它研究人類思維、語言和行為之間的關(guān)系。NLP的核心理念是,我們可以通過改變我們的思維方式和語言
    的頭像 發(fā)表于 07-09 10:35 ?796次閱讀

    nlp自然語言處理基本概念及關(guān)鍵技術(shù)

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,它致力于使計算機能夠理解、解釋和生成人類語言。NLP技術(shù)在機器翻譯、情感分析、語音識別
    的頭像 發(fā)表于 07-09 10:32 ?642次閱讀

    nlp自然語言處理框架有哪些

    自然語言處理(Natural Language Processing,簡稱NLP)是計算機科學(xué)和人工智能領(lǐng)域的一個重要分支,它致力于使計算機能夠理解和處理人類語言。隨著技術(shù)的發(fā)展,NLP領(lǐng)域
    的頭像 發(fā)表于 07-09 10:28 ?580次閱讀

    nlp自然語言處理的主要任務(wù)及技術(shù)方法

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能和語言學(xué)領(lǐng)域的一個分支,它研究如何讓計算機能夠理解、生成和處理人類語言。NLP技術(shù)在許多領(lǐng)域
    的頭像 發(fā)表于 07-09 10:26 ?1177次閱讀

    nlp自然語言處理模型怎么做

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,它涉及到計算機對人類語言的理解和生成。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,NLP領(lǐng)域
    的頭像 發(fā)表于 07-05 09:59 ?659次閱讀

    nlp自然語言處理模型有哪些

    自然語言處理(Natural Language Processing,NLP)是計算機科學(xué)和人工智能領(lǐng)域的一個重要分支,旨在使計算機能夠理解、解釋和生成人類語言。以下是對NLP領(lǐng)域一些
    的頭像 發(fā)表于 07-05 09:57 ?770次閱讀

    nlp自然語言處理的應(yīng)用有哪些

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個分支,它致力于使計算機能夠理解和生成自然語言。隨著技術(shù)的發(fā)展,NLP已經(jīng)在許多領(lǐng)域
    的頭像 發(fā)表于 07-05 09:55 ?2670次閱讀

    NLP技術(shù)在機器人中的應(yīng)用

    在人工智能的廣闊領(lǐng)域中,自然語言處理(NLP)技術(shù)作為連接人類語言與機器智能的橋梁,正逐漸滲透到我們?nèi)粘I畹姆椒矫婷?,其中機器人技術(shù)便是一個尤為突出的應(yīng)用領(lǐng)域。NLP技術(shù)不僅賦予了機
    的頭像 發(fā)表于 07-04 16:04 ?516次閱讀

    NLP技術(shù)在人工智能領(lǐng)域的重要性

    智能的橋梁,其重要性日益凸顯。本文將從NLP的定義、發(fā)展歷程、核心技術(shù)、應(yīng)用領(lǐng)域以及對人工智能領(lǐng)域的深遠(yuǎn)影響等多個維度,深入探討NLP技術(shù)在人工智能
    的頭像 發(fā)表于 07-04 16:03 ?570次閱讀

    NLP模型中RNN與CNN的選擇

    在自然語言處理(NLP領(lǐng)域,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)與卷積神經(jīng)網(wǎng)絡(luò)(CNN)是兩種極為重要且廣泛應(yīng)用的網(wǎng)絡(luò)結(jié)構(gòu)。它們各自具有獨特的優(yōu)勢,適用于處理不同類型的NLP任務(wù)。本文旨在深入探討RNN與CNN
    的頭像 發(fā)表于 07-03 15:59 ?552次閱讀

    什么是自然語言處理 (NLP)

    自然語言處理(Natural Language Processing, NLP)是人工智能領(lǐng)域中的一個重要分支,它專注于構(gòu)建能夠理解和生成人類語言的計算機系統(tǒng)。NLP的目標(biāo)是使計算機能夠像人類一樣
    的頭像 發(fā)表于 07-02 18:16 ?1214次閱讀

    隨機通信下多智能體系統(tǒng)的干擾攻擊影響研究

    網(wǎng)絡(luò)控制系統(tǒng)可能會受到不同類型的網(wǎng)絡(luò)攻擊威脅[10-12],主要包括拒絕服務(wù)(denial of service, DoS)攻擊[7]、欺騙攻擊[8]、干擾攻擊[9]等。文獻(xiàn)[10]研
    發(fā)表于 03-01 11:00 ?610次閱讀
    隨機通信下多智能體系統(tǒng)的干擾<b class='flag-5'>攻擊</b>影響研究

    DDoS攻擊的多種方式

    DDOS攻擊指分布式拒絕服務(wù)攻擊,即處于不同位置的多個攻擊者同時向一個或數(shù)個目標(biāo)發(fā)動攻擊,或者一個攻擊者控制了位于不同位置的多臺機器并利用這
    的頭像 發(fā)表于 01-12 16:17 ?639次閱讀