基本原理
LSTM,长短期记忆 RNN,是 RNN 的变体,优点在于能学习长期依赖的信息,相当于有记忆功能。
LSTM 的关键就是 细胞状态(cell state),水平线在图上方贯穿运行。细胞状态类似于传送带,直接在整个链上运行,只有一些少量的线性交互。信息在上面流传比较容易保持不变。
LSTM 有通过精心设计的称作为“门“的结构来 去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid
神经网络层和一个按位的乘法操作。sigmoid
层输出 0 到 1 之间的数值,该数值控制着多少量的信息可以通过。0 代表不允许任何信息通过,1 代表任何信息都可通过。
LSTM 拥有三个门,来保护和控制细胞状态。
首先是 遗忘门,它决定会从细胞状态中丢弃什么信息。 表示完全舍弃,
然后是确定什么样的新信息被存放在细胞状态中。这里包含两个部分。第一,sigmoid
层称 “输入门层” 决定什么值我们将要更新。然后,一个 tanh
层创建一个新的候选值向量。
然后就是对细胞状态进行更新。
最终,需要确定输出值 。这个输出将会基于当前的细胞状态,但是也是一个过滤后的版本。首先,运行一个 sigmoid
层来确定隐藏状态的哪个部分将输出出去。接着,把细胞状态通过 tanh
进行处理(得到一个在 -1 到 1 之间的值)并将它和 sigmoid
门的输出相乘,最终输出该部分。
于是,整个传播过程由公式表示如下:
参考:https://www.jianshu.com/p/9dc9f41f0b29