赞
踩
机器理解(MC,machine comprehension),回答关于给定上下文段落的查询,需要对上下文和查询之间的复杂交互进行建模。 最近,注意机制已成功扩展到MC。 通常,这些方法使用注意力集中于上下文的一小部分并且用固定大小的向量对其进行概括,在时间上偶然关注,和/或经常形成单向关注。 在本文中,我们介绍了双向注意流(BIDAF)网络,这是一个多阶段分层过程,它表示不同粒度级别的上下文,并使用双向注意流机制来获得查询感知上下文表示而无需提前汇总。 我们的实验评估表明,我们的模型在斯坦福问答数据集(SQuAD)和CNN / DailyMail完形填空测试中实现了最先进的结果。
机器理解(MC)和问答(QA)的任务在过去几年中在自然语言处理和计算机视觉社区中获得了显着的普及。现在,端到端训练好的系统可以在文本和图像域中的各种任务上获得有希望的结果。推进的关键因素之一是使用神经注意机制,该机制使系统能够专注于上下文段落(针对MC)或图像(针对视觉质量保证)内的目标区域,这与回答这个问题(Weston et al,2015; Antol et al,2015; Xiong et al,2016a)。先前工作中的注意机制通常具有以下一个或多个特征。
在本文中,我们介绍了双向注意流(BIDAF)网络,这是一种分层多阶段架构,用于对不同粒度级别的上下文段落的表示进行建模(图1)。 BIDAF包括字符级,单词级和上下文嵌入,并使用双向注意流来获得查询感知上下文表示。我们的注意机制对以前流行的注意范例提供了以下改进。
我们的BIDAF模型1在提交时在竞争激烈的斯坦福问答数据集(SQuAD)测试集排行榜上优于所有先前的方法。 通过仅对输出层进行修改,BIDAF在CNN / DailyMail完形填空测试中实现了最先进的结果。 我们还提供了对SQuAD开发集的模型的深入消融研究,可视化模型中的中间特征空间,并与更传统的机器理解语言模型相比较,分析其性能(Rajpurkar等,2016)。
我们的机器理解模型是一个分层的多阶段过程,由六层组成(图1):
字符嵌入层负责将每个字映射到高维向量空间。 让 x 1 , . . . , x T x_1,...,x_T x1,...,xT和 q 1 , . . . , q J q_1,...,q_J q1,...,qJ分别表示输入上下文段落和查询中的单词。 继Kim(2014)之后,我们使用卷积神经网络(CNN)获得每个单词的特征级嵌入。 字符嵌入到矢量中,可以将其视为CNN的1D输入,其大小是CNN的输入信道大小。 CNN的输出在整个宽度上最大化,以获得每个字的固定大小的矢量。
词嵌入层还将每个字映射到高维矢量空间。 我们使用预训练的单词向量GloVe(Pennington等,2014)来获得每个单词的固定单词嵌入。
字符和单词嵌入向量的串联被传递到两层公路网(Srivastava等,2015)。 公路网的输出是二维向量序列,或者更方便的是两个矩阵:上下文的 X ∈ R d ∗ T X \in R^{d*T} X∈Rd∗T和查询的 Q ∈ R d ∗ J Q \in R^{d*J} Q∈Rd∗J。
我们使用长短期记忆网络(LSTM)(Hochreiter和Schmidhuber,1997),在前面的层提供的嵌入之上,模拟单词之间的时间相互作用。 我们在两个方向上放置一个LSTM,并连接两个LSTM的输出。 因此,我们从上下文字向量 X X X获得 H ∈ R 2 d ∗ T H \in R^{2d*T} H∈R2d∗T,并且从查询字向量 Q Q Q获得 U ∈ R 2 d ∗ J U \in R^{2d*J} U∈R2d∗J。注意,由于前向输出的串联, H H H和 U U U的每个列向量是2维的。 和后向LSTM,每个都有 d d d维输出。
值得注意的是,模型的前三层是来自不同粒度级别的查询和上下文的计算特征,类似于计算机视觉领域中卷积神经网络的多阶段特征计算。
注意流层负责链接和融合来自上下文和查询词的信息。 与以前流行的注意机制(Weston et al,2015; Hill et al,2016; Sordoni et al,2016; Shen et al,2016)不同,注意流层不用于将查询和上下文概括为单个 特征向量。 相反,允许每个时间步的注意向量以及来自先前层的嵌入流动到后续建模层。 这减少了由早期摘要引起的信息丢失。
该层的输入是上下文 H H H和查询 U U U的上下文矢量表示。该层的输出是上下文字 G G G的查询感知矢量表示,以及来自前一层的上下文嵌入。
在这一层中,我们在两个方向上计算注意力:从上下文到查询以及从查询到上下文。 下面将讨论的这两个注意事项都是从上下文(H)和查询(U)的上下文嵌入之间的共享相似性矩阵 S ∈ R T ∗ J S \in R^{T*J} S∈RT∗J导出的,其中 S t j S_{tj} Stj表示第 t t t个上下文的单词和第 j j j个查询单词的相似性。相似矩阵计算如下:
(1) S t j = α ( H : t , U : j ) ∈ R S_{tj}=\alpha (H_{:t},U_{:j}) \in R \tag{1} Stj=α(H:t,U
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。