論文地址:https://www.aclweb.org/anthology/P19-1103/
已有研究工作:
在文本的對抗樣本領域,因為有詞嵌入的存在,很難將特征空間的擾動向量映射到詞匯表中的有效單詞。因此在CV領域的方法不能直接用於NLP領域,一般的方法是在詞級別或者字符級別直接修改原始樣本,來實現對抗性攻擊。
本文的工作和創新點:
關注的是文本分類的對抗樣本的問題。其主要難點在於,句子空間是離散的,沿梯度方向做小的擾動是比較困難的。挑戰在於,生成的結果保證詞匯的正確性、語法上的正確性、語義的相似性。本文在同義詞替換策略的基礎上,引入了一種由詞性顯著性和分類概率共同決定的一種新的詞匯替換方法,在此基礎上提出PWWS算法。
研究方法:
問題定義:
首先定義問題,對於文本分類,有輸入空間X,包含了所有可能的輸入文本,一個輸出空間Y,包含了K個可能的標簽。分類器要做的就是學習X到Y的映射。
對抗樣本示例:
一個對抗樣本應滿足以下條件,即對於x,給予一個較小的擾動,使模型的分類結果變化。
下面的式子給出了關於擾動的p-norm要求:
公式中的w是輸入x的單詞或字符。為了讓干擾足夠小以至於人類察覺不到,對抗性樣本需要滿足詞匯、語法、語義上的限制。詞匯也就是說,輸入樣本中的單詞不能出現拼寫錯誤,在語法上也應該正確,因為這些是很容易檢查出來的,同時語義不能發生重大變化。
為了滿足上述約束,做法是將輸入文本的單詞替換為同義詞,並將命名實體替換為類似的命名實體,同義詞是在一個wordnet中找到的,命名實體即特定含義的實體,比如人名、位置、專有名詞等。
單詞替換策略:
對於X中的每一個單詞w,使用WordNet來建立一個同義詞組。如果w是一個命名實體的話,選擇與w同類的詞加入到同義詞組中。從同義詞組中選擇一個詞w‘來替換w,得到X‘,替換的x‘和原始的x之間的分類概率的變化表示用w‘來替換w所能達到的最佳攻擊效果,將這個詞記為w*。公式描述如下:
替換策略:
因為在文本分類任務中,輸入樣本中每個單詞可能對最終的分類產生不同程度的影響,因此加入單詞顯著性(word saliency),含義是如果一個單詞被設為未知(詞匯表以外的單詞),分類器輸出概率的變化程度。公式描述如下:
計算x中所有單詞的顯著性,記為顯著性向量。
那么在考慮替換詞的優先級時,需要考慮替換后分類概率的變化程度和每個詞的顯著性兩個因素。綜合的替換策略公式如下:
實驗結果如下:
評價:
在文本分類的對抗樣本領域一個非常優秀的模型。單詞的替換使用同義詞替換,在單詞替換策略上考慮了替換單詞或分類概率的變化程度和單詞顯著性兩個因素。同樣屬於基於統計的模型,從實驗結果上來看,效果的提升相當明顯。同義詞替換的想法也比較自然。從一些實例上可以看到,比如將“funny”替換為“laughable”,將“nuclear”替換為“atomic”。