Neural Turing Machine(NTM) - 神经图灵机

请直接参考:Neural Turing Machine(NTM) - 神经图灵机,本文只是进行补充

补充与总结:

3.2 Location-based Addressing

“3.2 Location-based Addressing”公式显示有问题,下面进行重写:

Location-based Addressing包括下面三个步骤。

3.2.1. Interpolation(插值)

控制器生成一个阈值\(g_t\)对当前的内容定位向量\(w_t^c\)与t-1时刻的定位向量\(w_{t-1}\)进行一个插值操作,插值的结果即为输出值\(w_t^g\)

\[w_t^g=g_tw_t^c+(1-g_t)w_{t-1} \]

这里的插值操作可以理解为LSTM的更新门,结合过去的w权值计算新的w

3.2.2. shift(偏移)

对于\(w_t^g\)中的每个位置元素\(w_t^g(i)\),我们考虑它相邻的k个偏移元素,认为这k个元素与\(w_t^g(i)\)相关,如当k=3时,三个相邻元素分别是:\(w_t^g(i)\)本身和位置偏移为1的元素\(w_t^g(i-1)\)\(w_t^g(i+1)\),此时,我们希望新的位置为i的元素能包含这三个元素,因此用一个长度为3的偏移权值向量\(s_t\)来表示这三个元素的权重,然后权值求和得到输出值\(w_t^′\):

\[w_t′(i)=\displaystyle\sum_{j=-1}^{1}{w_t^g(i+j)s(j+1)} \]

这里的偏移操作在原文中用的是循环卷积(circular convolution)公式表示的,我们可以理解为把向量wgt首尾相连形成一个环状,然后在环中用st作为卷积核做一维卷积操作。本质上是假设当前元素与相邻的偏移元素相关。

3.2.3. Sharping(重塑)

当偏移操作中的权值比较平均的时候,上述的卷积操作会导致数据的分散(dispersion)和泄漏(leakage),就像把一个点的信息分散在三个点中,权值如果太平均会使三个点包含的值太模糊(个人理解),因此需要把权值大小的区别进行强化,也就是sharping。具体来说,控制器生成一个参数\(\gamma_t>1\),然后对各个权值进行γt指数然后归一化:

\[w_t(i)=\frac{w_t^′(i){\gamma_t}}{\sum_jw^′_t(j){\gamma_t}} \]

最后我们得出了最终的w_t用于提取和储存记忆。

posted @ 2022-11-05 15:23  好人~  阅读(185)  评论(0编辑  收藏  举报