我正在阅读关于神经图灵机的论文,第 9 页,并且只停留在 1 个讨厌的点上。
我无法理解转变是如何完成的:
每个头发出一个移位权重它定义了允许的整数移位的归一化分布(作者的意思是 s 中的条目将加起来为 1)。例如,如果允许在 -1 和 1 之间移动,具有与执行 -1、0 和 1 的移位的程度相对应的三个元素.
如果我们索引内存位置从 0 到, 旋转应用于经过可以表示为以下循环卷积:
其中所有索引算术都是模计算的.
作者使用符号表示向量中的第 i 个元素。
我无法理解如何应用于以及是什么使实际执行移位成为可能,例如+1
例如,假设我们正在处理索引为 3 的第 i 个元素,并且有 5 个条目。
就像在论文中一样,让我们允许能够执行 -1、0 或 1 的移位。因此,有3个维度。现在,我想将每个元素移入向前+1。
我有一种感觉我会越界错误,而模数不会有太大帮助。我们可以为第三个元素展开这个计算:
w[3] = wg[0]*s[(3-0)%5] + wg[1]*s[(3-1)%5] + wg[2]*s[(3-2)%5] + wg[3]*s[(3-3)%5] + wg[4]*s[(3-4)%5]
简化时,这意味着:
w[3] = wg[0]*s[3] + wg[0]*s[2] + wg[0]*s[1] + wg[0]*s[0] + wg[0]*s[4]
如您所见,我在开头得到 s[3],最后得到 s[4]。...但是我们刚刚同意s将只有 3 个条目 {-1, 0, 1} 这意味着超出范围的错误。
而且,我真的无法理解我们所做的会如何“改变”整个进入一旦我们为所有 5 个条目都做了这件事(我们只为第 3 个条目完成了上述操作)。有人也可以给我直觉吗?
