论文名称:A Closer Look into the Robustness of Neural Dependency Parsers Using Better Adversarial Examples 论文作者:王宇轩,车万翔,Ivan Titov,Shay B. Cohen,雷志林,刘挺 原创作者:王宇轩,车万翔 转载须标注出处:哈工大SCIR
现有的针对依存分析任务的对抗攻击基本都集中于攻击方法本身,而忽略了较低的对抗样本质量。为了解决该问题,我们提出了一种方法,使用更多生成方法和更严格的过滤器来生成高质量的对抗样本,并用自动和人工评价证明了其质量。我们使用该方法在不同的分析模型上进行试验并发现: (1) 在句中加入训练过程中未出现的词能有效提高攻击成功率,(2) 算法生成的对抗样本与分析器类型,输入词向量类型,甚至训练模型的随机种子都有较强的相关性。基于这些发现,我们使用对抗学习和模型融合方法有效提高了分析器的鲁棒性。
下面我们首先给出针对依存分析器攻击的形式化定义。给定包括所有可能输入句子 的输入文本空间 和包括 所有可能依存树的输出空间 。一个依存分析器 的目标是学习一个从输入句子 到其对应依存树 的映射,记为 。句子 中的第 个词记为 ,用 表示依存树 中存在一条由 指向 ,标签为 的弧。给定一个句子 ,我们通过对其进行微小的修改获得 ,当 满足以下条件时,将其称为一个有效的对抗样本:
其中 为样本变化约束函数, 为原始句子 与对抗样本 间可允许的最大差别。
根据攻击者对目标系统的了解程度,对抗样本攻击可以大致分为白盒攻击和黑盒攻击两类。在白盒攻击情景下,攻击者能获取目标系统的所有信息,包括模型结构,参数及权重值等。而在黑盒攻击情景下,攻击者仅能用对目标系统查询的方式,通过输入观察输出结果。这里我们选择更贴近现实情况的黑盒攻击情景,设计了一个黑盒攻击框架,针对现有依存分析器生成对抗样本。图1展示了一个我们的攻击框架生成的对抗样本,其中上半部分为原始文本及正确的依存句法预测结果,下半部分为我们生成的对抗样本及目标分析器预测结果(红色部分表示预测错误的依存弧和标签)。在该实例中,我们的攻击框架只修改了一个词(将highway改为superhighway),就使得目标分析器产生了5个错误。
图1 对抗样本实例
图2 针对依存分析器的黑盒攻击算法示意图
在一个句子中,不同的词对于模型的预测结果会产生不同程度的影响,我们将这种影响的大小视为词的重要性,对句中词按重要性进行排序。针对依存分析任务,我们用替换前后无标记依存正确率(Unlabled Attachment Score,UAS)和带标记依存正确率(Labled Attachment Score,LAS)的改变量作为衡量词重要性的分数。具体来说,句子 中词 的重要性为:
其中 为原始句子, 为将词 替换为特殊未知词标签UNK的修改后句子。 和 分别表示修改前后UAS和LAS的改变量。 为用于调节依存弧和标签之间相对重要性的系数。在实验中我们将其设为0.5。
候选词生成中我们针对句中每个目标词,生成若干候选词,为后续的替换做准备,这一步很大程度上影响到了攻击成功率和对抗样本的质量。我们首先同时用这四类策略生成候选词集合,之后使用四种过滤策略过滤掉不合适的候选词,从而同时保证了候选词的质量和数量。
我们首先用以下四种策略生成候选词:
基于语言模型的方法 我们使用预训练的语言模型(BERT[1]),将目标词逐一遮盖(mask)并用其上下文重新预测该词,选取前 个作为候选词。
基于词向量的方法 我们使用Mrksic等人的词向量的cosine相似度计算每个目标词的N个最近的词,将其作为候选词。
基于近义词的方法 我们使用WordNet抽取每个目标词的所有近义词作为候选词。
基于义原的方法 义原在语言学中指最小的不可再分的语义单位。对于每个候选词,我们根据HowNet中定义的义原,收集所有至少有一个义原与其重复的词作为其候选词。
在用上述方法获得若干候选词之后,我们依次使用以下四种过滤策略,将候选词集合中不合适的词过滤掉:
词性过滤 我们首先过滤掉候选词中与目标词词性不同的,这是为了确保替换后句法结构不变。
语法检测过滤 我们使用公开的语法检测工具过滤掉替换后会引入语法错误的候选词,从而进一步确保句法结构的不变性和语法的正确性。
词向量相似度过滤 我们使用词向量cosine相似度过滤掉与目标词相似度低于 的候选词。
困惑度过滤 对于每个候选词 ,我们使用预训练的语言模型GPT-2计算原始句子 和替换后句子 的困惑度,定义困惑度增量为:
其中 为将原始文本 的第 个词替换为 后的文本。我们将 的候选词过滤掉。
在这一步,我们用贪心搜索策略按照目标词重要性由高到底搜索其候选词,找到合适的替换词。具体来说,给定句子 ,我们按照目标词重要性从高到低对其进行排
序,并按此顺序进行搜索。对每个目标词 ,我们用其候选词集合 中的每个候选词 构建一个对抗样本 ,并计算目标分析器分别以 和 为输入时的准确率差值:
其中和分别为UAS和LAS的改变量。 是一个控制依存弧和标签相对重要性的系数。
表1 对抗样本质量评价
我们在宾州树库(Penn Treebank,PTB)上训练了Biaffine[2]和Stack-Pointer[3]分析器来测试我们的攻击框架,并与此前工作[4]进行了对比。首先,我们分别对生成的对抗样本质量进行了自动评价和人工评价。在自动评价中,我们用对抗样本平均困惑度来衡量样本的质量。在人工评价中,我们分别用对抗样本的句子流畅性和是否保持句法结构不变作为评价样本质量的指标。表1中的结果表明,我们的方法在自动评价指标上远好于此前的方法。而在人工评价指标上,我们的方法在80%的情况下流畅性优于此前的方法,而在保持句法结构上我们的方法也获得了更好的结果。
表2 攻击成功率
表3 OOV和OOT分析实验结果
基于此发现,我们使用对抗样本训练方法,首先针对训练集使用我们的攻击框架生成对抗样本,然后将对抗样本和原始训练集混合训练新的分析器。如图3所示,对抗样本训练有效提高了各类分析模型的鲁棒性。对于大部分模型来说,当加入训练集50%-70%的对抗样本的时候,鲁棒性提高达到最大值。
图3 对抗样本训练实验结果
对抗样本的传递性(transferability)表示了针对一个模型生成的对抗样本能够成功误导另一个模型的能力。为了探究对抗样本的传递性,我们分别使用不同类型分析器(Cross Parser),不同类型词向量(Cross Embedding)和不同的随机种子(Cross Seed)训练了不同的分析模型,针对其中一个生成对抗样本,然后在其他的模型上测试这些对抗样本。
表4 对抗样本传递性分析实验结果
表4给出的实验结果说明对抗样本攻击生成的对抗样本与分析器类型、词向量类型和随机种子都有较强相关性。其中,夸随机种子攻击的对抗样本传递性最强,而夸词向量的传递性最弱。
基于此发现,我们提出通过模型融合的方法,融合由ELMo[5]和ELECTRA[6]等不同词向量训练的分析模型,从而提升分析器鲁棒性。表5所示的实验结果显示,通过融合基于不同词向量分析模型,最终模型的鲁棒性有显著提升,且在原始测试集上的分析结果也没有下降。
针对依存分析中的对抗样本攻击任务,本文提出一个生成高质量对抗样本的方法,在对抗样本质量的自动评价和人工评价中都显著超过了此前的方法。此外,我们利用该攻击框架探究了基于神经网络的依存分析器的鲁棒性,并提出了基于对抗样本训练和模型融合的方法,有效提高了分析器的鲁棒性。
[1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics.
[2] Timothy Dozat and Christopher D. Manning. 2017. Deep biaffine attention for neural dependency parsing. In 5th International Conference on Learning Representations.
[3] Xuezhe Ma, Zecong Hu, Jingzhou Liu, Nanyun Peng, Graham Neubig, and Eduard Hovy. 2018. Stackpointer networks for dependency parsing. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics.
[4] Xiaoqing Zheng, Jiehang Zeng, Yi Zhou, Cho-Jui Hsieh, Minhao Cheng, and Xuanjing Huang. 2020.Evaluating and enhancing the robustness of neural network-based dependency parsing models with adversarial examples. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics.
[5] Matthew Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. 2018. Deep contextualized word representations. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics.
[6] Kevin Clark, Minh-Thang Luong, Quoc V. Le, and Christopher D. Manning. 2020. ELECTRA: pretraining text encoders as discriminators rather than generators. In 8th International Conference on Learning Representations.
长按下图即可关注哈尔滨工业大学社会计算与信息检索研究中心微信公众号『哈工大SCIR』。