本篇文章主要介绍两种RNN的隐藏层信息计算方法GRU(Gated Recurrent Units)和LSTM
(Long-Short-Term-Memories),这两种隐藏层的计算方法通过引入门(Gate) 的机制来解决RNN的梯度消失问题,从而学习到长距离依赖。
这里说的隐藏层计算方法指的是如何计算下个时刻的隐藏层信息,标准RNN中计算 方法是:
而LSTM和GRU可以理解为计算ht的另一种方法。
LSTM
这篇文章 <https://colah.github.io/posts/2015-08-Understanding-LSTMs/>详细 地解释了LSTM
各个门的物理含义, 以及LSTM计算隐藏层的方法,这里简要的进行总结, 下图是LSTM网络的示意图,图中各个符号的含义参考原文
<https://colah.github.io/posts/2015-08-Understanding-LSTMs/>:
某个时刻LSTM计算隐藏层的方法参考下图:
GRU
GRU可以看成是LSTM的变种,GRU把LSTM中的forget gate和input gate用update gate来替代。 把cell state
和隐状态htht进行合并,在计算当前时刻新信息的方法和LSTM有所不同。 下图是GRU更新htht的过程:
具体更新过程如下
热门工具 换一换