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

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

模型讲解及构建

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

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

使用输入集合表示上下文知识,使用输入向量q表示问题,使用输出向量\hat{a}表示预测答案。记忆网络模型通过对上下文集合S和问题向量q的数学变换,得到对应于问题的答案。

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

其中,那么 pi就为输入向量的概率。

然后,每个输入x_{i}都有一个输入向量c_{i}c_{i}m_{i}得到的方式是类似的,c_{i}是通过隐含层矩阵Embedding 得到的。将p_{i}c_{i}相乘求和,得到答案向量的编码向量o。

答案向量的编码向量o以后,需要解码生成预测的答案,通过一个待训练矩阵,得到预测答案\hat{a}

多层记忆网络

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

1、将u_{k}o_{k}相加作为下一层的问题编码,即:

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

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

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值