当前位置:   article > 正文

图解LSTM_画出 lstm 网络的基本结构

画出 lstm 网络的基本结构

1 LSTM概述

RNN给神经网络加入了处理时间的能力,而传统的RNN会面临梯度消失(爆炸)的问题RNN vs LSTM: Vanishing Gradients,传递的时间信息也会越来越弱。给RNN引入长时记忆至关重要。因此有了Long Short Term Memory(LSTM)。

常见的LSTM结构如下图所示:
图1
xt为每个时间步的输入数据,ht为每个时间步的输出,中间的ct为单元间的长时记忆。
注意!该图容易产生误解!!此图是将LSTM按照时间维度进行了展开,实际上同一个时刻只有一个LSTM单元。
即如下图所示:
这里写图片描述

这里写图片描述

2 lstm 公式

每个LSTM单元用三个门来决定保留的信息,LSTM计算门和信息有6个公式,我们将公式罗列如下,并在下一章节详细分析这6个公式。

  1. 遗忘门(forget gate)
    遗忘门ft对上次单元状态c(t1)进行选择,它决定了上一时刻的单元状态 ct1 有多少保留到当前时刻 ct

    (1)ft=σ(wf[h(t1),xt]+bf)

  2. 输入门(input gate)

    它决定了当前时刻网络的输入 xt 有多少保存到单元状态ct

    (2)it=σ(wi[h(t1),xt]+bi)

  3. 输出门(output gate)
    控制单元状态 ct有多少输出到 LSTM 的当前输出值 ht

    (3)ot=σ(wo[h(t1),xt]+bo)

  4. 输入信息(Ct)̃

    (4)(Ct)̃=tanh(wc[h(t1),xt]+bc)

  5. 本次单元状态ct
    本次单元状态由历史记忆和本次输入共同决定。

    (5)ct=ftc(t1)+it(Ct)̃

  6. 最终输出ht

    (6)ht=ottanh(Ct)

    其中:
    xt为本时刻的数据
    ct1为上个时刻单元的状态,保留着历史的记忆
    Ct̃为本时刻的输入信息,代表着当前数据的信息
    ct为本时刻单元的状态
    ht为本时刻单元的输出
    每个时刻处理时将xtht1两个矩阵直接拼接在一起[ht1,xt]作为输入,加上适当的权重w和偏置b

3 LSTM cell分析

我们把单个LSTM的cell拎出来进行详细分析,将会发现其实LSTM很简单!
这里写图片描述

我们对照上图分别对LSTM单元的三个门进行分析:
从左到右观察三个紫色方框:

  • 遗忘门对上次单元状态ct1进行选择性遗忘,得到的输出为历史信息的记忆,如公式(1)
  • 输入门对当前输入状态Ct̃进行选择性输入,得到的输出为本次输入信息,如公式(2)
  • 历史信息的记忆与本次输入的信息求和即是本次单元状态ct,如公式(5)
  • 输出门对本次单元状态进行选择性输出,得到了最终的输出ht,如公式(3)

4 致谢

4.1 图

  1. 本文图1和4来自于知乎用户EDU GUO该问题下的回答。图4中注释为本人添加。
  2. 图2和图3来自于 Christopher Olah 的博文

4.2 参考

本文主要参考了以下博文:
1. 详解 LSTM:https://www.jianshu.com/p/dcec3f07d3b5
2. Understanding LSTM Networks:http://colah.github.io/posts/2015-08-Understanding-LSTMs/
3. 知乎问题,LSTM神经网络输入输出究竟是怎样的?:https://www.zhihu.com/question/41949741这里写链接内容

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/335072
推荐阅读
相关标签
  

闽ICP备14008679号