QANet

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

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

赵伟松,[email protected],15652311958,北京,360

如有错误,请指正


1 Introduction

2 The Model

2.1 PROBLEM FORMULATION

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

  • 特定短文,n个词,
  • 相应的问句,m个词,

输出C中一段子串,。下文中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使用维预训练的GloVe (Pennington et al., 2014) 词向量,在训练过程中该word embedding固定不变。所有的oov单词映射为token,该token可训练而且是随机初始化的。
  • character embedding获取方式如下:每个character embedding是维的可训练向量,这意味着每个word embedding可以看做是他每个character embedding的拼接(这里的拼接有待确认)。每个word的长度被截断或者padding到16。提取该矩阵每一行的最大值,组成一个固定长度(200?)的向量以代表每个word。最后对于一个词x,我们用来作为x的词向量,其中是word embedding,是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)