GRU

reset gate r_t 、update gate z_t 、候选隐藏层\tilde{h}_{t} (与 LSTM 的\tilde{c}_{t}类似,可以看成是当前时刻的新信息,其中r_t用来控制需要保留多少之前的记忆)

为了克服RNN 无法很好处理远距离依赖而提出了 LSTM,而 GRU 是LSTM 的一个变体,GRU 保持了 LSTM 的效果同时又使结构更加简单。
GRU 只剩下两个门,即更新门重置门。更新门用于控制前一时刻的状态信息被代入到当前状态的程,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。

\begin{array}{c}{r_{t}=\sigma\left(W_{r} \cdot\left[h_{t-1}, x_{t}\right]\right)} \\ {z_{t}=\sigma\left(W_{z} \cdot\left[h_{t-1}, x_{t}\right]\right)} \\ {\tilde{h}_{t}=\tanh \left(W_{\overline{h}} \cdot\left[r_{t} * h_{t-1}, x_{t}\right]\right)} \\ {h_{t}=\left(1-z_{t}\right) * h_{t-1}+z_{t} * \tilde{h}_{t}} \\ {y_{t}=\sigma\left(W_{o} \cdot h_{t}\right)}\end{array}

其中,W_r,W_z,W_h都是拼接的,比如W_r = W_{rx}+W_{rh},所以在学习时要分开来

第三式通过重置门重置后的h_{t-1}与输入拼接,在通过 tanh激活函数得到 h'

最后一步记忆更新阶段,利用更新门来控制,更新门越接近1,代表记忆下来的数据越多。

GRU 相比LSTM,能够达到相当的效果,同时更加容易训练。GRU 使用了一个门控z 就可以进行遗忘和选择记忆,而 LSTM 要使用多个门控。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容