1. LSTM原理
LSTM是对序列数据进行处理的网络,首先这里给出LSTM的结构图,先知道它长什么样子吧。
网上很多的介绍给出LSTM有四个门,一个细胞状态,这里从程序编写的较多多了一个 g _ t g\_t g_t。那么对于这些的数学表达式怎么表述的呢?看下面的公式,下面这些公式代表了在实际运算过程中矩阵的运算关系,理解这个公式后面编写相关代码就容易多了,其中 σ \sigma σ代表 s i g m o i d sigmoid sigmoid激活函数。
对于输入门:
i _ t : = σ [ W h i ∗ h t − 1 + W x i ∗ x t + b i ] i\_t := \sigma [ W_{hi} * h_{t-1} + W_{xi} * x_t + b_i ] i_t:=σ[Whi∗ht−1+Wxi∗xt+bi]
对于遗忘门:
f _ t : = σ [ W h f ∗ h t − 1 + W x f ∗ x t + b f ] f\_t := \sigma [ W_{hf} * h_{t-1} + W_{xf} * x_t + b_f ] f_t:=σ[Whf∗ht−1+Wxf∗xt+bf]
对于输出门:
o _ t : = σ [ W h o ∗ h t − 1 + W x o ∗ x t + b o ] o\_t := \sigma [ W_{ho} * h_{t-1} + W_{xo} * x_t + b_o ] o_t: