1.普通LSTM
LSTM结构由Sepp Hochreiter教授和Jurgen Schmidhuber 教授于1997年提出,它本身就是一种特殊的循环结构,通过刻意的设计来避免长期依赖的问题,可以学习长期依赖信息。在一个整体的循环神经网络中,除了外部的RNN大循环(循环体是LSTM)外,还需要考虑LSTM本身单元“细胞”之间的自循环。这个自环与简单的带有tanh结构的循环体在RNN中的循环不同,单元“细胞”间的循环关系也展示了出来。
带有tanh结构循环体的简单RNN示意图:
LSTM结构示意图如下图所示:
LSTM本身循环体结构示意图:
参数名 | 说明 |
---|---|
C t − 1 C_{t-1} Ct−1 | 上一个时刻LSTM的细胞状态 |
h t − 1 h_{t-1} ht−1 | 上一个时刻LSTM的输出状态或隐藏状态 |
x t x_{t} xt | 当前时刻的输入 |
linear | 将 h t − 1 h_{t-1} ht−1和 x t x_{t} xt两个向量合并成一个更长的向量[ h t − 1 h_{t-1} ht−1, x t x_{t} xt] |
σ \sigma σ | sigmoid函数,用于控制需要忘记,增加或者输出哪些值 |
f t f_{t} ft | 遗忘门的输出, f t f_{t} ft= σ \sigma σ( W f W_{f} Wf*[ h t − 1 h_{t-1} ht−1, x t x_{t} xt]+ b f b_{f} bf) |
i t i_{t} it | 输入门的输出, i t i_{t} i |