引 言
对抗攻击(也称为对抗样本生成)是近年来人工智能领域的一个新兴研究方向。它最初是为图像提出的,在计算机视觉领域取得了丰硕的研究成果,并提出了许多实用的攻击算法。最近,研究人员不断寻找新的应用场景,积极探索对抗攻击在其他领域的应用,文本对抗攻击取得了一些进展。
基本概念
对抗样本的概念最初是在2014年提出的,是指通过向原始样本数据添加有针对性的小干扰获得的一种人工结构样本。它不会影响人类的感知,但会使深度学习模型产生错误的判断[1]。对抗攻击是指构建对抗样本的过程。
图1展示了文本领域内实现对抗攻击的一个例子。语句(1)为原始样本,语句(2)为经过几个字符变换后得到的对抗样本。深度学习模型能正确地将原始样本判为正面评论,而将对抗样本误判为负面评论。而显然,这种微小扰动并不会影响人类的判断。
关于对抗样本存在的原因,一些学者认为是由于模型的高度非线性和过拟合,一些学者认为是由于模型的高度和线性性质,尚未达成共识,研究人员一般会根据自己的研究结果进行解释,每个人的观点往往只适用于局部现象。然而,无论是线性解释还是非线性解释,其本质都是由于模型没有学习完美的判断规则,模型的判断边界与真实的决策边界不一致。深度学习模型被广泛应用于自动学习特征的能力,但这种独立学习的数据不一定是我们想要的特征,模型对数据的理解与人类的理解有很大的不同。因此,模型学习的特征很可能不是人们理解事物的特征,即对抗样本的存在是深度学习模型的固有缺陷。
图1 文本领域的对抗攻击示例
文本数据VS图像数据
不同的文本数据和图像数据给文本领域的对抗攻击研究带来了巨大的挑战。
1. 离散VS连续(Discrete VS Continucous)
图像数据是连续的,容易编码为数值向量,预处理操作线性,微,通常使用lp模型数量测量原始样本与对抗样本之间的距离;文本数据是符号数据和离散数据。预处理操作非线性和微不足道。很难定义文本上的干扰和测量文本序列变化前后的差异。
2. 易感知VS不易感知(Preceivable VS Unperceivable)
人类通常不容易发现图像像素的小变化,因此图像对抗样本不会改变人类的判断,只会影响深度学习模型的判断结果;文本的变化很容易影响文本的可读性,并输入文本数据DNN通过拼写检查和语法检查来识别或更改模型,很可能导致攻击失败。
3. 富有语义VS无语义(Semanic VS Semanic-less)
像素的微小变化不会改变图像的语义,但对文本的干扰很容易改变单词和句子的语义。例如,干扰单个像素不会将图像从猫变成另一种动物,而删除否定词会改变句子的情绪。改变样本的语义与对抗样本的定义背道而驰。文本领域的对抗样本应保持数据样本的真实标签不变,同时误判深度学习模型。
针对上述挑战,一些学者首先将文本数据映射为连续数据,然后借鉴计算机视觉领域的一些对抗攻击算法生成对抗样本。一些学者通过插入、删除、替换等文本编辑操作,直接生成对抗样本。
算法分类
如图2所示,对抗攻击算法可以从不同的角度进行分类。
根据模型访问权限,可分为白盒攻击和黑盒攻击。白盒攻击需要获取模型的结构和参数;黑盒攻击不需要模型知识,只需访问模型以获得相应的输入输出。
根据攻击目标设置,可分为有目标攻击和无目标攻击。无目标攻击旨在使模型的输出偏离正确结果的任何错误预测;有目标攻击旨在使模型的输出成为特定结果。
根据添加扰动时操作的文本粒度,可分为字符级、单词级和句子级攻击。通过插入、删除或替换字符和交换字符顺序实现字符级攻击;单词级攻击主要通过替换单词实现,建立基于同义词、同义词和错误拼写的候选词库;句子级攻击主要通过文本复述或插入句子实现。
根据攻击策略可以分为Image-to-Text(借鉴图像领域的经典算法)、基于优化的攻击、基于重要性的攻击以及基于神经网络的攻击。部分学者通过将文本数据映射到连续空间,然后借鉴图像领域的一些经典算法如FGSM、JSMA等待,生成对抗样本;基于优化的攻击将对抗攻击表达为约束优化问题,利用梯度优化、遗传算法优化等现有优化技术;基于重要性的攻击通常首先使用梯度或文本特征设计评分函数锁定关键字,然后通过文本编辑添加干扰;基于神经网络的攻击训练自动学习对抗样本的特征,实现对抗样本的自动生成。
图2 文本领域对抗攻击算法分类机制
代表性算法
文本领域的常见任务包括文本分类、情感分析、机器翻译、阅读理解、问答系统、对话生成、文本包含等,其中文本分类和情感分析任务使用分类模型,其他任务使用seq2seq模型。对分类任务的研究较多,下面介绍了几种代表性算法,表1总结了其主要特点。
Papernot等人[3]首先研究了文本领域的对抗样本,并提出了生成对抗输入序列的概念。作者将图像对抗领域JSMA算法迁移到文本领域,利用计算图扩展技术评估与单词序列嵌入输入相关的前导数,构建优雅的可比矩阵,并从中学习FGSM对抗扰动的思想计算。由于词向量不能取任何实际值,作者建立了一个特定的词典来选择单词来替换原始序列中的随机单词。
Liang等人[4]提出TextFool首先,用不同的策略识别对白盒模型和黑盒模型分类有重要贡献的文本项目(HTP、HSP),然后通过插入、修改和删除这些重要的文本项目来生成对抗样本。作者从白盒模型中学习FGSM文本项的重要性是通过损失函数的梯度大小而不是梯度符号来估计的;对于黑盒模型,重要的文本项是通过阻挡文本的策略来识别的。
Ebrahimi 等人[5]提出HotFlip方法,基于one-hot表示的梯度来有效估计单个操作所造成的最大损失的变化,通过原子翻转操作(将一个字符替换为另一个字符)生成对抗样本,并通过一系列的字符翻转来支持插入和删除操作。考虑到梯度优化的局限性,Alzantot等人[6]在最优化技术中提出遗传算法(Genetic Algorithm,GA)生成语义和语法与原始样本相似的对抗样本。
Gao等人[7]提出DeepWordBug该方法将对抗样本的生成分为两个阶段。首先,根据文本数据特征设计的评分函数来识别关键Token,根据重要性进行排名;然后排名最高m个Token扰动分类结果通过简单的字符级操作(交换、替换、删除和插入)来改变。
Li等人[8]提出TextBugger方法是首先识别影响白盒和黑盒模型分类结果的重要词,然后选择插入、删除、字符交换、字符替换、单词替换等五种扰动策略。在白盒场景中,通过计算分类器的雅可比矩阵找到重要的单词;在黑盒场景中,首先根据分类信心找到重要的句子,然后使用评分函数找到重要的单词。
Gil 等人[9]提出HotFlip的派生方法DISTFLIP,该算法提取HotFlip优化过程中的知识训练神经网络模型模拟攻击,生成对抗样本,大大节省了运行时间,可以迁移到黑盒场景进行攻击。
Zhao等人[10]设计用于生成对抗样本的模型。首先,使用逆变器将原始数据映射到向量空间,在数据对应的密集向量空间中搜索添加扰动以获得对抗样本;然后使用GAN将向量空间中获得的对抗样本作为生成器映射回原始数据类型。
表1 文本对抗领域的代表性算法
小 结
如今,深度神经网络(DNN)广泛应用于计算机视觉、语音识别、自然语言处理等领域,涉及多项安全关键任务,基于对抗样本的存在DNN模型部署的系统带来了潜在的安全威胁。例如,攻击自动驾驶系统可以使其误识别路标,造成交通风险;攻击恶意软件探测器可以使恶意软件逃脱检测,并被识别为健康软件。
与图像领域相比,在文本领域生成对抗样本更具挑战性。在扰动离散数据的同时,需要保留有效的句法、语法和语义。的研究可以考虑以下几点:
(1)提高不可感知性。许多研究工作是通过翻转字符或改变单词来实现对文本的干扰。这种干扰更为明显。错误拼写的单词和语法错误的句子很容易被发现,也可以被语法检查软件检测到。因此,这种干扰很难攻击实际情况NLP系统。
(2)提高移植性。目前文本对抗的研究主要集中在理论模型上,很少涉及实际应用。对于现实世界NLP模型访问受到限制,可移植性是攻击的关键因素。
(3)实现自动化。大多数研究工作需要依靠人工操作来构建文本干扰,而且效率较低。例如,通过连接手动选择的无意义段落来攻击阅读理解系统,手动选择相似的单词。
参考文献
[1]Szegedy C,Zaremba W,Sutskever I,et al. Intriguing Properties of Neural Networks[C] // Proceedings of the 2th International Conference on Learning Representations,2014.
[2]Zhang W E,Sheng Q Z,Alhazmi A,et al. Adversarial Attacks on Deep Learning Models in Natural Language Processing: A Survey[J]. ACM Transactions on Intelligent Systems and Technology (TIST). 2020年,11(3)1-41.
[3]Papernot N,McDaniel P,Swami A,et al. Crafting Adversarial Input Sequences for Recurrent Neural Networks[C]// Proceedings of MILCOM 2016-2016 IEEE Military Communications Conference. IEEE,2016: 49-54.
[4]Liang B,Li H,Su M,et al. Deep Text Classification Can be Fooled[C]// Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence(IJCAI). 2018: 4208-4215.
[5]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.
[6]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.
[7]Gao J,Lanchantin J,Soffa M L,et al. Black-box Generation of Adversarial Text Sequences to Evade Deep Learning Classifiers[C]// Proceedings of 2018 IEEE Security and Privacy Workshops (SPW). IEEE,2018: 50-56.
[8]Li J,Ji S,Du T,et al. TextBugger: Generating Adversarial Text Against Real-world Applications[C]// Proceedings of the 26th Annual Network and Distributed System Security Symposium. 2019.
[9]Gil Y,Chai Y,Gorodissky O,et al. White-to-Black: Efficient Distillation of Black-Box Adversarial Attacks[C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies,Volume 1 (Long and Short Papers). 2019: 1373-1379.
[10]Zhao Z,Dua D,Singh S. Generating Natural Adversarial Examples[C]// Proceedings of the International Conference on Learning Representations. 2018.
【本文为51CTO专栏作者“中国保密协会科技分会”原创稿件,转载请联系原作者】
戳这里,看作者更好的文章