BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler

不久前,AAAI 2020 在美國紐約召開。大會官方公佈了今年的論文收錄信息:收到 8800 篇提交論文,評審了 7737 篇,接收 1591 篇,接收率 20.6%。為向讀者們分享更多的優質內容、促進學術交流,機器之心策劃了多期 AAAI 2020 論文線上分享。

在最新一期的 AAAI 2020 線上論文分享中,機器之心邀請了在亞馬遜上海人工智能實驗室做實習研究的金致靜,通過線上分享的方式介紹他們入選 AAAI 2020 的研究論文《Is BERT Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment》,詳細解讀有關自然語言對抗樣本生成的研究工作。

2 月 12 日,本期 AAAI 2020 線上論文分享結束,本文對此次分享的視頻與論文內容進行了整理。

b 站鏈接:https://www.bilibili.com/video/av90072410/

對抗攻擊在視覺和語音領域已經得到了大量研究,但文本分析領域的對坑攻擊還較為罕見。本文提出了一種新基準 TextFooler,並通過文本分類與文本蘊涵實驗驗證了其有效性。

  • 論文地址:https://arxiv.org/abs/1907.11932
  • 相關代碼、預訓練的目標模型和測試樣本已發佈在:https://github.com/jind11/TextFooler


BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler


對抗樣本與原始樣本往往沒有肉眼可見的差異,但卻能成功騙過當前最佳的機器學習模型。通過讓模型學習惡意設計的對抗樣本,有助於評估和提升這些模型的穩健性。為此,本論文提出了 TextFooler,這是一種可用於生成對抗文本的簡單卻又強大的基準。

研究者在文本分類與文本蘊涵這兩種基礎自然語言處理任務上應用了該基準,結果成功實現了對 3 個目標模型的成功攻擊,其中包括強大的預訓練 BERT 模型以及被廣泛使用的卷積神經網絡和循環神經網絡。這一框架有三大優勢:(1)效果好——其成功率和擾動率表現優於之前的攻擊框架;(2)效用可得到保留——其會保留人類分類的語義內容、語法以及正確的拼寫;(3)效率高——其生成對抗文本時的計算複雜度與文本長度呈線性關係。

引言

機器學習模型已在分類、迴歸和決策等多種不同任務上取得了顯著的成功。但是,近來的研究表明,只需要對合法輸入進行微小且往往乃以肉眼察覺的擾動,就能實現對機器學習模型的有效攻擊,讓其得到錯誤的結果。這種攻擊方式被稱為對抗攻擊。對人類而言,對抗樣本都能被正確地分類,但是目標模型卻能被輕易欺騙,這也引起了人們對現有機器學習算法的安全性和完整性的嚴重關切。另一方面,這也表明如果在訓練數據集中包含高質量的對抗樣本,就能夠有效提升機器學習模型的穩健性和泛化能力。

儘管圖像和語音領域的對抗樣本研究已經取得了很大的成功,但文本由於本質上的離散性,所以還依然頗具挑戰。嚴格來說,要打造一個成功的自然語言攻擊系統,除了讓其具備欺騙目標模型的能力之外,還應使其滿足三項關鍵的效用保留性質:(1)人類預測的一致性——人類的預測結果應當保持不變;(2)語義相似性——在人類看來,新構建的樣本應該具有與源文本一樣的語義;(3)語言流暢度——新生成的樣本應當表達自然且語法正確。

針對黑盒設置(即無法獲取模型架構和參數的情況)下的自然語言攻擊問題,本論文提出了一種簡單卻又強大的基準 TextFooler。

方法

威脅模型(Threat Model)

在黑盒設置下,攻擊者並不知道模型的架構、參數或訓練數據,只能通過提供輸入並獲取預測結果及對應的置信度分數來了解目標模型的情況.

BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler

算法 1 展示了新提出的對抗文本生成方法,其主要分為兩個步驟:

步驟 1:詞重要度排序(第 1-6 行)

給定由 n 個詞構成的句子 X={w_1,w_2,...,w_n},可以觀察到影響預測模型 F 結果的關鍵信號其實只有其中部分關鍵詞。實際上,Niven and Kao 2019 就曾發現僅會關注某些詞的統計信息。

因此,研究者創造了一種篩選機制,可以選擇出對最終預測結果影響最大的詞。使用這一篩選機制,可以儘可能地減少修改量,由此就能夠儘可能地維持語義相似性。

基於黑箱設置,模型梯度是未知的。因此,這一篩選機制使用了一個分數 I 來度量 X 中的詞 w_i 對最終分類結果的影響程度。

因此,重要度分數 I 的計算方式即為檢測詞 w_i 前後預測結果的變化情況,這可以定義為如下形式:

BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler


根據重要度分數對詞進行排序之後,研究者進一步濾除了 the、when、more 等停止詞。這一步操作使用了 NLTK2 和 spaCy3 庫。

步驟 2:詞轉換器(第 7-30 行)

適當的替換詞需要滿足以下標準:(1)應當與原句子有類似的語義含義;(2)與上下文契合;(3)會讓目標模型得出錯誤的預測結果。

同義詞提取:作者首先為所選詞 w_i 的所有可能的替換詞收集了一個候選詞集 Candidates。Candidates 的初始化使用了詞典中 N 個與 w_i 的餘弦相似度最近的同義詞。

詞的表徵使用了來自 Mrkšić, et al. 2016 的詞嵌入。這些詞向量為同義詞尋找任務進行過精心調節,並在 SimLex-999 數據集上的表現為當前最佳。SimLex-999 數據集的設計目標是度量不同模型評估詞之間的語義相似度的能力。

使用這個嵌入向量數據集,研究者找到了 N 個與 w 的餘弦相似度大於 δ 的同義詞。在實驗中,作者根據經驗將 N 設置為 50,δ 設置為 0.7。這樣的設置能在多樣性與語義相似度控制之間實現較好的平衡。

詞性檢查:在詞 w_i 的候選詞集 Candidates 中,僅保留與 w_i 詞性相同的詞。這一步是為了確保文本的語法正確(算法 1 第 10 行)。

語義相似度檢查:對於候選詞集 Candidates 中的每個詞 c,將其替換到句子 X 中 w_i 的位置,得到對抗樣本。然後再使用目標模型 F 來計算對應的預測分數。研究者還計算了源句子 X 與對抗句子 X_adv 之間的句子語義相似度。

對抗樣本的最終確定:在最終得到的候選詞庫 FinCandidates 中,如果其中存在任意已經可以改變目標模型的預測結果的候選詞,則從這些候選詞中選出語義相似度分數最高的詞。但如果沒有可以改變預測結果的候選詞,則選擇標籤 y 的置信度分數最低的詞作為 w_i 的最佳替換詞。然後重複步驟 2,轉換下一個被選中的詞(第 20-30 行)。

實驗

研究者在文本分類和文本蘊涵這兩個重要的 NLP 任務上檢驗了新提出的對抗攻擊方法的效果。


BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler

表 1:數據集概況

攻擊目標模型

對於每個數據集,研究者在訓練集上訓練了三個當前最佳的模型,並得到了與原有實現相近的測試集準確度分數。然後,研究者又生成了與測試集語義相似的對抗樣本來攻擊訓練後的模型,並使它們得到了不同的結果。

BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler

表 2:目標模型在標準測試集上的原有準確度

在句子分類任務上,研究者攻擊了三種模型:基於詞的卷積神經網絡(WordCNN,Kim 2014)、基於詞的長短期記憶網絡(WordLSTM,Hochreiter and Schmidhuber 1997)、當前最佳的使用 Transformer 的雙向編碼器表徵網絡(BERT,Devlin et al. 2018)。

WordCNN 模型的配置是使用了三種窗口大小:3、4、5,每種窗口大小 100 個過濾器,dropout 設為 0.3。WordLSTM 使用了有 150 個隱藏單元的 1 層雙向 LSTM,dropout 設為 0.3。這兩個模型都使用了 200 維的 Glove 詞嵌入,這個詞嵌入是在來自 Wikipedia 和 Gigawords 的 60 億個 token 上訓練的。BERT 模型則採用了 12 層的配置,其包含 768 個隱藏單元和 12 個頭,共有 1.1 億個參數,即 BERT 模型的 base-uncased 版本。

結果

BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler

表 3:攻擊系統在文本分類數據集上的自動評估結果。

上圖中,Original Accuracy 是未被攻擊的原始模型的預測準確度,After-Attack Accuracy 是被對抗攻擊時的模型準確度,% Perturbed Words 是以原始句子長度為參考時經過擾動的詞所佔的百分比,Semantic Similarity 是原始和對抗樣本之間的語義相似度。


BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler

表 4:攻擊系統在文本蘊涵數據集上的自動評估結果。m 是指匹配,mm 是指不匹配,這是 MultiNLI 開發集的兩種變體。


BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler

表 6:來自 MR(WordLSTM)和 SNLI(BERT)數據集的原句子和對抗樣本句子示例


BERT穩嗎?亞馬遜、MIT等提出針對NLP模型對抗攻擊框架TextFooler

表 7:MR(WordLSTM)和 SNLI(BERT)中的原始句子和對抗樣本句子符合語法的程度(1-5 分,越高表明越符合語法)


分享到:


相關文章: