文本对抗样本攻击1.文本对抗样本的特点文本对抗样本2017年第一次提出,研究目的包括评价深度学习中NLP模型的鲁棒性和稳定性,通过构造对抗样本进一步研究文本的多样特征,寻找NLP模型的防御和攻击方法等。相较图像对抗样本的充分研究,由于图片和文本数据内在的不同,用于图像的对抗攻击方法无法直接应用与文本数据上。首先,图像数据(例如像素值)是连续的,但文本数据是离散的。其次,仅仅对像素值进行微小的改变就可以造成图像数据的扰动,而且这种扰动是很难被人眼察觉的。但是对于文本的对抗攻击中,小的扰动很容易被察觉,但人类同样能“猜出”本来表达的意义。因此NLP模型需要对可辨识的特征鲁棒,而视觉只需要不太重要的特征鲁棒。目前文本对抗样本的研究集中于文本分类领域,在阅读理解和机器翻译中存在少量研究。基于某一应用的对抗样本方法无法直接使用于其他应用。针对各方法的迁移性研究尚少。文本对抗样本的防御方式主要采用模型对抗训练方式,即标识文本对抗样本的分类,重新训练模型。2.文本对抗样本的攻击方法文本对抗样本的攻击方式可以分为黑盒攻击和白盒攻击两类。黑盒攻击算法可以分为基于连接、基于编辑等方式,依赖于模型的问询。白盒攻击算法利用模型梯度,可以对文本在向量空间中进行语义方向的变化,将离散的文本修改变为函数优化问题。2.1HotFlip攻击HotFlip是一种通用于黑盒攻击和白盒攻击的算法,利用梯度进行有目标攻击。改变句子中一个单词的一个字母,按字母编码向量,使用梯度计算发现最影响语义的字母,改变这句话的主题分类偏向。算法模型如下:字母向量为中的第i个词中第j个字符的翻转可以用下面这个向量来表示:其中,-1和1指的是是字母表中第a和b个字符的位置。目标损失函数的梯度可以一阶近似为从这个向量的方向导数具体形式如下:2.2SamantaSamanta于2017年提出一种白盒攻击算法。按词语粒度,使用插入、替换、删除三种方式改变词语,生成对抗样本,同时保持语义不变。在选择需变化的目标词时,作者参考图像对抗样本生成方法,利用FGSM的概念来评估单词的重要性,目标词是对误导模型贡献最大的前k个词。在插入和替换词语时依靠外部字典。该评估计算使用后验概率,计算每个词wk在分类yi中的重要性。2.3Deepwordbug攻击Gaoetal.提出的算法DeepWordBug是一种基于编辑的方法。DeepWordBug适用于黑盒攻击,算法首先确定需要改变的关键词,然后产生难以被检测到的扰动。𝑥𝑖是输入的第i个单词,F是计算置信度的函数,随后根据修改策略,如交换,替换,删除和插入,对关键词进行修改。为了保持这些例子的可读性,作者使用了编辑距离,编辑距离的形式如下所示:2.4TextBugger攻击TextBuffer是一种通用于黑盒攻击和白盒攻击的算法。这是一种基于编辑的方法。在白盒方式中,通过雅可比矩阵找到最重要的单词。生成对抗样本时采用插入、删除、交换、替换视觉相似字符、替换词向量空间近邻词5种策略。在替换词向量空间近邻词中使用了语义保留技术,使用斯坦福提供的预先训练好的GloVe模型进行单词嵌入,将该单词替换为上下文感知的单词向量空间中的topk近邻。在黑盒方式中先找最重要的句子,然后通过打分函数找到最重要的单词,并按上述5个策略修改单词。2.5AddSent和AddAny攻击文本对抗样本方法由Liang.etal.首次提出,针对阅读理解应用。迷惑阅读理解模型,输出错误的问题答案。这是一种基于连接的黑盒算法。在原段落中添加扰动语句,使添加后的段落与原段落语义不冲突,也与问题的答案不冲突。扰动语句的构建采用使用两种算法,AddAny和AddSent算法。AddAny算法不考虑语法,从文章中和常用词中随机生成多个英语单词替换到现有句子中,并重复。AddSent算法构造与原问题句式相同的问题和对应答案,根据此问答生成扰动语句,插入段落。3.文本对抗样本的评估方法对抗样本的评价方法指两方面,对于添加扰动的评价和攻击结果的评价。对正常输入添加的过小的扰动η,对于一个健壮的模型,将不会得到攻击成功的错误结果。因此η不能太小,通常将有效扰动设置为约束范围ε内的最大值。在图像领域,这个约束范围在直观上表现为,一个扰动不会改变任何像素超过某个值。目前,在计算机视觉中常使用L2和L0等范数来控制生成对抗样本时的扰动,然而范数方法并不适用于离散的文本数据。对于文本对抗攻击来说,改变一个字或词,对人类的直观理解会造成很大的不同。文本领域的扰动需要同时考虑语法正确性、句法正确性和语义保留程度。评估攻击的有效性通常基于不同任务的性能指标。例如,分类任务等文本理解类任务具有诸如准确性、F1分数和AUC得分;文本生成类任务通常使用BLEU,NIST,METEOR,TER等评价方式。当对抗样本攻击文本生成类应用时,很难将攻击效果与生成效果结合。Michel等人在其最新的研究中提出一种,针对机器翻译的攻击评估方法,利用文本相似度计算方法,计算输入文本的相似性,并计算输出的翻译文本在扰动前和扰动后的距离,以此计算攻击的trade-off。另外对于黑盒方法,有时需经过多次修改获得足以达到攻击效果的对抗样本,如基于编辑的算法。算法对对抗样本的优化次数也是评价算法需要考虑的部分。