一、前言
LSTM网络在实际应用中使用的非常多,这里只介绍LSTM,RNN和GRU网络等可以通过其他博客学习,文中图片来源于网络,文章参考于:http://colah.github.io/posts/2015-08-Understanding-LSTMs/博客;
二、模型结构
整体结构:包含遗忘门,输入门,输出门;
遗忘门:(1)上一层的隐状态和当前层的输入
进行合并,通过sigmoid函数得到0,1输出来更新上一层的cell state
,即控制旧状态
的取舍;
(2):
和
合并之后通过一个
函数将输入控制在-1, 1之间,这部分个人理解相当于一个数据归一化的过程,随后通过
来决定新状态
的取舍;
输入门:根据公式可以很明显的看到, *
控制旧状态的输入,
*
控制新候选值的输入,两者相加则得到新的cell state
,这部分输出作为最终的cell state输出结果;
输出门:是包含了前一层输入的信息和当前层输入的信息的内容,那么
通过
函数进行处理之后的结果用于获取最后的输出结果也是需要进行一次过滤的,比如:
表示的是一个主语,那么输出可能需要得到一个谓语的输出;所以这一层通过
得到一个0,1结果来判断下一层的输出结果如公式所示;
LSTM模型的变体:模型的变体以及RNN模型通过网络资源自行学习。