如何用tensorflow在Python中实现构建长短时记忆网络(LSTM)?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2261个文字,预计阅读时间需要10分钟。
LSTM简介:RNN的梯度消失问题+循环神经网络
在过去的时光里,我们学习了RNN循环神经网络,其结构示意图如下:
其存在的问题是,当w1、w2、w3等值小于0时,若一句话过长,那么在神经常网络中就会产生问题。
LSTM简介1、RNN的梯度消失问题在过去的时间里我们学习了RNN循环神经网络,其结构示意图是这样的:
其存在的最大问题是,当w1、w2、w3这些值小于0时,如果一句话够长,那么其在神经网络进行反向传播与前向传播时,存在梯度消失的问题。
0.925=0.07,如果一句话有20到30个字,那么第一个字的隐含层输出传递到最后,将会变为原来的0.07倍,相比于最后一个字的影响,大大降低。
其具体情况是这样的:
长短时记忆网络就是为了解决梯度消失的问题出现的。
2、LSTM的结构原始RNN的隐藏层只有一个状态h,从头传递到尾,它对于短期的输入非常敏感。
如果我们再增加一个状态c,让它来保存长期的状态,问题就可以解决了。
对于RNN和LSTM而言,其两个step单元的对比如下。
我们把LSTM的结构按照时间维度展开:
我们可以看出,在n时刻,LSTM的输入有三个:
1、当前时刻网络的输入值;
2、上一时刻LSTM的输出值;
3、上一时刻的单元状态。
本文共计2261个文字,预计阅读时间需要10分钟。
LSTM简介:RNN的梯度消失问题+循环神经网络
在过去的时光里,我们学习了RNN循环神经网络,其结构示意图如下:
其存在的问题是,当w1、w2、w3等值小于0时,若一句话过长,那么在神经常网络中就会产生问题。
LSTM简介1、RNN的梯度消失问题在过去的时间里我们学习了RNN循环神经网络,其结构示意图是这样的:
其存在的最大问题是,当w1、w2、w3这些值小于0时,如果一句话够长,那么其在神经网络进行反向传播与前向传播时,存在梯度消失的问题。
0.925=0.07,如果一句话有20到30个字,那么第一个字的隐含层输出传递到最后,将会变为原来的0.07倍,相比于最后一个字的影响,大大降低。
其具体情况是这样的:
长短时记忆网络就是为了解决梯度消失的问题出现的。
2、LSTM的结构原始RNN的隐藏层只有一个状态h,从头传递到尾,它对于短期的输入非常敏感。
如果我们再增加一个状态c,让它来保存长期的状态,问题就可以解决了。
对于RNN和LSTM而言,其两个step单元的对比如下。
我们把LSTM的结构按照时间维度展开:
我们可以看出,在n时刻,LSTM的输入有三个:
1、当前时刻网络的输入值;
2、上一时刻LSTM的输出值;
3、上一时刻的单元状态。

