Loading...
墨滴

algolearn

2021/12/23  阅读:27  主题:默认主题

GRU

GRU(Gate Recurrent Unit)和LSTM(Long-Short Term Memory)一样,是循环神经网络(Recurrent Neural Network, RNN)的一种。目的为了解决长期记忆和反向传播中的梯度等问题而提出来的。

实际上GRU和LSTM的效果差别不大,但是GRU更容易进行训练,能够很大程度上提高训练效率,因此很多时候会更倾向于使用GRU。LSTM 和 GRU网络原理如下所示:

LSTM 网络原理

  • 输入门 :计算当前计算的新状态以多大的程度更新到记忆单元

  • 遗忘门 :控制前一步记忆单元的信息有多大程度被遗忘掉

  • 输出们 :控制当前的输出有多大程度取决于当前的记忆单元

  • 一个内部记忆单元

最终输出 的计算方式为

GRU网络原理

GRU的结构比LSTM更为简单一些,GRU只有两个门,更新门和重置门

  • 更新门 :用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。
  • 重置门 :控制前一状态有多少信息被写入到当前的候选集 上,重置门越小,前一状态的信息被写入的越少。

从上式可以发现,GRU直接使用更新门来控制输入和遗忘的平衡,而LSTM中输入门和遗忘门分开计算,相比GRU就具有一定的冗余性。当 时,当前状态 相对之前状态 是非线形关系;当 时,当前状态 相对之前状态 是线形关系。

概括来说,LSTM和CRU都是通过各种门函数来将重要特征保留下来,这样就保证了在long-term传播的时候也不会丢失。此外GRU相对于LSTM少了一个门函数,因此在参数的数量上也是要少于LSTM的,所以整体上GRU的训练速度要快于LSTM的。不过对于两个网络的好坏还是得看具体的应用场景。

参考 :

  • https://zhuanlan.zhihu.com/p/184937263
  • https://nndl.github.io/
  • https://en.wikipedia.org/wiki/Gated_recurrent_unit#References

欢迎关注微信公众号(算法工程师面试那些事儿),本公众号聚焦于算法工程师面试,期待和大家一起刷leecode,刷机器学习、深度学习面试题等,共勉~

算法工程师面试那些事儿
算法工程师面试那些事儿

algolearn

2021/12/23  阅读:27  主题:默认主题

作者介绍

algolearn