memory network 论文翻译

来源:互联网 发布:淘宝推荐理由怎么写 编辑:程序博客网 时间:2024/04/28 13:44

摘要

Memory Networks 通过结合长时记忆模块 和 推断模块 联合工作来进行推理。长时记忆模块可以进行读写,也为了用来预测。我们是为了问答系统来研究这个模型,长时记忆模块正作为问答系统的(类似内存的)知识库。

问题引出

现在的RNN记忆能力不行,本文解决这个问题。核心思想是弄一个读写的内存组件。

Memory Networks基本框架

一个Memory Networks包括一个内存m(也就是一个对象的数组,每个是-来表示)
以及4个会被训练的组件 I G O R:
I : (输入特征映射)–把输入转变成内部的特征表示
G : (生成)–在新的输入来了的时候更新旧的内存
O : (输出特征映射) – 给定新的输入和现在的内存状态,在特征表示空间 产生新的输出
R : (回馈结果) – 把输出转化为想要的格式,比如文本或者 动作Action

给一个输入x,x可以是 字,词,句子,图像,声音。然后:
1,把x转成内部特征表示I(x)
2,更新-,给定I(x)-
3,计算输出特征o,给定输入和内存-
4,最后解码 输出特征o 为想要的输出-
以上1-4的过程在 训练和测试 的时候差不多,但是测试的时候 I G O R 没有更新

I 部件:把文本转换成稀疏或者密集特征向量
G部件:G最简单的形式是把I(x)存储到内存的格子里,即:
-
这里H(x)是选择内存哪个格子的函数,可见H(x)在m的右下角index的位置。G更新m的index即H(x),但是内存的其他部分没有动。更加复杂的G可以更新以前的内存。如果输入的字母或者单词可以group成chunk,那么可以将每个chunk存在一个内存的格子里。

如果内存很大,比如Freebase或者Wikipedia,G就不能一下操作所有内存。

如果内存满了,就要有“遗忘”的H机制。

O和R部件:O用来读内存和做推断,R是最后的response用的。例如一个问答系统,O找到相关的内存,R产生实际的答案文本,R可以是根据O的输出的一个RNN。

3 为文本实现的MemNN

3.1 基本模型

I模块取文本作为输入,假设是一句话。文本被存储在下一个指定的内存格子 作为初始化的形式,S(x)返回下一个空的内存格子N,-

MemNN

训练

MemNN
上图中,
-

3.2 一串的词作为输入

3.3 更有效率的哈希内存

3.4 写入时间的模型化

3.5 之前没见过的词 的模型化

3.6 准确匹配 和 没见过的词

4 相关工作

0 0
原创粉丝点击