DL - LSTM

文章目录


LSTM 长短记忆网络

LSTM 是 RNN 的升级版,应用更广泛。

解决的问题:

增加控制参数C,保留有价值的信息;

C 可以看做一个权重列表:[0, 0.1, 0.8, 1] 舍弃,小部分保留,大部分保留,全部保留。

LSTM 的重点是 控制参数怎么更新


如何训练C参数?

门是一种让信息选择式通过的方法
Sigmoid 神经网络层和一乘法操作

Sigmoid 公式:
g ( z ) = 1 1 + e − z g(z) = \frac{1}{1 + e^{-z}} g(z)=1+e−z1​

DL - LSTM

Sigmoid 在负无穷到正无穷的范围类,数值在 0–1 之间;
描述每个部分多少量可以通过,0代表不允许任何量通过,1 代表允许任何量通过。


1、决定丢弃信息

DL - LSTM

  • h t − 1 h_{t-1} ht−1​:上一层中间结果;
  • x t x_t xt​:当前数据;
  • σ \sigma σ:激活函数;
  • f t f_t ft​:所有值在 0-1 范围之间。 f t f_t ft​ 和 C t − 1 C_{t-1} Ct−1​ 组合,乘法操作,决定丢弃什么信息。

$ f_{t}=\sigma (W_{f} \cdot [h_{t-1}, x_{t} ]+b_{f} )$


2、确定要更新的信息

DL - LSTM

  • i t i_{t} it​ 要保留下来的新信息
  • C t C_{t} Ct​ 新数据形成的控制参数

$i_{t} = \sigma (W_{i} \cdot [h_{t-1}, x_{t} ] + b_{i} ) $

C ~ t = tanh ⁡ ( W C ⋅ [ h t − 1 , x t ] + b C ) \tilde{C}_{t} = \tanh (W_{C} \cdot [h_{t-1}, x_{t}]+b_{C} ) C~t​=tanh(WC​⋅[ht−1​,xt​]+bC​)


3、更新细胞状态

DL - LSTM

$C_{t} = f_t * C_{t-1} + i_t * \tilde{C}_{t} $


4、输出信息

DL - LSTM

  • o t o_t ot​:什么都没忘,全留下的信息
  • h t h_t ht​:输出值
  • C t C_t Ct​:更新完的结果

o t = σ ( W o [ h t − 1 , x t ] + b o ) o_t = \sigma (W_o [h_{t-1}, x_t] + b_o) ot​=σ(Wo​[ht−1​,xt​]+bo​)

h t = o t ∗ t a n h ( C t ) h_t = o_t * tanh(C_t) ht​=ot​∗tanh(Ct​)


参考资料

上一篇:深度学习|基于LSTM网络的黄金期货价格预测--转载


下一篇:由RNN理解LSTM模型