(Unfinished)尚未完成
一、说明
二、LSTM
前向计算step by step
1、结构review
- 我们知道
RNN
的结构如下图- 注意
cell
中的神经元可以有多个
- 注意
LSTM
就是对cell
结构的改进- 符号说明
LSTM
的关键就是state
,就是对应上面的主线数据的传递
2、前向计算step by step
(1) 决定抛弃的信息
- 遗忘门 (
forget gate layer
) - $\sigma$是
Sigmoid
激励函数,因为它的值域是(0,1)
,0
代表遗忘所有信息,1
代表保留所有信息
(2) 决定存储的新信息
- 包括两个部分
- 第一个是输入门 (
input gate layer
),对应的是Sigmoid
函数 - 第二个是经过
tanh
激励函数
- 第一个是输入门 (
(3) 更新state
$C_{t-1}$成$C_t$
- $f_t$是经过
Sigmoid
函数的,所以值域在(0,1)
之间,$C_{t-1}$点乘0-1
之间的数实际就是对$C_{t-1}$的一种缩放,(可以认为是记住之前信息的程度) - 然后加入进来的新的信息
(4) 最后计算输出
- 输出门(
output gate layer
)
- 最后再放一下之前的图, 数据流向可能更清晰
三、GRU (Gated Recurrent Unit)
1、结构和前向计算
- 如下图所示
- 相比
LSTM
,GRU
结合了遗忘门和输入门 - 同样也合并了
cell state
和hidden state
(就是LSTM
中的c
和h
) GRU
比LSTM
更加简单
- 相比
Reference
- https://colah.github.io/posts/2015-08-Understanding-LSTMs/
- https://r2rt.com/written-memories-understanding-deriving-and-extending-the-lstm.html#dealing-with-vanishing-and-exploding-gradients
- http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf
- http://lawlite.me/2016/12/20/%E8%AE%BA%E6%96%87%E8%AE%B0%E5%BD%95-UnderstandingTheDifficultyOfTrainingDeepFeedforwardNeuralNetworks/
- 本文链接: http://lawlite.me/2017/06/21/RNN-循环神经网络之LSTM和GRU-04介绍及推导/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议 。转载请注明出处!