QANet

作者: zws2lll | 来源:发表于2018-08-19 10:46 被阅读0次

QANet: Combining Local Convolution with Global Self-Attention for Reading Comprehension

论文地址:https://arxiv.org/abs/1804.09541

赵伟松,zws2lll@gmail.com,15652311958,北京,360

如有错误,请指正


1 Introduction

2 The Model

2.1 PROBLEM FORMULATION

本文中的阅读理解任务被以下形式定义:给定

  • 特定短文,n个词,C={c_1, c_2, ..., c_n}
  • 相应的问句,m个词,Q={q_1, q_2, ..., q_m}

输出C中一段子串,S={c_{i+1}, c_{i+2}, ..., c_{i+j}}。下文中x同时表示英文单词和其对应的词向量。

2.2 MODEL OVERVIEW

本文模型包括5部分,

  • embedding层
  • embedding编码层
  • C-Q attention层
  • 模型编码层
  • 输出层

这是主流阅读理解模型的架构。本文的模型与当下主流模型的不同之处在于: embedding层和模型编码层使用的是CNN和Attention机制。所以我们的模型运算更快而且可以并行处理。需要提及的是,虽然self-attention机制被广泛的应用在Vaswani et al. (2017a),但是CNN和selft-attention机制相结合的技术还是很前沿的。

具体讲讲模型的5个部分:

1. 输入Embedding层:
我们使用标准的技术,通过结合word embedding和character embedding获取最终的word embedding。

  • word embedding使用p_1=300维预训练的GloVe (Pennington et al., 2014) 词向量,在训练过程中该word embedding固定不变。所有的oov单词映射为<UNK>token,该token可训练而且是随机初始化的。
  • character embedding获取方式如下:每个character embedding是p_2=200维的可训练向量,这意味着每个word embedding可以看做是他每个character embedding的拼接(这里的拼接有待确认)。每个word的长度被截断或者padding到16。提取该矩阵每一行的最大值,组成一个固定长度(200?)的向量以代表每个word。最后对于一个词x,我们用[x_w;x_c]来作为x的词向量,其中x_w是word embedding,x_c是x的character embedding的卷积输出(啥意思?)。这里借鉴Seo et al. (2016), 采用两层的highway网络(highway和ResNet中的Short connection结构相似)于最终的word embedding之上,为了简单起见,本文还是使用x最为这一层的输出。

2. Embedding编码层:
编码层是若干个一下block的叠加。[convolution-layer × # + self-attention-layer + feed-forward-layer],如图1。

图1. one encoder block

我们使用depthwise separable convolutions(Chollet, 2016) (Kaiser et al., 2017) ,因为该网络具有更好的记忆和更好的生成能力(待看这两篇论文)。一个block有4层卷积,每层卷积128个filter,kernel是7*7。

self-attention-layer采用multi-head attention机制(Vaswani et al., 2017a)


未完待续

相关文章

  • QANet

    QANet: Combining Local Convolution with Global Self-Atten...

  • BiDAF 和 QANet

    BIDAF,这是一个多阶段的分层过程,它以不同的粒度级别表示上下文,并使用双向注意力流机制来实现 query-aw...

网友评论

      本文标题:QANet

      本文链接:https://www.haomeiwen.com/subject/bqcciftx.html