注意力与记忆增强网络:原理、应用与案例分析
1. 循环网络、控制器与训练
1.1 神经栈的循环网络结构
神经栈作为循环网络逐渐扩展,其控制器的动作如图所示。整个架构(以虚线标记)是一个循环网络,输入为前一循环状态 (H_{t - 1}) 和当前输入 (i_t),输出为下一循环状态 (H_t) 和 (o_t)。前一循环状态 (H_{t - 1}) 由三部分组成:
1. 来自 RNN 的前一状态向量 (h_{t - 1});
2. 前一栈读取值 (r_{t - 1});
3. 前一状态下栈的状态 ((V_{t - 1}, s_{t - 1}))。
在实现时,除了随机初始化的 (h_0) 外,所有向量初始都设为 0。
1.2 控制器与信号生成
当前输入 (i_t) 与栈的前一读取值 (r_{t - 1}) 拼接后输入到控制器,控制器根据自身前一状态 (h_{t - 1}) 生成下一状态 (h_t) 和输出 (o’_t)。输出 (o’_t) 会产生推信号标量 (d_t)、弹信号标量 (u_t) 和值向量 (v_t),这些作为输入信号传入神经栈,同时还有整个网络的输出信号 (o_t),具体方程如下:
[
\begin{align }
d_t &= \text{sigmoid}(W_d o’_t + b_d) \
u_t &= \text{sigmoid}(W_u o’_t + b_u) \
v_t &= \text{sigmoid}(W_v o’_t + b_v) \
o_t &= \text{sigmoid}(
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



