1️⃣ GRU介绍
前面介绍的LSTM可以有效缓解RNN的梯度消失问题,但是其内部结构比较复杂,因此衍生出了更加简化的GRU。GRU把输入门
和遗忘门
整合成一个更新门
,并且合并了细胞状态和隐藏状态。于2014
年被提出
2️⃣ 原理介绍
GRU的结构和最简单的RNN是一样的。当前输入为 x t x_t xt,上一个节点传递下来的隐层状态为 h t − 1 h_{t-1} ht−1,这个隐层状态包含了之前节点的相关信息。根据 x t x_t xt和 h t − 1 h_{t-1} ht−1,GRU会得到当前时间步的输出 y t y_t yt和传递给下一个节点的隐层状态 h t h_t ht,实际上 y t y_t yt就是等于 h t h_t ht
下面介绍详细的原理,下图展示了GRU的详细结构:
第一步,计算重置门
,它的参数是 W r W_r Wr,用于控制之前的记忆需要保留多少。该门的输入是前一个隐层状态 h t − 1 h_{t-1} ht−1以及当前时间步的输入 x t x_t xt,输出为 r t r_t rt,在0到1之间,:
r t = σ ( W r ⋅ [ h t − 1 , x t ] ) r_{t}=\sigma\left(W_{r}\cdot[h_{t-1},x_{t}]\right) rt=σ