劉一廷,宋珣
(西安交通大學(xué)自動(dòng)化系,西安710049)
自2014年以來(lái),對(duì)抗樣本在計(jì)算機(jī)視覺(jué)領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,并取得巨大的成功。近幾年,對(duì)抗樣本在自然語(yǔ)言處理(NLP)中的應(yīng)用引起廣泛的研究興趣。與圖像領(lǐng)域相比,應(yīng)用于NLP任務(wù)的對(duì)抗攻擊方法既有相似的思路,也有其不同的特點(diǎn)。從多個(gè)角度綜述應(yīng)用于NLP的對(duì)抗攻防的最新進(jìn)展,并探討可能的研究方向。
對(duì)抗樣本;安全;自然語(yǔ)言處理;深度學(xué)習(xí);綜述
隨著深度學(xué)習(xí)的發(fā)展[13],每年都會(huì)有大量更先進(jìn)、更強(qiáng)大的模型被創(chuàng)造,用于解決計(jì)算機(jī)視覺(jué)(CV)和自然語(yǔ)言處理(NLP)任務(wù)。然而,盡管這些模型已經(jīng)取得了巨大的成功,但是諸如文獻(xiàn)[11]這樣的研究表明,這些方法極易受到對(duì)抗樣本的攻擊。
對(duì)抗樣本由輸入數(shù)據(jù)加上細(xì)微的擾動(dòng)形成,它能顯著增加機(jī)器學(xué)習(xí)或深度學(xué)習(xí)模型的損失,并導(dǎo)致模型預(yù)測(cè)錯(cuò)誤的輸出[18]。原則是這樣的擾動(dòng)不能被人類(lèi)輕易檢測(cè)出,這在圖像處理中相對(duì)容易實(shí)現(xiàn)。
然而,在NLP任務(wù)中,對(duì)抗攻擊的目標(biāo)變成了文本,則攻擊模型還應(yīng)滿(mǎn)足兩個(gè)額外的要求[4]:①語(yǔ)義相似性,根據(jù)人類(lèi)判斷,對(duì)抗樣本不應(yīng)改變?cè)紭颖镜恼Z(yǔ)義。②語(yǔ)言流暢,生成的語(yǔ)句應(yīng)該是自然且可讀的。這些要求導(dǎo)致了應(yīng)用于圖像的攻擊方法無(wú)法直接用于文本。
此前,已有基于對(duì)抗樣本在計(jì)算機(jī)視覺(jué)中的應(yīng)用的綜述工作(文獻(xiàn)[1]),以及基于文本深層神經(jīng)網(wǎng)的相關(guān)調(diào)研(文獻(xiàn)[2])。與以往的調(diào)研相比,本文的貢獻(xiàn)在于:①我們從攻防的角度進(jìn)行了討論,用一些典型的方法快速梳理了NLP任務(wù)中的對(duì)抗攻防相關(guān)概念;②介紹了近年來(lái)該領(lǐng)域的一些突破性工作,為感興趣的研究者提供參考。
在接下來(lái)的章節(jié)中,我們將討論近年來(lái)成功應(yīng)用于NLP任務(wù)的幾種突出且極具影響力的對(duì)抗攻擊方法。之后我們將介紹幾種有效地針對(duì)此類(lèi)攻擊的防御措施。
對(duì)抗攻擊的目的是使目標(biāo)模型誤判輸入,產(chǎn)生錯(cuò)誤的輸出。這里我們使用最常用的分類(lèi)方式,根據(jù)攻擊者對(duì)模型的了解程度,將NLP中的對(duì)抗攻擊方法分為兩類(lèi):白盒攻擊與黑盒攻擊。
白盒攻擊假設(shè)攻擊者對(duì)模型有完整的背景知識(shí),包括模型的結(jié)構(gòu)和參數(shù)。這種類(lèi)型的攻擊通常以啟發(fā)式的方式產(chǎn)生對(duì)抗樣本。
考慮到白盒攻擊的嚴(yán)格條件,其應(yīng)用范圍并不如黑盒攻擊廣泛。本文介紹了基于FGSM的攻擊方法的基本思想,以及一種很有前景的通用型攻擊方法。
(1)基于FGSM的方法
快速梯度下降法(FGSM)是計(jì)算機(jī)視覺(jué)領(lǐng)域最早使用的白盒攻擊方法之一[14]。與其他基于梯度的方法一樣,它通過(guò)增加損失來(lái)攻擊目標(biāo)模型。
假設(shè)模型對(duì)輸入的梯度方向如下:
其中θ是模型的參數(shù),x是模型的輸入,y是x對(duì)應(yīng)的標(biāo)簽,L( )θ,x,y是用于訓(xùn)練模型的損失函數(shù)。理想擾動(dòng)必定沿梯度方向一直到損失函數(shù)的最大值,因此我們可以通過(guò)以下公式得到樣本的擾動(dòng)η:
其中?是學(xué)習(xí)率。
這種攻擊方法起作用的根本原因在于,擾動(dòng)在神經(jīng)網(wǎng)絡(luò)中的效應(yīng)在前向傳播過(guò)程中會(huì)如滾雪球一般,變得越來(lái)越強(qiáng),對(duì)于線(xiàn)性模型尤其如此。
然而,計(jì)算機(jī)視覺(jué)中使用的FGSM算法并不能直接用于生成NLP任務(wù)的對(duì)抗樣本。因?yàn)橛?jì)算機(jī)視覺(jué)中使用的數(shù)據(jù)是連續(xù)的(圖像),可以容忍微小的擾動(dòng)。而在NLP任務(wù)中,數(shù)據(jù)是離散的(文本)。正如文獻(xiàn)[14]所發(fā)現(xiàn)的,如果直接使用FGSM方法,文本將變得不可讀。
為了解決這個(gè)問(wèn)題,文獻(xiàn)[14]僅利用FGSM查找最高頻的短語(yǔ)(HTPs),并通過(guò)計(jì)算梯度來(lái)識(shí)別對(duì)當(dāng)前分類(lèi)(HSPs)有重要貢獻(xiàn)的文本項(xiàng),然后使用三種策略:插入、修改和刪除來(lái)生成對(duì)抗樣本。由此成功地將FGSM方法應(yīng)用到文本分類(lèi)任務(wù)中。
圖1三種攻擊策略的結(jié)合[14]
圖1 為文獻(xiàn)[14]中的一個(gè)攻擊實(shí)例,通過(guò)移除高頻短語(yǔ)(“historic”),插入偽造事實(shí)(“Some exhibitions of Navy aircrafts were held here.”)和修改重要貢獻(xiàn)文本項(xiàng)(“cast1e”),可以成功地改變輸出分類(lèi)的結(jié)果(從83.7%的可能結(jié)果為建筑,到95.7%的可能結(jié)果為運(yùn)輸工具)。
這種方法的主要問(wèn)題在于,在生成對(duì)抗樣本時(shí)需要一定的人工,這對(duì)于一般攻擊來(lái)說(shuō)是可以接受的,但不適合更復(fù)雜的場(chǎng)景。
(2)通用型方法
典型的對(duì)抗攻擊方法通常是針對(duì)特定類(lèi)型的輸入生成的,我們能否找到一種通用的方法,能夠針對(duì)不同的輸入,更加容易地將其移植到不同的模型中?
基于這一思想,文獻(xiàn)[7]提出了攻擊不同模型的通用型對(duì)抗觸發(fā)器,它對(duì)文本分類(lèi)、閱讀理解、文本生成等許多常見(jiàn)的NLP任務(wù)都有很好的效果,并擊敗了著名的GPT-2等強(qiáng)大的模型。
作者假定能對(duì)特定模型進(jìn)行白盒訪(fǎng)問(wèn)(在某些條件下也可轉(zhuǎn)為黑盒模型)。目標(biāo)是找到這樣的觸發(fā)器:當(dāng)拼接到任何輸入的前端或末尾時(shí),可以引導(dǎo)模型做出錯(cuò)誤決策的單詞序列。受文獻(xiàn)[8]的啟發(fā),作者通過(guò)更新觸發(fā)器的每個(gè)單詞的詞嵌入向量(embedding)eadvi來(lái)搜索目標(biāo)觸發(fā)器,以最小化當(dāng)前詞嵌入向量的損失的一階泰勒近似:
其中V是模型詞匯表中所有詞嵌入向量的集合,?eadvi L是批處理中模型損失的平均梯度。而每個(gè)eadvi對(duì)應(yīng)的單詞正是目標(biāo)所需的單詞。
圖2 觸發(fā)器搜索算法示例[7]
以情緒分析任務(wù)為例。觸發(fā)器搜索算法的示例如圖2所示。作者試圖使模型將積極情緒語(yǔ)句判斷為消極情緒。經(jīng)過(guò)多次迭代,找到了對(duì)判斷負(fù)面情緒非常有利的zoning、tapping、fiennes組合。
結(jié)果是,無(wú)論使用何種的詞嵌入方法(如ElMo[20]、GloVe[17]),或是何種網(wǎng)絡(luò)模型(如self-attention[21]、Bi-LSTM[23]),所有這些模型都不能幸免。
另外,與白盒攻擊的嚴(yán)苛條件不同,黑盒攻擊只要求攻擊者能夠用提供的輸入訪(fǎng)問(wèn)目標(biāo)模型,并獲得相應(yīng)的輸出。以下介紹兩類(lèi)不同思路的黑盒攻擊方法。
(1)拼接式對(duì)抗
自動(dòng)問(wèn)答(QA)任務(wù)是從給定的文本段落p中得到問(wèn)題q的答案a,則相應(yīng)的數(shù)據(jù)結(jié)構(gòu)為(p,q,a)。一個(gè)模型在QA任務(wù)中表現(xiàn)得很好,可能不是因?yàn)樗斫饬藛?wèn)題及其背后的深層現(xiàn)象,而是因?yàn)樗茏R(shí)別出一些恰好對(duì)大多數(shù)測(cè)試樣本具有預(yù)測(cè)性的模式。
受此啟發(fā),文獻(xiàn)[3]提出了一種拼接式對(duì)抗攻擊,在樣本中插入分散注意力的語(yǔ)句來(lái)欺騙閱讀理解系統(tǒng)。這種攻擊沒(méi)有依賴(lài)于保持原始語(yǔ)義的擾動(dòng),而是通過(guò)使目標(biāo)模型無(wú)法區(qū)分實(shí)際回答問(wèn)題的語(yǔ)句和只有相同單詞的語(yǔ)句來(lái)欺騙模型。
拼接式對(duì)抗攻擊試圖通過(guò)在段落末尾添加一個(gè)新句子s來(lái)創(chuàng)建對(duì)抗樣本(p+s,q,a),即不改變問(wèn)題與答案。
在文獻(xiàn)[3]中,作者提出了一個(gè)名為ADDSENT的生成s的流程,如圖3所示,將問(wèn)題中一些特意抽取的名詞和形容詞替換為WordNet[16]中的對(duì)應(yīng)的反義詞,而命名實(shí)體和數(shù)字則被其在GloVe詞向量空間中最近的單詞替換[17]。
圖3 一個(gè)ADDSENT對(duì)抗示例[3]
作者將這種方法應(yīng)用于SQuAD QA數(shù)據(jù)集[22],發(fā)現(xiàn)還沒(méi)有任何開(kāi)源模型對(duì)這類(lèi)對(duì)抗語(yǔ)句是魯棒的,這表明這些看起來(lái)效果很好的模型其實(shí)并不能真正準(zhǔn)確地理解問(wèn)題。
(2)同義詞轉(zhuǎn)換攻擊
盡管采取了各種緩解措施,但上述拼接對(duì)抗攻擊仍會(huì)在對(duì)抗樣本中生成明顯不自然的句子。
在文獻(xiàn)[4]中,作者基于近年來(lái)最具突破性的NLP模型之一BERT,提出了一種簡(jiǎn)單而有效的黑盒攻擊TEXTFOOLER,以生成在文本分類(lèi)任務(wù)中誘使目標(biāo)模型做出錯(cuò)誤決策的樣本。
給定一段文本,只有其中最重要的詞才能影響模型的判斷。通過(guò)僅對(duì)這些詞進(jìn)行攻擊,就能在達(dá)到攻擊目的的前提下,實(shí)現(xiàn)最小的擾動(dòng)并最大程度保留原文語(yǔ)義?;谶@一思想,同義詞轉(zhuǎn)換攻擊的過(guò)程相當(dāng)清晰:首先得到單詞的重要性排序,然后使用同義詞抽取機(jī)制替換選中的單詞。該方法的一個(gè)示例如圖4所示。
圖4 TextFooler攻擊的示例[4]
在文獻(xiàn)[4]中,作者通過(guò)下式計(jì)算單詞wi的重要性IWi:
其中F是預(yù)測(cè)模型,X是給定的語(yǔ)句,Y是X對(duì)應(yīng)的標(biāo)簽。
根據(jù)wi與詞匯表中其他單詞之間的余弦相似性,選取N個(gè)最接近的同義詞初始化候選集。再通過(guò)計(jì)算原始語(yǔ)句與其經(jīng)候選集中的單詞替換wi之后的語(yǔ)句的相似度,可得到最終的候選集。
在不知道模型結(jié)構(gòu)、參數(shù)或訓(xùn)練數(shù)據(jù)的情況下,該方法通過(guò)重要性計(jì)算和單詞轉(zhuǎn)換操作成功生成了對(duì)抗樣本,同時(shí)保留了語(yǔ)義內(nèi)容、語(yǔ)法正確性,并保持了人工分類(lèi)結(jié)果不變。實(shí)驗(yàn)表明,該方法在攻擊成功率上優(yōu)于以往的攻擊方法。
研究對(duì)抗攻擊的主要目的之一是提高模型的魯棒性,防止惡意攻擊。這也是為什么隨著NLP中對(duì)抗性攻擊模型的不斷發(fā)展,相應(yīng)的防御方法也不斷涌現(xiàn)。
在本節(jié)中,我們將重點(diǎn)討論一種名為對(duì)抗訓(xùn)練的常見(jiàn)防御方法以及最近提出的一種無(wú)特定結(jié)構(gòu)防御模型。
對(duì)抗訓(xùn)練(AT)是一種正則化學(xué)習(xí)算法。它被廣泛應(yīng)用于圖像領(lǐng)域的對(duì)抗攻擊。AT的防御策略非常簡(jiǎn)單:通過(guò)在訓(xùn)練過(guò)程中對(duì)輸入添加擾動(dòng),深度神經(jīng)網(wǎng)絡(luò)(或其他模型)可以獲得容忍對(duì)抗樣本影響的能力,從而能正確地將正常樣本和對(duì)抗樣本區(qū)分開(kāi)來(lái)。文獻(xiàn)[18]表明對(duì)抗訓(xùn)練可以在使用dropout操作的基礎(chǔ)上額外提供一個(gè)正則化收益。
文獻(xiàn)[9]是將AT應(yīng)用到文本分類(lèi)任務(wù)中的第一次嘗試之一。其將擾動(dòng)引入到模型輸入的詞嵌入向量中,并將生成的對(duì)抗樣本進(jìn)行訓(xùn)練以提高模型對(duì)攻擊的魯棒性。文獻(xiàn)[6]則將相似的方法應(yīng)用到文本理解任務(wù)中。結(jié)果表明,對(duì)抗樣本的攻擊成功率降低,而模型對(duì)原始輸入的性能沒(méi)有太大變化。
也有一些工作利用不同的機(jī)制擴(kuò)展基本的對(duì)抗訓(xùn)練方法。文獻(xiàn)[10]聚焦于機(jī)器閱讀理解中的對(duì)抗攻擊和防御。作者不僅在輸入中引入了擾動(dòng),而且在模型的每一層都采用了AT。此外,考慮到閱讀理解的關(guān)鍵是問(wèn)題與相關(guān)段落之間的映射關(guān)系,作者還引入了多層注意力網(wǎng)絡(luò)。通過(guò)消融實(shí)驗(yàn),作者得出結(jié)論:與簡(jiǎn)單地用擾動(dòng)輸入進(jìn)行訓(xùn)練相比,對(duì)深層變量進(jìn)行AT更能提高模型的魯棒性。
然而,使用AT的前提之一是要有足夠的對(duì)抗樣本,而要做到這一點(diǎn),我們首先需要知道攻擊策略。顯然,期望攻擊者公開(kāi)自己的攻擊策略通常是不現(xiàn)實(shí)的。因此,這種方法是相當(dāng)局限的。
如前所述,對(duì)抗訓(xùn)練需要提前了解攻擊策略。而其他諸如基于IBP的防御等方法也局限于特定的輸入或模型結(jié)構(gòu)。為了解決這個(gè)問(wèn)題,文獻(xiàn)[5]提出了一種無(wú)特定結(jié)構(gòu)的防御機(jī)制,它適用于可以黑盒方式訪(fǎng)問(wèn)的任意模型。
該方法的主要思想是通過(guò)建立在同義網(wǎng)絡(luò)上的隨機(jī)單詞替換來(lái)平滑原始模型。給定一個(gè)原始的文本分類(lèi)器f,目標(biāo)是找到一個(gè)滿(mǎn)足以下條件的新模型fRS:
其中,SX是一個(gè)對(duì)抗樣本集合,該集合中每個(gè)句子X(jué)'都是通過(guò)用同義詞隨機(jī)替換原句X中的幾個(gè)單詞而得到的。
文獻(xiàn)[5]以無(wú)結(jié)構(gòu)方式構(gòu)建此模型,如下所示:
其中ΠX是X擾動(dòng)的分布。
在這種隨機(jī)平滑防御方法中,幾乎所有可能的擾動(dòng)都被以統(tǒng)計(jì)的方式考慮在內(nèi),則新模型理論上能夠抵抗所有同類(lèi)攻擊。
這種方法的另一個(gè)顯著優(yōu)點(diǎn)是它沒(méi)有特定的結(jié)構(gòu),這意味著它可以輕易地應(yīng)用于任何預(yù)訓(xùn)練模型。在IMDB和其他數(shù)據(jù)集上的實(shí)驗(yàn)表明,該方法是相當(dāng)有效的。
盡管近年來(lái)提出的大量新模型在文本分類(lèi)、機(jī)器閱讀理解、自動(dòng)問(wèn)答等自然語(yǔ)言處理任務(wù)上取得了重大突破,但它們的易受干擾性仍然不能忽視。顯然,對(duì)抗樣本所帶來(lái)的模型安全問(wèn)題的研究仍處于起步階段。
正如文獻(xiàn)[3]中提到的,當(dāng)前許多工作中的一個(gè)共同問(wèn)題是產(chǎn)生對(duì)抗性樣本的過(guò)程對(duì)人工操作的要求。人力的介入不僅使攻擊過(guò)程變得耗時(shí),也讓攻擊本身不切實(shí)際。
另一個(gè)問(wèn)題是對(duì)抗攻擊及其防御方法的可解釋性。盡管我們已經(jīng)知道擾動(dòng)會(huì)給模型帶來(lái)嚴(yán)重的破壞,但仍然有一個(gè)問(wèn)題需要我們回答:對(duì)抗樣本背后的深層機(jī)制是什么。對(duì)這一問(wèn)題進(jìn)行更深入的研究,可能有助于我們從根本上解決對(duì)抗攻擊的威脅。
最后,攻防手段的泛化能力也應(yīng)該得到重點(diǎn)關(guān)注。理想模型的應(yīng)用不應(yīng)局限于某個(gè)任務(wù)或某個(gè)領(lǐng)域,這與模型的實(shí)用性息息相關(guān)。然而,現(xiàn)有的方法在實(shí)驗(yàn)中普遍存在泛化能力較差的問(wèn)題。雖然一些黑盒方法已經(jīng)成功地移植到了不同的模型和數(shù)據(jù)集上,但是它們的性能遠(yuǎn)遠(yuǎn)低于原始的模型和數(shù)據(jù)集。
因此,基于以下兩個(gè)原因,一個(gè)可以預(yù)見(jiàn)的趨勢(shì)是,對(duì)通用型攻擊方法的研究將會(huì)顯著增加:①通用型方法不需要攻擊者掌握目標(biāo)模型的結(jié)構(gòu)和參數(shù)等關(guān)鍵信息;②該類(lèi)攻擊方法可以大大降低攻擊者的專(zhuān)業(yè)門(mén)檻,從而使跨領(lǐng)域攻擊變得更加容易。
本文提供了對(duì)抗攻擊及其防御方法在自然語(yǔ)言處理領(lǐng)域的應(yīng)用的概括性介紹。如前所述,考慮到文本的離散性及其語(yǔ)義不變性的要求,對(duì)文本對(duì)抗攻擊與防御的研究比圖像領(lǐng)域更具挑戰(zhàn)性。
未來(lái),類(lèi)似文獻(xiàn)[7]這樣更具普適性和易遷移性的對(duì)抗攻擊將成為研究熱點(diǎn)。相應(yīng)地,如文獻(xiàn)[5]中所述可用于NLP多任務(wù)的通用防御方法也將成為主流。
更高的模型安全威脅可能迫使研究人員在設(shè)計(jì)模型時(shí)更多地重視其安全性能,而不是僅僅關(guān)注精確度提高了多少。從這個(gè)角度來(lái)看,NLP領(lǐng)域的對(duì)抗攻防還有很大的探索空間。
本文旨在為后續(xù)研究者提供相關(guān)參考。我們希望在不久的將來(lái),更多足夠健壯的模型能夠被提出。因?yàn)檫@不僅關(guān)系到模型在實(shí)驗(yàn)中的性能,更重要的是其在實(shí)際應(yīng)用過(guò)程中給用戶(hù)帶來(lái)了安全問(wèn)題。