1、模型架构图
上面的架构图显示了分层注意力融合网络的总体架构,它主要由以下三部分构成:
(1)具有浅语义融合的co-attention layer
(2)具有深语义融合的self-attention layer
(3)memorywise bilinear alignment function
上述提出的这个模型具有以下两个鲜明的特征:
(1)通过一种细粒度的融合方法来融合attention vector,以更好地理解问题和段落之间的关系
(2)在单词和句子级别上应用多粒度注意力机制,使模型在构建问题和段落表示的时候能够适当注意最重要的内容。
2、模型具体架构
2.1、Encoder Layer
对于word embedding,使用GloVe。对于char embedding使用ELMo语言模型。question和passage的word embeddings和char embedding分别表示如下:
为了进一步利用周围单词的上下文线索来优化单词的embedding,我们将共享分的Bi-LSTM放在前一层提供的embedding之上,来对单词之间的时间交互进行建模。在进入Bi-LSTM之前,我们先把word embedding和char embedding进行合并,以充分理解摸个单词的含义。Encoder Layer的最终输出如下:
为了进一步结合上下文Bi-LSTM的输出和预训练的char embedding,以实现更好的性能。这里可以看做是不同级别单词表示的残差连接。
2.2、Hierarchical Attention & Fusion Layer
作者认为注意力的原始表示和对齐表示可以以不同的粒度反应内容的语义,所以在每个attention之后应用特定的fusion功能,以便更好地合并不同级别的语义使得模型更好地理解。
2.2.1、Co-attention & Fusion
给定question的表示utQ和passage的表示utP,来建立一个软对齐矩阵S以计算passage和question之间的前语义相似度。如下所示:
其中Wlin是一个可训练的权重矩阵。
(1)P2Q Attention表示对于每个passag word,哪个question word与之最相关。如下表示:
α j表示question word的注意力权重。
因此可以将来自于问题Q的passage表示推导为:
(2)Q2P Attention表示对于每个question word,哪个word question与之最相似,这对于回答问题至关重要,作者使用相同的方法来计算P2Q Attention,如下所示:
P ~ \widetilde{P}