端到端记忆网络(End to End Memory Network)

时间:2024-05-20 17:57:42

本文在上文Memory Network的基础上进行端到端的模型构建,减少生成答案时需要事实依据的监督项,在实际应用中应用意义更大。

模型讲解及构建

模型的结构如下图所示。图(a)是单层的模型,图(b)是多层模型(三层)。 

端到端记忆网络(End to End Memory Network)

以图(a)为例,输入有两个部分,

使用输入集合端到端记忆网络(End to End Memory Network)表示上下文知识,使用输入向量q表示问题,使用输出向量端到端记忆网络(End to End Memory Network)表示预测答案。记忆网络模型通过对上下文集合S和问题向量q的数学变换,得到对应于问题的答案。

首先,上下文集合S通过隐含层矩阵Embedding 端到端记忆网络(End to End Memory Network)得到记忆向量的编码向量m 。同样的,问题向量q通过隐含层矩阵Embedding端到端记忆网络(End to End Memory Network)得到问题向量的编码向量u,然后计算两者的内积:

端到端记忆网络(End to End Memory Network)

其中,端到端记忆网络(End to End Memory Network)那么 pi就为输入向量的概率。

然后,每个输入端到端记忆网络(End to End Memory Network)都有一个输入向量端到端记忆网络(End to End Memory Network)端到端记忆网络(End to End Memory Network)端到端记忆网络(End to End Memory Network)得到的方式是类似的,端到端记忆网络(End to End Memory Network)是通过隐含层矩阵Embedding 端到端记忆网络(End to End Memory Network)得到的。将端到端记忆网络(End to End Memory Network)端到端记忆网络(End to End Memory Network)相乘求和,得到答案向量的编码向量o。

端到端记忆网络(End to End Memory Network)

答案向量的编码向量o以后,需要解码生成预测的答案,通过一个待训练矩阵端到端记忆网络(End to End Memory Network),得到预测答案端到端记忆网络(End to End Memory Network)

端到端记忆网络(End to End Memory Network)

多层记忆网络

如图(b)所示,多层记忆网络和单层的基本结构是类似的,有一些小的细节需要改变,以将几个单层网络连接起来。

1、将端到端记忆网络(End to End Memory Network)端到端记忆网络(End to End Memory Network)相加作为下一层的问题编码,即:

端到端记忆网络(End to End Memory Network)

2、每一层都有嵌入矩阵 端到端记忆网络(End to End Memory Network)端到端记忆网络(End to End Memory Network)来将x映射到记忆单元和编码单元。但是这样参数数量就会随模型层数的增加呈倍数增长,为了减少参数数量,使训练能够方便进行,论文中提出了两种减少参数的方法:

端到端记忆网络(End to End Memory Network)

端到端的记忆网络的提出,使记忆网络变得更加实用,不再需要对支持事实这一监督项,因此可用的数据集就变得更多。