本文对百度NLP入选AAAI 2020的机器阅读理解领域入选论文《A Robust Adversarial Training Approach to Machine Reading Comprehension》进行详细解读,该论文讨论了机器阅读理解模型面临对抗攻击时的效果鲁棒性问题。
一、研究动机
机器阅读理解技术是自然语言处理领域的热门方向,该技术可以使计算机具备从文本数据中获取知识并回答问题的能力。近年来很多研究表明机器阅读理解模型对于对抗攻击是非常脆弱的,导致模型在很多应用场景上出现效果鲁棒性问题甚至安全问题。
对此有研究表明通过总结这些误导性文字的对抗规律,借助人工规则驱动的方式构建类似对抗样本,并在此基础上进行训练,得到的阅读理解模型可以很好地防御相关对抗样本。
它的优点是在目标集合上非常有效,但是仍然有一个缺点:需要人工参与,且无法通过规则的方式枚举出所有可能的对抗样本类型及其规则。
因此人工的方式无法在更为通用的意义上解决阅读理解模型的鲁棒性问题。对此本文的作者从阅读理解模型自身出发,利用对抗的思路自动发现对抗样本,从而有针对性地加强模型的鲁棒性。
二、技术方案
作者们提出了一种模型驱动的方法,使用自动对抗的方法自动生成未观察过的对抗样本,并运用生成的样本最终提升阅读理解模型的效果鲁棒性,全程无需人工参与。
该方法可以简单地划分为三个步骤:
(1)对每个训练样本利用对抗的方法生成一个干扰向量输入,使得它能够误导当前的阅读理 解模型;
(2)采用贪心策略从干扰向量的词汇权重中采样得到对应的离散化的干扰文本;
(3)使用干扰文本构建用于训练的对抗样本,并重新训练阅读理解模型并重复上述步骤直至收敛。
在步骤(1)中,针对已有阅读理解模型训练干扰向量的方法如图4中高亮所示。对于任意一组训练样本,该方法在embedding输入中随机插入一段由词表embedding加权得到的干扰向量序列,组成含有干扰的embedding输入序列。
在训练干扰向量时,固定阅读理解模型参数,以最小化当前模型正确预测概率为目标,使用梯度下降的方法调整归一化的词表权重,从而生成能够达到迷惑目的的干扰向量序列。
在步骤(2)中,针对干扰向量序列上的各个干扰向量,作者使用贪心的方法采样词表中词汇embedding与干扰向量欧式距离最近的词汇作为该位置的代表词,从而生成一段干扰文本。由于该算法的特性,可以近似地直接选取词表中权重最大的词作为代表词。
在步骤(3)中,作者将生成的干扰文本重新加入到对应训练数据中,构建成为具有对抗意义的对抗样本(adversarial examples),并在训练数据中追加上这些样本进行重新训练,得到鲁棒性加强后的阅读理解模型。并运用该模型继续从步骤(1)开始下一轮迭代,寻找新的能够对抗当前模型的样本,直至收敛。
三、实验效果
经实验验证,作者发现当前包含BERT和ERNIE等预训练模型在内的最好的阅读理解模型,在面对对抗样本的时候仍然非常脆弱。在5类不同的对抗测试集上,效果均有较大幅度下降,其中BERT-large和ERNIE2.0效果降幅绝对值超过17%。
而当同样的模型运用上论文中的对抗训练方法后,在不同的对抗数据集上均有非常显著的效果提升(如图5所示),相比基线效果错误率降低50%。
作者通过相关实验,发现论文提出的模型驱动的方法确实能够生成多样性更加丰富的干扰文本(图6中绿点),从而有效补充人工规则的不足。同时也发现使用该方法生成的对抗样本case仍然较为杂乱,并不具备很好的流利度甚至完全不是自然语言,因此当前对抗生成的方法仍然有较大提升空间。
至此,AAAI 2020中百度在NLP领域入选的第三篇论文《A Robust Adversarial Training Approach to Machine Reading Comprehension》的分享到此结束,本论文的原文将以PDF形式向大家展示,地址如下。
论文地址: