Towards a Robust Deep Neural Network in Texts A Survey
1. Paper Information
时间:2019年
关键词:NLP, Adversarial Example, Survey
论文位置:https://arxiv.org/pdf/1902.07285.pdf
引用:Wang W, Wang L, Wang R, et al. Towards a Robust Deep Neural Network in Texts: A Survey[J]. arXiv preprint arXiv:1902.07285, 2019.
2. Motivation
3. Main Arguments
本片论文是文本领域中对抗样本的综述,在本文中,我们的目的是全面的了解文本领域中的对抗性攻击和相应的防御策略。具体来说,我们首先从不同的自然语言处理(NLP)任务的角度给出了文本中对抗攻击和防御的分类,然后介绍了如何通过测试和验证建立鲁棒的DNN模型。最后,我们讨论了在文本中存在的对抗性攻击和防御的挑战,并提出了在这个新兴领域的未来研究方向。
4. Framework
4.1 分类标准
在文本攻击中,根据要修改的目标的层级不同,分为character-level , word-level, and sentence-level attacks这三种攻击方式。
其中character-level ,是对字符进行修改,比如修改字母、特殊符号或者数字。word-level是通过同义词、拼写错误、特定类型的关键字等来修改单词。sentence-level是在输入中添加精心制做的句子。
在文本对抗防御中,主要分为对抗检测和模型增强。对抗检测主要是检测输入,模型增强主要是通过增强模型在训练过程中的鲁棒性,包括对抗性训练、改变模型的损失函数、测试和验证方法。在文本领域常用的防御方法有拼写检查和对抗训练。
4.2 评测标准
4.2.1 对抗样本的有效性评测标准
主要用的的评测标准主要有准确率和错误率。准确率越高,错误率越低,对抗样本越有效。
4.2.2 图像领域的图像扰动大小评测标准
在图像领域,主要用到的评测标准是$ L_p$ 距离,其中$ L_0$ 距离度量了扰动像素的数目。$ L_2$ 距离就是欧氏距离,表示两个物体的相似性。$ L_{\infty}$ 表示扰动的最大值。
4.2.3 文本领域的语义扰动大小评测标准
由于两个领域的数据类型不同,因此上述的评测标准并不能直接用于文本领域。
在文本领域中,一个好的对抗样本应该与原样本有着同样的语义。在文本领域,常用的评测标准有:
- 欧氏距离:对于两个词向量,$ \vec{m},\vec{n}$ ,我们可以用欧氏距离来衡量两个单词的语义差别,但是这种方法并不常用。
- 余弦距离:余弦距离也是语义相似度的一种计算方法。它计算两个向量夹角的余弦值。与欧式距离相比,余弦距离更关注两个向量方向的差异。它们的方向越一致,它们就越相似。
- Jaccard相似系数:对于两个给定的集合$ A,B$ ,他们的Jaccard相似度为$ J(A,B)$ ,$ 0 \le J(A,B) \le 1$ ,其越接近1,表明两个集合越相似。在文本中,$ A \cap B$ 表示在样本中相似的单词,$ A \cup B$ 表示所有的不重复单词:
- Word Movers Distance (WMD):WMD是Earth Mover’s Distance (EMD)的变体,它通过两个文档的词向量的traveling distance来测量两个文档的差异性。WMD越低表明两个文档越相似。
- Edit Distance:它是一种用来测量将一个字符串转换成另一个字符串时需要的最小修改量的方法。该值越低,表明两个字符串越接近。
4.3 数据集
5. Attack in Text Classification
5.1 Non-targetd Attacks for Classification
无目标攻击可以分为FGSM-based,optimization-based,importance-based。importtance-based攻击是通过修改一些重要的能够影响分类结果的单词来进行攻击的。
5.1.1 FGSM-based
由于在图像领域的对抗样本比文本领域的研究更多,因此研究者试图把图像领域的研究应用到文本领域中来,于是基于FGSM方法提出了一些方法。
Papernot et al. [21] 首次研究了文本领域的对抗样本问题,作者利用了计算图展开来评估前向导数,这与字序列的词向量有联系。然后利用FGSM计算的结果来找出对抗扰动。但是,有时候所修改的词向量并没有对应的词,为了解决这个映射的问题,作者建立了一个特定的字典来选择替换原始单词的单词。虽然他们让LSTM模型生成了错误的预测输出,但是这种方法是随机的替换输入序列中的单词,这会导致修改后的句子的语法错误是很明显的。
Samanta et al. [31]利用了FGSM的方法对重要的或者突出的单词(当去除这些词时,对分类结果影响很大)进行评估。之后作者使用了三种修改策略(insertion、replacement、detetion)来选出需要操作的最重要的k个单词,其中k是个阈值。替换策略和插入策略都需要有个额外的字典来进行替换操作。因此,作者为实验中的每个单词建立了一个候选词库,包括同义词(synonyms)、拼写错误(typos)和特定类型的关键词(type-specific keywords)。但是,这个操作需要花费大量的时间,并且,在实际的输入中可能并没有top k的候选池。这种方法也属于一种importance-based的方法。
5.1.2 Optimization-based
Sato et al. [25]提出了一种在输入的词向量空间操作的方法,名为iAdv-Text。其核心过程可以看作是一个优化问题,即对参数为$ W$ 的整个训练数据集$ D$ 联合最小化目标函数$ J_{iAdvT}(D, W)$ 。优化步骤如下所示:
其中,$ \hat{X},\hat{Y}$ 是输入和标签,$ \lambda$ 是用来平衡两个损失函数的超参。$ \ell(\hat{X}, \hat{Y}, W)$ 是单个输入样本的损失函数。$ \alpha_{i A d v T}$ 是一个寻找方向向量最坏情况权值的最大化过程。其公式如下:
其中,$ \sum_{k=1}^{|V|}\alpha_k d_k$ 是对每个输入的词向量$ \vec{w}$ 的扰动。$ \epsilon$ 是一个控制扰动大小的超参数。$ \alpha_k$ 是一个$ |V|$ 维词向量扰动向量$ \alpha$ 的第k个元素。$ d_k$ 是一个$ |V|$ 维方向向量$ d$ 的第k个元素,也就是在嵌入空间中从一个词到另一个词的映射。但是,上面的式子太难计算了,因此,用下面的式子代替:
因此,该损失函数中,第一个loss是用来确保原始样本正确分类,第二个loss是为了使得修改后的样本的loss最大。
iAdv-Text限制了查找替换的扰动方向,替换是在预定义的词汇表中,而不是在未知的单词中。即首先选定了一个候选词,即确定了方向向量$ d$ 。同时,利用余弦相似度来选择更好的扰动,以保持良好的可读性和语义相似性。
Gong et al. [32]也在词向量空间搜索对抗扰动,尽管他使用了WMD来测量对抗样本与原始样本的相似性,但是,生成的对抗样本的可读性要比iAdv-Text差。
5.1.3 Importance-based
Gao et al. [22]提出了DeepWordBug生成对抗样本来进行黑盒攻击。整个过程主要分为两步,第一步是决定需要改变的重要的单词,第二步是得到对抗扰动。
第一步的计算过程的公式如下:
其中$ CS(x_i)$ 表示第$ i$ 个单词的重要性(模型的输入为$ (x_1,…,x_n)$ ),其通过函数$ F$ 来进行评估。$ \lambda$ 是一个超参数。
第二步,通过类似的修改,如swap、flip、delete、insert来操作重要单词的字符。同时,作者使用edit距离来保持对抗样本的可读性。
Wang et al. [95]是上面方法的变体,用来攻击中文数据的分类系统,这说明这种方法不限制语言。
Li et al. [20]提出了一种攻击框架,叫TextBugger,这种方法可以在白盒和黑盒场景下攻击深度文本理解系统。
在白盒攻击下,作者使用Jacobian矩阵J来计算每个单词的重要性。
其中$ F_y(·)$ 表示类别$ y$ 的置信度,$ C_{x_i}$ 是输入$ x$ 的第i个单词$ x_i$ 的重要性分数。之后,使用与DeepWordBug类似的修改策略来生成charcter-level和word-level的对抗样本。
在黑盒攻击下,作者会将文档分割成序列,然后,将序列送入目标模型中,过滤出带有不同预测标签的句子。按照置信度的倒数进行排序。另外,我们通过removing操作来计算重要程度,即:
之后的修改策略是跟白盒攻击是一样的。
5.2 Targetd Attacks for Classification
5.2.1 FGSM-based
Liang et al. [26] 首先证明了,FGSM并不能直接的用在文本领域,因为,文本的输入空间是离散的,但是图像的是连续的。连续图像可以容忍微小的扰动,而文本则不能。作者只使用了FGSM方法,来确定什么、在哪里以及如何插入、删除和修改输入。他们在不同的场景下进行了两种攻击,并使用自然语言水印[96]技术使生成的对抗性示例危及其效用。
作者在白盒和黑盒环境下进行了对抗性攻击。在白盒场景中,他们定义了hot training phrases和hot sample phrases的概念。这两个对象都是利用反向传播算法计算样本的代价梯度得到的。前者阐明了插入什么,后者暗示了插入、删除和修改的位置。在黑箱场景中,借鉴fuzzing技术[97]的思想,获取hot training phrases和hot sample phrases。一个核心假设是可以访问目标模型。将样本输入目标模型,每次使用等距空白替换源词。修改前后结果的差异就是每个单词的偏差。它越大,对应的词对分类的意义就越大。因此,hot training phrases是输入集(包含了每个样本偏差最大的词)中出现频率最高的词。hot sample phrases短语是每个样本中偏差最大的词。
5.2.2 Optimization-based
Ebrahimi et al. [24]提出了一种名为HotFlip的方法,与one pixel攻击类似。HotFlip是一种白盒攻击方法,它依赖于原子翻转操作,通过梯度计算来交换字符。翻转操作如下:
上面公式的意思是第$ i$ 个单词的第$ j$ 个字符从字符a转换成了字符b。分别对应-1和1的位置。我们是沿着能够使loss$ J(x,y)$ 最大的方向进行改变的,即:
其中,$ x_{ij}$ 是one-hot向量,表示第i个单词的第j个字符。$ y$ 表示对应的label向量。
HotFlip也能够被用于word-level中。虽然HotFlip的表现很好,但在严格的约束条件下,只有少数成功的对抗性例子是通过一次或两次翻转生成的,因此不适合大规模的实验。
Gil et al. [33].提出了一种衍生出来的方法,DISTFLIP。他提炼了HotFlip中的知识,并将其用于训练黑盒模型。通过训练模型,作者生成了用于黑盒攻击的对抗样本。在toxicity分类器中,这种方法的表现更好,运行时间比HotFlip快10倍。但是,这种方法能够蒸馏任何白盒攻击的知识还不确定。
考虑到基于梯度的优化方法在黑盒攻击下的局限性。Alzantot et al. [23] 提出了一种基于遗传算法的优化方法。作者会从输入随机的选取单词,使用欧氏距离从GloVe词向量空间中选取最近邻。根据语言模型的分数来对这些最近邻进行过滤,使其适应当时的场景,只保留分数最高、排名靠前的单词。从剩余的单词中选择能最大概率得到目标标签的替换词。同时,以上操作进行多次,得到一代。如果某一代修改样本的预测标签不是目标,那么每次随机选择两个样本作为parent来生成下一代,然后在下一代上重复同样的过程。这个优化过程就是利用遗传算法找到一个成功的攻击。在这种方法中,随机选择要替换的序列中的词充满了不确定性。即使目标标签更改了,这些替换也可能是没有意义的。
5.2.3 Summary of Adversarial Attacks for Classification
我们可以看到,大部分白盒攻击与表4中的梯度有关。基于梯度的优化方法在图像中得到了广泛的应用,有很多变体(如[106],[107]),也可以应用于文本。但是梯度的使用也存在一些不足,如梯度的消失和爆炸问题[108],[109],以及目标模型获取的局限性。同时,梯度掩蔽[110]在某些情况下会使梯度失效,导致基于梯度的方法失败。尽管梯度掩蔽被证明是一种失败的防御,但基于梯度的方法并不像我们想象的那样有效。
另外,好的对抗性文本不仅能够达到很高的欺骗DNNs的成功率,而且还需要具有良好的可读性、语义相似性和不可感知性。因此,我们通过这些方法中生成的示例(表6)来判断。文本的修改一般分为charaver-level、word-level、sentence-level。charaver-leve作用于字符,其余分别作用于词和句子。在表6中,word-level的同义词攻击似乎比charaver-level的攻击更难以察觉,尽管人们对拼写错误有很强的抵抗力[111]。但是一些字符级方法也表现得很好,比如HotFlip。一般来说,操作越多,就越容易被察觉。干扰越细微,可读性和语义相似性就越好。
6. Adversarial Attacks On Other NLP Tasks
6.1 Attack on Reading Comprehension Systems
Jia et al. [27]在段落中插入了对抗扰动,在不改变answer或不误导人类的情况下测试系统。他们提取文具中的名词和形容词,并用反义词代替。同时,在GloVe嵌入空间中使用最近邻单词来替换命名实体和数字。将修改后的问题转化为陈述句作为对抗扰动,然后连接到原段落的末尾。这个过程被称作为ADDSENT。
另一种方法,ADDANY,会随机的选择句子中的单词。相比于ADDSENT,ADDANY并不会考虑句子的语法,他需要访问模型很多次。这项工作的核心思想是将模型的注意力吸引到生成的序列上,而不是原始的序列上,从而产生错误的答案。Mudrakarta等人[35]研究了问答系统上的对抗样本,他们的部分作品可以加强Jia等人[27]提出的攻击。
6.2 Attack on Natural Language Ingerence Models
Minervini et al. [28]将对抗样本的生成视为优化问题,可以在NLI中添加一阶逻辑约束。通过使用如下语言模型,作者最大化了所提出的不一致性损失$ J_I$ ,以便搜索替代集$ S$ (即,对抗样本):
其中$ [x]_+ = max(0,x)$ 。$ p_L(S)$ 表示在$ S$ 中的句子的概率值。$ \tau$ 表示生成的句子的复杂程度的阈值。
6.3 Attack on Neural Machine Translation (NMT)
Belinkov et al. [29].根据自然的和合成的语言错误,包括打字错误、拼写错误或其他错误,设计了对抗样本。然后,通过随机或键盘输入类型修改语法上的对抗性示例。在三个不同的NMT系统上进行了实验[112]和[113],结果表明这些例子也可以有效地欺骗NMT系统。
同样的,Ebrahimi et al. [30]通过使用可微的字符串编辑操作对NMT进行了对抗性的攻击。生成对抗样本的方法与他们之前的工作[24]相同。与Belinkov等人[29]相比,作者证明,在大多数情况下,黑箱攻击中的对抗性例子比白箱攻击要弱得多。
6.4 Attack with Syntactically Controlled Paraphrase Networks (SCPNS)
Iyyer et al. [88]设计了SCPNS,用于在不降低输入语义质量的情况下生成对抗样本。通用处理主要依赖于SCPNS的编解码器体系结构。给定序列和相应的目标语法结构,采用双向LSTM模型对其进行编码,并采用LSTM模型进行解码。这一过程通过对编码状态的软关注[114]和复制机制[115]得到增强。然后,他们修改了译码器的输入,旨在合并目标语法结构,以生成相反的示例。语法上的对立句不仅可以欺骗预先训练好的模型,而且可以提高模型对句法变化的鲁棒性。作者还利用众包实验验证了该方法的有效性。
7.Denfenses Against Adversarial Attacks In Texts
对抗防御大致可以分为两类,一类是检测,另一类是模型增强方法。前者主要是通过检测输入来进行防御,后者则是通过增强模型的鲁棒性。
7.1 Detection of Adversarial Examples
在文本领域,产生对抗样本时通常会产生一些比如拼写错误这类截然不同的特征。因此,通过检测拼写错误这个方法是可行的。Gao et al. [22] 使用python工具包来检测输入。Li et al. [20]利用了基于上下文的拼写检查服务做了类似的工作。实验结果显示,这种检测方法对charater-level的修改有效,但对word-level的攻击无效。这可能与修改策略的不同有关。另外,拼写检查方法也不适用于基于汉语等其他语言的对抗性示例[95]。
Pruthi et al. [121]提出了一种word recognition模型来检测拼写错误的对抗样本。该模型在charater-level表现良好。虽然实验表明,他们也能检测到单词级的攻击,但对单词级的攻击是否足够有用还不知道。
Wang et al. [122]提出了一种针对基于同义词替换的攻击的同义词编码方法(SEM)。通过聚类找到一个输入的同义句,并用相同的标签进行标记。他们的方法不需要修改模型,也不需要外部知识。
7.2 Adversarial Training
在文本领域,对抗训练在大多数情况下都有效,但是无法防御[23](遗传算法)的攻击方法。对插入、替换、删除等的修改策略都有效,但是对遗传算法不太有效。
过拟合是另一个对抗训练并不总是有效的原因。另一方面,通过对抗性训练的再训练模型,提高了对抗样本的检测精度,降低了对原始样本的检测能力。因此,如何提高对抗训练的效果是一个有待解决的问题。
7.3 Other Methods Against Adversarial Examples
Goren et al. [128]分析、定义和量化了线性学习到基于排序的相关性排序函数的鲁棒性概念,旨在提高在对抗Web检索设置中对文档小扰动的鲁棒性。
Li et al. [134]提出了一种通过多头注意力增强NLI系统鲁棒性的方法。
7.4 Summary of Defense Methods
拼写检查策略在检测单词级和句子级的反例方面表现不佳。对抗性训练存在过拟合问题,在面对新的攻击方法时可能无法奏效。模型增强可能是未来的主要防御策略,但仍在探索中,存在很多困难,如损失函数的选择、模型结构的修改等。在表7中,我们从效率、前景和可扩展性三个方面比较了三种防御方法。除了在NLP中的拼写检查,其他两种方法已经被用于图像,音频,文本等。与拼写检查相比,拼写检查有很大的局限性,具有更高的应用前景。
8.Testing And Verification
新的对抗攻击方法提出不久后就会有新的防御方法出现。因此,我们需要保证DNN的behavior来打破这个循环。这是一项艰巨的工作。测试和验证技术从另一个角度帮助我们解决这个问题。测试是用测试用例发现模型中的bug,验证是确保模型在一定条件下正常运行。这两种方法都是提高DNNs的鲁棒性以抵御敌对实例的重要方法。
8.1 Testing in Image Domain
随着DNNs在安全关键领域的使用越来越多,对模型的准确性有高度的信任是非常重要的,特别是在存在对抗性实例的情况下。模型正确行为的信心来自于各种场景下的严格测试。更重要的是,测试有助于理解网络的内部行为,有助于防御方法的实现。
8.1.1 Test Case Generation
Pei et al. [139]设计了一个白盒框架DeepXplore来用神经元覆盖的度量来测试真实世界的DNNs。他们利用差异测试来捕捉多个DNNs对应输出的差异。这样,生成的对抗性示例具有较高的神经元覆盖率。因此,DeepXplore可以触发模型的大多数逻辑来找出不正确的行为,而无需手动操作。它在先进的深度学习系统中表现良好,可以发现成千上万的导致系统崩溃的极端情况。然而,DeepXplore的局限性在于,如果所有的DNNs都做出了错误的判断,很难知道错误在哪里以及如何解决。
Wicker et al. [143]提出了一种特征引导的方法来测试DNNs在黑箱场景下的弹性。将产生对抗样本的过程视为基于回合制的两方随机博弈。在此游戏过程中,使用基于蒙特卡罗树搜索(MCTS)[144]算法的渐近最优策略会发现对抗样本,作者可以通过此过程评估DNNs的鲁棒性。
Sun et al. [138]提出了DeepConcolic,这是首次尝试将传统的控制台测试方法应用于已知的DNNs。DeepConcolic迭代地使用具体执行和符号分析来生成测试套装,目的是达到高覆盖率,并通过健壮的oracle发现敌对的例子。与其他检测方法进行比较[139]-[142]见表8。在输入数据方面,DeepConcolic可以从单个输入或覆盖率要求开始,作为实现更好的覆盖率的输入。在性能上,DeepConcolic可以实现比DeepXplore更高的覆盖率,但运行速度比它慢。
8.1.2 Testing Criteria
Ma et al. [140]提出了一种多粒度的测试覆盖标准来度量准确性和检测错误行为。他们利用[44],[71],[73],[106]四种方法生成对抗性测试数据,以探索模型的新的内部状态。不断增加的覆盖率表明,覆盖率越大,检出缺陷的可能性就越大。Budnik et al. [145] 也做了类似的工作,通过对抗性案例生成方法探索模型的输出空间。
Kim et al. [146] 提出了一种新的测试充分性标准,叫做Surprise Adequacy for Deep Learning Systems(SADL),用于测试DNN。该方法测量输入和训练数据之间的差异,这是充分性标准的基础。实验结果表明,该方法能较好地判断对抗样本。另一方面,通过再训练,也提高了DNN对对抗样本的准确性。
8.2 Verification in Image Domain
研究人员认为,测试不足以保证DNNs的安全性,特别是对于不寻常的输入,如对抗样本。Edsger W. Dijkstra曾经说过,“测试显示的是存在的bug,而不是没有bug。”因此,需要对DNNs的验证技术来研究在对抗环境下更有效的防御方法。但是机器学习模型对敌对实例的鲁棒性验证还处于起步阶段[147],导致相关方面的研究较少。我们将验证方法分为以下三个方面:基于搜索的方法、全局优化方法和过近似方法。
8.2.1 Global Optimization Approach
Katz et al. [148]提出了一个新的系统,名为Reluplex来验证DNN。
9.Discussion
9.1 Findings
从我们所审阅的论文中,有许多发现,我们在下面总结了一些主要的发现。
9.1.1 Use of misspellings
使用拼错的动机类似于图像域的单像素攻击[72],其目的是利用不可识别的扰动来欺骗目标模型。理想的情况是攻击者只更改一两个字符来生成对抗文本来愚弄模型,就像HotFlip[24]一样。实际上,为了获得更多的对抗性例子,人们需要增加修改字符的数量,而字符级修改会导致较高的拼错概率。同时,研究表明,人类对书面语中的拼写错误具有很强的抵抗能力[111],因此,拼写错误被视为一种用来生成文本领域的对抗样本的特殊修改方法。
9.1.2 Transferability
近年来研究表明,不同类型的对抗性攻击具有不同的可迁移性[106]、[168]。例如,单步基于梯度的方法生成的对抗样本比迭代方法更具有可迁移性[106],但它们的攻击能力是相反的。因此,生成具有高可迁移性的对抗样本是进行黑盒攻击的前提,也是评价广义攻击的度量指标。
9.1.3 Generation Process
我们观察到,许多方法在文本中主要遵循两步过程来生成对抗样本。第一步是找出对分类结果有显著影响的重要词,然后利用同源修改生成对抗性文本。
9.1.4 Distribution
此外,我们发现研究成果的分布存在着明显的不平衡:在我们收集的47篇论文中,有3篇是针对测试和验证的,只有1篇是针对防御的,剩下的是针对攻击的。我们可以看到,防御方法在文本研究中只占很小的一部分,这些研究只占所有领域的一小部分(如图2所示)。因此,对抗样本所带来的安全问题需要引起高度重视
9.2 Challenges
从对抗攻击的角度来说,主要有两大挑战:
- 由于很少有人在现实NLP系统中进行攻击,因此文本中的对抗性攻击是不实际的。目前,对抗性文本的研究主要集中在理论模型上,很少涉及到实际应用。我们在最近的著作[20]-[26],[31],[32]中使用了对抗样本来攻击ParallelDots,如图1所示,但是大多数对抗样本是无效的,并且可以被正确地分类。只有少数样本成功地欺骗了系统,说明这些对抗性样本的可移植性不好。对于现实NLP系统,我们无法访问它们,有时查询可能受到限制,因此可迁移性是攻击这些现实应用程序的主要选择。因此,可迁移性的能力是实际攻击的关键因素。
不存在表现良好的对抗样本可以欺骗所有的DNN,这就是所谓的universality。尽管Wallace等人[169]发现input-agnostic序列可以触发特定分类生成通用的对抗样本,但这些序列对输入的可读性有影响,生成的样本在本质上具有攻击性。
从评估的角度上来说,主要有两大缺点:
大多数的研究以成功率或准确率来评价其对敌攻击的表现。只有一些工作[22],[20]考虑了速度,规模和效率,尽管他们只列出了花费的时间。数据集的规模、消耗的时间和对抗性攻击的成功率之间是否存在关系仍然是一个未知的问题。如果存在这样的关系,这三个方面的权衡可能是未来工作中的一个研究点。目前,对抗样本中速度的相关研究[170]已经在图像领域进行。在攻击方法相同的情况下,不同数据集上的实验结果也不尽相同。数据类型是否会影响对抗性攻击值得思考。
文献中提出了各种研究对抗性攻击和防御的方法,但没有一个基准。研究者在他们的工作中使用了不同的数据集(在第2.7节),这使得比较这些方法的优点和缺点变得困难。同时,也影响了指标的选择。目前,还没有一个确切的声明,说明哪种度量方法在某种情况下更好,以及为什么它比其他方法更有用。一些比较已经在Textbugger[20]与几个指标。这个工作中最好的可能只适合它,但在其他工作中无效。
在quick start方面,缺乏对对抗文本进行研究的开源工具箱(如图像领域的AdvBox[171]和cleverhans[172])。图像领域的工具箱集成了现有的有代表性的生成敌对图像的方法。人们可以很容易地进行进一步的研究,减少重复的时间消耗,促进该领域的发展。与图像领域相比,Laughlin等人[173]在文本中提出的视觉分析框架只有一种。但缺乏多种多样的攻防手段,可以综合运用,使其更加强大
10. Further research
本文介绍了文献中针对DNNs的对抗性攻击和防御。尽管DNNs在各种各样的NLP任务上具有高性能,但它们天生就容易受到对抗样本的攻击。因此,对抗样本所带来的安全问题引起了人们的高度关注。我们整合了几乎现有的对抗性攻击和防御,集中在最近的作品在文本。对抗性攻击的威胁是真实存在的,但是防御方法却很少。现有的作品大多存在应用场景、约束条件等局限性。对抗样本引起的问题是设计抗对抗性攻击的鲁棒模型的一个有待解决的问题。
在未来,研究人员可能会从以下方面研究反面例子:作为攻击者,可以考虑设计通用扰动。对任何文本通用的对抗性扰动都能使模型产生高概率的错误判断。此外,更奇妙的通用扰动可以欺骗多模型或任何文本上的任何模型。另一方面,在更实际的黑箱攻击中,增强可转移性的工作是有意义的。此外,如[174]所述,将基于优化的方法与基于可迁移性的方法相结合也是一种可行的方法。相反,防御者更愿意彻底修补DNN中的这个漏洞,但这与重新设计网络一样困难。这是一项长期而艰巨的任务,需要许多人共同努力。目前,防御者可以借鉴从图像区域到文本的方法来提高DNN的鲁棒性,如对抗性训练[162]、增加额外的层[175]、优化交叉熵函数[176]、[177]、削弱对抗性例子的可迁移性等。