memory network 论文翻译

    xiaoxiao2021-03-26  27

    摘要

    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,

    训练

    上图中,

    3.2 一串的词作为输入

    3.3 更有效率的哈希内存

    3.4 写入时间的模型化

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

    3.6 准确匹配 和 没见过的词

    4 相关工作

    转载请注明原文地址: https://ju.6miu.com/read-662069.html

    最新回复(0)