c语言sscanf函数的用法是什么
400
2022-09-21
End-To-End Memory Networks 论文翻译
摘要
我们介绍一种 在大的外置内存的 带循环注意力模型 的神经网络。架构是Memory Network的一种,而需要较少的监督学习, 它也能被看做是一种RNNsearch的扩展。 它可以用作问答系统和语言模型。
1 引言
两个标志性的人工智能研究的挑战是制作这两种模型:在回答问题的任务里 制作多个计算步骤 以及 在顺序数据里 描述长的元素依赖。
在这篇论文里我们提出一种新颖的RNN,它在输出一个符号之前 可以从一个大的显式外部内存反复读多次。 可以被看做一种连续形式的Memory Network。Memory Network那个模型用反向传播算法不是很好训练,需要每层的监督训练。 我们这个模型也可被看做是一种 每个输出符号 有多个计算步骤的RNNsearch
2 做法
我们的模型有 离散的输入x1, …, xn放到内存,一个请求q,一个输出答案a 每个xi和q和a包含的符号都是来自于一个有V个词的词典 模型把所有的x都以固定长度的缓存 写到内存,然后找到x和q的连续表示 被连续表示的x和q 通过多个步骤 输出a 这样在训练中允许 通过多个内存 反向传播 那些错误信号 到输入
2.1 单层
我们一开始 以单层 的例子 来描述我们的模型,单层 也就是实现一个内存步骤。然后我们再在内存堆成多个步骤
输入内存的表示
设想我们给一个输入数据集 x1,…,xi 来存到内存,
首先 使用一个embedding矩阵A (d × V ) ,embedding每个xi到一个d维连续空间,d维向量mi就是内存向量。
这样,整个 V维{xi} 被转成 d维内存向量{mi}
用和A一样大小的矩阵B把 请求q也embedding,得到内部状态u
在embedding空间,我们计算u和每个内存mi的内积,之后加上softmax
在上面的式子里
这样的话,p是一个所有输入上的概率向量
输出内存的表示
每个xi有一个对应的 输出向量ci, ci是用矩阵C embedding xi成的,
o 是一个ci的求和,每个ci加权重是 pi
因为从输入到输出是平滑的,所以可以反向传播。
生成最终的预测
在这个单层的例子,o和u的和 传到一个最终的(V × d)的矩阵W和softmax来产生预测的label
整个单层的例子如下图
2.2 多层
我们现在拓展我们的模型到K步骤,内存层 被这样堆起来:
每层有它自己的embedding矩阵Ak和Ck我们还测试了两种类似的模型:
1,有embedding矩阵是同一个,即
2,类似RNN的,即
如果从RNN的角度来看……(这块没看懂)
相关的工作
不少已经的努力 是用LSTM捕捉长元素依赖结构,在这些模型里的内存是网络的状态,这些状态是潜在的内在的 长期看不稳定。
和我们模型很接近的模型是Neural Turing Machine,神经图灵机也使用了一个连续的内存表示
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~