LSTM是一种特殊的RNN网络,为了解决RNN的长依赖问题,使进行信息处理的地方可以学习到距离较远的信息。下图为RNN和LSTM的结构差异,LSTM有四个网络层。

  

  LSTM的核心是细胞状态,像传送带一样贯穿整个细胞,但只有很少的分支,保证信息不变的流过整个RNN。

  

   LSTM通过一种门结构(一个sigmoid层和一个点乘的组合)对细胞状态进行删除或者添加信息,有选择地让信息通过,σ∈[0,1]。

  

   具体来说,LSTM用三个门控制细胞状态,称为忘记门、输入门和输出门。

   第一步是决定细胞状态丢弃哪些信息,通过查看ht-1和xt信息来输出一个0-1之间的向量,表示细胞状态Ct-1中哪些细胞保留或丢弃多少。

  

  第二步是决定给细胞状态增加哪些新的信息,分为两部,首先利利用ht-1和xt通过一个输入门来决定更新哪些信息,然后利用ht-1和xt通过一个tanh层得到新的候选细胞信息,这些信息可能会被更新到细胞信息中。

  

   第三步将旧的细胞信息Ct-1变为新细胞信息Ct。通过忘记门选择忘记旧细胞信息的一部分,通过输入门选择增加候选细胞信息的一部分。

  

  第四步更新完细胞状态后需要根据输入的ht-1和xt来判断输出细胞的哪些状态特征,将输入经过输出门的sigmoid层,然后将细胞状态经过tanh层得到-1~1之间值的向量,该向量与输出门得到的判断条件相乘得到最终该RNN的输出

   

  LSTMs对于RNNs的使用是一大进步。那么现在还有个问题,是否还有更大的进步?对于很多研究者来说,但是是肯定的,那就是attention的问世。attention的思想是让RNN在每一步挑选信息的时候都能从更大的信息集里面挑选出有用信息。例如,利用RNN模型为一帧图片生成字母,它将会选择图片有用的部分来得到有用的输入,从而生成有效的输出。事实上, Xu, et al.(2015) 已经这么做了,attention方向还有一些振奋人心的研究,但还有很多东西等待探索......
 
参考文献:
posted on 2019-11-21 19:00  筱筱蛋坑  阅读(1060)  评论(0编辑  收藏  举报