12.3 门控循环单元:简化LSTM与计算效率
门控循环单元(Gated Recurrent Unit, GRU)由Cho等人于2014年提出,是在长短期记忆网络(LSTM)基础上发展而来的一种重要的循环神经网络(RNN)变体[1]。其核心设计目标是在保留LSTM捕获长程依赖能力的前提下,通过简化门控机制和合并内部状态来减少模型参数量与计算复杂度,从而获得更高的计算效率和更快的训练收敛速度。GRU因其简洁、高效的特性,在序列建模任务中得到了广泛应用,并常被作为与LSTM比较的基准模型。
12.3.1 设计动机:对LSTM的简化与重构
LSTM通过引入输入门、遗忘门、输出门以及独立的细胞状态(Cell State),成功解决了传统RNN的梯度消失问题。然而,其结构相对复杂,包含三个Sigmoid层、一个 tanh \tanh tanh层以及两个状态向量(隐藏状态 h t h_t ht和细胞状态 C t C_t Ct),导致参数量较多,计算开销较大。
GRU的设计哲学源于一个关键问题:能否用更少的门控和状态来实现与LSTM相当的性能? 其简化思路主要体现在两个方面:
- 门控数量的精简:将LSTM的输入门和遗忘门合并为一个单一的更新门。该门同时负责控制历史信息的保留程度和新信息的纳入程度,简化了信息流的决策过程。
- 状态向量的统一:取消了独立的细胞状态 C t C_t Ct,将长期记忆和短期记忆的功能合并到单一的**隐藏状态 h t h_t ht**中。这意味着 h t h_t ht同时承担了LSTM中 h t h_t ht(短期记忆/输出)和 C t C_t Ct(长期记忆)的角色。
这种设计使GRU的结构更加紧凑。下图直观对比了LSTM与GRU单元的内部结构差异:
LSTM: [输入门, 遗忘门, 输出门, 细胞状态C, 隐藏状态h]
| | | | |
\_________整合________/ \____合并____/
V V
GRU: [更新门, 重置门, 隐藏状态h]
通过上述简化,一个标准的GRU单元通常比一个LSTM单元减少约25%-33%的参数,这直接带来了内存占用降低和每次前向/反向传播计算量减少的优势。
12.3.2 核心机制:更新门与重置门
GRU通过两个门控向量来调控内部信息流:更新门和重置门。
12.3.2.1 更新门
更新门 z t z_t zt决定了当前时刻应将多少过去隐藏状态 h t − 1 h_{t-1} ht−1的信息保留到新的隐藏状态 h t h_t ht中,同时也就决定了应纳入多少候选隐藏状态 h ~ t \tilde{h}_t h~t的新信息。
z t = σ ( W z ⋅ [ h t − 1 , x t ] + b z ) z_t = \sigma(W_z \cdot [h_{t-1}, x_t] + b_z) zt=σ(Wz⋅[ht−1,xt]+bz)
其中, σ \sigma σ是Sigmoid函数,输出范围在[0, 1]之间。 z t z_t zt越接近1,表明保留的历史信息越多,纳入的新信息越少;反之,则更倾向于用新信息更新状态。
12.3.2.2 重置门
重置门 r t r_t rt决定了在计算候选隐藏状态 h ~ t \tilde{h}_t h~t时,应如何结合过去的信息。它控制前一时刻隐藏状态 h t − 1 h_{t-1} ht−1中有多少信息被“重置”或忽略。
r t = σ ( W r ⋅ [ h t − 1 , x t ] + b r ) r_t = \sigma(W_r \cdot [h_{t-1}, x_t] + b_r) rt=σ(W<

最低0.47元/天 解锁文章
1574

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



