0%

黑箱方法文本对抗样本生成



参考文章:

  1. https://zhuanlan.zhihu.com/p/113930556

摘要:论文旨在进行黑箱场景下的文本对抗样本生成。制定了一个新的打分策略以评估句子中的各个单词的重要性,再将最重要的单词进行字母级别的改变,进而在改变最小的情况下生成对抗样本。在垃圾邮件分类和IMDB影评分类的任务上使用了此方法,准确率分别从99%和87%降到了40%和26%。

1. 介绍

对这一问题进行形式化定义,即在添加较小扰动的条件下让分类器分类错误。

在这一大问题下,还有一些细分的问题。比如扰动的大小、是否让分类器犯特定类型的错误、黑箱或白箱的选择。

文本与图像不同,不能使用范数衡量改变大小,文本中句子也不等长,对于扰动的大小难以衡量。

贡献:提出了DeepWordBug算法,可在黑箱条件下生成简单高效的轻微扰动。

2. DeepWordBug算法

A. 循环神经网络

通过迭代结构处理序列数据,LSTM解决了梯度消失的问题。

B. 基于单词修改的对抗序列

一个单词序列可供更改的备选太多了,所以需要一个评分函数,找出序列中最为重要的单词。总共分为两步:第一步是使用评分函数确认序列中单词的重要程度,第二步是使用修改算法改变被选中的词。

C. 第一步:单词评分函数和排序

方法优点:黑箱状态下可迅速计算出各个单词对于序列预测结果的影响程度。

1) 时序评分

白箱状态下,可以根据模型的参数进行求导,即可对单词重要性评分了。黑箱状态下,只能根据去掉一个单词后分类器结果的差异来确定一个单词的重要性,公式如下。

2) 时序尾部分

时序评分的问题在于忽略了所删除单词的后续词的影响,所以增加了一个尾部时序评分,公式如下。

3) 综合得分

可以综合两种得分,使用一个超参数平衡两者,得到一个综合分数。

得到了综合分数,就能筛选出句子中最重要的前m个单词,来生成对抗样本。

D. 第二步:单词修改器

从前的工作有梯度方向的指示,而在黑箱环境中,论文选择使用制造拼写错误的单词来进行攻击。

文本分类器都是存在着”词典”的,”词典”是一个有限的集合,其大小远小于字母的排列组合情况。如果我们将序列中的重要单词进行错误拼写的话,模型会将这些词视为”unknown”。模型对于缺失了重要单词的序列是很容易判断失误的。

四种改变单词的方式:(1)使用随机字母进行替换。(2)随机删除一个字母。(3)在单词中插入一个随机字母。(4)交换两个临近字母。替换、删除、插入操作的编辑距离为1,交换操作的编辑距离为2。

当然,这样的方法不可能完全避免一个单词被改变成为另一个单词,但因为词典的稀疏性,这样的碰撞概率不大。

整体算法如下图所示。

  1. 对抗序列有效性实验

在两个NLP数据集上实验提出的算法,主要研究两个问题:使用了对抗样本后深度学习准确率是否下降?模型生成的对抗样本能够在不同分类器间通用吗?

A. 实验设置

数据集:影评数据集IMDB和安然垃圾邮件分类数据集。

目标深度模型:在单向和双向长短期记忆网络上都做了实验,

基线:实现下列攻击算法来生成对抗样本。

Projected FGSM——快速梯度符号法,属于白盒攻击。

Random + DeepWordBug Transformer——随机寻找单词,并攻击该单词。

论文方法:使用评分函数对句子中的每个单词进行评分,对分数较高的单词进行攻击。

平台:使用Keras框架和Titan显卡。

表现:攻击方法是由模型的准确率变化来决定的,可修改的单词数上限是个超参数。

B. 分类的实验结果

使用了综合两种评分方式和进行单词修改的方法取得了最好的效果,可见对于重点词的寻找和对重点词的攻击都很重要。

C. 对抗序列的可传递性

论文方法所创造出的的对抗样本在各个文本分类器中的泛化情况。

从表中可以看出,同样的对抗样本在不同的分类器中,都取得了一定效果,即使不同的分类器有不同的嵌入层。

  1. 与过去研究的联系

    曾经的种种研究:

(1) 随机选择句子中的一个单词,然后使用梯度方法对该单词向量加以扰动,再寻找到嵌入层与该单词最接近的单词进行替换。

(2) 根据梯度计算出序列中的重要单词,使用同义词、错拼词为单词建立备选词库,使用备选词库替换重要词。

(3) 根据单词在某一类别中的比例来确定单词的重要性,再使用启发式方法对重要单词来进行增删改的操作。

总的来说,曾经的方法未处于黑箱场景,且主要使用启发式方法。论文在黑箱环境下使用了较为简单的解决方法。

  1. 结论

论文在黑箱环境下提出了优于从前方法性能的方法,对抗样本与原样本的编辑距离小,且具备传递性。

参考文献

  1. Gao J, Lanchantin J, Soffa M L, et al. Black-Box Generation of Adversarial Text Sequences to Evade Deep Learning Classifiers[C]. ieee symposium on security and privacy, 2018: 50-56.