劉一廷,宋珣
(西安交通大學自動化系,西安710049)
自2014年以來,對抗樣本在計算機視覺領域已經得到了廣泛的應用,并取得巨大的成功。近幾年,對抗樣本在自然語言處理(NLP)中的應用引起廣泛的研究興趣。與圖像領域相比,應用于NLP任務的對抗攻擊方法既有相似的思路,也有其不同的特點。從多個角度綜述應用于NLP的對抗攻防的最新進展,并探討可能的研究方向。
對抗樣本;安全;自然語言處理;深度學習;綜述
隨著深度學習的發展[13],每年都會有大量更先進、更強大的模型被創造,用于解決計算機視覺(CV)和自然語言處理(NLP)任務。然而,盡管這些模型已經取得了巨大的成功,但是諸如文獻[11]這樣的研究表明,這些方法極易受到對抗樣本的攻擊。
對抗樣本由輸入數據加上細微的擾動形成,它能顯著增加機器學習或深度學習模型的損失,并導致模型預測錯誤的輸出[18]。原則是這樣的擾動不能被人類輕易檢測出,這在圖像處理中相對容易實現。
然而,在NLP任務中,對抗攻擊的目標變成了文本,則攻擊模型還應滿足兩個額外的要求[4]:①語義相似性,根據人類判斷,對抗樣本不應改變原始樣本的語義。②語言流暢,生成的語句應該是自然且可讀的。這些要求導致了應用于圖像的攻擊方法無法直接用于文本。
此前,已有基于對抗樣本在計算機視覺中的應用的綜述工作(文獻[1]),以及基于文本深層神經網的相關調研(文獻[2])。與以往的調研相比,本文的貢獻在于:①我們從攻防的角度進行了討論,用一些典型的方法快速梳理了NLP任務中的對抗攻防相關概念;②介紹了近年來該領域的一些突破性工作,為感興趣的研究者提供參考。
在接下來的章節中,我們將討論近年來成功應用于NLP任務的幾種突出且極具影響力的對抗攻擊方法。之后我們將介紹幾種有效地針對此類攻擊的防御措施。
對抗攻擊的目的是使目標模型誤判輸入,產生錯誤的輸出。這里我們使用最常用的分類方式,根據攻擊者對模型的了解程度,將NLP中的對抗攻擊方法分為兩類:白盒攻擊與黑盒攻擊。
白盒攻擊假設攻擊者對模型有完整的背景知識,包括模型的結構和參數。這種類型的攻擊通常以啟發式的方式產生對抗樣本。
考慮到白盒攻擊的嚴格條件,其應用范圍并不如黑盒攻擊廣泛。本文介紹了基于FGSM的攻擊方法的基本思想,以及一種很有前景的通用型攻擊方法。
(1)基于FGSM的方法
快速梯度下降法(FGSM)是計算機視覺領域最早使用的白盒攻擊方法之一[14]。與其他基于梯度的方法一樣,它通過增加損失來攻擊目標模型。
假設模型對輸入的梯度方向如下:

其中θ是模型的參數,x是模型的輸入,y是x對應的標簽,L( )θ,x,y是用于訓練模型的損失函數。理想擾動必定沿梯度方向一直到損失函數的最大值,因此我們可以通過以下公式得到樣本的擾動η:

其中?是學習率。
這種攻擊方法起作用的根本原因在于,擾動在神經網絡中的效應在前向傳播過程中會如滾雪球一般,變得越來越強,對于線性模型尤其如此。
然而,計算機視覺中使用的FGSM算法并不能直接用于生成NLP任務的對抗樣本。因為計算機視覺中使用的數據是連續的(圖像),可以容忍微小的擾動。而在NLP任務中,數據是離散的(文本)。正如文獻[14]所發現的,如果直接使用FGSM方法,文本將變得不可讀。
為了解決這個問題,文獻[14]僅利用FGSM查找最高頻的短語(HTPs),并通過計算梯度來識別對當前分類(HSPs)有重要貢獻的文本項,然后使用三種策略:插入、修改和刪除來生成對抗樣本。由此成功地將FGSM方法應用到文本分類任務中。

圖1三種攻擊策略的結合[14]
圖1 為文獻[14]中的一個攻擊實例,通過移除高頻短語(“historic”),插入偽造事實(“Some exhibitions of Navy aircrafts were held here.”)和修改重要貢獻文本項(“cast1e”),可以成功地改變輸出分類的結果(從83.7%的可能結果為建筑,到95.7%的可能結果為運輸工具)。
這種方法的主要問題在于,在生成對抗樣本時需要一定的人工,這對于一般攻擊來說是可以接受的,但不適合更復雜的場景。
(2)通用型方法
典型的對抗攻擊方法通常是針對特定類型的輸入生成的,我們能否找到一種通用的方法,能夠針對不同的輸入,更加容易地將其移植到不同的模型中?
基于這一思想,文獻[7]提出了攻擊不同模型的通用型對抗觸發器,它對文本分類、閱讀理解、文本生成等許多常見的NLP任務都有很好的效果,并擊敗了著名的GPT-2等強大的模型。
作者假定能對特定模型進行白盒訪問(在某些條件下也可轉為黑盒模型)。目標是找到這樣的觸發器:當拼接到任何輸入的前端或末尾時,可以引導模型做出錯誤決策的單詞序列。受文獻[8]的啟發,作者通過更新觸發器的每個單詞的詞嵌入向量(embedding)eadvi來搜索目標觸發器,以最小化當前詞嵌入向量的損失的一階泰勒近似:

其中V是模型詞匯表中所有詞嵌入向量的集合,?eadvi L是批處理中模型損失的平均梯度。而每個eadvi對應的單詞正是目標所需的單詞。

圖2 觸發器搜索算法示例[7]
以情緒分析任務為例。觸發器搜索算法的示例如圖2所示。作者試圖使模型將積極情緒語句判斷為消極情緒。經過多次迭代,找到了對判斷負面情緒非常有利的zoning、tapping、fiennes組合。
結果是,無論使用何種的詞嵌入方法(如ElMo[20]、GloVe[17]),或是何種網絡模型(如self-attention[21]、Bi-LSTM[23]),所有這些模型都不能幸免。
另外,與白盒攻擊的嚴苛條件不同,黑盒攻擊只要求攻擊者能夠用提供的輸入訪問目標模型,并獲得相應的輸出。以下介紹兩類不同思路的黑盒攻擊方法。
(1)拼接式對抗
自動問答(QA)任務是從給定的文本段落p中得到問題q的答案a,則相應的數據結構為(p,q,a)。一個模型在QA任務中表現得很好,可能不是因為它理解了問題及其背后的深層現象,而是因為它能識別出一些恰好對大多數測試樣本具有預測性的模式。
受此啟發,文獻[3]提出了一種拼接式對抗攻擊,在樣本中插入分散注意力的語句來欺騙閱讀理解系統。這種攻擊沒有依賴于保持原始語義的擾動,而是通過使目標模型無法區分實際回答問題的語句和只有相同單詞的語句來欺騙模型。
拼接式對抗攻擊試圖通過在段落末尾添加一個新句子s來創建對抗樣本(p+s,q,a),即不改變問題與答案。
在文獻[3]中,作者提出了一個名為ADDSENT的生成s的流程,如圖3所示,將問題中一些特意抽取的名詞和形容詞替換為WordNet[16]中的對應的反義詞,而命名實體和數字則被其在GloVe詞向量空間中最近的單詞替換[17]。

圖3 一個ADDSENT對抗示例[3]
作者將這種方法應用于SQuAD QA數據集[22],發現還沒有任何開源模型對這類對抗語句是魯棒的,這表明這些看起來效果很好的模型其實并不能真正準確地理解問題。
(2)同義詞轉換攻擊
盡管采取了各種緩解措施,但上述拼接對抗攻擊仍會在對抗樣本中生成明顯不自然的句子。
在文獻[4]中,作者基于近年來最具突破性的NLP模型之一BERT,提出了一種簡單而有效的黑盒攻擊TEXTFOOLER,以生成在文本分類任務中誘使目標模型做出錯誤決策的樣本。
給定一段文本,只有其中最重要的詞才能影響模型的判斷。通過僅對這些詞進行攻擊,就能在達到攻擊目的的前提下,實現最小的擾動并最大程度保留原文語義。基于這一思想,同義詞轉換攻擊的過程相當清晰:首先得到單詞的重要性排序,然后使用同義詞抽取機制替換選中的單詞。該方法的一個示例如圖4所示。

圖4 TextFooler攻擊的示例[4]
在文獻[4]中,作者通過下式計算單詞wi的重要性IWi:

其中F是預測模型,X是給定的語句,Y是X對應的標簽。
根據wi與詞匯表中其他單詞之間的余弦相似性,選取N個最接近的同義詞初始化候選集。再通過計算原始語句與其經候選集中的單詞替換wi之后的語句的相似度,可得到最終的候選集。
在不知道模型結構、參數或訓練數據的情況下,該方法通過重要性計算和單詞轉換操作成功生成了對抗樣本,同時保留了語義內容、語法正確性,并保持了人工分類結果不變。實驗表明,該方法在攻擊成功率上優于以往的攻擊方法。
研究對抗攻擊的主要目的之一是提高模型的魯棒性,防止惡意攻擊。這也是為什么隨著NLP中對抗性攻擊模型的不斷發展,相應的防御方法也不斷涌現。
在本節中,我們將重點討論一種名為對抗訓練的常見防御方法以及最近提出的一種無特定結構防御模型。
對抗訓練(AT)是一種正則化學習算法。它被廣泛應用于圖像領域的對抗攻擊。AT的防御策略非常簡單:通過在訓練過程中對輸入添加擾動,深度神經網絡(或其他模型)可以獲得容忍對抗樣本影響的能力,從而能正確地將正常樣本和對抗樣本區分開來。文獻[18]表明對抗訓練可以在使用dropout操作的基礎上額外提供一個正則化收益。
文獻[9]是將AT應用到文本分類任務中的第一次嘗試之一。其將擾動引入到模型輸入的詞嵌入向量中,并將生成的對抗樣本進行訓練以提高模型對攻擊的魯棒性。文獻[6]則將相似的方法應用到文本理解任務中。結果表明,對抗樣本的攻擊成功率降低,而模型對原始輸入的性能沒有太大變化。
也有一些工作利用不同的機制擴展基本的對抗訓練方法。文獻[10]聚焦于機器閱讀理解中的對抗攻擊和防御。作者不僅在輸入中引入了擾動,而且在模型的每一層都采用了AT。此外,考慮到閱讀理解的關鍵是問題與相關段落之間的映射關系,作者還引入了多層注意力網絡。通過消融實驗,作者得出結論:與簡單地用擾動輸入進行訓練相比,對深層變量進行AT更能提高模型的魯棒性。
然而,使用AT的前提之一是要有足夠的對抗樣本,而要做到這一點,我們首先需要知道攻擊策略。顯然,期望攻擊者公開自己的攻擊策略通常是不現實的。因此,這種方法是相當局限的。
如前所述,對抗訓練需要提前了解攻擊策略。而其他諸如基于IBP的防御等方法也局限于特定的輸入或模型結構。為了解決這個問題,文獻[5]提出了一種無特定結構的防御機制,它適用于可以黑盒方式訪問的任意模型。
該方法的主要思想是通過建立在同義網絡上的隨機單詞替換來平滑原始模型。給定一個原始的文本分類器f,目標是找到一個滿足以下條件的新模型fRS:

其中,SX是一個對抗樣本集合,該集合中每個句子X'都是通過用同義詞隨機替換原句X中的幾個單詞而得到的。
文獻[5]以無結構方式構建此模型,如下所示:

其中ΠX是X擾動的分布。
在這種隨機平滑防御方法中,幾乎所有可能的擾動都被以統計的方式考慮在內,則新模型理論上能夠抵抗所有同類攻擊。
這種方法的另一個顯著優點是它沒有特定的結構,這意味著它可以輕易地應用于任何預訓練模型。在IMDB和其他數據集上的實驗表明,該方法是相當有效的。
盡管近年來提出的大量新模型在文本分類、機器閱讀理解、自動問答等自然語言處理任務上取得了重大突破,但它們的易受干擾性仍然不能忽視。顯然,對抗樣本所帶來的模型安全問題的研究仍處于起步階段。
正如文獻[3]中提到的,當前許多工作中的一個共同問題是產生對抗性樣本的過程對人工操作的要求。人力的介入不僅使攻擊過程變得耗時,也讓攻擊本身不切實際。
另一個問題是對抗攻擊及其防御方法的可解釋性。盡管我們已經知道擾動會給模型帶來嚴重的破壞,但仍然有一個問題需要我們回答:對抗樣本背后的深層機制是什么。對這一問題進行更深入的研究,可能有助于我們從根本上解決對抗攻擊的威脅。
最后,攻防手段的泛化能力也應該得到重點關注。理想模型的應用不應局限于某個任務或某個領域,這與模型的實用性息息相關。然而,現有的方法在實驗中普遍存在泛化能力較差的問題。雖然一些黑盒方法已經成功地移植到了不同的模型和數據集上,但是它們的性能遠遠低于原始的模型和數據集。
因此,基于以下兩個原因,一個可以預見的趨勢是,對通用型攻擊方法的研究將會顯著增加:①通用型方法不需要攻擊者掌握目標模型的結構和參數等關鍵信息;②該類攻擊方法可以大大降低攻擊者的專業門檻,從而使跨領域攻擊變得更加容易。
本文提供了對抗攻擊及其防御方法在自然語言處理領域的應用的概括性介紹。如前所述,考慮到文本的離散性及其語義不變性的要求,對文本對抗攻擊與防御的研究比圖像領域更具挑戰性。
未來,類似文獻[7]這樣更具普適性和易遷移性的對抗攻擊將成為研究熱點。相應地,如文獻[5]中所述可用于NLP多任務的通用防御方法也將成為主流。
更高的模型安全威脅可能迫使研究人員在設計模型時更多地重視其安全性能,而不是僅僅關注精確度提高了多少。從這個角度來看,NLP領域的對抗攻防還有很大的探索空間。
本文旨在為后續研究者提供相關參考。我們希望在不久的將來,更多足夠健壯的模型能夠被提出。因為這不僅關系到模型在實驗中的性能,更重要的是其在實際應用過程中給用戶帶來了安全問題。