Memory Networks

Weston J, Chopra S, Bordes A. Memory networks[J]. arXiv preprint arXiv:1410.3916, 2014.

传统的机器学习模型都没有记忆模块,像RNN这样的模型虽然有一定的记忆能力,但是长期记忆能力仍然很弱

Memory networks首次提出了具有记忆模块的模型

该模型的记忆模块m类似于计算机内存,是一个由mi索引的数组

模型由I,G,O,R四个部分组成:

  • I:input feature map,将输入转换为内部特征表示,记为I(x)
  • G:generalization,根据新的输入更新m,即mi=G(mi,I(x),m)
  • O:output feature map,根据m和当前输入产生输出的特征表示o=O(I(x),m)
  • R:response,将output feature转换为期望的输出形式r=R(o)

显然这样的模型难以端到端训练

End-to-End Memory networks

Sukhbaatar S, Weston J, Fergus R. End-to-end memory networks[J]. Advances in neural information processing systems, 2015, 28.

这篇论文对Memory Network进行了End-to-End拓展

以QA为例,设记忆模块中存储了知识集合xiq,a分别是提问和回答,每个xi,q,a都由大小为V的字典中的词组成

模型首先通过模块A将原始记忆xi转换为记忆表示mi,通过模块B将提问q转换为嵌入向量u,于是知识抽取的权重为

pi=softmax(uTmi)

之后模型通过模块Cxi转换为另一记忆表示ci,并通过加权和得到记忆抽取结果

o=ipici

最终输出通过同时处理q和提取的记忆o得到

a=softmax(W(o+u))

整个模型其实可以看做具有显式记忆存储的attention

memory_network