一. LSTM公式:
二. 简单总结:
1. RNN梯度:
RNN中同样的权重在各个时间步共享,最终的梯度为
各个时间步骤梯度的和。
2. 梯度消失现象怎么产生?:
RNN的梯度消失是指梯度被近距离梯度所主导,远距离梯度由于连乘导致太小,不能获取远距离的依赖关系。
比如sigmoid函数,导数最大值为1/4(y-y^2), tanh 导数最大值为1. (1 - y^2)。
3. LSTM怎么解决RNN梯度消失问题?:
主要是通过Ct-1到Ct的优化:
这条路径上只有逐元素相乘和相加的操作,没有激活函数,梯度流最稳定,类似残差函数的输入X,展开后如图:
保证了主干道梯度流的稳定(正常梯度 + 消失梯度= 正常梯度)
4. LSTM仍可能发生梯度爆炸:
总的远距离梯度 = 正常梯度 + 爆炸梯度 = 爆炸梯度
但lstm相比于rnn,激活函数更多,更不容易发生梯度爆炸。
梯度爆炸后采用梯度裁剪解决。
ref: