APP下载

基于词替换的对抗文本生成研究

2022-11-03王晓娟

现代信息科技 2022年17期
关键词:排序语义样本

王晓娟

(安徽理工大学 计算机科学与工程学院,安徽 淮南 232001)

0 引 言

近年来,深度神经网络(Deep Neural Networks,DNNs)在众多领域得到了广泛应用,如计算机视觉,自然语言处理等。然而,大量的研究表明DNN容易受到对抗攻击,即通过在原始输入中添加微小的扰动误导DNN 做出错误预测。在广泛使用DNN 的自然语言处理(Natural Language Processing,NLP)领域,垃圾邮件过滤,恶意软件检测和情感分析等实用系统应用广泛,与此同时,其安全问题也越来越受关注。因此,对抗攻击的研究具有重要意义。

现有的文本对抗攻击方法按攻击时修改内容的粒度分为三类:字符级对抗攻击,词级对抗攻击以及句级对抗攻击。其中,字符级对抗攻击主要思路是改变单词中不起眼的字母,使单词在预测时失效,如Gao 等人通过替换、插入、删除、交换字符来构造对抗样本;句级对抗攻击主要是通过增加句子或者是对整个原始句子进行修改来构造对抗样本,如Wang 等人通过在段尾添加句子的方式构建对抗样本,以达到欺骗机器阅读理解模型的目的;词级对抗攻击主要是通过增删和替换单词来构造对抗样本,如Ren 等人和Jin 等人通过确定原始输入中单词的重要性分数,选择关键单词进行同义词替换的方式使目标模型做出错误预测。字符级对抗样本的构造往往会引入语法错误,容易被语法检查器识别;句级对抗样本扰动粒度较大,容易加剧与原始句子之间的语义相似度差距;相比之下,词级对抗攻击的扰动率相对较小且具有更少的语法错误。

现有的文本对抗攻击场景分为黑盒和白盒。其中,白盒攻击需要访问目标模型的参数,损失函数等构造对抗样本,这类攻击的计算成本很高,需要了解模型的内部细节,而这在大多数真实场景中是无法获得的。黑盒攻击仅使用目标模型预测的置信度分数或分类概率来构造对抗样本,相比较白盒攻击而言,黑盒攻击更具有现实价值。Ren 等人和Jin等人使用单词重要性分数来对单词进行排序,然后用相似的单词替换它们。这里的单词重要性分数排序通过观察依次对原始样本中的单词删除或用其他符号替换单词后目标模型置信度分数的变化来得到。这种方法存在明显的缺点:

(1)通过删除每个单词或用其他符号代替单词来排序,可能会改变原始输入的语义,导致不清楚目标模型置信度的变化是由于去掉单词引起的,还是由于修改了输入引起的;

(2)这种排序机制对于原始输入较长的情况,需要频繁访问目标模型,导致效率低下。

本文提出一种新的单词排序机制,通过训练替代模型计算单词重要性分数,并结合语义相似度分层采样后得到的目标模型决策概率差值对原始输入中的单词进行排序,然后对排序后的单词依次使用同义词进行替换,直到改变目标模型的预测结果。本文所使用的方法是基于黑盒攻击场景的词级文本对抗攻击,通过实验,本文在目标模型的访问频率上与以往的方法相比,大大降低,并且攻击成功率达到或超过之前的攻击方法。

1 方法

1.1 问题定义

针对上述问题,本文提出了一种适应黑盒场景的更加有效的单词排序和替换方法。具体而言,本文的方法主要包括两个步骤:

(1)单词排序,对输入=(,,…,x)中的重要单词进行选择并按其重要性程度进行降序排序;

(2)单词替换,对于步骤(1)中确定的重要单词进行同义词替换,生成对抗样本。本文所提方法的总体结构图如图1所示。

图1 总体结构图

1.2 单词排序

本文从输入 中单词本身对分类决策的影响以及替换同义词后对分类决策的影响两个角度出发,综合测量单词的重要程度后进行排序。如何确定单词排序的有效方式是本文探讨的重点内容。本文的方法是首先建立一个可解释的替代模型,获取单词本身的重要性分数,即单词重要性评分策略;然后对上述步骤中找到的重要单词进行同义词替换,根据语义相似度分层采样后,进而计算目标模型决策概率差值,即单词替换评分策略;最后,将上述两个步骤中得到的分数结合后,对单词进行降序排序。

1.2.1 单词重要性评分策略

黑盒场景相比较白盒更符合实际,而在黑盒场景下无法访问被攻击的目标模型的训练数据,本文使用文献[10]中的框架通过在类似的数据集上训练替代模型以达到模仿目标模型决策的目的。

将个单词的索引用表示,并且其对应的在中的子向量表示为X

其中∈ρXR,作为超参数进行调整,以找到使互信息(X;)最大化的。

1.2.2 单词替换评分策略

其中,Encoder( · )是一个通用句子编码器,用来对句子进行向量化;Sim( · )表示语义相似度函数;Coc( · )表示余弦相似度计算。

1.3 单词替换

合适的替换词应该满足以下标准:

(1)与原词具有相同的词性;

(2)符合上下文的语境;

接下来按照以下过程进行替换:

(1)为了保证语法正确和语义流畅,将x同义词集合中与x词性不同的单词过滤掉,将过滤后的同义词集'中的每一个单词c∈'与x进行替换,计算其与之间的语义相似度,过滤掉语义相似度低于阈值的同义词;

(2)依次判断过滤后的同义词集'中是否存在能够改变目标分类模型判断结果的单词,若存在,保留语义相似度最高的作为对抗样本。若预测结果不变,则保留类别置信度最低的同义词。按照单词排序顺序,重复执行过程1~ 2,直到目标分类模型判断结果发生改变。

2 实验

2.1 实验设置

本文在两个公开的文本分类任务数据集上验证了提出的方法的有效性:IMDB 数据集和Yelp 数据集。IMDB 数据集是一个二分类电影评论数据集,其中包括积极和消极两个类别,将25 000 条作为训练集,另外25 000 条评论作为测试集,评论的平均长度为215。Yelp 数据集也是一个二分类数据集,将560 000 个样本作为训练集,另外38 000 个样本作为测试集,样本平均长度为152。

本文将BERT 模型,WordLSTM 模型以及WordCNN 模型作为目标模型,即被攻击模型。与Jin 等人所提出的TextFooler 方法在众多评估指标上进行对比。与TextFooler方法的实验设置一致,从IMDB 和Yelp 的测试集中分别筛选1 000 条样本进行实验,将同义词数量设为50,语义相似度阈值=0.7。

本文将攻击后准确率,目标模型的平均访问次数,单词扰动率作为实验的评估指标。其中攻击后准确率(After-attack Accuracy,AAcc)指目标模型对于使用本文方法所生成对抗样本的分类准确率;平均访问次数(Average number of Queries,Avg-Queries)指原始样本成功转换为对抗样本所需要访问目标模型的平均次数;单词扰动率(Perturbed words percentage,Perturbed)用来衡量原始样本和对抗样本之间的相似度。这三个评估指标的值都是越低越好。

2.2 实验结果

如表1所示,与TextFooler 方法相比较,本文提出的方法在6 组实验中对抗攻击成功率超过或等于TextFooler 方法,并且本文方法均取得了更低的目标模型访问次数,尤其在平均长度较长的IMDB 数据集上效果更加明显,同时也证明了本文方法效率更高。

表1 在IMDB 和Yelp 数据集上实验结果对比

3 结 论

本文提出了一种通过训练替代模型计算单词重要性分数,并结合语义相似度分层采样后得到的目标模型决策概率差值对原始输入中的单词进行排序的方法。该方法对排序后的单词依次使用同义词进行替换,直到改变目标模型的预测结果,实验结果表明,本文方法可以以更少的目标模型访问次数构造对抗样本,是一种有效的对抗攻击方法。

猜你喜欢

排序语义样本
韩国语“容入-离析”关系表达及认知语义解释
恐怖排序
节日排序
直击高考中的用样本估计总体
随机微分方程的样本Lyapunov二次型估计
基于支持向量机的测厚仪CS值电压漂移故障判定及处理
七年级数学下册期末检测题(B)