009-LSTM网络-长短记忆网络

基于RNN网络的2个缺陷(全部记忆,梯度消失),现有RNN网络的升级版LSTM

LSTM要做的一件事就是本次有选择的记忆用到下一次的递归工作中。

LSTM网络中,与RNN最大的区别,也是LSTM网络中最核心的东西就是控制记忆的参数C了

C是一个矩阵,用来和输入做内积,用实际的数字控制输入哪些该遗忘,哪些该记忆。比如0,0.1,0.5,1,0.8....等等

先来复习一下神经网络中的门单元:

 

决定丢弃(遗忘)的信息

是上一次的输出值

表示本次的输入数据值

表示经过sigmoid函数将本次的输入映射完成之后,进行本模块内的输出,输出值在0~1

表示上一个神经元传过来的记忆矩阵,决定哪些该遗忘,与进行内积,这样就可以决定哪些该遗忘。

 

 

决定要保留(记忆)的信息:

 

更新细胞信息:

表示要遗忘的信息,

表示要记忆的信息

那么就有一个新的作用域之后的工作。

 

 

得到输出值:

我们最终所需要的就是

表示原始数据,也就是什么都没有忘记的数据。

那么就用上一步更新完的来和内积得到记忆结果

整体LSTM网络的架构:

实际应用中,LSTM使用的是比RNN多的。

 

原文地址:https://www.cnblogs.com/Mjerry/p/9816007.html