复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法

⬆⬆⬆              点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

针对离散数据(例如文本)的对抗攻击比连续数据(例如图像)更具挑战性,因为很难使用基于梯度的方法生成对抗样本。当前成功的文本攻击方法通常在字符或单词级别上采用启发式替换策略,替换时难以保持语义一致性和语言流畅性。在本文中,作者提出了BERT-Attack,这是一种高质量且有效的方法,可以使用以BERT为例的MLM预训练语言模型来生成对抗性样本。作者使用BERT对抗其微调模型和其他预训练模型,以误导目标模型,使其预测错误。作者的方法在成功率和扰动百分比方面均优于最新的攻击策略,并且生成的对抗性样本很流利,并且在语义一致。而且作者的方法计算成本低,可以大规模生成。

本期AI TIME PhD直播间,我们有幸邀请到了复旦大学  NLP group2019级研究生李林阳分享他的观点。

复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法_第1张图片

复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法_第2张图片

李林阳:复旦大学  NLP group2019级研究生;导师为邱锡鹏教授;

一、针对文本任务的攻击

尽管深度学习取得了成功,但最近的研究发现神经网络容易受到对抗样本的攻击,这些对抗样本是对原始输入进行细微扰动而制成的。尽管对抗性样本对于人而言几乎不可察觉,但是它们会误导神经网络进行错误的预测。针对对抗性攻击的学习可以提升神经网络的可靠性和健壮性,在计算机视觉领域,攻击策略及其防御措施都得到了很好的探索,但由于语言的离散性,对文本的对抗性攻击较为困难,难以保证语法流利且语义一致。

复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法_第3张图片

表1 BERT-Attack方法生成样本的例子

当前对文本的成功攻击通常采用启发式规则来修改单词的字符,并用同义词替换单词。

之前的研究包括使用word embedding生成替换词;对原有句子的短语进行添加或删除;使用人工构建的规则进行词语替换。尽管上述方法取得了良好的效果,但在攻击成功率,语法正确性和语义一致性等方面,仍有很大的改进空间。此外,这些方法的替换策略通常很简单,受限于特定任务。

本文提出了一种有效且高质量的对抗样本生成方法:BERT-Attack,使用BERT作为生成器生成对抗样本。BERT-Attack的核心算法包括两个阶段:在给定输入序列中查找易受攻击的单词,然后用如BERT的生成器来生成易受攻击单词的替代词。BERT能够捕捉文本的上下文语义,因此生成的样本更为流畅且合理。作者将BERT这样的MLM语言模型用作生成器,并找到让BERT模型得到最大错误预测风险的扰动。另外,本文的方法只需要一次生成器前向,而且无需反复使用语言模型对对抗样本进行评分,速度有一定改进。表1展示了该攻击方法在几个数据集上的生成文本样例。

二、BERT-ATTACK攻击方法

负采样

复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法_第4张图片

图1. BERT-ATTACK替换策略一步的样例

本文提出BERT-Attack,它使用原始BERT模型制作对抗性样本以对抗微调的BERT模型。对抗样本的生成包括两个步骤:(1)找出针对目标模型的易受攻击的单词,(2)用语义相似且语法正确的单词替换它们,直到成功攻击为止。具体而言:

1.寻找易受攻击词(Vulnerable Words)

作者给句子中的每一个词一个评分,得分与易受攻击程度呈正比,该评分按照去掉该词的句子在判别器上的输出结果的扰动程度给出。作者使用目标模型(微调的BERT或其他神经模型)的logit输出作为判别器。易受攻击词定义为序列中对最终输出logit有重要影响的单词。令表示输入语句,表示目标模型输出的正确标签y的logit,重要性得分定义为

其中,

就是将该词替换成“[MASK]”。然后,对降序排名,获取其中的前百分之的词组成可替换词表,记为L。

2.BERT生成器的优点

找到易受攻击的单词后,将列表L中的单词一一替换,以寻找可能误导目标模型的干扰。以前的替换方法包括同义词词典,POS检查器,语义相似性检查器等。但是因为替换的时候只有词表,不考虑上下文,因此需要用传统语言模型给替换单词的句子打分。由于换一个词就得评价一次,时间成本比较高。

作者利用BERT进行单词替换,可确保所生成的句子相对流利且语法正确,还保留了大多数语义信息。此外,掩码语言模型的预测是上下文感知的,因此可以动态搜索扰动,而不是简单的同义词替换。而且针对一个词而言,仅通过一个前向即可产生候选文本,无需再用语言模型来对句子评分,提升了效率。

3.替换策略

复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法_第5张图片

图2 BERT-ATTACK替换算法

如图1所示,作者输入原句子给BERT,并根据BERT输出生成候选词。注意这里不用[MSAK]替换被攻击词语,其原因作者给出了如下解释:1. 有些词语替换后,和原句子几乎一样流畅但是语义可能变更。例如给定一个序列“I like the cat”,如果遮盖cat这个词,那么MLM模型很难预测原始单词cat,因为如“I like the dog”一样很流畅。2. MASK掉给定的单词后,每个候选词都需要运行一遍BERT前向,时间成本太高。

令M代表BERT模型,为原序列,是利用BERT的分词器分完词的序列,将H输入BERT中得到输出预测。使用top-K策略选择可能的替换词预测,其中K是超参数。作者遍历所有候选易攻击词表L生成替换词表。

由于BERT使用字节对编码(BPE)分词,候选词可能会被分开,因此还需要将所选单词与BERT中相应的子单词对齐。

针对未被分开的单个单词,作者使用相应的前K个预测候选逐一尝试替换,并使用NLTK过滤其中的停用词,另外对于情感分类任务候选词可能包括同义词和反义词,作者使用同义词词典过滤反义词。然后将替换完成的句子重新输入判别器,如果判别器给出与原label相反的判断那么输出该句子作为攻击句;否则,从筛选出的候选词中选择一个对logit影响最大的。

针对字词组(sub-word 应该不能翻译为字词组),由于无法直接获取其替代词,作者使用子词组合中所有词的预测中找到合适的词替代。作者首先使用MLM模型分析整个词组的易攻击程度,然后再选出词组的top-k组合。剩余过程与单个单词一致。

三、实验结果

负采样

3.1  数据集和评价指标

负采样

为了衡量所生成样本的质量,作者设计了几种评估指标:

●成功率(success rate):攻击样本的判别器准确率。

●扰动百分比(perturbed percentage)更改文本的占比。

●每个样本的查询数量(query number per sample)一个样本生成对抗样本的需要访问判别器的次数。

●语义相似度(semantic similarity)使用通用句子编码器(Universal Sentence Encoder)评价的句子相似度。

复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法_第6张图片

表2 实验结果

3.2  实验结果

负采样

如表2所示,BERT-Attack方法成功欺骗了其下游的微调模型。在文本分类和自然语言推断任务中,经过微调的BERT均无法正确地对生成的对抗样本进行分类,攻击后的平均准确度低于10%。同时,扰动百分比小于10%,明显小于以前的工作,BERT-Attack方法更有效且更不易察觉。查询数量也要少得多。

另外可以观察到,由于扰动百分比非常低,因此通常更容易攻击评论分类任务。BERT-Attack仅替换少数几个单词就可能误导判别器。由于平均序列长度相对较长,因此判别器倾向于仅按序列中的几个词进行判断,这不是人类预测的自然方式。因此,这些关键字的干扰将导致目标模型的预测不正确,从而揭示了该模型的脆弱性。

3.3人工验证

负采样

为了进一步评估生成的对抗性样本,作者人工评估了流利性,语法以及语义保留方面生成的样本的质量。

复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法_第7张图片

        表3 人工验证结果

作者要求三名标注人员对生成的对抗性样本和原始序列的混合句子的语法正确性进行评分(1-5分),然后将原始文本和对抗文本混在一起进行人工预测。在IMDB和MNLI数据集中,作者分别选择100个原始样本和对抗样本验证。对于IMDB,将多数类作为人类预测标签,对于MNLI,则使用标注人员之间的平均分数。从表2中可以看出,对抗性样本的语义分数和语法分数接近原始样本。MNLI任务数据长且更加复杂(存在句子对(sentence pair)之间,重复出现的词汇较多,而基于替换的对抗样本则破坏了这种相同词汇的对应关系),使标注人员难以正确预测,因此其准确性要比简单的句子分类任务低。作者同样做了大量消融实验,实验结果表明该对抗方法生成的样本迁徙性强,生成速度快。

总结

在这项工作中,作者提出了一种高质量有效的BERT-Attack方法,以使用BERT掩蔽语言模型(masked-LM)生成对抗性样本。实验结果表明,该方法在保持最小扰动的同时,取得了较高的成功率。然而,从屏蔽语言模型生成的候选者有时可能是反义词或与原始单词无关,从而导致语义损失。因此,增强语言模型以生成更多与语义相关的扰动可能是将来完善BERT-Attack的一种可能解决方案。

负采样

整理:李键铨

排版:杨梦蒗

审稿:李林阳

本周直播预告:

复旦大学李林阳:应用预训练模型实现对抗样本生成的高效方法_第8张图片

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你,请将简历等信息发至[email protected]

微信联系:AITIME_HY

 

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

(直播回放:https://b23.tv/WJcJaw)

(点击“阅读原文”下载本次报告ppt)

你可能感兴趣的:(算法,机器学习,人工智能,深度学习,自然语言处理)