美文网首页
LSTM(长短时记忆网络)

LSTM(长短时记忆网络)

作者: Thinkando | 来源:发表于2018-11-25 12:52 被阅读49次

1. 为什么引入

  1. 循环神经网络,很难处理长距离的依赖。

2. 长短时记忆网络

image.png
  • 假设某轮训练中,各时刻的梯度以及最终的梯度之和如下图:


    image.png
  • 我们就可以看到,从上图的t-3时刻开始,梯度已经几乎减少到0了。那么,从这个时刻开始再往之前走,得到的梯度(几乎为零)就不会对最终的梯度值有任何贡献,这就相当于无论t-3时刻之前的网络状态h是什么,在训练中都不会对权重数组W的更新产生影响,也就是网络事实上已经忽略了t-3时刻之前的状态。这就是原始RNN无法处理长距离依赖的原因。
  • 既然找到了问题的原因,那么我们就能解决它。从问题的定位到解决,科学家们大概花了7、8年时间。终于有一天,Hochreiter和Schmidhuber两位科学家发明出长短时记忆网络,一举解决这个问题。
  • 其实,长短时记忆网络的思路比较简单。原始RNN的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。那么,假如我们再增加一个状态,即c,让它来保存长期的状态,那么问题不就解决了么?如下图所示:


    image.png
  • 新增加的状态c,称为单元状态(cell state)。我们把上图按照时间维度展开:


    image.png
    image.png

3. 长短时记忆网络的前向计算

image.png
image.png
image.png
image.png
image.png

4. 长短时记忆网络的训练

4.1 LSTM训练算法框架

image.png

4.2 关于公式和符号的说明

image.png
image.png
image.png

4.3 误差项沿时间的反向传递

image.png
image.png
image.png

4.4 将误差项传递到上一层

image.png

4.5 权重梯度的计算

image.png
image.png
image.png
  • 以上就是LSTM的训练算法的全部公式。因为这里面存在很多重复的模式,仔细看看,会发觉并不是太复杂。
  • 当然,LSTM存在着相当多的变体,读者可以在互联网上找到很多资料。因为大家已经熟悉了基本LSTM的算法,因此理解这些变体比较容易,因此本文就不再赘述了。

5. GRU

image.png

6. 参考文献

  1. https://zybuluo.com/hanbingtao/note/581764

相关文章

网友评论

      本文标题:LSTM(长短时记忆网络)

      本文链接:https://www.haomeiwen.com/subject/pnkpqqtx.html