声明

资源来源网络,参考文献在文末,侵删

总结

LSTM是特殊的RNNs,尤其适合顺序序列数据的处理,内部由遗忘门、输入门和输出门组成,外部与RNNs差不多。

LSTM的原理

什么是 LSTM RNN 循环神经网络 (深度学习)?

循环神经网络(RNNs):通过不断将信息循环操作,保证信息持续存在,从而解决不能结合经验来理解当前问题的问题。
深入浅出的学习LSTM
从图中可看出A允许将信息不断的在内部循环,这可以使其保证每一步的计算都能保存以前的信息。

把RNNs自循环结构展开,可以看成是同一个网络复制多次并连成一条线,把自身信息传递给下一时刻的自己。

深入浅出的学习LSTM

这种链式的结构揭示了RNNs与序列和列表类型的数据密切相关。好像他们生来就是为了处理序列类型数据的。

但是在处理长依赖问题时,RNNs虽然在理论上可行,但实践发现RNNs无法实现。

RNNs中有一个特殊的网络结构,叫LSTMs,全称为Long Short Term Memory networks,可翻译为长短时记忆神经网络,这个网络的设计初衷就是为了解决长依赖问题。

所有循环神经网络都具有神经网络的重复模块链的形式。

LSTMs的结构如下:
深入浅出的学习LSTM
它内部有四个网络层,这不同于标准RNN网络里只有一个网络层的单元。

深入浅出的学习LSTM

  • Neural Network Layer:**函数操作
  • Pointwise Operation:点操作
  • Vector Transfer:数据流向
  • Concatenate:表示向量的合并(concat)操作
  • Copy:向量的拷贝

LSTMs核心是细胞状态,用贯穿细胞的水平线表示。细胞状态像传送带一样,它贯穿整个细胞却只有很少的分支,这样能保证信息不变的流过整个RNNs,细胞状态如下图所示:
深入浅出的学习LSTM
LSTM网络能通过一种被称为门的结构对细胞状态进行删除或者添加信息。

门能够有选择性的决定让哪些信息通过。门的结构为一个sigmoid层和一个点乘操作的组合:
深入浅出的学习LSTM
sigmoid层输出0-1的向量,控制多少信息能流过sigmoid层,0表示不能通过,1表示可通过

LSTM由遗忘门、输入门和输出门这三个门来控制细胞状态。

  • Step1:决定细胞状态需要丢弃哪些信息,通过遗忘门的sigmoid单元处理,它通过查看ht1h_{t-1}xtx_t信息来输出一个0-1之间的向量,向量中的0-1值决定细胞状态Ct1C_{t-1}中哪些信息保留或丢弃,结构如下:
    深入浅出的学习LSTM
  • Step2:决定给细胞状态添加哪些新信息。①利用ht1h_{t-1}xtx_t通过输入门的操作决定更新哪些信息;②利用ht1h_{t-1}xtx_t通过一个tanh层得到新的候选细胞信息Ct~\tilde{C_t},这些信息可能会被更新到细胞信息中。
    深入浅出的学习LSTM
  • Step3:将旧的细胞信息Ct1C_{t-1}更新为新的细胞信息CtC_t。更新规则为:通过遗忘门选择忘记旧细胞信息的一部分,然后通过输入门添加候选细胞信息Ct~\tilde{C_t}的一部分得到新的细胞信息CtC_t
    深入浅出的学习LSTM
  • Step4:更新完细胞状态后需要根据输入的ht1h_{t-1}xtx_t来判断输出细胞的哪些状态特征。①经过被称为输出门的sigmoid层得到判断条件,然后将细胞状态经过tanh层得到一个[1,1][-1,1]间的向量,该向量与输入门得到的判断条件相乘即得到最终RNN单元的输出:
    深入浅出的学习LSTM

变种:

  1. peephole connections结构
    它允许各个门结构能够看到细胞信息,由Gers & Schmidhuber (2000)提出
    深入浅出的学习LSTM
  2. 在忘记门与输入门之间引入一个耦合

不同于之前的LSTM结构,忘记门和输入门是独立的,这个变式是在忘记门删除历史信息的位置加入新的信息,在加入新信息的位置删除旧信息。
深入浅出的学习LSTM
3. 门循环单元(GRU)
它将忘记门和输入门合并成一个新的门,称为更新门。GRU还有一个门称为重置门。
深入浅出的学习LSTM
其中重置门为上图中前面那个门,决定了如何将新的输入信息与前面的记忆相结合。更新门为上图中后面那个门,定义了前面记忆保存到当前时间步的量。由于该模型比标准LSTM模型更简单,因此被广泛应用。

MATLAB的实现


参考文献:

  • https://www.bilibili.com/video/BV1Vx411j7xF
  • http://colah.github.io/posts/2015-08-Understanding-LSTMs/
  • https://www.jianshu.com/p/95d5c461924c
  • https://zhuanlan.zhihu.com/p/32085405
  • https://www.zhihu.com/question/278825804
  • https://blog.csdn.net/jiangpeng59/article/details/77646186

相关文章: