浅谈文本对抗攻击与防御方法(上篇)
“前言”
对抗攻击,也称作对抗样本生成,是由于模型判断边界与真实系统边界的不一致而导致的。对抗样本指的是一类通过对原始样本数据添加针对性的微小扰动而恶意构建的样本,其不会影响人类的感知判断,但会使深度学习模型产生错误的判断。顾名思义,文本对抗攻击即指针对文本数据展开的对抗攻击研究。本文分为上下两篇,简述文本对抗领域的攻击方法与防御方法。本篇为上篇,为读者介绍现有的文本对抗攻击方法。根据添加扰动时所操作的文本粒度,可以将现有文本对抗攻击算法划分为字符级攻击、单词级攻击和语句级攻击三类。
字符级攻击
基于字符级扰动的对抗攻击以原始输入中的字符为扰动对象,常用的扰动方法包括字符的插入、删除、替换、交换顺序等,扰动策略主要包括基于重要性排序的替换、随机替换、基于One-Hot编码的替换以及基于字形相似的替换等。字符级攻击示例如图1所示。
Gao等人[1]基于重要性排序策略进行扰动,其将对抗样本的生成分为两个阶段。首先使用针对文本数据特性设计的评分函数来识别关键的Token,按照重要性进行排序;然后对排名最高的m个Token通过交换、替换、删除和插入四种字符级操作进行扰动,干扰模型的预测结果。
Belinkov等人[2]通过随机替换策略进行扰动,提出自然噪声和合成噪声两种方式。对于自然噪声,从可用的编辑语料库中获取自然发生的错误(打字错误、拼写错误等),从而构建一个词汇替换查找表。对于合成噪声,通过交换、中间随机、完全随机和键盘错误四种策略更改字符顺序实现。
Ebrahimi等人[3]提出基于One-Hot编码的字符替换策略进行扰动,将字符操作表示为向量,通过方向导数来估计损失函数的变化,通过单个的原子翻转操作实现字符替换,通过一系列的翻转操作实现字符插入和删除。
Eger等人[4]提出基于字形相似的替换策略进行扰动,在视觉嵌入空间中将输入的字符随机替换为其视觉上最近的邻居。
图1 字符级攻击示例
单词级攻击
基于单词级扰动的对抗攻击以原始输入中的单词为扰动对象,主要方法为词替换,替换词选取策略包括基于词向量相似度的方法、基于语言模型的方法、基于同义词的方法以及基于义原的方法等。单词级攻击示例如图2所示。
Alzantot等人[5]以及Jin等人[6]基于词向量相似度选择替换词。Alzantot等人根据GloVe嵌入空间中的欧式距离计算目标单词的N个最近邻居,并过滤掉与所选单词的距离大于阈值的候选词,并使用反拟合(counter-fitting)方法[7]对GloVe向量进行后期处理,以确保候选词为同义词。Jin等人直接使用文献[7]所提出的反拟合词向量作为嵌入空间,根据余弦距离选出距离在阈值范围内的N个邻居作为候选词。
Zhang等人[8]基于语言模型分数选择替换词,作者基于Metropolis-Hastings抽样来生成对抗样本,引入预先训练的语言模型以保证样本的流畅性。Ren等人[9]基于同义词选择替换词,作者使用大型的英语词汇数据库WordNet词典来查找目标单词的同义词。Zang等人[10]基于义原选择替换词,作者使用义原知识库HowNet来查找目标单词的同义词。其中义原是人类语言的最小语义单元,一个单词的意思由义原的组合表示。
图2 单词级攻击示例
语句级攻击
基于语句级扰动的对抗攻击将整句原始输入视作扰动的对象,常用方法主要包括语句复述、编码后重新解码、添加无关句子等。语句级攻击示例如图3所示。
Ribeiro等人[11]以及Iyyer等人[12]通过复述(Paraphrasing)策略进行扰动。Ribeiro等提出了SEA(Semantically Equivalent Adversaries,语义等价攻击)方法,利用机器翻译模型生成输入句子的复述语句访问目标模型得到预测结果,直到改变原始预测;并且作者将基于SEA生成的对抗样本归纳得到SEAR(Semantically Equivalent Adversarial Rules,语义等价规则),以便理解和修复最具影响力的错误。
类似地,Iyyer等人[12]提出了SCPN(Syntactically Controlled Paraphrase Networks,句法控制的复述网络)方法,利用句法转换生成受控的文本复述语句。作者通过将句子和目标句法形式输入到编码器-解码器神经网络模型中,生成给定句子的所需句法的文本复述。具体地,该方法首先对原始句子进行编码,然后将通过反翻译生成的复述和目标句法树输入到解码器中,该解码器的输出是原始句子的目标复述。
Zhao等人[13]通过编码后重新解码的策略进行扰动,作者首先在数据对应的相应稠密向量空间中进行搜索添加扰动得到对抗样本,然后使用GAN作为生成模型将其映射回原始数据类型。
Jia等人[14]通过添加无关句子的策略进行扰动,采用拼接式方法来生成对抗样本,即在段落末尾添加一个新句子分散模型的注意力,同时保证不会改变问题和答案的语义。作者提出了两种方法来构造拼接句子,其一为ADDSENT,添加与问题相似的语法正确的句子;其二为ADDANY,添加任意的英文单词序列而不考虑语法。
图3 语句级攻击示例
已有研究比较
文本对抗样本需要满足以下三个性质:
(1)欺骗性:使目标DNN发生误判
(2)不可察觉性:扰动足够小且隐蔽,精心构建的样本不能引起人类观察者的注意。
(3)效用不变性:文本的语义应该保持不变,人类观察者能够轻松进行正确分类。
由上文所述三种不同类型的攻击所生成的对抗样本示例如表1所示。三种攻击均能满足对抗样本的欺骗性,达到较高的攻击成功率,但对于其他两个性质的性能表现有所差异。通过字符级攻击所生成的对抗样本破坏了原始输入的语法和自然性,往往会造成无效的单词和语法错误,很容易被人类发现,违反了不可察觉性。而通过语句级攻击所得到的对抗样本通常与原始输入数据的形式有较大的不同,对于效用不变性无法进行很好的控制。相比之下,基于单词级攻击所生成的对抗样本质量最高,能够很好地满足上述三个性质。对一句话中某些词进行同义替换一般不会影响这句话的语义,满足效用不变性;再加上利用语言模型进行控制,能够很好地保证所产生的对抗样本的通顺性、流畅性,从而也就满足不可察觉性[15]。
表1 文本对抗样本示例
未来展望
在以上几种攻击方法中,单词级攻击是目前主流的文本对抗攻击方法,其在攻击有效性和攻击质量方面具有良好的性能,现有最先进的单词级攻击方法SememePSO[10]在IMDB数据集上攻击BiLSTM时可以达到100%的成功率。但是在其他方面的性能仍有提升空间,可行的研究方向如下:
1. 提升可迁移性
良好的攻击方法应当能迁移到不同的应用场景和不同的受害者模型下使用,并在不同环境下均保持稳定的攻击成功率。具体来说,细分为两种情况:
(1)在同一应用场景下,适用于不同的受害者模型(目标DNN模型)。例如,在情感分析这一场景下,攻击方法应对基于LSTM、BERT等不同DNN构建的情感分析模型均能达到相同的攻击成功率。
(2)在受害者模型相同的情况下,适用于不同的应用场景。例如,攻击方法应对基于LSTM构建的情感分析模型与基于LSTM构建的垃圾邮件检测模型均能达到相同的攻击成功率。由于不同应用场景的数据特性有所不同,有些场景下的数据存在噪声,有些场景下的数据涉及词汇量大,迁移后的攻击性能往往会有所下降,甚至大幅降低。单词级攻击方法对攻击场景的适用性有待进一步加强。
2. 提升攻击效率
攻击效率即攻击速度的快慢,反映着对抗攻击的时间成本开销,是决定攻击方法是否能从实验室研究迁移到现实应用中的一个重要因素。单词级攻击的核心是确定哪个词需要被替换以及将其替换为什么词,其中被替换词的选择依赖于搜索算法,搜索算法的效率在很大程度上决定了攻击效率。目前单词级攻击使用的搜索算法主要有粒子群算法等[10]、遗传算法[5]、贪心算法[9]等,依赖于大量访问受害者模型获得反馈,从而导致攻击效率较慢。
小 结
在本篇文章中,我们将现有的文本对抗攻击方法分为字符级攻击、单词级攻击以及语句级攻击三种类别进行了介绍,分析了各类方法的性能表现,并对未来可行的研究方向给出了一些个人见解。在下篇中,我们将对针对文本对抗攻击的防御方法进行介绍。
参考文献
[1] Gao J, Lanchantin J, Soffa M L, et al. Black-box Generation of Adversarial Text Sequences to Evade Deep Learning Classifiers[C]//2018 IEEE Security and Privacy Workshops (SPW). IEEE, 2018: 50-56.
[2] Belinkov Y, Bisk Y. Synthetic and Natural Noise Both Break Neural Machine Translation[C]//Proceedings of International Conference on Learning Representations, 2018.
[3] Ebrahimi J, Rao A, Lowd D, et al. HotFlip: White-Box Adversarial Examples for Text Classification[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2018: 31-36.
[4] Eger S, Şahin G G, Rücklé A, et al. Text Processing Like Humans Do: Visually Attacking and Shielding NLP Systems[C]//Proceedings of NAACL-HLT. 2019: 1634-1647.
[5] Alzantot M, Sharma Y, Elgohary A, et al. Generating Natural Language Adversarial Examples[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018: 2890-2896.
[6] Jin D, Jin Z, Zhou J T, et al. Is BERT Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(05): 8018-8025.
[7] Mrkšić N, Séaghdha D, Thomson B, et al. Counter-fitting Word Vectors to Linguistic Constraints[C]//2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL HLT 2016-Proceedings of the Conference. 2016: 142-148.
[8] Zhang H, Zhou H, Miao N, et al. Generating Fluent Adversarial Examples for Natural Languages[C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. 2019: 5564-5569.
[9] Ren S, Deng Y, He K, et al. Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency[C]//Proceedings of the 57th annual meeting of the association for computational linguistics. 2019: 1085-1097.
[10] Zang Y, Qi F, Yang C, et al. Word-level Textual Adversarial Attacking as Combinatorial Optimization[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. 2020: 6066-6080.
[11] Ribeiro M T, Singh S, Guestrin C. Semantically Equivalent Adversarial Rules for Debugging NLP Models[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018: 856-865.
[12] Iyyer M, Wieting J, Gimpel K, et al. Adversarial Example Generation with Syntactically Controlled Paraphrase Networks[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). 2018: 1875-1885.
[13] Zhao Z, Dua D, Singh S. Generating Natural Adversarial Examples[C] //International Conference on Learning Representations. 2018.
[14] Jia R, Liang P. Adversarial Examples for Evaluating Reading Comprehension Systems[C]//Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. 2017: 2021-2031.
[15] https://mp.weixin.qq.com/s/8ZhRBvoADpsYoW3CJOam-A
中国保密协会
科学技术分会
长按扫码关注我们
作者:马瑜汝 大象无形
责编:夏璐璐
“
2020年精彩文章TOP5回顾
从一场全球关注的涉密会议谈起光纤窃听与防护美国应对新冠病毒在关键基础设施安全方面的建议信息产业自主生态建设综述
“
近期精彩文章回顾
预训练模型的过去、现在和将来——上篇
浅谈英国网络安全战略2016-2021实施进展(下)