APP下载

面向自然语言处理领域的对抗攻击研究与展望

2022-03-23金志刚周峻毅何晓勇

信息安全研究 2022年3期
关键词:扰动样本分类

金志刚 周峻毅,2 何晓勇

1(天津大学电气自动化与信息工程学院 天津 300072)2(天津大学国际工程师学院 天津 300072) (zgjin@tju.edu.cn)

随着计算机的计算能力和处理性能的逐渐提高,作为人工智能分支的深度学习领域也得以迅速发展.深度学习相关方法在计算机视觉(CV)[1]、自然语言处理(NLP)[2]、动作识别(AR)[3]等方面的应用也越来越成熟.然而近期,有关研究人员发现,由于深度学习模型自身存在的可解释性差、高维线性等问题[4],深度学习模型极易受到对抗性扰动的影响.Szegedy等人[5]提出,攻击者通过向良性样本中掺加特定的、难以察觉的小幅度扰动,就可以使深度神经网络对良性样本的分类产生错误判断.在面向计算机视觉的对抗攻击方面,人类往往对掺加在图像样本中的对抗性扰动无法察觉[6];而在面向自然语言处理的对抗攻击中,由于文本数据具有上下文联系,当对抗性扰动出现时,往往会出现错误拼写、语义不通等问题,这些问题都有可能导致攻击失败.因此针对自然语言处理领域的对抗攻击相比于计算机视觉领域的对抗攻击更具有研究价值.

本文首先介绍深度学习中对抗攻击的基本概念;随后介绍计算机视觉中经典的对抗攻击算法并与NLP中对抗攻击方法进行对比;然后针对NLP中的各个下游任务,研究目前国内外有关自然语言处理模型对抗攻击前沿技术并进行简要分析;最后通过相关调研,讨论目前自然语言处理领域对抗攻击面临的挑战,并对未来的发展趋势进行展望.与其他国内外研究工作相比,本文的贡献主要在于依照NLP的不同研究领域调研目前最新的攻击方法,方便相关研究人员参考.

1 深度学习中的对抗攻击

1.1 对抗攻击的概念

对抗攻击就是在模型的训练阶段,向原始良性样本x中加入对抗性扰动δ,从而生成对抗样本x′.假设原始良性样本x对应的分类标签为y,那么对抗攻击是让对抗样本x′通过神经网络后以较高的置信度被分类到不属于y的类别中,用公式表达如下:

x′=x+δ,
f(x′)≠y,

(1)

其中函数f(x)为神经网络拟合出的高阶函数.

1.2 对抗攻击的分类

从模型信息来看,对抗攻击可以分为白盒攻击与黑盒攻击.白盒攻击是指攻击者完全掌握被攻击的神经网络模型的所有结构信息,包括训练数据集、参数信息、损失函数、激活函数等,攻击者可以通过这些信息设计出极具欺骗性的对抗攻击样本.黑盒攻击顾名思义就是攻击者完全不了解神经网络模型的内部结构信息,只能观测到模型的输入与输出结果[7].

从攻击目的来看,对抗攻击可以分为非定向攻击与定向攻击[8].非定向攻击是指使对抗样本经过神经网络后被分到任意错误的类别中.而定向攻击是指对抗样本经过神经网络后被分到指定的类别中.因此定向攻击比非定向攻击要求更严格.

从对抗样本粒度来看,对抗攻击可以分为细粒度攻击和粗粒度攻击.细粒度攻击指在良性样本中更小单位上添加扰动,如改变句子中单词的字符.粗粒度攻击指在良性样本中更宏观的角度上添加扰动,如改变整篇文章的某些关键句使文章情感发生改变.图1展示了对抗攻击的分类概况:

图1 对抗攻击分类

2 面向计算机视觉的对抗攻击与面向自然语言处理的对抗攻击

对抗攻击的概念兴起于2014年,起初大部分针对深度学习模型的对抗攻击算法都是面向计算机视觉领域的,因此本节主要研究公认的比较经典的面向计算机视觉的对抗攻击算法,并与自然语言处理的对抗攻击进行比对.

2.1 L-BFGS算法

L-BFGS算法由Szegedy等人[5]提出.其目标是在保证对抗样本被分到错误类别的情况下,使加入扰动的输入数据x′与未加入扰动的原始数据x之间的L2距离达到最小,即

(2)

其中x′=x+δ,y′为攻击的目标类别.显然在这样的约束条件下想要找到x′与x之间的L2距离最小值是比较困难的,因此作者采用箱型限制下的L-BFGS算法来解决这个问题,将式(2)第1个约束项用L-BFGS算法来近似,具体算法如下:

(3)

其中函数L(x′,y′)是目标模型损失函数.通过线性搜索找到符合条件的α值,然后再找到最小的δ.在这种算法下若想找到精确解,则要求优化函数为凸函数,但是大多神经网络拟合出的函数为非凸函数,因此该算法只能找到近似解.通过以上描述可知该算法是一种白盒、定向攻击.从实验效果看,该算法在攻击AlexNet[9],QuocNet[10]等模型的实验中都取得了不错的效果.

2.2 FGSM算法

FGSM算法由Goodfellow等人[4]提出,是一种典型的白盒、非定向攻击算法.虽然L-BFGS方法可以生成良好的对抗样本,但是由于其迭代计算所消耗的计算资源过多,因此Goodfellow等人[4]提出了基于梯度的一步攻击算法,该算法的核心思想是在输入的良性样本中加入损失函数对输入样本的梯度使损失函数的值变大,从而使输入图片被分到错误的类别中.FGSM算法中对抗性扰动可以用式(4)表示:

δ=ε·sgn(∇xL(x,y)),

(4)

其中ε为控制扰动大小的超参.L(x,y)为损失函数.该模型因为简单实用被大量研究人员研究,并基于FGSM算法进一步研究出多种改进算法,如在FGSM算法的基础上再在原始样本中添加随机扰动的R-FGSM算法[11]、采用迭代梯度优化的I-FGSM算法[12]等.

2.3 JSMA算法

JSMA算法由Papernot等人[13]提出.该算法利用雅可比矩阵生成对抗样本.雅可比矩阵可以对每个通过神经网络的输入分量给出输出灵敏度.对于一个输入x而言,其雅可比矩阵计算方法如下:

(5)

其中xi为输入x的第i个分量,fj为logit层输出的第j个分量(logit层的输出相当于神经网络最后softmax层的输入).从雅可比矩阵生成的对抗性显著图中可以找到对整个图片输出类别影响最大的输入分量xi,从而进一步完成攻击神经网络的目的.

2.4 C&W算法

C&W攻击算法由Carlini和Wagner[14]提出,是在L-BFGS算法的基础上改进而来的.该算法适用于L0,L2,L∞这3种度量方式,具体优化目标如下:

(6)

其中x′=x+δ,与L-BFGS算法不同的是,C&W攻击算法的损失函数是通过自定义的损失函数来计算x′与y′的差别,并且该损失函数中还加入了超参数α用于调节对抗样本的置信度范围.这种攻击算法也成功欺骗了鲁棒性很强的蒸馏模型.

2.5 自然语言处理领域对抗攻击的特殊性

对自然语言处理领域而言,对抗样本的生成方法往往不能直接使用上述算法.其主要原因如下:

1) 图像数据表达形式是连续的,而文本数据是离散的.对于图像而言,可以用L范数来衡量对抗样本与良性样本之间的距离,而文本数据的离散性导致目前找不到统一的方法来衡量扰动的大小.

2) 在图像数据上添加的微小扰动基本不会影响对图像类型的判断.而对于文本数据的变化人们往往是极其敏感的,例如替换一个完整句子中的某些字或单词会造成整句话语义不通的问题.这就有可能导致人们可以在输入文本数据之前人工检验到这些攻击样本,从而导致攻击失败.

3) 由于文本本身具有上下文关联性,因此一段文本中的某些词的变化很可能导致整段话的语义改变,进而很大程度影响深度学习模型的输出.

通过上述讨论可知在自然语言处理的对抗攻击中,如果想利用CV领域中的攻击算法,就必须附加更多的限制条件或者使用新算法来生成对抗样本.因此针对NLP对抗攻击的特殊性,可以进一步将自然语言处理中对抗攻击的类别进行细化,具体类别如图2所示:

图2 NLP领域对抗攻击分类

3 NLP各分支任务的对抗攻击实例

本节将依照NLP领域中的简单应用场景对现有的对抗攻击算法进行研究,研究领域主要涉及文本分类、命名实体识别、机器翻译.本节末尾总结所有文献方便进行各方法之间的对比.

3.1 文本分类任务的对抗攻击实例

文本分类是NLP领域的一个重要分支,其主要目的是将文本数据按一定的规则进行分类.文本分类可以解决类似于情感分析、意图识别等问题.在文本分类任务中为了生成人类可以理解且能够误导深度学习模型的对抗样本,Jin等人[15]提出了TextFooler黑盒攻击方法.该方法认为在文本分类任务中,文本中的关键词往往对分类结果有更大的影响,因此建立了一种选择机制来寻找对最终预测结果影响最大的单词.由于这是一种黑盒攻击,无法通过梯度变化来寻找关键词,故使用分数I来衡量某个词对最终输出的影响,具体计算公式如下:

(7)

wi为第i个单词,x/wi为输入文本去掉单词wi的序列.y为真实标签,y′为预测标签.通过上述方法找到关键词后,采用替换机制修改关键词完成对抗攻击.此外利用AG’s,NEWs,IMDB,MR数据集在BERT模型上进行攻击测试,结果证明TextFooler攻击方法可以使BERT模型在文本分类任务上的准确率普遍下降80%以上.

同样,在黑盒攻击方法中,Gao等人[16]提出DeepWordBug攻击方法.该方法可以生成具有人类不易观察、对深度学习模型欺骗度较高的对抗文本.通过设置打分函数衡量文本中哪些词对输出影响最大.打分函数由时间函数(TS)和时间尾函数(TTS)2部分组成.TS综合第i个词之前的信息对第i个词的重要性进行计算,TTS则对第i个词之后的信息进行计算.这样就可以综合上下文给出该词的重要性权重,具体计算过程如式(8)所示:

TS(xi)=F(x1,x2,…,xi-1,xi)-
F(x1,x2,…,xi-1),
TTS(xi)=F(xi,xi+1,xi+2,…,xn)-
F(xi+1,xi+2,…,xn),
CombinedScore=TS+λ(TTS).

(8)

与Textfooler方法不同的是,在找到关键词后,DeepWordBug方法会对关键词直接添加字符级别的小幅度扰动,如字符交换、字符删减等,这些扰动经过证明可以最小化扰动的编辑距离.通过实验证明,DeepWordBug攻击LSTM模型时,会使LSTM模型在IMDB数据集上的文本分类准确率从87%降到26%.

虽然简单的字符变化可以对现有的文本分类模型进行攻击,但这种攻击方式容易引起识别的拼写错误或语法错误.针对这个问题Ren等人[17]提出了一种基于概率加权词显著性的对抗攻击算法(PWWS).PWWS算法考虑了词的显著性和分类概率.用分类概率的变化值衡量替换词的攻击效果,而显著性则用来表示原词对分类的影响程度.首先通过WordNet构建不同单词类别的同义词集,对同属于该类别的单词wi在同义词集中逐个寻找替换单词,并计算找到对输出影响最大的替换词w*;然后利用显著性对原句中单词按分类的影响大小进行排序,从而完成对抗样本的制作.该方法的优势在于可以以较少的替换频率在最大程度上降低模型的分类准确率.在数据集选用IMDB时,PWWS算法攻击char-CNN与LSTM模型均会使模型的准确率下降到个位数.同时实验也证明了该攻击方法具有可迁移性,可以成功攻击其他文本分类领域的深度学习模型.

在以往对抗样本的生成策略上,研究人员[17-18]往往采用基于规则的同义词替换策略来生成对抗样本.但是这种生成对抗样本的策略往往局限于单词本身,这就导致某些词语在被替换时因为没有充分考虑上下文语境从而生成不自然的对抗样本.针对这个问题,Garg等人[19]受到预训练模型BERT[20]的启发,提出了基于BERT模型中屏蔽语言模型的对抗样本生成方法.该方法在替换当前词语时会充分考虑上下文语境,在屏蔽语言模型的基础上,通过在句子中添加新的token来增加攻击强度,图3为对抗样本生成过程的演示.通过实验证明,该攻击策略可以使BERT分类器在某些数据集上的文本分类任务准确率下降80%左右.

图3 基于BERT对抗样本(BAE)的生成示例

为了生成更自然的对抗样本,Song等人[21]使用对抗正则化自动编码器[22]设计自然攻击触发器,该编码器由一个自动编码器和生成式对抗网络组成,并在噪声向量空间上开发了一种基于梯度的搜索方法来识别具有良好攻击性能的触发器,目的是最大化下游分类器的预测损失.该搜索方法使用投影梯度下降法和L2范数正则化将噪声向量限定于一定范围内,来保持生成对抗样本语义上的自然性.该方法在文本分类任务中表现优异.

为了方便研究人员进行对抗攻击实验分析,Morris等人[23]开发了在Python环境下用于模拟对抗攻击实验的TextAttack框架.TextAttack采用的模块化设计能够轻松地利用现有的组件构造攻击,可实现诸如DeepWordBug,PWWS等16种对抗攻击,并支持各种模型和数据集,包括BERT和其他深度学习模型以及所有GLUE任务.TextAttack还包括数据增强和对抗训练模块,使用对抗攻击的组件提高模型的准确性和鲁棒性.TextAttack的开发大大提高了研究人员对文本分类领域对抗攻击的实验效率.该框架通用性高、灵活性好,适用于大部分文本分类对抗攻击场景.

3.2 命名实体识别任务的对抗攻击实例

命名实体识别任务指在一段给定文本中,通过一定的方式识别出文本中诸如地名、人名或组织这样的实体任务.Araujo等人[24]提出了针对医疗领域NER任务的对抗攻击方法,该方法是一种不关注模型内部结构的黑盒攻击方法.通过在输入数据中加入特定噪声,让模型输出错误的类别.加入的对抗性扰动分为2类:噪声对抗和同义对抗.噪声对抗是在原有良性数据中尝试加入类似人们粗心所造成的拼写错误,利用spacy模型搜索数据集中的医学术语实体,并随机产生拼写错误,这种拼写错误又可以分为单词顺序错误和键盘打字错误;同义对抗是将文本中的医疗实体通过PyMedTermino查找出对应的同义词进行替换.在使用BCD5CDR数据集的实验中,该攻击方法可以使BERT模型识别实体的能力大大下降,召回率下降20%左右.表1为作者给出的攻击样本实例:

表1 攻击样本示例

对于NER任务,输入通常是不满足无穷小扰动的离散独热向量.因此Wang等人[25]将研究重点放在如何对单词的词嵌入向量添加扰动上.在每次模型的训练过程中对词嵌入添加对抗性扰动的策略.对于模型的每个词嵌入都希望找到如下对抗性扰动:

(9)

(10)

这样就得到了对抗性扰动的大小.虽然这种对抗攻击的想法在NER领域比较新颖,但是Wang等人[25]更加关注对抗训练,对于该种对抗攻击策略的实验并没有进行展开.通过实验证明,在加入这种攻击策略以后,原有的NER模型在CoNLL-03,OntoNote 5.0等数据集上的消融实验中都表现出更好的鲁棒性,间接地证明了该对抗攻击策略的有效性.

NER模型通过文本中每个词的语义特征来识别出文本中的实体,因此Simoncini等人[26]认为在NER任务中,针对字符级别以及词级别的对抗攻击尤为重要.利用对抗攻击中的TextAttack框架开发出SeqAttack框架来实现命名实体识别任务下的对抗攻击.在SeqAttack框架中,对抗攻击的目标函数被重构为以下形式:

(11)

语言知识的复杂性导致在设计NLP领域对抗样本时往往比较困难.为此,Eger等人[27]提出了利用视觉攻击的方法.该方法主要有2个优势:设计这种攻击方法时不需要任何语言知识;该攻击方法是一种黑盒攻击,不需要了解模型内部的损失函数等信息.如将“idiot”改为“!di0t”就是一种典型的视觉攻击.通过引入视觉扰动器VIPER在视觉嵌入空间中随机替换相似字符来实现视觉攻击.视觉扰动器的构建参考3种字符嵌入空间:基于图像的字符嵌入空间(ICES)、基于描述的字符嵌入空间(DCES)和简单字符嵌入空间(ECES).ICES负责字符在深度学习系统中的连续性表示;DCES通过选择在同一情况下描述同一字母的所有字符来替换原有字母;ECES模拟了手动选择的简单视觉干扰,例如字母r变为γ.通过实验证明,当40%的输入字符受到干扰时,命名实体识别模型的性能会退化60%左右.

3.3 机器翻译领域的对抗攻击

自然语言处理中的机器翻译领域已经应用于部分工业产品中,因此研究其对抗攻击的意义相对较大.Ebrahimi等人[28]研究了字符级神经机器翻译(NMT)的对抗攻击,比对了黑盒攻击和新白盒攻击的区别.基于梯度的估计,对对抗操作进行排序,并且使用波束搜索方法约束贪婪搜索方法来搜索对抗样本,目的是利用删除等操作更改翻译单词从而不破坏神经网络翻译模型.通过实验证明在模型遭受攻击时,白盒攻击要比黑盒攻击危险得多.

Ebrahimi等人[28]的方法虽然有效却存在以下问题:由于计算梯度的开销很大,基于梯度估计来对对抗操作进行排序的效率不高,且在搜索对抗样本时还需要人工对搜索空间添加语义约束.为了解决这些问题,Zou等人[29]提出了利用强化学习方法,将识别器作为其环境中的终端信号,以进一步约束语义.该方法可以通过仅给定源数据来实现对抗性文本的生成,同时该方法也揭示了已给定性能指标的缺陷,如BLEU[30].此外可以针对任何给定的神经机器翻译模型进行攻击,如Transformer[31]模型.通过实验,该方法能够有效地生成具有保留原义的稳定对抗样本.同样,为了避免梯度计算影响机器翻译攻击效率,Idrissi等人[32]提出训练基于语言模型的对抗生成器来学习攻击模型.其关键是将屏蔽语言模型视作一个生成器[33].经过屏蔽语言模型对输入进行更改再送给翻译模型.该生成器在学习屏蔽语言模型的同时还产生数据,这会使机器翻译模型受到极大破坏.实验证明该攻击方法在机器翻译任务上比其他方法更加具有泛化性.

目前,机器翻译领域对抗攻击的常用范式存在以下缺陷:可以通过反转源数据上的语义来对NMT模型进行有效的攻击.同时,由于反义词与同义词一样,在嵌入空间中可能与被攻击词相邻,所以用相邻词替换词时完全有可能产生相反的语义,使得所提出的攻击方法无效.为了解决这个问题,Zhang等人[34]提出了一种很有前景的黑盒攻击方法,称为单词显著性加速本地搜索(WSLS).该方法主要分为2步:第1步设计了初始策略来得到一个初始例子;第2步使用一种局部搜索算法,通过单词显著性加速优化对抗样本.在实验部分,设计了评价机器翻译对抗攻击的新指标,利用往返翻译对攻击效果进行度量.实验结果表明WSLS攻击方法可以有效攻击目前流行的在线翻译软件,可移植性很强.

3.4 小 结

表2总结了本节研究文献的特点,方便相关人员研究比对.

表2 研究文献特点对比

续表2

4 有关自然语言处理领域对抗攻击的展望

4.1 面临的挑战

通过上述研究,可以发现目前自然语言处理领域对抗攻击中还存在以下问题:

1) 由于数据结构的不同,很多用于计算机视觉的对抗攻击方法无法直接应用到自然语言处理领域中,这就导致自然语言处理领域的对抗攻击研究进展相对缓慢.截至2019年,对抗攻击领域中有关研究自然语言处理对抗攻击的文章只占全部文章的3.02%[35].

2) 虽然在第2节中,很多方法都可以生成人类不易察觉的对抗文本,但是相对于对抗图像数据而言人类还是更容易察觉到文本的变化[36].只有当对抗攻击的目的是利用对抗样本来鲁棒被攻击的DNN模型时,它才是可被接受的.如果想要将这些攻击算法应用于诸如情感分析、阅读理解等工业场景时就需要进一步考虑如何设计出既不被感知又可以欺骗模型的对抗攻击策略.

3) 在黑盒攻击中,目前大多数攻击算法的泛化能力还远远不够,不能达到对同一NLP分支领域所有优秀模型全部攻击成功的目的.虽然某些方法证明了其攻击方法的泛化性,但这种泛化性是局部的,仅针对部分数据集或模型体现出泛化能力.

4) 一些对抗样本的生成方法还停留在人工删减或替换内容,这不仅低效,同时也无法达到攻击日益强大的深度学习模型的目的.

5) 白盒攻击往往比黑盒攻击更加难以防御,攻击效果也更显著,但是大多数白盒攻击在生成对抗样本时都需要经过复杂的计算[37],这就导致生成对抗样本的过程将极大消耗计算资源,从而无法达到实时攻击的要求.

4.2 展 望

未来,自然语言处理领域的对抗攻击可以从以下几个方面展开进一步探索:

1) 从攻击模型信息的角度看,由于黑盒攻击更偏向于在不知道模型信息的情况下生成欺骗性较高的对抗样本,其攻击的泛化性往往比白盒攻击更高.如果想设计出更加实时、普适的对抗攻击,那么针对自然语言处理领域的黑盒攻击将是相关研究人员的重点研究对象.

2) 从攻击目的来看,定向攻击虽然对NLP模型的伤害性更大,但由于各NLP分支任务所使用的数据集不同,导致设计此类攻击方案的复杂度远高于非定向攻击.所以针对自然语言处理领域的非定向攻击仍是研究热点.

3) 从对抗样本粒度来看,句级别的扰动相对于字符、词级别的扰动更具有破坏力,它可以在保证文本语义的情况下欺骗深度学习模型.这种攻击方式的隐蔽性更高,不易察觉.但目前针对句级别的扰动方法例如编码-重解码[38]、改变句义等方法还不能做到完全不改变原文语义.因此针对句级别的对抗扰动还应该进一步进行研究.

4) 从应用场景来看,目前大多数有关NLP对抗攻击的研究重点仍放在单一应用场景上.而随着多媒体信息的不断发展,跨模态深度学习模型所受到的威胁也在不断上升[39],有关NLP领域中复杂应用场景对抗攻击的研究更是少之又少,因此针对类似语音识别、视觉问答等领域的对抗攻击仍需要进一步研究.

5) 从研究的数据集来看,目前大多数研究针对的还是英文文本,而针对中文语言环境来设计对抗攻击的方案相对较少.由于中文自身的特殊性,很多字符级扰动对汉字而言往往是不成立的,比如在汉字上删减笔画等操作都会被轻易识别.因此针对中文文本的对抗攻击可以从声调、一词多义的角度出发来构建合适的攻击策略.

6) 从对抗训练的角度出发,研究对抗攻击实际上是为了构建鲁棒性更好的深度学习模型[40],因此就目前NLP领域对抗攻击的研究现状来看,未来该研究方向的潜力依旧很大.

5 总 结

本文通过对对抗攻击概念以及经典计算机视觉领域的对抗攻击经典算法的介绍,引出自然语言处理领域对抗攻击的研究.通过调查比对研究各领域内比较优秀的攻击算法,总结了自然语言处理领域对抗攻击所面临的挑战以及未来的发展趋势.本文的目的是给后续的研究人员提供参考,希望未来有关自然语言处理领域的对抗攻击研究可以更加深入并且实用.

猜你喜欢

扰动样本分类
一类五次哈密顿系统在四次扰动下的极限环分支(英文)
扰动作用下类岩石三轴蠕变变形特性试验研究
带扰动块的细长旋成体背部绕流数值模拟
用样本估计总体复习点拨
规划·样本
按需分类
教你一招:数的分类
说说分类那些事
随机微分方程的样本Lyapunov二次型估计
给塑料分分类吧