LSTM(Long Short-Term Memory)是长短时间记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。
LSTM 已经在科技领域有了多种应用。基于 LSTM 的系统能够学习翻译语言、控制机器人、图像分析、文档摘要、语音识别图像识别、手写识别、控制聊天机器人、预测疾病、点击率和股票、合成音乐等等任务。css
LSTM是为了解决RNN在长期依赖方面的问题,以解决随着梯度降低产生的梯度消失(返回的数值在通过每一层神经网络的时候,乘以一个小于一的权重值,在必定次数以后,返回的数值消失【返回的数值接近于0】),或者是梯度爆炸(返回的数值在通过每一层神经网络的时候,乘以一个大于一的权重值,在必定次数以后,返回的数值爆炸【返回的数值接近于无穷大】)
LSTM实在传统的RNN的每一层的输入层,神经网络层,输出层上加入一个处理函数:
1.在输入层以后添加一个GET()函数用于判断是否要在只有的神经网络的Train中使用当前时刻的输入信息。
2.在神经网络层上添加一个FORGET()函数用于判断是否须要以前时刻神经网络Train产生的结果,来做为当前时刻的神经网络Train的输入信息。或者将其暂时忘记。
3.在输出层以后添加一个GET()函数用于判断是否要读取当前M中产生的信息。
因为加入了以上三个函数,LSTM可以较好的完成RNN在长期依赖方面的问题。获取更好的Train结果。markdown
正如咱们所知道的经典单机游戏仙剑奇侠传一是一个主线剧情+支线剧情的单机扮演类游戏,咱们能够经过不断的与剧情任务(主线剧情或支线剧情)的互动来推进游戏向前发展。网络
对比于LSTM,RNN就是通常玩家。咱们能够这样理解整个从通常的RNN推动的顺序能够看作是仙剑的主线剧情(标准结局,Stand End or Sad End),毫无疑问,若是咱们只是和RNN同样玩了个Stand End,是难以让咱们知足的。app
因此,LSTM就登场啦。在骨灰级玩家LSTM的操做之下,咱们学会了开发支线剧情,存档操做等等一系列的操做,就使得咱们有了更好的(月如版隐藏结局与灵儿版隐藏结局,Happy End)。
在这里的LSTM开发支线剧情,存档操做等等一系列的操做就是咱们上面所讲述输入层GET()函数、神经网络层FORGET()函数、输出层GET()函数的做用。咱们能够这样理解这三个函数:
输入层GET()函数就是要不要将分线剧情考虑到主线剧情之中(要不要作支线任务,以重不重要,会对结果产生怎么样影响来决定进行仍是忽略)。
神经网络层FORGET()函数(分线剧情是否十分重要,需不须要咱们暂时忘记主线剧情)。
输出层GET()函数(这一个分线剧情会对咱们产生什么影响,是保留仍是消除它的做用)。函数
PS:好吧,我认可我是标题党,我也认可图片不是仙一。学习