Memory Networks
Memory Networks
Weston J, Chopra S, Bordes A. Memory networks[J]. arXiv preprint arXiv:1410.3916, 2014.
传统的机器学习模型都没有记忆模块,像RNN这样的模型虽然有一定的记忆能力,但是长期记忆能力仍然很弱
Memory networks首次提出了具有记忆模块的模型
该模型的记忆模块$m$类似于计算机内存,是一个由$m_i$索引的数组
模型由$I,G,O,R$四个部分组成:
- I:input feature map,将输入转换为内部特征表示,记为$I(x)$
- G:generalization,根据新的输入更新$m$,即$m_i=G(m_i,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
这篇论文对Memory Network进行了End-to-End拓展
以QA为例,设记忆模块中存储了知识集合${x_i}$,$q,a$分别是提问和回答,每个$x_i,q,a$都由大小为$V$的字典中的词组成
模型首先通过模块$A$将原始记忆${x_i}$转换为记忆表示${m_i}$,通过模块$B$将提问$q$转换为嵌入向量$u$,于是知识抽取的权重为
之后模型通过模块$C$将${x_i}$转换为另一记忆表示${c_i}$,并通过加权和得到记忆抽取结果
最终输出通过同时处理$q$和提取的记忆$o$得到
整个模型其实可以看做具有显式记忆存储的attention
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.