Press "Enter" to skip to content

技术心得丨一种有效攻击BERT等模型的方法

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

Is Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment

 

作者机构:MIT,香港大学,A* STAR

 

论文发表:AAAI2020

 

论文连接: https://link.zhihu.com/?targe…

 

概要:机器学习模型对对抗样本敏感,在对抗样本上效果下降明显。本文提出了一个生成对抗样本的模型,TEXTFOOLER。通过替换样本中的重要词汇获得对抗样本,在对抗样本上模型的效果急剧下降。该方法可以用于数据增广,提升模型的鲁棒性和泛化能力。

 

背景介绍

 

对抗样本攻击是指通过某种方法生成一些样本,已经训练好的模型在这些生成的对抗样本上的效果急剧下降,模型非常脆弱。对抗样本攻击在计算机视觉领域研究的比较多,但是文本领域相对较少。本文提出了一种对抗样本生成模型,TEXTFOOLER,可以有效的生成对抗样本,并且生成的样本在语法、语义上都比较合理,其计算复杂度是线性的。

 

方法

 

TEXTFOOLER

 

输入:是候选样本X、样本的标注标签Y、已经训练好的模型F、句子相似度计算模型Sim,句子相似度阈值、整个语料词典对应的词向量Emb

 

输出:候选样本的对抗样本,即新生成的样本。

 

主要分两步:

 

第一步:词重要性排序,即获得基于重要性分数排序的词集合W。

 

第二步:对抗样本生成,即基于集合W对原始样本进行词替换获得对抗样本。

 

1. 词重要性排序

 

目标是获得输入样本中每个词在模型预测过程中的重要性。

 

 

Equation 1 词重要性分数

 

词的重要性分数按上述公式计算,即如果对抗样本标签原始样本标签一样,则重要性分数等于模型预测值得差值,若标签不一样,则重要性分数为标签为原始标签的模型预测值差值和标签为预测标签的模型预测值差值之和。得到每个词的重要性分数后,基于NLTK和spaCy过滤掉停用词,获得最终的词重要性排序集合W。

 

2. 对抗样本生成

 

目标是找到最终的每个词的替换词并用替换词替换样本得到最终的对抗样本集合。

 

1)同义词提取:对W中的每个词wj,根据词向量从词典中找到Top N的同义词,并通过词性过滤后得到候选替换词集合CANDIDATES。

 

2)句子相似度检查:对CANDIDATES中每个词ck,用ck替换wj得到新的对抗样本 同时计算原始样本X和对抗样本之间的相似度 (通过Universal Sentence Encoder得到句子的向量表示,然后计算余弦距离作为相似度)。作为两个句子的语义相似度。相似度高于给定阈值的替换词放进最终的替换词候选集合FINCANDIDATES.

 

3)对于FINCANDIDATES的每个词,如果有候选词改变了模型的预测的类别,那幺选择句子相似度最大的词作为最终候选词。如果没有改变模型的预测类别,选择预测置信度最低的词作为最终的替换词。

 

4)重复1)-3)的操作。

 

 

图 1 生成的对抗样本的例子

 

实验结果

 

 

实验数据主要包含:

文本分类任务: 预测文本的某个标签。
文本蕴含任务: 预测文本对中两个句子的关系,即蕴含关系、矛盾关系或者中性。

 

图 2 在分类任务上的对抗结果

 

 

图 3 在文本蕴含上的对抗结果

 

结果:对测试集进行对抗样本替换后,准确率急剧下降,甚至到0.

 

和其他对抗模型比较

 

 

图 4 和其他对抗模型比较

 

结论:从替换词比例和攻击成功率(模型预测错误的比例)两个维度都比基线模型好。

 

人工评价

 

人工评价对抗样本的语法、人工标签、是否保留了原始样本的语义这三个维度。

 

结论:对抗样本语法合理,人工标签和原始样本标签在MR数据集上一致率达92%,句子语义相似度达0.91.

 

控制变量实验

 

通过控制变量的方法验证各个步骤对模型效果的影响。

 

词重要性排序

 

通过取消词重要性排序的步骤看该步骤对模型效果的影响。

 

 

图 5 取消词重要性排序的结果(Random)

 

结论:词重要性排序很重要。

 

语义相似度约束

 

通过取消候选替换词中的语义相似度约束看该步骤对模型效果的影响。

 

 

图 6 语义相似度约束对比 “/”前后表示有和无语义相似度约束的结果对比

 

结论:语义相似度约束对结果影响很大。

 

可迁移性

 

由一个模型生成的对抗样本是否可以使得其他模型出错。

 

 

图 7 对抗样本的可迁移性。行i,列j表示模型i生成的对抗样本在模型j上的准确率

 

结论:模型效果越好,基于该模型生成的对抗样本的可迁移性越高。

 

对抗训练

 

生成的对抗样本可以用于训练模型,增强模型的鲁棒性和泛化能力。

 

 

图 8 基于对抗样本的对抗训练结果

 

结论:对抗训练可显着提高模型效果。

 

启发:

 

 

    1. 可以通过此方法生成对抗样本可以用于数据增广,加入到训练数据中来增强模型的鲁棒性和泛化能力。

 

    1. 可通过文字的重要性词汇排序方法筛选标签相关的主题词汇,如构建情感词典、主题词挖掘、关键词挖掘等。

 

Be First to Comment

发表评论

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