QANet 论文笔记

QANet是一种新型的问答架构,它结合了局部卷积和全局自注意力,消除了循环特性,提高了训练和推理效率。在SQuAD数据集上,QANet在保持高精度的同时,训练和推理速度显著提升,为机器阅读理解提供了高效解决方案。
摘要由CSDN通过智能技术生成

QANet 论文笔记



QANet: Combining Local Convolution With Global Self-Attention For Reading Comprehension
卷积+自注意力

摘要

目前的端到端机器阅读和问答模型主要基于包含注意力的循环神经网络,主要缺点:在训练和推理方面效率较低。
  
  我们提出了一种名为QANet的问答架构,它的编码器仅由卷积和自注意力(self-attention)组成,其中,卷积对局部交互和自注意力模型的全局交互进行建模。
  
  效果:在SQuAD数据集中,我们模型的训练速度提高了3至13倍,推理速度提高了4至9倍,同时达到了与循环模型相媲美精确度。加速增益(speed-up gain)使我们能够用更多的数据来训练模型。因此,我们将我们的模型,与由神经机器翻译模型的反向翻译生成的数据结合起来。在SQuAD数据集上,我们使用增强数据训练的单一模型在测试集中F1值达到 84.6,这显著优于过去公布的F1最佳值81.8。

简介

在过去几年中最成功的模型通常采用了两项关键要技术:(1)处理顺序输入的循环模型(2)应对长期交互的注意力要素。Seo等人于2016年提出的的双向注意力流(Bidirectional Attention Flow,BiDAF)模型将这两项要素成功地结合在了一起,该模型在SQuAD数据集上取得了显著的效果。这些模型的一个缺点是,它们的循环特性使得它们在训练和推理方面的效率通常较低,特别是对于长文本而言。昂贵的训练不仅会导致实验的周期延长,限制研究人员进行快速迭代,还会使模型难以被用于更大的数据集中。与此同时,缓慢的推理速度阻碍了机器理解系统在实时应用中的部署。
  
  在本文中,为了使机器理解更高效,我们提出去掉这些模型的循环性质,仅将卷积和自注意力作为编码器的构成模块,分别对问题和语境进行编码。然后,我们通过标准注意力(standard attentions,Xiong等人于2016年提出;Seo 等人于2016年提出;Bahdanau等人于2015年提出)来学习语境和问题之间的交互。在最终对每个作为答案范围的开始或结束位置的概率进行解码之前,用我们的无循环编码器再次对结果表征进行编码。我们将该架构称为QANet。
  
  模型设计的主要思想:卷积捕获文本的局部结构,而自注意力则学习每对单词之间的全局交互。附加语境疑问注意力(the additional context-query attention)是一个标准模块,用于为语境段落中的每个位置构造查询感知的语境向量(query-aware context vector),这在随后的建模层中得到使用。我们的架构的前馈特性极大地提高了模型的效率。在基于SQuAD数据集的实验中,我们模型的训练速度提高了3至13倍,推理速度提高了4至9倍。作一个简单的比较,我们的模型可以在3个小时的训练中达到与BiDAF模型(Seo等人于2016年提出)相同的精确度(F1值为77.0),在此之前,这一过程需花费15个小时的时间。加速增益还允许我们使用更多的迭代来训练模型,以获得比竞争模型更好的结果。例如,如果我们允许我们的模型进行18个小时的训练,它在开发集(dev set)上的F1值达到了82.7,这比Seo等人于 2016年提出的模型,表现得要好很多,并且与已发布过的最佳结果相媲美。

模型

模型共有五部分:

  • Input embedding layer
  • Embedding encoder layer
  • Context-query attention layer
  • Model encoder layer
  • Output layer

enter image description here

下面分层说明模型的各部分

1. Input embedding layer

输入嵌入包括word embedding + character embedding,即词嵌入和字符嵌入。

word embedding

p 1 p_1 p1=300维。

采用预训练的glove词向量。在训练时固定不变。对于词典中未出现的新词,map到< UNK >这个token,随机初始化,这个向量是可训练的。

character embedding

p 2 p_2 p2=200维(每个字符)。是可训练的。

每个词可以表示为字符的拼接,每个单词被截断或者pad到长度16。

取这个矩阵每行的最大值作为该词的固定长度表示。(池化)

最终一个单词表示为二者的拼接: [ x w ; x c ] ∈ R p 1 + p 2 [x_w; x_c] \in \mathbb{R}^{p_1+p_2} [xw;xc]Rp1+p2
x c x_c xc:词嵌入 x c x_c xc:字符嵌入的卷积输出。

在这之后加2层highway network

highway network
y = H ( x , W H ) ∗ T ( x , W T ) + x ∗ ( 1 − T ( x , W T ) ) y=H(x,W_H)*T(x,W_T)+x*(1-T(x,W_T)) y=H(x,WH)T(x,WT)+x(1T(x,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值