用于自然语言理解的多任务深度神经网络

用于自然语言理解的多任务深度神经网络

1. 摘要

本文提出了一个多任务深度神经网络(MT-DNN),用于跨多个自然语言理解(NLU)任务学习表示。MT-DNN不仅利用了大量的跨任务数据,而且还受益于正则化效应,从而产生更通用的表示,以帮助适应新的任务和领域。MT-DNN扩展了Liu等人提出的模型,加入了一个预训练的双向transformer语言模型,称为BERT。MT-DNN在10个NLU任务上获得了最先进的结果,包括SNLI、SciTail和9个GLUE任务中的8个,将GLUE基准提升到82.7%(2.2%的绝对改进)。还使用SNLI和SciTail数据集证明,MT-DNN学习的表示法比预先训练的BERT表示法使用更少的域内标签来实现域自适应。代码和预先训练的模型可以通过https://github.com/namisan/mt-dnn公开获得。 # 2. 介绍 学习文本的向量空间表示,例如单词和句子,是许多自然语言理解(NLU)任务的基础。多任务学习和语言模型预训练是两种流行的方法。本文结合这两种方法的优点,提出了一种新的多任务深度神经网络(MT-DNN)。 本文认为MTL和语言模型预训练是互补的技术,可以结合起来改进文本表示的学习,以提高各种NLU任务的性能。因此,本文扩展了Liu等人最初提出的MT-DNN模型,将BERT作为其共享文本编码层。如图1所示,较低的层(如文本编码层)在所有任务中共享,而顶层是特定于任务的,结合了不同类型的NLU任务,如单句分类、成对文本分类、文本相似度和相关性排序。与BERT模型类似,MT-DNN可以通过微调适应特定的任务。与BERT不同的是,MT-DNN使用MTL,除了语言模型的预先训练外,还用于学习文本表示。 # 3. 提出的MT-DNN模型 在这里插入图片描述 MT-DNN模型的结构如图1所示。较低层在所有任务之间共享,而顶层表示特定于任务的输出。输入X是一个单词序列(一个句子或组合在一起的一对句子),它首先在l1中被表示为一个嵌入向量序列,每个单词作为一个token。然后,transformer编码器通过自我注意机制获取每个单词的上下文信息,并生成l2中的上下文嵌入序列。这是提出的多任务目标训练的共享语义表示。接下来,对模型进行详细的说明。 lexicon编码器(l1): 输入x ={x1,…,xm}是长度为m的token序列。第一个token x1总是[CLS]token。如果X被一个句子对(X1,X2)打包,则用一个特殊的标记[SEP]分开这两个句子。lexicon编码器将X映射到一个输入嵌入向量序列,每个token作为该向量序列的一个元素,由对相应的单词、段和位置嵌入求和构建。 transformer编码器(l2): 使用多层双向transformer编码器将输入表示向量(l1)映射为上下文嵌入向量序列C∈R^d x m^。这是不同任务之间的共享表示。与BERT模型通过预处理学习表示不同,MT-DNN除了预处理外,还使用多任务目标学习表示。

下面,将使用GLUE中的NLU任务作为示例来描述特定于任务的层,尽管在实践中可以合并任意的自然语言任务,比如文本生成,其中输出层被实现为神经解码器。 单句分类输出:假设x是标记[CLS]的上下文嵌入(l2),可以看作是输入句子x的语义表示。以SST-2任务为例。X被标记为c类的概率。用softmax logistic回归预测: 在这里插入图片描述 其中WSST为任务特定的参数矩阵。

文本相似度输出:以STS-B任务为例。假设x是[CLS]的上下文嵌入(l2),可以看作是输入句子对(X1, X2)的语义表示。引入一个与任务相关的参数向量wSTS来计算相似度得分: 在这里插入图片描述 其中Sim(X1, X2)为范围(-∞,∞)的实值。

文本成对分类输出:以自然语言推理(NLI)为例。NLI任务定义这里涉及一个m个单词的前提P = (p1,…, pm)和一个n个单词的假设H = (h1,…, hn) ,旨在找到P和H之间的逻辑关系R.输出模块的设计遵循随机回答的回答模块网络(SAN)),最先进的神经NLI模型。SAN的答案模块使用了多步推理。它不直接预测给定输入的暗含,而是维护一个状态并迭代地改进其预测。

SAN应答模块的工作原理如下。首先,将transformer编码器输出的P中单词的上下文嵌入连接起来,构建前提P的工作记忆,记为Mp∈Rd×m,同样的,假设H的工作记忆,记为Mh∈Rd×n。 然后对内存进行K步推理以输出关系标签,其中K为超参数。初始状态s0是Mh的总结: 在这里插入图片描述 在时间步长k处{1,2,…,k-1},状态定义为sk = GRU(sk-1, xk)。这里,xk由以前的状态sk-1和内存Mp计算: 在这里插入图片描述 用一层分类器确定每一步k处的关系: 在这里插入图片描述

最后,利用所有K个输出,对得分进行平均:在这里插入图片描述 每个Pr是对所有关系R∈R的概率分布。在训练中,在上面的平均操作之前使用了随机预测dropout。在译码过程中,平均所有输出以提高鲁棒性。

相关性排序输出:以QNLI为例。设x为[CLS]的上下文嵌入向量,[CLS]是一对问题及其候选答案(Q, A)的语义表示,计算相关性得分为: 在这里插入图片描述 对于一个给定的Q,根据公式5计算出的相关性分数来排列它所有的候选答案。

3.1 训练过程

MT-DNN的训练过程包括预处理和多任务学习两个阶段。前训练阶段遵循BERT模型)。词汇编码器和转换器编码器的参数通过两个非监督预测任务来学习:掩蔽语言建模和下一句预测。 在多任务学习阶段,使用基于小批量的随机梯度下降(SGD)来学习的模型的参数。在每个epoch,一个小批量bt被选择例如。根据任务t的具体任务目标更新模型,这近似优化了所有多任务目标的和。 对于分类任务(如单句或成对文本分类),使用交叉丢失作为优化目标: 在这里插入图片描述 1(X, c)是二进制指示器(0或1):c类标签是否是X的正确类标,和Pr(.)被定义为如方程1或4。 对于文本相似度任务,例如STS-B,其中每个句子对都标注了一个重值分数y,使用均方误差作为优化目标: 在这里插入图片描述 其中Sim(.)由式2定义。 相关性排名任务的目标遵循成对学习到排名的范式。以QNLI为例。给定一个查询Q,获得一个候选答案的列表.A,其中.A包含一个正确答案的正例A +,以及|.A|−1个负例。然后最小化正例在训练数据上的查询的负对数似然 在这里插入图片描述 其中,Rel(.)由方程5定义,γ是根据加载的数据确定的调优因子。在实验中,将γ设置为1。

4. 实验

在三个流行的NLU基准上评估了提出的MT-DNN: GLUE 、SNLI和SciTail。将MT-DNN与现有的最先进的模型(包括BERT)进行了比较,并通过使用GLUE和使用SNLI和SciTail进行区域自适应来演示无论是否使用模型微调MTL的有效性。 实验表明:MT-DNN在用于通用语言理解评估(GLUE)基准测试的9个NLU任务中获得了8个最新的最先进的结果,将GLUE基准测试分数提升到82.7%,相对于BERT有2.2%的绝对提升。将MT-DNN的优势进一步扩展到SNLI 和SciTail任务。与预先训练好的BERT表示相比,MT-DNN学习的表示可以使用更少的域内标签进行域自适应。例如,修改后的模型在SNLI和SciTail上分别达到了91.6%和95.0%的准确率,分别比之前最先进的表现高出1.5%和6.7%。即使只有原始训练数据的0.1%或1.0%,MT-DNN在SNLI和SciTail数据集上的性能也优于许多现有的模型。这些都清楚地证明了MT-DNN通过多任务学习具有特殊的泛化能力。 # 5. 结论 本文提出了一种多任务学习与语言模型预训练相结合的语言表示学习模型MT-DNN。MT-DNN在三个流行基准(SNLI、SciTail和GLUE)的10个NLU任务上获得了最新的技术成果。MTDNN在领域自适应实验中也显示出了优异的泛化能力。