论文阅读-《Towards a Robust Deep Neural Network in Texts: A Survey》
论文下载地址:https://arxiv.org/pdf/2004.13820v1.pdf
摘要
深度神经网络(DNN)在各种任务(例如图像分类,语音识别和自然语言处理)中均取得了显著成功。但是,研究表明,DNN模型容易受到对抗性示例的攻击,这些示例会通过在正常输入中添加无法察觉的扰动而导致错误的预测。关于图像领域对抗性例子的研究已经得到了很好的研究,但是在文本上,研究还不够,更不用说对该领域进行全面的调查了。在本文中,我们旨在对文本中的对抗攻击和相应的缓解策略提供全面的了解。具体来说,我们首先从不同的自然语言处理(NLP)任务的角度对文本进行对抗性攻击和防御的分类,然后介绍如何通过测试和验证来构建强大的DNN模型。最后,我们在文中讨论了对抗性攻击和防御的现有挑战,并提出了这一新兴领域的未来研究方向。
引言
如今,DNN已显示出解决各种领域中大量重大问题的能力,例如计算机视觉[1],[2],音频[3],[4]和自然语言处理[5],[6]。由于它们的巨大成功,基于DNN的系统被广泛部署在物理世界中,包括许多安全关键领域[7] – [11]。然而,塞格迪等。 [12]首先发现了一个有趣的事实,即通过添加不易察觉的扰动来制作输入可以轻易使DNN蒙蔽。这些经过修改的输入称为对抗示例,它们可能给基于DNN的系统带来潜在的安全威胁。因此,近年来,它们已成为人工智能和安全领域的热点问题,相关研究也急剧增加。最近,在许多领域都发现了对抗性示例,从图像到其他领域都有所不同。研究表明,信号识别系统[13],对象识别系统[14],音频识别或控制系统[15]-[17],恶意软件检测系统[18],[19]和情感分析系统[20]都是容易受到对抗性例子的攻击。图1是对ParallelDots1情绪分析API的对抗攻击,我们使用的对抗示例来自[21]的工作。在图1中,我们可以看到,当原始样本中的“ I”被“ Excellent”代替时,预测结果从负变为正。
在NLP中,DNN被广泛用于许多基本任务,例如文本分类,机器翻译和问题解答,但是在面对对抗性示例时,这些基于DNN的系统的性能也显着下降。 Papernot等。 [21]首先,攻击者可以通过在文本中添加噪音来生成对抗性示例,这可能会使分类器分类错误。然后,在文本中的对抗示例攻击和防御之间开始起起手臂,从而导致该领域的许多研究。这些研究主要集中于产生有效的对抗实例,并介绍相应的防御策略。其中一些[22],[23]提出了黑匣子攻击,而主要对象是文本分类系统[20],[22] – [26]。另外,阅读理解[27],自然语言推理(NLI)[28]和机器翻译系统[29],[30]也容易受到对抗性例子的攻击。表1总结了不同NLP任务中有关对抗性攻击的现有工作。
文本中的对抗性示例也给用户带来了一些潜在的安全隐患,因为已部署了许多基于DNN的文本相关系统来提供服务(如图1所示)。在现实世界中,用户在购物,饮食或观看电影时,都倾向于通过阅读产品或服务的评论来获取建议。因此,一些应用根据历史评论和情感分析技术为用户提供推荐服务[38]。带有推荐分数的相应项目将同时给出。分数越高,用户接受它的可能性就越大。不幸的是,攻击者可能会根据用户的真实评论来生成对抗性示例,以涂抹竞争对手或对次品提供恶意建议。特定产品的推荐分数可以通过有意制作的评论手动控制。此外,用于检测恶意信息的系统[39]-[41]也受到对抗示例的威胁。因此,研究人员已经非常关注对抗性例子引起的安全性问题[42],[43]。许多作品研究了对抗性攻击和防御,旨在探索什么是对抗性示例[12],[44]-[46],它们为什么存在,它们如何感染DNN模型的行为以及如何解决此安全性问题。我们计算了近年来的对抗性示例论文的数量,如图2所示。最后一个统计时间是2019年11月底。在图2中,橙色的代表对抗文本的研究,蓝色的代表对抗文本的研究。 Carlini [47]收集的有关图像,音频,文本等对抗性示例的论文。我们可以看到,在过去三年中,相关出版物的数量急剧增加,这引起了研究人员的极大关注。但是,对文本的研究很少作为前沿领域,因此需要对此进行更多的关注。
由于对抗性例子引起的安全和隐私问题,回顾它们的快速发展具有重要意义。在图像域[45],[48]-[52]中有几项调查,但在文本[53]-[55]中却很少。 [53],[54]中的作品部分与对抗文本有关。其余[55]比较图像域中的攻击方法,并描述了如何在文本中实施对抗性攻击。这些调查主要集中于对抗性攻击和防御,但尚无系统的评估来构建可靠的DNN模型。在本文中,我们解释了对抗性示例的存在,并分析了如何在各种NLP任务中进行攻击和防御,旨在系统地理解对抗性示例,以在文本中构建健壮的DNN模型。本文的主要贡献概述如下。
•本文对文本中的对抗性示例进行了全面的调查,这些示例在安全性,人工智能,自然语言处理和软件工程等不同领域发布。
•通过考虑特定的NLP任务,在文本中提出对抗性攻击和防御,并引入各种度量指标来衡量对抗性文本。我们还将讨论如何通过测试和验证来提高DNN的鲁棒性,以在文本中构建鲁棒的DNN模型。
•我们注意到研究工作的分配存在明显的不平衡:在我们收集的47篇论文中,其中三篇涉及测试和验证,只有一篇专门针对防御,其余涉及攻击。另外,在对抗性例子中,只有一篇论文研究速度的因素。
•我们通过比较一些具有代表性的作品和相同的数据集来回答一个基本问题,即哪种进攻或防御方法更好。我们提出了一些对抗性例子的一般观察,并讨论了现有的挑战。最后,我们还提出了一些可行的方向,并提出了促进和促进进一步研究的建议。
前提
在本节中,我们将简要介绍DNN,然后进行公式描述,广告示例解释,一般分类,评估以及文本中的对应数据集。
1、深度神经网络
深度神经网络是一种网络拓扑,与一般的神经网络相比,它可以学习更复杂,更抽象的高级特征[56]。 DNN模型通常由一个输入层,几个隐藏层和一个输出层组成。 它们每个都由多个单元组成。 此外,通常通过将输出映射到概率分布,将softmax图层添加到DNN模型中进行分类。 图3显示了一些DNN模型,包括递归神经网络(RNN),长期短期记忆(LSTM)[57]和门控递归单元(GRU)[58],它们可以在文本和图像域中使用。
但是与在图像域中使用这些模型不同,向它们添加了一个额外的嵌入层来处理文本中的数据,因为在学习之前需要将原始文本转换为矢量。 这个过程称为词嵌入,旨在表示实值连续向量空间中词的理想语义空间[59]。 常用的嵌入方法是one-hot,n-gram [60]和word2vec [61]。 One-hot编码是其维数等于整个词汇表的大小一种技术,因此通常会产生很大且非常稀疏的向量[62]。 n-gram模型是一种概率语言模型,用于以前一个单词的形式预测下一个单词,该模型缺乏长期依赖性。 从原始文本中学习,Word2vec在低维语义空间中提供了最佳表示形式[63]。 它包括两个体系结构:连续词袋(CBOW)和skip-gram。 Word2vec是目前最常用的词嵌入方法。
公式说明
为了更直观地理解这些定义,我们给出了有关DNN的一些公式描述,对抗性示例以及模型的鲁棒性。
DNN。 DNN可以表示为函数F:X→Y,它从输入集X映射到Y。Y是k类的标签集,如{1,2,...,k}。 对于样本x∈X,它由F正确地分类为真标签y,即F(x)= y。
对抗性例子。 攻击者旨在在x中添加小的扰动ε来生成对抗性示例x',从而使F(x')= y'(y̸= y'),其中∥ε∥<δ。 δ是限制摄动大小的阈值。 同时,好的X'不仅应该愚弄F,而且对于人类来说应该是不可感知的,它可以根据对抗目标[64]来适应变化,并可以抵抗现有防御。 因此,附加了约束条件(例如,语义相似性)以使x’与x无法区分。
鲁棒性。 健壮的DNN不应由于其输入的微小变化而改变其输出[65]。 因此,在稳健模型中,对抗性示例x'的预测应为y,而不是y',即F(x')= y。 增强模型鲁棒性的防御方法是增加ε的容差,以使DNN正常运行。
对抗性示例
由于对抗性示例的问题非常严重,因此出现了一个问题:为什么DNN中存在对抗性示例?自从发现对抗性例子以来,研究人员一直在探索它们的存在。如今,关于它们的存在有两个要点。一种是由于DNN的线性结构,这很可能导致错误的预测。 Goodfellow等。 [44]声称对抗性例子的主要原因是DNN的线性特征。尽管非线性**函数是DNN的主要部分,但从某种意义上讲它们是线性的。图4显示了一些主要的**功能,包括tanh,Sigmoid,relu [66]和ELU2 [67]。在图4中,我们可以看到这些函数非常分段线性。此外,还存在其他线性结构,例如每层的连接和卷积计算。线性结构的缺点是,即使没有训练数据,分类也可以随着远离决策边界而进行分类。但是,在这些地方通常会做出错误的预测,因此可能存在对抗性示例。另一种解释是,对抗性示例是根据数据的非鲁棒性特征生成的。伊利亚斯等。 [68]宣称,“对抗性漏洞是我们的模型对数据中的特征普遍敏感的直接结果。”通过一系列实验,他们得出的结论是,对抗性示例不是bugs,而是特征。如果预测特征存在于标准分类任务中,则可以分为鲁棒性和非鲁棒性。它们都用于预测预定义的真相标签。但是,可以在非鲁棒性特征上添加小扰动,以使最终预测不正确。因此,对抗性示例无论出现在图像,文本还是其他领域。
生成分类对抗示例
图5是对抗性攻击和防御的一般分类。 分类信息是从相关文献中总结出来的,包括图像,文本,视频和音频。
1、对抗攻击的分类
对抗攻击可以在白盒和黑盒场景中进行。在白盒方案中,对手可以完全访问目标模型,并且他们可以通过使用模型的架构,参数和权重来获得出色的对抗示例,这些模型的性能,效果和权重通常比黑盒更好攻击。在黑盒方案中,对手对目标模型不了解或几乎不了解(例如,logits3)。他们通常训练替代模型,并利用对抗性示例的可传递性[44] [69]进行黑匣子攻击。此外,如果可以查询目标模型,还有另一种进行黑盒攻击的方法。对于基于查询的方法,对手通过在每次查询后观察输出来修改输入,然后重复该过程直到获得对手示例。
根据对手的目的,对手的攻击可分为针对性攻击和非针对性攻击。在有针对性的攻击中,将生成的对抗示例x'故意分类为类别t,这是对手的目标。该过程主要依赖于增加类t的置信度得分(即logit或softmax层的输出)。在非针对性攻击中,对手仅旨在欺骗模型。结果y’可以是y以外的任何类别。与针对性攻击相反,非针对性攻击通过降低正确类别y的置信度得分来进行操作。
在文本中,还有另一种按对抗性文本对攻击进行分类的方法,如图6所示。根据修改后的对象,可以将它们分为字符级,单词级和句子级攻击。字符级攻击针对字符,包括字母,特殊符号和数字。与字符级攻击不同,单词级攻击通过同义词,错字,特定类型的关键字等对单词进行修改。目前,句子级攻击的方法是将精心制作的句子添加到输入中,例如[26]的作品, [27]。
防御对抗攻击的分类法
受[70]的启发,防御的目标是保护基于DNN的系统免受对抗性攻击,并评估在最坏情况下这些系统的鲁棒性。 对于前者,防御者试图检测对抗性示例并将其从DNN模型中排除。 后者是防御者通过各种方式训练了模型,以增强其健壮性以使攻击失败。 因此,防御可以分为检测和模型增强。 检测的一般方法是检测输入。 另一个是通过增强DNN在训练过程中的健壮性来实现的,包括对抗训练,更改模型的损失函数,测试和验证方法。 在文本中,拼写检查和对抗训练是防御对抗攻击的两种主要方法。 拼写检查是NLP中的一种特殊检测方法,另一种是在图像,文本,音频等中使用的通用方法。
对抗性示例的有效性评估
对抗示例的性能评估是一个开放式问题,它反映了欺骗DNN的能力。 研究人员使用了不同的标准来评估其性能。 据我们所知,研究人员通常根据准确率或错误率评估对目标模型的攻击。
•准确率:是指输入上正确识别的比率。 准确率越低,对抗示例越有效。
•错误率:这是输入上错误识别的比率,与准确率相反。 错误率越高,对抗示例越有效。
一些研究人员更喜欢利用攻击前后的准确性之间的差异,因为它可以更直观地显示效果。 这些评估方法也用于防御。
不可感知度
在对抗性攻击中,基本的假设是,人眼看不见对抗示例。 L0 [71]-[73],L2 [73]-[76]和L∞[12],[44],[ 76] – [79]在图像域中。 不幸的是,这些度量标准不能直接应用于文本。 在本节中,我们首先在图像域中提供一些指标,然后在文本中给出一些指标。采取了许多度量标准来测量对抗性示例与原始示例之间的感知相似度,例如图像领域采用L0、L2、L∞ 。不幸的是,这些度量标准不能直接应用于文本。 在本节中,我们首先在图像域中提供一些指标,然后在文本中给出一些指标。
图像领域指标
在图像领域,最近的研究采用Lp距离来量化对抗示例与原始示例之间的不可感知性和相似性。 Lp距离的广义项如公式(1)所示:
△c表示扰动。 c'i和ci分别是n维向量c⃗'和⃗c中的第i个因子。 公式(1)表示一系列距离,其中p可以为L0、L2,L∞等。 特别地,当p等于零时,∥△c||0=求和bool(ci̸= 0)。 bool是具有0或1值的逻辑函数。 在图像域中,L0,L2和L∞是衡量对抗性示例的三个最常用准则。
•L0距离可评估修改前后的像素变化数量。 看起来像是编辑距离,但它不能直接在文本中使用。 文本中单词更改的结果是多种多样的。 即使它们的L0距离相等,它们中的一些与原始单词相似,而另一些则可能相反。
•L2表示欧几里得距离。 原始的欧几里得距离是在欧几里得空间中从一个点到另一个点的直线。 作为图像,文本或其他图像到此空间的映射,它充当度量两个对象(表示为矢量)之间相似度的度量。
- L∞距离衡量最大变化,L∞如公式(2)所示
max是选择最大因子的函数。 尽管L∞距离被认为是图像中的最佳距离度量,但在文本中可能会失败。 更改的单词可能在预训练词典中不存在。 因此,它们被认为是未知单词,并且它们的单词向量也是未知的。 结果,L∞距离难以计算。
还有其他度量(例如,结构相似度[80],摄动灵敏度[81])是图像的典型方法。 由于数据类型不同,它们也不能直接在文本中使用,这导致对抗示例的生成方法不同。 因此,文本中需要可用的度量标准来保证对抗性示例的质量。
文本领域指标
除了不可感知性之外,文本中的一个好的对抗性示例还必须传达与原始示例相同的语义,因此需要度量标准来确保这种情况。 在下面的部分中,我们描述在对抗文本的相关研究中使用的一些度量。
1、欧氏距离。 对于两个给定的单词向量m⃗=(m1,m2,...,mk)和⃗n=(n1,n2,...,nk),它们的欧式距离如公式(3)所示:
其中mi和ni分别是k维向量中的第i个因子。 距离越短,它们越相似。 但是欧几里得距离在图像域[73]-[76]中更常用,其广义术语称为L2范数或L2距离。
2、余弦距离。 余弦距离也是语义相似度的一种计算方法。 它计算两个向量之间的角度的余弦值。 与欧几里得距离相比,余弦距离更加关注两个向量方向之间的差异。 他们的方向越一致,它们就越相似。 对于两个给定的单词向量m⃗和⃗n,它们的余弦相似性如公式(4)所示:
3、杰卡德相似系数。 对于两个给定的集合A和B,其Jaccard相似系数J(A,B)如公式(5)所示:
J (A, B) = |A ∩ B|/|A ∪ B|
其中0≤ J(A,B)≤1。这意味着J(A,B)的值越接近1,则它们越相似。 在文本中,交集A∩B表示样本中的相似单词,而并集A∪B则是所有没有重复的单词。
4、移字距离(WMD)。 WMD [82]是地球移动者距离(EMD)[83]的变体。 它用于测量两个文本文档之间的差异,具体取决于从一个文档的嵌入单词到另一个文档的行进距离。 WMD的值越低,这两个文本越相似。
5、编辑距离。编辑距离是一种通过将字符串转向另一个来测量最小修改的方法。值越低,两个字符串越相似。它可以应用于计算生物学和自然语言处理。 Levenshtein距离[84]在工作[22]中也被称为带有插入,删除,替换操作的编辑距离。
这些指标适用于不同的对象。其中,欧几里得距离,余弦距离和WMD用于矢量。将对抗性示例和文本中的原始示例转换为向量,然后将这三种方法应用于计算向量之间的距离。相反,Jaccard相似系数和编辑距离直接用于文本输入,而无需将原始文本转换为矢量。
特别是,Michel等。 [85]提出了一个自然的标准,用于对抗性文本的seq2seq模型。这项工作的重点是评估对抗性示例与原始示例之间的语义对等。实验结果表明,严格的约束条件在保持意义上是有用的,但是是否比上述指标更好还是需要进一步确认的。
文本数据集
为了使需要的人更容易访问数据,我们在NLP任务中收集了一些常用的公共数据集,并对其进行了简要介绍。表2是它们在不同的NLP任务中的应用,表3是研究工作中使用的其他一些数据集。
1、AG’s News :AG的News是一整套新闻,包含超过一百万篇文章,它是由学术新闻搜索引擎Come-ToMyHead从2,000多个新闻来源收集的。可以下载提供的DB版本和XML版本以用于任何非商业用途。
2、DBPedia Ontology :DBPedia是一个数据集,具有根据各种Wiki媒体项目中创建的信息构造的内容。它具有68个类,具有2,795个不同的属性。现在,该数据集中包含了超过400万个实例。
3、Amazon Review :亚马逊评论数据集有1995年6月至2013年3月之间的近3500万条评论,包括产品和用户信息,评分以及纯文本评论。它被超过600万用户收集到超过200万种产品中,并分为33类,大小从KB到GB。
4、Yahoo! Answers :语料库包含400万个问题及其答案,可以很容易地在问答系统中使用。除此之外,还使用一些主要类来构建主题分类数据集。
5、Yelp Reviews :Yelp提供了所提供的数据,以使研究人员或学生能够开发学术项目。它包含470万条用户评论,其中包含JSON文件和SQL文件的类型。
6、Movie Review (MR) :MR是一个标记的数据集,涉及情感极性,主观评价以及带有主观状态或极性的句子。可能因为该数据集是通过人工标记的,所以该数据集的大小比其他数据集要小,最大为几十MB。
7、MPQA Opinion Corpus :多角度问题解答(MPQA)意见语料库是从各种各样的新闻来源中收集的,并注有意见或其他私人国家。 MITRE公司为人们提供了三种不同的版本。版本越高,内容越丰富。
8、Internet Movie Database (IMDB) :IMDB是从Internet爬网的,包括50,000条正面和负面评论。评论的平均篇幅接近200个字。它通常用于情感分类,包括比其他类似数据集更多的数据。 IMDB还包含其他未标记的数据,原始文本和已处理的数据。
9、SNLI Corpus :斯坦福自然语言推理(SNLI)语料库是具有手动标记数据的集合,主要用于自然语言推理(NLI)任务。在固定的背景下,人类撰写了近五十万个句子对。关于这个语料的更多细节可以在[93]的著作中看到。
文本分类的对抗性攻击
文本中最近的大多数对抗攻击都与分类任务有关。 因此,我们首先从这方面介绍广告攻击。 在本节中,我们根据攻击者的需求将它们分为两部分。 下面将介绍每种攻击的技术细节和相应的注释,以使读者更加清楚。
1、非针对性分类攻击
在本部分中,以下研究均为文本中的非针对性攻击。 对于这种攻击,攻击者无需关心错误分类的类别。 非目标攻击可以分为基于FGSM的,基于优化的(optimization-based)和基于重要性的(importance-based)攻击。 其中,基于重要性的攻击是指通过对重要词进行修饰而对预测结果产生重大影响的攻击。
- FGSM-based Approach
在图像领域对对抗性例子的研究比在文本领域更为活跃。因此,研究人员尝试将图像领域的方法应用于文本并获得更好的结果。他们提出了一些基于FGSM的有效方法,如下所述。
据我们所知,Papernot等人。 [21]首先研究了文本中的对抗性示例问题,并有助于产生对抗性输入序列。作者利用计算图展开[94]来评估正向导数[71],它与单词序列的嵌入输入有关。然后由FGSM计算结果以找出对抗性扰动。但是,修饰词的相应向量可能不存在。为了解决此映射问题,他们建立了一个特定的词典来选择单词以替换原始单词。尽管它们的对抗序列会使LSTM模型产生错误的预测,但输入序列中的单词却是随机选择进行替换的,因此对抗示例中语法错误的可能性非常高。
类似于[21],Samanta等。 [31]利用FGSM的概念来评估重要或显着的单词,这些单词在删除时会严重影响分类结果。然后,引入了三种修饰策略(即插入,替换和删除)来制作具有最高重要性的前k个单词,其中k为阈值。除删除策略外,前k个单词的插入和替换都需要附加的字典进行替换。因此,作者为实验中的每个单词建立了一个候选词库,包括同义词,错别字和特定于类型的关键字。但是,此过程会花费大量时间,并且实际输入中的前k个单词可能没有候选池。此方法也是基于重要性的方法。
- Optimization-based Approach
不同于其他方法,佐藤等。 [25]在输入的嵌入空间中操作,并提出了一种名为iAdv-Text的方法。 它的核心过程可以看作是一个优化问题,它是在参数为W的整个训练数据集D上共同最小化反对函数 JiAdvT(D,W)。优化过程如公式(6)所示:
其中Xˆ和Yˆ分别是输入和标签。 λ是用于平衡两个损耗函数的超参数。 l(Xˆ,Yˆ,W)是D中单个训练样本(Xˆ,Yˆ)的损失函数。αiAdvT是寻找方向向量最坏情况权重的最大化过程。 其公式如(7)所示:
????| V | akdk是对其词嵌入向量w 的每个输入所产生的扰动。 ε是控制对抗性扰动的超参数。 ak是| V |维词嵌入向量α的第k个因子。 dk是| V |维方向向量d⃗的第k个因子,它是嵌入空间中一个单词到另一个单词的映射。 由于很难计算公式(7)中的αiAdvT,因此作者改用公式(8):
iAdv-Text限制摄动的方向以找到替代词,该词替代词是预定义的词汇表,而不是未知词。 同时,作者还使用余弦相似度来选择更好的扰动,从而很好地保持了可读性和语义相似度。
同样,龚等。 [32]还搜索了嵌入空间中的对抗性扰动。 尽管作者使用WMD来衡量对抗性示例与原始示例之间的相似性,但生成的对抗性示例的可读性似乎比iAdv-Text中的可读性差。
- Importance-based Approach
与以前的白盒方法[21],[31]不同,对具有对抗性文本的黑盒攻击的关注很少。高等。 [22]提出了DeepWordBug以在黑匣子场景中生成对抗性示例。 整个过程分为两个阶段。 第一阶段是确定要更改的重要单词,第二阶段是为欺骗模型创建不可察觉的扰动。 第一阶段的计算过程显示在如下公式:
其中CS(xi)代表输入中第i个单词的重要性得分(x1,...,xn),由功能F评估。 λ是一个超参数。 在第二阶段,类似的修改(如交换,翻转,删除和插入)被应用来操纵重要单词的字符。 同时,作者使用编辑距离来保留对抗性示例的可读性。 Wang等人提出了一种变体方法。 [95]使用中文数据攻击分类系统,这表明对抗性例子可能是其他语言,而不仅限于英语。
Li等。 [20]提出了一个攻击框架TextBugger来生成对抗性示例,这可能会在黑盒和白盒设置中误导基于深度学习的文本理解系统。 在白盒方案中,使用Jacobian矩阵J来计算每个单词的重要性,如下所示:
其中Fy(·)表示类别y的置信度值。 Cxi是输入x中第i个单词的重要分数。 然后,类似的修改策略(如DeepWordBug [22])用于生成字符级别和单词级别的对抗示例。 在黑匣子场景中,作者将文档分割为序列,然后他们查询目标模型以过滤出带有与原始标签不同的预测标签的句子。 奇数序列按其置信度得分以相反的顺序排序。 随后,通过删除公式(11)中的运算来计算重要单词:
最终的修改过程与白盒设置中的相同。
2、针对性分类攻击
对于有针对性的攻击,攻击者有目的地控制他们想要的输出类别,并生成语义保留的对抗示例。 当前,由于其特殊需求,针对性攻击的成本要高于非针对性攻击的成本。 在下面的部分中,我们将介绍一些近期工作中的代表性攻击。
- FGSM-based Approach
与[21],[31],Liang等人的著作不同。 [26]首先证明了FGSM不能直接应用于文本。因为文本的输入空间是离散的,而图像数据的输入空间是连续的。连续图像可以容忍微小的干扰,而文本则不能。相反,作者仅利用FGSM来确定什么,在何处以及如何插入,删除和修改输入。他们在不同的场景中进行了两种攻击,并使用自然语言水印[96]技术使生成的对抗性示例损害了其效用。
作者在白盒和黑盒环境中进行了对抗性攻击。在白盒方案中,他们定义了热训练短语和热样本短语的概念。这两个对象都是通过利用反向传播算法来计算样本的成本梯度而获得的。前者说明要插入的内容,而后者则暗示要在哪里插入,删除和修改。在黑匣子场景中,作者使用模糊技术[97]的思想作为参考,以获得热训练短语和热样本短语。核心假设是可以查询目标模型。样本被送入目标模型,然后每次使用等距空格替换原始词。修改前后的结果之间的差异是每个单词的偏差。它越大,相应的词对分类的意义就越大。因此,热训练短语是输入集中最频繁的词,由每个训练样本的最大偏差词组成。热样本短语是每个测试样本偏差最大的词。
- Optimization-based Approach
像一个像素攻击[72]一样,Ebrahimi等人提出了一种类似的方法,称为HotFlip。 [24]。 HotFlip是文本中的白盒攻击,它依靠原子翻转操作通过梯度计算将一个字符与另一个字符交换。 翻转操作由公式(12)表示:
公式(12)意味着在示例中,第i个单词的第j个字符从a改变为b,这两个字符在字母表中分别位于第a位和第b位。 式(12)中的-1和1分别是a和b的对应位置。 计算出沿着该向量的方向导数的变化,以发现损耗J(x,y)的最大增加。 计算过程如公式(13)所示:
其中xij是一个one-hot向量,表示第i个单词的第j个字符。 y是指相应的标记向量。 T是转置函数。 除字符级攻击外,还可以通过不同的修改在字级上使用HotFlip。 尽管HotFlip的效果不错,但在严格的约束下仅进行一两次翻转就可以生成几个成功的对抗示例,因此不适合进行大规模实验。
Gil等人提出了一种派生方法DISTFLIP。 [33]。他们在HotFlip中提取了有关过程的知识,该知识用于训练黑匣子模型。通过培训模型,作者生成了对抗示例来进行黑匣子攻击。该方法在毒性分类器上的性能优于HotFlip [98],并且在生成对抗性示例时的运行时间比HotFlip快十倍。但是这种方法是否可以提炼出任何白盒攻击的知识仍有待验证。
考虑到黑盒设置中梯度优化的局限性[21],[24],[41],Alzantot等。 [23]提出了一种基于遗传算法[99],[100]的优化方法。作者从输入中随机选择单词,并通过GloVe嵌入空间中的欧几里得距离计算它们的最近邻居[101]。根据语言模型得分对这些最近的邻居进行过滤[102],以使其适合周围环境,从而仅保留得分最高的高级单词。从剩余的单词中选择将最大化目标标签概率的替换。同时,上述操作进行了数次以获得一代。如果一代中的修饰样本的预测标签不是目标,则每次随机选择两个样本作为父代以生成下一代,然后对下一代重复相同的过程。该优化过程是通过遗传算法找到成功的攻击方法。在这种方法中,要替换的序列中的随机选择词充满不确定性。即使目标标签已更改,这些替换也可能毫无意义。
- Summary of Adversarial Attacks for Classification
在最近的研究中,这些分类攻击是流行的或具有代表性的。表4总结了它们的一些主要属性。我们可以看到,表4中的大多数白盒攻击都与梯度相关。基于梯度的优化方法广泛用于具有多种变体的图像(例如[106 ],[107]),也可以应用于文本。但是使用梯度存在一些缺点,即梯度问题的消失和爆炸[108],[109],以及对目标模型的访问限制。同时,梯度掩蔽[110]在某些情况下会使梯度无效,导致基于梯度的方法失败。尽管事实证明梯度掩蔽是一种失败的防御方法,但基于梯度的方法并不像我们认为的那样有效。
此外,我们在这里回顾了许多对抗性攻击,但还不清楚它们的表现以及哪种更好。为了更好地比较这些攻击,我们分析并选择了它们使用的相同数据集。在表2和表3中,我们可以看到IMDB,DBpedia和MR是三个常用数据集。但是没有找到Text-fool [26]在MR上的实验结果。因此,对IMDB和DBpedia进行了比较,结果如表5所示。IMDB上的TextBugger [20]和DBPedia上的Text-fool [26]的结果处于白盒方案中。Text-fool的成功率是平均水平。 [32]中的ε等于点4。尽管某些攻击是在几种模型上进行的,并且同时具有黑盒方法和白盒方法,但我们仅列出一个比较好的方法。在表5中,我们可以看到,除了Alzantot等人的遗传方法外,白盒攻击通常比黑盒攻击更好。 [23]。这种现象可能与缺乏黑盒攻击有关。其中一些也许并不比白盒更糟。例如,TextBugger [20]中的黑盒攻击在多个物理系统上达到了成功率的百分之一百。另一方面,某些非针对性的攻击的性能要优于针对性的攻击,但是考虑到成功率的平均值,这种比较是相反的。基于优化的方法要比其他方法优越得多,这主要是因为与其他攻击相比,约束更严格。
此外,好的对抗文本不仅要达到攻击的DNN的高成功率,还需要具有良好的可读性,语义相似性和不可感知性。因此,我们通过这些方法通过生成的示例(表6)进行判断。对文本的修改通常分为字符级,单词级和句子级。字符级对字符进行操作,其他字符分别修改单词和句子。在表6中,尽管人们对拼写错误的防范能力很强,但与字符级攻击相比,具有同义词的单词级攻击似乎更难以察觉[111]。但是某些字符级方法也可以像HotFlip一样很好地执行。通常,操作越多,越容易被感知。扰动越不明显,可读性和语义相似性就越好。
4、其他nlp任务的对抗攻击
我们已经审查了上面针对分类任务的对抗攻击。 接下来,我们解决了对抗文本上的其他难题,例如对抗示例可以攻击哪些其他类型的NLP任务或应用程序,以及在这些情况下它们是如何生成的。
1、攻击阅读理解系统
为了探讨阅读理解系统是否容易受到对抗性例子的影响,贾等人。 [27]将对抗性干扰插入到段落中以测试系统,而不会改变答案或对人类产生误导。他们提取问题中的名词和形容词,然后用反义词代替它们。同时,命名实体和数字被GloVe嵌入空间中最接近的词改变了[101]。修改后的问题被转换为声明性句子,作为对抗性干扰,然后连接到原始段落的末尾。作者将此过程称为ADDSENT。
ADDANY的另一种选择是随机选择句子中的单词来制作。与ADDSENT相比,ADDANY不考虑句子的语法性,它需要多次查询模型。这项工作的核心思想是在生成的序列而不是原始序列上引起模型的注意,以产生错误的答案。 Mudrakarta等。 [35]研究了关于问答系统的对抗性例子,他们的部分工作可以加强贾等人提出的攻击。 [27]。
2、对自然语言推理模型的攻击
除了阅读理解系统[27],Minervini等。 [28]选择了NLI系统作为目标。 他们将对抗性示例的生成作为捕获样本的优化问题,这可能会影响NLI中添加的一阶逻辑(FOL)约束。 作者使用以下语言模型最大程度地提高了提议的不一致损失JI来搜索替换集S(即对抗性示例):
其中[x] + = max(0,x)。 pL(S)是指S中的句子
•τ:生成序列的困惑度的阈值
•X1。 。 。 ,Xn:规则中S中序列的通用量化变量的集合
•S = {X1→s1,...,Xn→sn}:来自{X1,...,Xn}的映射
•p(S; body)和p(S; head):给定规则的概率,用相应的Si替换Xi之后
•身体和头部:代表NLI规则的前提和结论
作者使用这些生成的序列来测试NLI系统的弱点。
3、对自然语言翻译机的攻击
NMT是Belinkov等人攻击的另一个目标系统 [29]。 他们根据自然和综合语言错误(包括错别字,拼写错误或其他错误)设计了对抗性示例。 然后,通过随机或键盘输入错误类型来修改句法对抗性示例。 实验是在三种不同的NMT系统上进行的[112],[113],结果表明这些示例也可以有效地欺骗NMT系统。
同样,Ebrahimi等。 [30]通过采用可区分的字符串编辑操作对NMT进行了对抗。 产生对抗性例子的方法在他们以前的工作中是相同的[24]。 与Belinkov等人相比。 [29],作者证明,在大多数情况下,黑盒攻击中的对抗性示例比白盒中的示例要弱得多。
4、句法控制的释义网络(SCPNS)的攻击
艾耶尔等。 [88]将SCPNS设计为在不降低输入语义质量的情况下生成对抗性示例。 整个过程主要依靠SCPNS的编码器-解码器体系结构。 给定一个序列和相应的目标语法结构,作者使用双向LSTM模型对其进行编码,然后通过LSTM模型进行解码。 通过对编码状态[114]和复制机制[115]的软关注,可以增强此过程。 然后,他们修改了对解码器的输入,旨在合并目标语法结构以生成对抗性示例。 句法对抗性句子不仅可以骗过预先训练的模型,而且可以提高它们对句法变体的鲁棒性。 作者还使用众包实验来证明其有效性。
5、文本攻击防御策略
在对抗性攻击和防御之间不断的军备竞赛使传统的智慧迅速失效[64]。 实际上,防御比攻击更难。 当前,缺乏防御方法可能有两个原因。 一个是对于对抗性示例的复杂优化问题不存在良好的理论模型。 另一个是大量可能的输入可能极有可能产生目标输出。 因此,实际的自适应防御方法很困难。 在本节中,我们描述了一些针对文本的广告攻击的相对有效的方法,可以将其分为检测方法和模型增强方法。 前者通过检测输入进行防御,而后者则通过增强模型的鲁棒性来进行防御。
对抗性攻击与防御之间持续不断的军备竞赛使传统观念迅速失效[64]。 实际上,防御比攻击更难。 当前,缺乏防御方法可能有两个原因。 一个是对于对抗性示例的复杂优化问题不存在良好的理论模型。 另一个是大量可能的输入可能极有可能产生目标输出。 因此,实际的自适应防御方法很困难。 在本节中,我们描述了一些针对文本的对抗攻击的相对有效的方法,可以将其分为检测方法和模型增强方法。 前者通过检测输入进行防御,而后者则通过增强模型的鲁棒性来进行防御。
1)对抗示例检测
对抗性示例是一种具有特定用途的数据。因此,值得考虑的是检测是否对对抗攻击有用。受此观点启发,已进行了一系列工作[116]-[120]来检测对抗性示例,并在图像域中表现相对较好。在文本中,某些方法中生成对抗性示例的方法会产生拼写错误,这可能是一个明显不同的功能。它自然产生了一种通过检查拼写错误来检测对抗性示例的想法。高等。 [22]使用Python自动更正0.3.0包来检测输入。 Li等。 [20]利用上下文感知的拼写检查服务来完成类似的工作。但是实验结果表明,该检测对于字符级修改有效,而对于单词级攻击则部分有用,这可能是由于修改策略不同所致。此外,拼写检查方法也不适合基于其他语言(例如中文[95])的对抗示例。
Pruthi等。 [121]提出了一种在DNN之前应用的单词识别模型,以检测带有拼写错误的对抗示例。该模型在字符级攻击中表现良好。尽管它的实验表明它们也可以检测到单词级攻击,但是对于单词级攻击是否足够有用仍然未知。例如,Alzantot等人的例子。 [23]中的6仅将“跑步者”一词更改为“赛车者”,这种方法很难判断。 Wang等。 [122]提出了一种防御方法,称为“同义词编码方法”(SEM),该方法用于基于同义词替换的攻击。作者通过聚类找到了输入的同义词,并用相同的标签标记了它们。他们的方法不需要修改模型,也不需要外部知识。
2)对抗训练
对抗训练[44]是在图像域中抵抗对抗攻击的一种广泛使用的方法[44],[123]。研究人员将对抗性示例与原始示例进行混合,以进行训练以增强模型对对抗性示例的容忍度。在文本中,一些作品[20],[22]-[24],[124]-[126]中也使用对抗训练作为对抗文本的防御方法。然而,这种方法在[23]的工作中失败了,主要是因为产生对抗性例子的方式不同。其他的修改是插入,替换,删除和替换,而[23]中的攻击则利用遗传算法搜索对抗性实例。
过度拟合是对抗训练并不总是有用且仅对相应的攻击有效的另一个原因,这已被Tramer等人证实。 [127]在图像领域,但仍有待在文本中加以证明。另一方面,在对抗训练中,对抗样本的检测精度提高,而原始样本的检测能力降低。因此,如何提高对抗训练的绩效是一个悬而未决的问题。
3)其他对抗示例的方法
除对抗训练外,还有其他方法可以提高模型抵抗对抗攻击的鲁棒性。 Goren等。 [128]正式分析,定义和量化了基于线性学习到排名的相关性排名函数[129]的健壮性概念,旨在提高对抗性Web检索设置中对文档较小干扰的健壮性。他们采用分类稳健性[12],[130]的概念对函数进行排名,并定义了一些相关的概念,例如逐点稳健性,成对稳健性和方差猜想。为了量化排名函数的稳健性,将Kendall的-τ距离[131]和顶部变化用作归一化量度。最后,实证研究结果支持了两类排名函数[132],[133]的分析有效性。
Li等。 [134]提出了一种通过多头注意力来增强NLI系统的鲁棒性的方法[135]。作者确定了他们想要的鲁棒性。然后,将外部知识(例如wordnet [136])添加到注意力机制中,该机制与结构化嵌入相关联。实验结果表明,将知识添加到交叉编码器模型中后,对抗示例的防御有了显着改善。另一个优点是该方法不需要额外的参数,任何具有关注单元的模型都可以使用。
总结
尽管防御方法在其相应的工作中取得了较好的结果,但也存在一些局限性。 拼写检查策略在检测单词级别和句子级别的对抗示例时效果不佳。 对抗训练是一个过拟合的问题,面对新的攻击方法可能无法正常工作。 模型增强可能是将来的主要防御策略,但是它仍在探索中,并且存在很多困难,例如损失函数的选择和模型结构的修改。 在表7中,我们比较了效率,前景和可扩展性这三种防御方法。 除了NLP中的拼写检查之外,图像,音频,文本等中还使用了其他两种方法。与拼写检查相比,它们还有更高的前景,后者具有很大的局限性。
6、测试与验证
像传统的安全问题一样,对抗性攻击和防御也在不断变化。 提出了新的对抗性攻击,然后提出了新的对策,这些对策随后将被打破[137]。 因此,急需为DNN的行为提供形式保证,以打破此循环,但这是一项艰巨的工作。 测试和验证技术可以帮助我们从另一个角度解决这个问题。 测试是使用测试用例来发现模型中的错误,而验证则是为了确保模型在特定条件下的正常运行。 两者都是提高DNN防御对抗性示例的鲁棒性的重要方法。
在本节中,我们首先介绍图像域中的测试和验证方法,稍后将介绍文本中的测试和验证方法。 尽管图像域中的测试和验证方法尚未应用于文本,但是它们的思想可以用于诸如FGSM和对抗训练之类的文本中。
1)图像领域测试
随着DNN在安全性至关重要的领域中的使用越来越多,对模型的准确性具有高度信任非常重要,尤其是在存在对抗性示例的情况下。 模型正确行为的可信度来自于各种情况下的严格测试。 更重要的是,测试有助于理解网络的内部行为,有助于实施防御方法。 在以下部分中,我们将从测试标准和测试用例生成中概述测试DNN的方法。
- 测试样例生成
Pei等。 [139]设计了一个白盒框架DeepXplore,以神经元覆盖的度量标准测试现实世界中的DNN。他们利用差分测试来捕获多个DNN之间相应输出的差异。 这样,生成的对抗示例具有较高的神经元覆盖率。 因此,DeepXplore可以触发模型的多数逻辑来找出不正确的行为,而无需人工操作。 它在高级深度学习系统中表现良好,并发现成千上万个使系统崩溃的极端情况。 但是,DeepXplore的局限在于,如果所有DNN做出错误的判断,都很难知道哪里出了问题以及如何解决。
柳条等。 [143]提出了一种功能导向的方法来测试黑盒情形下DNN的弹性。作者将产生对抗性案件的过程视为两人回合制随机游戏。在整个游戏过程中,使用基于蒙特卡洛树搜索(MCTS)[144]算法的渐近最优策略找到了对抗性示例,并且作者可以通过此过程评估DNN的鲁棒性。
Sun等。 [138]提出了DeepConcolic,这是将传统控制台测试方法应用于著名DNN的首次尝试。 DeepConcolic反复使用具体的执行和符号分析来生成测试服,以期达到较高的覆盖率并通过健壮性预示器发现对抗性示例。作者还比较了表8中所示的其他测试方法[139]-[142]。就输入数据而言,DeepConcolic可以从单一输入或覆盖率要求作为输入,以实现更好的覆盖率。为了提高性能,DeepConcolic可以实现比DeepXplore更高的覆盖范围,但是运行速度比它慢。
- 测试标准
与其他神经元覆盖率的不同[139],Ma等。 [140]提出了一种多粒度测试覆盖标准,以测量准确性和检测错误行为。 他们利用四种方法[44],[71],[73],[106]生成对抗性测试数据,以探索模型的新内部状态。 覆盖率的增加表明覆盖率越大,检查缺陷的可能性就越大。 Budnik等人也进行了类似的工作。 [145]通过对抗性案例生成方法探索模型的输出空间。
Kim等。 [146]提出了一种新的测试充分性标准,称为“深度学习系统的惊喜充分性”(SADL),用于测试DNN。 这种方法测量输入和训练数据之间的差异,这是充分性标准的基础。 实验结果表明,该方法可以很好地判断对手实例。 另一方面,它也通过重新训练来提高DNN对抗对抗性示例的准确性。
2)图像领域验证
研究人员认为测试不足以保证DNN的安全性,尤其是在对抗性示例之类的异常输入下。 Edsger W. Dijkstra曾经说过:“测试表明存在缺陷,而不是没有缺陷”。 因此,需要使用DNN的验证技术来研究对抗环境中更有效的防御方法。 但是,机器学习模型对对抗性示例的鲁棒性的验证仍处于起步阶段[147],因此在相关方面的研究很少。 在以下部分中,我们将验证方法分为三个方面:基于搜索的方法,全局优化方法和过度逼近方法。
- Global Optimization Approach
Katz等。 [148]提出了一种名为Reluplex的新型系统,用于基于满意度模理论(SMT)[149]求解器来验证DNN。他们使用校正线性单元(ReLU)[66]**函数将验证转换为线性优化问题。 Reluplex用于在ACAS Xu网络上找到具有本地鲁棒性功能的对抗性输入[11],但在具有全局变量的大型网络上却无法使用。
对于ReLU网络,Tjeng等人。 [150]将验证视为混合整数线性规划(MILP)[151]问题。他们从最小对抗失真[152]和对抗测试准确性[153]评估了对抗示例的鲁棒性。他们的工作运行时间比Reluplex [148]更快,具有较高的对抗性测试精度,但同样的限制是将其扩展到大型网络仍然是一个问题。
与现有的基于求解器的方法(例如SMT)不同,Wang等人[154]通过区间算法[155]提出了ReluVal,以确保在存在对抗性示例的情况下DNN的正确操作。他们反复划分输入间隔,以找出相应的输出间隔是否违反安全性属性。相比之下,此方法比Reluplex更有效,并且在查找对抗性输入方面表现良好。
- Search-based Approach
黄等。 [156]提出了一个新的基于SMT的验证框架来验证神经网络结构。 该方法依赖于离散搜索空间,并分析每层的输出以搜索对抗性扰动,但作者发现SMT理论仅适用于实践中的小型网络。 另一方面,该框架仅限于许多假设,尚不清楚其中的某些功能。
与其他作品不同的是,Narodytska等。 [157]验证了二值神经网络(BNN)[158]的安全属性。 他们利用反例指导搜索[159]程序和现代SAT求解器来研究模型的鲁棒性和等效性。 通过两个编码结构Gen和V er判断模型的输入是否为对抗性示例。 这种方法可以轻松地在MNIST数据集上找到高达95%的已考虑图像的对抗示例[160],但它适用于中型BNN,而不是大型网络。
- Over-approximation Approach
Gehr等。 [161]引入了抽象变压器,它可以通过ReLU获得基于CNN的模型的输出。 作者在预先训练的防御网络上评估了这种方法[162],以验证其鲁棒性。 实验结果表明,可以有效防止FGSM攻击。 他们还在小型和大型网络上与Reluplex进行了一些比较。 在验证性能和时间消耗方面,最先进的Reluplex的性能比其差。
翁等。 [163]设计了两种算法,通过线性逼近和限制局部Lipschitz常数来评估最小对抗失真的下限。 他们的方法可以应用于防御网络,尤其是对抗训练,以评估其有效性。
3)文本测试与验证
与图像领域的各种作品不同,有关文本测试和验证的相关论文分别为两篇和一篇。我们在下面介绍它们,并与图像领域的类似作品进行比较。
测试。 Blohm等。 [91]产生了对抗性的例子,以发现他们的机器阅读理解模型的局限性。通过多种测试方法,包括不同场景中的单词级和句子级[51],作者发现他们的模型对于保留含义的词汇替换是健壮的,但是在基于重要性的攻击中却失败了。此外,实验结果表明,应添加其他一些属性(例如,通过对排名的合理性进行淘汰来回答[164])以提高性能。程等。 [165]提出了一种投影梯度法来测试序列到序列(seq2seq)模型的鲁棒性。他们发现seq2seq模型比基于CNN的分类器更能抵抗攻击。同时,他们解决了离散输入所带来的挑战,从而有可能将图像域中的方法应用于文本。
与图像领域的测试方法相比,文本中的相关作品非常少见。除了数量,[91]和[165]中的测试与图像领域中的其他测试有所不同。文本中的工作是通过观察测试用例的性能来判断模型的鲁棒性。但是,在图像域中类似的方法(例如DeepXplore [139]和DeepGauge [140])已经考虑了模型的神经元覆盖范围,值得尝试将其应用于文本。此外,测试还可以用于其他NLP任务,例如文本分类,机器翻译和自然语言推断。
验证。贾等。 [166]通过优化区间绑定传播(IBP)上限[167]提出了可验证的强大训练,这可以限制最坏情况扰动的损失并压缩对抗性示例的生存空间。经证明,他们的方法对IMDB和SNLI上的单词替换攻击具有鲁棒性。与测试一样,文本中的验证工作也很少。从理论上讲,图像域中的某些方法可以应用于文本,这是为了增强模型的鲁棒性,而不是数据或其他方法。例如,尽管需要通过实验确认,但是基于SMT的方法很可能会在文本中使用。
7、讨论
在前面的部分中,对文本中的对抗性攻击和防御进行了详细描述,使读者可以更快,更好地理解这方面。 接下来,我们将介绍该领域的更多一般性观察和挑战。
7.1结果
从我们审阅的论文中,有很多发现,下面总结一些主要发现。
使用拼写错误。使用拼写错误的动机类似于图像域中的一个像素攻击[72],其目的在于以无法区分的干扰来欺骗目标模型。理想的情况是,攻击者只需更改一个或两个字符即可生成对抗文本,就像HotFlip [24]那样欺骗模型。实际上,人们必须增加修改后的字符的数量才能获得更多对抗性示例,而字符级的修改则很可能导致拼写错误。同时,研究表明,人类对于书面语言中的拼写错误非常有力[111],因此,拼写错误被用作一种特殊的修饰形式,以在文本中生成对抗性示例。
可转让性。 Szegedy等。 [12]首先发现,由神经网络生成的对抗性示例还可能使另一个模型被不同的数据集误用,这反映了它们的可传递性。因此,当攻击者没有对目标模型的访问和查询限制时,他们可以训练替代模型并利用对抗性示例的可传递性进行攻击。最近,研究表明,不同类型的对抗攻击具有不同的可传递性[106],[168]。例如,从单步基于梯度的方法生成的对抗性示例比迭代方法[106]更具可移植性,但它们的攻击能力却相反。因此,具有高可转移性的对抗示例的产生不仅是进行黑盒攻击的前提,而且还是评估广义攻击的指标。
生成过程。我们观察到,许多方法主要遵循两步过程以在文本中生成对抗性示例。第一步是找到对分类结果有重大影响的重要单词,然后使用同源修饰生成对抗性文本。
分配。此外,我们发现研究工作的分配存在明显的不平衡:在我们收集的47篇论文中,其中三篇涉及测试和验证,只有一篇专门针对防御,其余涉及攻击。我们可以看到,防御方法仅占文本研究的一小部分,而这些研究仅占所有领域的一小部分(图2)。因此,应高度重视对抗性例子引起的安全问题。
7.2挑战
在对抗性攻击方面,文本中存在两个主要挑战:
(1)由于物理NLP系统中没有攻击,因此文本中的对抗攻击是不切实际的。当前,大多数关于对抗性文本的研究都是关于理论模型的,很少涉及实际应用。我们已经使用了近期著作[20]-[26],[31],[32]中提供的对抗性示例来攻击如图1所示的ParallelDots,但大多数对抗性示例均无效且可以正确分类。只有少数样本成功使该系统失控,这意味着这些对抗性示例的可传递性不好。对于物理NLP系统,我们无权访问它们,有时查询可能受到限制,因此,可传输性是攻击这些物理应用程序的主要选择。因此,可传递性的力量是实际攻击的关键因素。
没有能使任何DNN蒙蔽的性能良好的对抗示例,这就是所谓的普遍性。虽然华莱士等。 [169]找到输入不可知序列,这些序列可以触发特定的分类以生成通用的对抗性示例,这些序列对输入的可读性有影响,并且生成的样本本质上是令人反感的。
在评估方面,主要存在两个不足:
(1)大多数研究通过成功率或准确性来评估其对抗攻击的表现。尽管只列出了攻击所花费的时间,但只有少数作品[22],[20]考虑了速度,规模和效率。关于数据集的规模,消耗的时间和对抗攻击的成功率之间是否存在关系的问题仍然未知。如果存在这种关系,则这三个方面的权衡可能是将来工作的研究重点。当前,在图像领域已经进行了对抗性示例中的速度的相关研究[170]。此外,当攻击方法相同时,在不同数据集上的实验结果也各不相同。数据类型是否会影响对抗攻击值得深思。
(2)已经提出了多种方法来研究文本中的对抗性攻击和防御,但是没有针对它们的基准。研究人员在他们的工作中使用了不同的数据集(第2.7节),因此很难比较这些方法的优点和缺点。同时,它也影响度量的选择。当前,还没有确切的陈述说明哪种度量标准在某种情况下更好,以及为什么它比其他度量标准更有用。在Textbugger [20]中使用几种指标进行了一些比较。这部作品中最好的一部可能仅适合于它,但在其他作品中却无效。
在这方面的快速入门方面,它缺少用于对抗文本研究的开源工具箱(例如,AdvBox [171]和cleverhans [172]在图像领域)。 图像域中的工具箱集成了生成对抗图像的现有代表性方法。 人们可以轻松地进行一些进一步的研究,从而减少重复的时间并促进该领域的发展。 与图像领域相比,Laughlin等人仅提出了一种视觉分析框架。 [173]在文本中。 但是它缺乏多样化的攻击和防御方法,可以将其集成在一起以使其功能更强大。
8、结论和未来方向
本文介绍了有关文本中DNN的对抗性攻击和防御的调查。尽管DNN在各种NLP任务上均具有很高的性能,但它们固有地容易受到对抗示例的攻击。因此,人们高度重视由广告示例引起的安全问题。我们将针对文本中最新作品的几乎所有对抗性攻击和防御措施进行了整合。对抗攻击的威胁是真实的,但防御方法却很少。现有的大多数作品都有其局限性,例如应用场景和约束条件。应该更多地注意对抗性示例引起的问题,这对于设计相当强大的对抗对抗性攻击的模型仍然是一个未解决的问题。
将来,研究可能会从以下方面研究对抗性示例:作为攻击者,设计通用扰动可被考虑在内,因为它可以在图像域中工作[74]。任何文本上的普遍对抗性扰动都能使模型以很高的概率产生错误的判断。而且,更奇妙的通用扰动可以使多模型或任何文本上的任何模型蒙蔽。另一方面,在更实际的黑盒攻击中,增强可传输性的工作是有意义的。此外,基于优化和可传递性的方法相结合是另一种可行的方式,如[174]中的工作。相反,防御者更愿意完全改造DNN中的此漏洞,但是这比重新设计网络同样困难。在许多人的共同努力下,它们都是艰巨而艰巨的任务。目前,防御者可以使用从图像区域到文本的方法来提高DNN的鲁棒性,例如对抗训练[162],添加额外的图层[175],优化交叉熵函数[176],[177] ],或削弱对抗性示例的可传递性。