Press "Enter" to skip to content

基于BERT生成对抗样本

论文《BAE:BERT-based Adversarial Examples for Text Classification》

 

地址:https://arxiv.org/abs/2004.01970

 

介绍

 

现在的文本分类模型受到对抗性样本的质疑。人类无法分辨原始文本经过扰动后的版本,这些版本被模型错误分类。最新的NLP工作使用基于规则的同义词生成对抗性样本的策略,这些策略可能会导致脱离原始语义和不自然的复杂文本替换,这会让人类十分容易的识别出来。因此,我们提出BAE,一种黑盒攻击,使用BERT的掩码语言模型生成对抗性示例。BAE通过替换和插入原始文本中的标记来遮蔽部分文本,并利用BERT-MLM为文本生成替代。通过自动评估和人类评价,表明BAE能够执行更强的攻击,与以前的工作相比,在生成对抗性样本的同时兼备语法和语义的连贯性。

 

贡献

 

最近研究表明对抗模型存在一个漏洞,一个输入的小改变会导致模型分类错误。NLP领域的对抗攻击比图像领域更具有挑战,这是由于NLP的输入是离散空间,语义还要保持一致。一个主要的瓶颈是基于梯度或生成器模型生成对抗性样本的方法,在NLP中的扰动是从连续嵌入空间到离散标记空间。

 

基于规则的同义词替换策略最近引起了很多的关注。TextFooler就是其中一个具有代表性的工作,然而它生成的对抗样本只是通过词嵌入考虑了词级别的相似度,而不是整个句子的语义,这会导致脱离上下文和不自然的替换,会非常容易被人类识别出来。看下面这个例子:

 

The restaurant service was poor

 

通过词级别的语义替换成“broke”,然而符合上下文语义的替换成“terrible”会更好的保留语义和语法的连贯性。

 

通过以上问题分析,本文提出一种基于BERT的对抗样本生成,使用BERT掩码语言模型替换单词以更好地适应英语的所有语境。另外,我们还提出在句子中插入新的词以提高抗攻击强度。

 

我们的工作发现,只需几个替换或者插入操作就可以极大地降低BERT分类器的准确性。而且通过人类评价表明,相较于TextFooler,BAE生成的对抗样本提高了语法的合理性。论文的贡献如下:

 

 

    1. 提出BAE,使用BERT-MLM来生成对抗样本;

 

    1. 通过插入/替换方式提出4个BAE 攻击模型,这些方式在7个文本分类数据集上超过了之前的基线模型;

 

    1. 通过人工评价,表明BAE生成的对抗样本更具有语法和语义上的一致性。

 

 

方法

 

BAE使用两种基于token级别的方式来生成对抗样本(1)替换token,(1)插入新的token。对于一些作用于模型最后输出类别的token,替换这些token,然后插入一个新的tokens,对模型输出最后的类别造成很强的影响。这个判断是基于这样一个事实,替换/插入tokens能够改变原始token周围的局部文本。我们通过删除token计算预测正确标签的概率,来估计每个token的重要性。

 

在token $t$上替换和插入操作是通过掩码或者插入一个掩码来实现。BERT-MLM是在一个约20亿单词语料上训练的语言模型,因此预测掩码标记是经过深入了解了文本的语法和上下文。

 

但BERT-MLM不能保证与原始文本的语义连贯性。通过以下示例说明:“the food was good”,替换单词”good”,BERT-MLM可能会预测成‘‘bad’’,很适合句子的语法和上下文,但改变了原始句子的语义,为了保证与原始文本有高度的语义一致性,我们过滤BERT-MLM预测的前K个标记集合,通过基于句子相似度得分的统一句子编码器。对于替换操作,我们额外过滤掉那些和原始token不是相同类别词性的单词。

 

如果多个标记替换掩码时导致错误分类,我们根据统一语义编码器计算选择对抗样本与原始样本最相似的一个,如果没有token导致错误分类,然后我们选择使预测概率减少最多的token。我们会迭代地降低这些token的重要性,直到攻击成功,或所有token都迭代结束(攻击失败)。

 

我们基于replace和insert,提出了4种攻击模式。每个token可以执行以下操作:

BAE-R:替换token t
BAE-I:在左边或右边插入t
BAE-R/I:要幺替换token t,要幺在token左边或右边插入t
BAE-R+I:替换token t,然后在token左边或右边插入t

结果

 

 

上图是在4个情感分类任务上生成对抗样本的自动评价,括号里表示的是从统一语义编码获得对抗样本和原始样本之间的平均语义相似度,就最大的测试准确度下降而言,最佳性能用黑体表示。

 

从图中可以看出,我们BAE攻击总是比基准模型的攻击更加有效,在测试集上的准确率获得了40%-80%的下降,具有更高的语义相似度。

 

TextFooler攻击有时比BERT分类器使用BAE-R攻击还有效,分析原因在于BERT-MLM分类器和BERT在微调前共享参数空间。使用BERT-MLM 预测token无法彻底改变BERT分类器学习的内部表示,阻碍它们的对抗性能力影响分类器的预测。

 

 

上图中是一个有效生成对抗性攻击的句子。所有的策略成功地改变了分类结果,但BAE攻击产生了比TextFooler更自然的示例。BERT-MLM预测的被遮蔽词更符合上下文,而TextFooler倾向于用复杂的同义词替换单词,这很容易被发现。此外,BAE插入token的额外自由度允许以更少的扰动达到成功的攻击目的。

 

人工评价结果如下:

 

 

我们从情感准确度和对抗样本的自然性两个角度评价,从图中可以看出,在两个指标上BAE-R和BAE-R+I攻击总是优于TextFooler,BAE-R优于BAE-R+I,这是由于后者插入token以加强攻击,牺牲的是文本自然性和情感的准确性。有趣的是,BAE-R+I比BAE-R获得了更高的平均语义相似度分数。原始数据和对抗样本之间的分数差距,说明了攻击的局限性,但BAE表明了朝着改进对抗样本迈出了重要的一步。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注