Generating Fluent Adversarial Examples for Natural Languages ACL 2019
為自然語言生成流暢的對抗樣本
摘要
有效地構建自然語言處理(NLP)任務的對抗性攻擊者是一個真正的挑戰。首先,由於句子空間是離散的。沿梯度方向做小擾動是困難的。其次,生成的樣本的流暢性不能保證。在本文中,我們提出了MHA,它通過執行Metropolis-Hastings抽樣來解決這兩個問題,其建議是在梯度的指導下設計的。在IMDB和SNLI上的實驗表明,我們提出的MHA在攻擊能力上優於基線模型。使用MHA進行對抗性訓練也會帶來更好的健壯性和性能。
1 介紹
對抗性學習是深度學習中的一個熱門話題。攻擊者通過擾動樣本生成對抗性樣本,並利用這些樣本欺騙深度神經網絡(DNNs)。從防御的角度出發,將對抗性樣本混合到訓練集中,提高了受害者模型的性能和魯棒性。然而,為NLP 模型(例如文本分類器)構建攻擊者是非常困難的。首先,由於句子空間離散,基於梯度的微擾難以實現。然而,梯度信息是至關重要的,它導致最陡的方向,以更有效的樣本。其次,對抗性的樣本通常不是流利的句子。不流暢的樣本在攻擊中效果較差,因為受害者模型可以很容易地學會識別它們。同時,對它們進行對抗性訓練通常效果不佳(詳細分析見圖1)。目前的方法不能很好地處理這兩個問題。
易卜拉欣等(2018)(HotFlip)提出通過翻轉一個字符來擾亂一個句子,並使用每個字符的梯度來指導樣本的選擇。但是簡單的字符轉換常常導致無意義的單詞(例如。"mood”到“mooP”)。遺傳攻擊(Alzantot•et al., 2018)是一個基於種群的詞替代攻擊者,其目的是通過語言模型過濾掉不合理的句子,生成流暢的句子。但遺傳攻擊證明的樣本生成的流暢性仍不理想,當梯度被丟棄時,它的效率較低。
針對上述問題,本文提出了基於MHA算法的算法。MHA是基於Metropolis- hastings (M-H)采樣的對抗樣本生成(Metropolis et al., 1953; HASTINGS, 1970; Chib and Greenberg, 1995).。M H采樣是一種經典的MCMC采樣方法,在許多NLP任務中得到了應用。
兩種MHA變體: 黑盒 MHA 白盒MHA b-MHA w-MHA
具體來說,與以往的M-H語言生成模型相比,b-MHA的靜態分布具有一個語言模型項和一個對抗攻擊項。這兩個術語使得對抗樣本的生成流暢而有效。w-MHA甚至將對抗性梯度合並到提案分發(? proposal distributions)中,以加快對抗樣本的生成。
我們的貢獻包括提出了一個有效的方法來生成流暢的反例。IMDB (Maas et al., 2011)和SNLI (Bowman et al., 2015)的實驗結果表明,與最先進的生成模型相比,MHA生成樣本的速度更快,在專業上的成功率更高。同時,MHA的對抗性樣本在經過對抗性訓練后,不僅更加流暢,而且更加有效,提高了對抗性的魯棒性和分類精度。
2 准備工作
victim models 受害者模型是單詞級的,它接受標記化的句子並輸出它們的標簽。攻擊者通過擾亂原句來生成句子,從而誤導受害者模型犯錯誤。對抗攻擊包括兩類:(a)黑盒 (b) 白盒。對於對抗性訓練,在包含對抗性樣本的更新訓練集上從零開始訓練相同的受害者模型。
3 MHA
主要講M-H抽樣,以及如何使用M-H抽樣有效地生成自然語言的對抗樣本。
3.1 Metropolis-Hastings Sampling
M-H算法是一種經典的馬爾可夫鏈蒙特卡羅抽樣方法。考慮到最優分布(Π(x))和轉換建議 transition proposal,M-H能夠Π(x)生成理想的樣本。具體地說,在每個迭代中,根據建議分布(g(x' | x))提出一個從x跳到x'的建議。建議獲接納的概率由接納率 acceptance rate給出:
一旦接受,算法跳到x’,否則停留在x。
3.2 黑盒攻擊
在黑盒攻擊(b-MHA)中,我們期望樣本滿足三個要求:(a)具有較強的閱讀能力;(b)能夠愚弄分類器;(c)盡可能少地調用分類器。
平穩分布 Stationary distribution。為滿足這些要求,平穩分布設計為:
其中LM(x)為預訓練語言模型(LM)給出的句子(x)的概率和C(y~ | x)為受害者模型給出的錯誤標簽(y~)的概率。LM(x)保證流暢性,而C(y~|x)是攻擊目標。
轉換建議 Transition proposal。有三種字級轉換操作——替換、插入和刪除。遍歷索引用於選擇執行操作的單詞。假設MHA在第t個proposal上選擇第i個單詞(wi),然后在(t + 1)-th proposal上,受影響的單詞(w*)為: (下一個單詞)
替換的過渡函數如式3所示,其中w m為被替換的選定單詞,Q為預選候選集,待會解釋。插入操作由兩個步驟組成——將一個隨機單詞插入該位置,然后對其執行替換。刪除操作相當簡單。
,其中x-m為刪除第m個單詞(wm)后的句子,
。
建議分布為過渡函數的加權和:
其中pr、pi、pa為操作的預定義概率。
預選。
預選器生成的候選集。它根據分數(SB (wlx))選擇最可能的單詞組成候選單詞集Q,SB(wlx)表示為:
x (1: m - 1) = | w1 . .,w m-1}為句子的前綴,X m+1:nl為句子的后綴,LM為預先訓練好的后向語言模型。如果沒有預選,Q會將詞匯表中的所有單詞都隱藏起來,並且會反復調用分類器來計算公式3的分母,這是低效的。(有預選的話相當於這個概率就是確定的了,不用再計算概率了。但是這一有個缺點在於,如果單詞特別多,可能需要LM生成大量結果)
3.3 白盒攻擊
白盒攻擊(wmha)和b-MHA的唯一區別在於預選器。
預選。在w-MHA中,梯度被引入預選分數(SW (w|x))。sW (wlx)表示為:
其中S為余弦相似函數,L~ =為目標標簽上的損失函數,em和e為當前單詞(wm)和替代(w)的嵌入。梯度
會導致最大的方向,和em-e 是真實的改變方向(如果他們被em被e替換)。余弦相似性術語
引導樣本一起跳到梯度的方向,提出了C(y~ | C)和α (x' | x),甚至性使w-MHA更有效率。
注意,插入和刪除被排除在w-MHA中,因為很難計算它們的梯度。以插入操作為例。可以在b-MHA中應用類似的技術,首先插入一個隨機的單詞形成中間語句x*= {u1,,。, Wm, w*, Um+1,。, un},然后在x*上進行每個成形替換操作。計算很簡單,但它不是實際的梯度。實際梯度的計算
很難,因為從x到x*的變化是離散的、非微分的。
4 實驗
數據集。在前面的工作中,我們對所提出的MHA在IMDB和SNLI數據集上的性能進行了測試。IMDB數據集包括25,000個訓練樣本和25,000個電影評論測試樣本,並帶有情感標簽(正面或負面)。SNLI數據集包含55,000個訓練樣本、10,000個驗證樣本和10,000個測試樣本。每個樣本都包含一個前提、一個假設和一個推斷標簽(隱含、矛盾或中性)。我們在IMDB和SNLI上分別采用單層bi-LSTM和BiDAF模型(Seo et al., 2016)(該模型采用雙向注意流機制捕捉句子對之間的關系)作為受害者模型。
基線遺傳攻擊者。我們采用最先進的基因攻擊模型(Alzantot等。作為我們的基線,它使用了一個基於無梯度的種群算法。從直觀上看,它主要是獲得一個句子的總體,不考慮受害者模型,而是根據嵌入層距離進行詞級替換,擾亂句子。然后,中間句是通過受害者分類器和一個語言模型得到了下一代。
Hyper-parameters。如苗等人的作品。(2018), MHA最多只能提出200次建議,每次迭代我們預先選擇30個候選。MHA中包含了一些限制,以禁止對感情用事的詞或否定詞進行任何操作(例如。“great”或"not"。在IMDB使用感知網絡(Esuli和Sebas tiani)進行實驗。2006: Baccianella等。2010)。所有受害者模型中的LSTMs都有128個單元。受害者模型在IMDB和SNLI上的測試正確率分別達到83.1%和81.1%。這些都是可以接受的回答。附錄中包含了更詳細的超參數設置。
4.1 對抗攻擊
為了驗證攻擊效率,我們分別從IMDB和SNLI測試集中隨機抽取1000個和500個正確分類的樣本。攻擊成功率和調用時間(受害者模型)用於測試效率。如圖3所示,我們提出的MHA曲線高於遺傳基線,說明MHA的有效性。將梯度信息引入到方案分布中。隨着曲線的快速上升,w-MHA甚至比b-MHA表現得更好。注意梯子的形狀遺傳方法的曲線是由它的脈動特性引起的。
我們在表1中列出了詳細的結果。通過調用受害者模型最多6000次,可以獲得成功率。如圖所示,模型之間的成功率差距不是很大,因為所有的模型都能給出相當高的成功率。然而,正如所料,我們提出的MHA提供了較低的perplexity (PPL) 1,這意味着MHA生成的樣本更有可能出現在評估語言模型的語料庫中。由於語料庫足夠大,用於評價的language模型足夠強,所以在dicates中MHA生成的樣本更有可能出現在自然語言空間中。它甚至能讓你更流利。
還進行了人工評估。從這三種方法都成功攻擊的樣本中,我們在IMDB上取樣了40個樣本。三個志願者被要求對生成的樣本進行標記。使用受害者分類器的假標簽和vol unteers的真標簽的樣本被視為實際的對抗性測試組。與之相對的樣本比例的遺傳。方法中,b-MHA和w-MHA分別為98.3%、99.2%和96.7%,說明生成的樣本幾乎都是對抗樣本。卷測試者還被要求對生成的考試組在SNLI上的流利程度進行排名(“1”表示最流利,“3”表示最不流利)。上面提到的20個例子都是以同樣的方式進行的。遺傳方法、b-MHA和w-MHA的排序均值為1.93 1.80和2.03,表明b-MHA生成的樣本最流暢。由W-MHA生成的樣本不如遺傳方法流暢。這可能是因為預選器中引入的梯度會影響句子的流暢性,從人的角度來看。
不同模型或SNLI的反例如表2所示。遺傳方法可以用不同的時態來代替動詞,也可以用不同的復數來代替名詞,從而導致語法錯誤。(如例1),而MHA使用語言模型來表示平穩分布,以避免這種語法錯誤。MHA並沒有限制單詞替換應該具有簡單的含義。MHA可能會用一些不相關的詞來代替實體或動詞,導致原句的意思發生變化(如:例2)。更多的案例包括在附錄中。
4.2 對抗性訓練
為了驗證對抗性訓練是否有助於提高受害者模型的對抗性魯棒性或分類精度。將生成的樣本混合到訓練集中,從零開始訓練新的模型。為了檢驗模型的抗對抗魯棒性,我們在IMDB上采用了各種方法對新模型進行攻擊。如表3所示,經過遺傳逆向訓練的新模型不能防御MHA。相反,采用b-MHA或w-MHA de進行對抗性訓練會降低遺傳攻擊的成功率。它顯示了來自MHA的反例可能比來自於genetic at tack的反例更有效,如圖1所示。
為了檢驗新模型在對抗性訓練后是否能達到精度的提高,我們對不同大小的訓練數據進行了實驗,這些數據都是SNLI訓練集的子集,實驗中對抗性樣本的數量固定為250個。表4列出了不同方法對抗性訓練后新模型的分類精度。使用w-MHA進行Adver sarial訓練可以顯著提高這三種設置的准確性(p值小於0.02)。W-MHA在10K和30K訓練數據上優於遺傳基線,並與100K訓練數據得到了類似的改善。較少的訓練數據導致較大的accu快速增益,而MIHA在較小的訓練集上的性能明顯優於遺傳方法。
5 未來工作
當前的MHA在標簽發生變化時返回樣本,這可能導致句子的時態不完整,從人類的角度來看,句子時態並不流暢。諸如強制模型在返回前在句尾生成(EOS)之類的約束可能會解決這個問題。
此外,沒有限制的實體和動詞替換對NLI等任務的對抗的前幾代有負面影響。在詞的運算過程中,相似度的限制是解決這一問題的關鍵。諸如模仿嵌入距離之類的約束可能會有所幫助。另一種解決方法是在預選源中嵌入距離的逆。
6 結論
在本文中,我們提出了MHA,它采用MH抽樣的方法,為自然語言生成對抗樣本。實驗結果表明,我們提出的MHA能夠比生成基線更快地生成反例。從MHA中獲得的對抗樣本更流暢,對對抗性訓練可能更有效。
思考:
1. 解決的問題
生成的對抗不流暢的問題
2. 解決的方法
MHA黑盒白盒
3. 優缺點
優點:流暢樣本 攻擊高效
缺點:抽樣的准確性問題。替換的詞偏差過大的問題。
找這篇文章的附錄和其他 復現