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

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