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多的。