avatar

文本对抗攻击之Word-Level笔记系列(三)

一、Robust Neural Machine Translation with Doubly Adversarial Inputs

1. Paper Information

时间:2019年

关键词:Adversarial Attack,Neural Machine Translation,Gradient

论文位置:https://arxiv.org/pdf/1906.02443.pdf

引用:Yong Cheng, Lu Jiang, Wolfgang Macherey:Robust Neural Machine Translation with Doubly Adversarial Inputs. ACL (1) 2019: 4324-4333

出处:Google AI

2. Motivation

   机器翻译也是容易受到对抗噪声干扰的。我们提出了一种方法生成NMT的对抗样本并提高NMT模型的鲁棒性。

3. Main Arguments

   我们提出了一种NMT的对抗攻击方法AdvGen,通过translation loss来生成对抗样本。AdvGen被应用在encoding和decoding阶段。并利用生成的对抗样本提高了NMT模型的鲁棒性。

4. Framework

4.1 Neural Machine Translation

   NMT模型首先将输入$ x = x_1,…,x_I$ 映射成词向量$ e(x) = e(x_1),…,e(x_I)$ ,将其作为encoder的输入,得到对应的连续空间的隐藏层representation $ h$ 。之后,decoder的输入是$ z = z_1,…,z_J$ 和$ h$ ,输出是$ y = y_1,…,y_{J-1}$ 。实际上,$ z$ 是$ y$ 偏移后的版本,即$ z = ,y_1,…,y_{J-1}$ ,其中$ $ 表示开始标志,这说明decoder用到了句子之前的信息。NMT的输出为:

   NMT的loss为:

4.2 Approach

   NMT的攻击和防御在这个端到端的训练过程中执行。我们首先使用AdvGen生成对抗样本$ x’$ 来攻击NMT模型。之后使用AdvGen找到对抗目标输入$ z’$ 来提高NMT模型的鲁棒性。

4.2.1 Attack with Adversarial Source Inputs

   在NMT中,我们的对抗攻击要解决的目标模型为:

   要解决上面的问题是很难的,所以采用了贪心算法来解决。对于原始输入$ x$ ,我们要为单词$ x_i$ 找到一个可能的对抗单词$ x_i’$ ,即:

   论文中使用了语言模型的输出来进行候选替代单词的筛选,但论文中描述算法很乱,这里就不讲解。

1

4.2.2 Defense with Adversarial Target Inputs

   我们使用$ x’$ ,利用了上面的算法生成了$ z’$ ,将$ (x’,z’)$ 作为训练样本加入到训练集中,来提高模型的鲁棒性。

5.Result

4.1 Performance

   可以看出,经过对抗训练后,NMT模型的性能提升了

2

   使用对抗攻击后,模型的性能变差

3

6. Argument

7. Further research

二、Generating Fluent Adversarial Examples for Natural Languages

1. Paper Information

时间:2019年

关键词:Adversarial Attack,fluency,

论文位置:https://arxiv.org/pdf/2007.06174.pdf

引用:Huangzhao Zhang, Hao Zhou, Ning Miao, Lei Li: Generating Fluent Adversarial Examples for Natural Languages. ACL (1) 2019: 5564-5569

出处:Peking University, ByteDance AI Lab

2. Motivation

   由于文本的离散型,文本对抗样本难以利用梯度的信息,而梯度信息又十分重要。另外,对抗样本的流畅度通常是不够的,而不流畅的文本(对抗文本)会容易被分类器鉴别,而且使用他们进行对抗训练的效果也不是很好。而目前的方法,比如HotFlip翻转字符容易将一个词转换成毫无意义的单词,比如mood -> moop,而GA虽然生成了较为流畅的句子,但是效果也不够,而且没有使用梯度信息,效率较低。为了解决上述问题,有效率的生成流畅性高的对抗样本,我们提出了Metropolis-Hastingsattack(MHA)方法,通过进行 Metropolis-Hastings采样来解决上述的问题。

3. Main Arguments

   MH采样属于传统的MCMC采样方法,其是根据梯度信息来进行采样。另外,我们提出了两个MHA的变体,即黑盒MHA(b-MHA)和白盒MHA(w-MHA)

4. Framework

4.1 Metropolis-Hastings Sampling

   M-H采样是一种经典的马尔可夫链蒙特卡罗采样方法。给定一个Stationary distribution$ \pi(x)$transition proposal(从一个文本转变到另一个文本的依据)。M-H会根据分布$ \pi(x)$ 来生成样本。在每次迭代中,基于proposal分布$ g(x’|x)$ ,我们会给出将$ x$ 转变成$ x’$ 的proposal。该proposal是否被接受,需要依据下面的概率值:

   一旦该propsoal被接受,那么算法将跳到$ x’$ 上继续进行,否则留在$ x$ 上。

4.2 Black-Box Attack

   在黑盒攻击中,我们希望我们生成的样本满足三个要求:1、读起来要流畅,2、能欺骗分类器,3、尽可能少的调用分类器。

   对于Stationary distribution,我们可以这样设计:

   其中,$ LM(x)$ 表示对于预训练语言模型LM在句子$ x$ 上的概率值,$ C(\tilde{y}|x)$ 表示在victim model上句子$ x$ 在目标标签(错误标签)上的概率值。其中,$ LM(x)$ 保证了流畅性,$ C(\tilde{y}|x)$ 保证了攻击目标。

   对于Transition proposal,有三种word-level的转变操作,替换、插入和删除。我们使用Traversal indexing来记录要执行哪一个操作。假设第t次proposal中,MHA选择了第i个单词$ w_i$ 。那么,第t+1次proposal,选择的单词$ w^*$会是:(就是选择下一个单词)

   对于替换操作$ T_r^B(x’|x)$ ,我们的函数方程如公式3所示,其中$ w_m$ 是选中被替换的单词,$ Q$ 表示预训练的候选词集。插入操作$ T_i^B(x’|x)$ 包含两步,首先在该位置插入一个随机的单词,之后在该位置进行替换操作。对于删除操作$ T_d^B(x’|x)$ ,$ T_d^B(x’|x) =1 if x’ = x_{-m}$ ,其中$ x_{-m}$ 表示删除了第m个单词后的句子。否则,$ T_d^B(x’|x) = 0$ 。

   注意,$ x$ 表示操作前的文本,$ x’$ 表示操作后的文本。$ T^B(x’|x)$ 表示进行某项操作将$ x$ 转变成$ x’$ 的proposal值。

   而proposal分布$ g(x’|x)$ 是上述操作的权重和:

   其中,$ p_r,p_i,p_d$ 是预先定义的各种操作的权重。

   注意,该方法中候选词集是通过语言模型LM生成的,即根据分数$ S^B(w|x) = LM(w|x_{[1:m-1]}) · LM_b(w|x_{m+1:n})$ 。

4.3 White-Box Attack

   白盒攻击和黑盒攻击的区别在于候选词集的选择。

   我们根据分数$ S^W(w|x)$ 进行选择:

   其中,$ S$ 是余弦相似度函数,$ \tilde{L} = L(\tilde{y}|x,C)$(扰动)。$ e_m$ 表示第m个词$ w_m$ 的词向量,$ e$ 表示替换词$ w$ 的词向量。其中,梯度$ \frac{\partial \tilde{L}}{\partial e_m}$ 确定了扰动方向,$ e_m - e$ 表示了实际的运动方向。这使得,我们会朝着使损失函数最大的方向进行移动,这使得我们的方法效率会更高。

注意,在w-MHA中不进行插入和删除操作,因为很难求梯度。

5.Result

5.1 Adversarial Attack Performance

4

   其中PPL表示perplexity,即表示文本的流畅度,越小,困惑越低,流畅度越高。

5.2 Adversarial Training Performance

5

6

6. Argument

   该方法融合了替换、删除和插入操作,单独跟score-based的GA相比有点不太公平。主要是利用了语言模型选择候选词集,来提高对抗样本的可读性、流畅性。

7. Further research

三、Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency

1. Paper Information

时间:2019年

关键词:Adversarial Attack,Text Classfication,PWWS

论文位置:https://www.aclweb.org/anthology/P19-1103.pdf

引用:Shuhuai Ren, Yihe Deng, Kun He, Wanxiang Che: Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency. ACL (1) 2019: 1085-1097

出处:Huazhong University of Science and Technology

2. Motivation

   目前,文本对抗领域的难点在于保持词汇正确、语法正确、语义相似的前提下生成对抗样本。

3. Main Arguments

   基于同义词替换策略,本文引入了一种新的单词替换顺序,我们利用单词的重要程度和分类概率,提出了一种贪心算法,称之为probability weighted word saliency (PWWS) 。PWWS能够在比较低的替换率下实现攻击。分类概率的变化用来测量替换单词的攻击效果,词的saliency用来测量原始词对分类的影响程度。使用词saliency做权重的词概率变化值,来决定最终的替换词和替换顺序。

   一般的攻击策略会采用插入、删除、替换策略,但是采用了插入和删除后,为了保持语义上的相似性并避免人为的发现,它需要人工努力,例如在线搜索相关事实以进行插入。因此,本篇论文主要采用了替换策略,来实现自动生成,而不需要人力。

4. Framework

   在PWWS中,我们使用同义词进行替换,使用别的类别中命令实体集替换该样本中的命名实体。这需要解决两个问题:

  • 如何选择同义词和命名实体(NE)
  • 如何决定替换顺序

4.1 Word Substitution Strategy

   对于$ x$ 中的每一个单词$ w_i$ ,我们使用WoedNet来找到该单词的同义词集合$ \mathbb{L}_i \subseteq \mathbb{D} $ ,如果该单词是一个命名实体,那么,我们就将别的类别的命名实体$ NE_{adv}$ 加入到$ \mathbb{L}_i$ 中。之后,我们从$ \mathbb{L}_i$ 选择一个单词$ w’_i$ ,如果它使得分类概率发生了最大的改变,那么我们就替换他,即:

   所以,我们就解决了第一个问题。

   同时,我们得到了该词对分类的影响程度:

4.2 Replacement Order Strategy

   在输入样本中,不同的词对分类的影响程度不同。我们引入了word saliency来决定替换顺序。word saliency是指将该单词设为unkown后,输出概率的变化程度,即:

   我们为每一个单词计算他的word saliency,那么我们就得到了$ S(x) $ 。

   为了得到替换的优先度,我们需要考虑在替换后的分类概率以及每个词的word saliency。所以,我们为每个单词计算出了一个score,即:

   根据这个score,我们就得到了替换顺序,就解决了第二个问题,所以我们通过迭代的替换,就得到了对抗样本。

7

5.Result

5.1 Setup

  • 数据集:采用了IMDB、AG’s News、Yahoo! Answers
  • 分类器:Word-based CNN、Bi-directional LSTM、Char-based CNN、LSTM
  • 攻击策略:
    • Random:随机的选择同义词,然后进行替换直到分类结果发生改变。
    • Gradient:使用了FGSM的思想,选择同义词使得分类输出的而变化最大,即$ \Delta F(x) = F(x’) - F(x) \approx (x’_i - x_i) \frac{\partial F(x)}{\partial x_i}$ 。
    • Traversing in word order (TiWO):该方法是利用等式4来进行词的替换
    • Word Saliency (WS):该方法是基于等式6来排序,然后利用等式4进行替换

5.2 攻击成功率和替换率

8

5.3 迁移性

   在一个模型上生成对抗样本,送入以下三个模型中。

9

5.4 对抗训练

   利用PWWS生成对抗样本加入到数据集中,在原始样本和对抗样本下的成功率。

10

6. Argument

   本篇论文主要解决了两个问题,如何选词?先选哪个词?提出的priority策略是别的论文中的整合成策略。

7. Further research

文章作者: 白丁
文章链接: http://baidinghub.github.io/2021/03/01/%E6%96%87%E6%9C%AC%E5%AF%B9%E6%8A%97%E6%94%BB%E5%87%BB%E4%B9%8BWord-Level%E7%AC%94%E8%AE%B0%E7%B3%BB%E5%88%97%EF%BC%88%E4%B8%89%EF%BC%89/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BaiDing's blog
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论