End to End Memory network

关键词

End2End, Memory Networks, Multiple hops

来源

arXiv 2015.03.31 (published at NIPS 2015)

特色

设计了全新网络,相对于LSTM,以词为单位的时序,memory network是以句子为单位。

解决方案

原图
这里写图片描述
加备注图
这里写图片描述

计算过程

按原图

lookup词表A获得句子向量表示,
mi=Axi , i 大小是memory size
计算attention,或者说计算输入的权重
pi=softmax(uTmi)

将输出乘权重,得到最终的输出o
输出的嵌入向量
ci=Couti , i 大小是memory size
最终输出嵌入向量
o=ipici
查询的嵌入向量
u=Bq
预测结果
a^=softmax(W(o+u))

按实现代码

计算过程与原图不一致,我按论文的实现代码做了标注,参见备注图。
输入sentences和query时,都有矩阵TA和TB矩阵

Ain=Axi+TAxi , i代表句子,长度固定为memory size
Aout=AinHlast , H代表隐藏层, Aoutmi
pi=softmax(Aout)
Bin=Bq+TBq
Bout=pBin
Cout=HlastBout
Dout=CoutBout
最后,保存 Dout 为新的Hidden

多层网络

原文提供两种方式。
第一种是邻接,即 Ak+1=Ck ,依次递推
第二种是类似于 RNN 中共享权重的模式, A1=A2==Ak C1=C2==Ck
其余与单层网络一致。

参考代码

facebook实现,使用Lua语言
网友实现,使用tensorflow

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值