【深度学习】RNN中梯度消失的解决方案(LSTM)
2017-04-26 11:50
591 查看
上个博客里阐述了梯度消失的原因,同时梯度消失会造成RNN的长时记忆失效。所以在本博客中,会阐述梯度消失的解决方案:①梯度裁剪(Clipping Gradient)②LSTM(Long Short-Term Memory)。
梯度裁剪(Clipping Gradient)
既然在BP过程中会产生梯度消失(就是偏导无限接近0,导致长时记忆无法更新),那么最简单粗暴的方法,设定阈值,当梯度小于阈值时,更新的梯度为阈值,如下图所示:
优点:简单粗暴
缺点:很难找到满意的阈值
LSTM(Long Short-Term Memory)
一定程度上模仿了长时记忆,相比于梯度裁剪,最大的优点就是,自动学习在什么时候可以将error反向传播,自动控制哪些是需要作为记忆存储在LSTM cell中。一般长时记忆模型包括写入,读取,和忘记三个过程对应到LSTM中就变成了input_gate,output_gate,forget_gate,三个门,范围在0到1之间,相当于对输入输出进行加权的学习,利用大量数据来自动学习加权的参数(即学习了哪些错误可以用BP更新参数),LSTM的示意图如下:
具体的公式表达:
优点:模型自动学习更新参数
梯度裁剪(Clipping Gradient)
既然在BP过程中会产生梯度消失(就是偏导无限接近0,导致长时记忆无法更新),那么最简单粗暴的方法,设定阈值,当梯度小于阈值时,更新的梯度为阈值,如下图所示:
优点:简单粗暴
缺点:很难找到满意的阈值
LSTM(Long Short-Term Memory)
一定程度上模仿了长时记忆,相比于梯度裁剪,最大的优点就是,自动学习在什么时候可以将error反向传播,自动控制哪些是需要作为记忆存储在LSTM cell中。一般长时记忆模型包括写入,读取,和忘记三个过程对应到LSTM中就变成了input_gate,output_gate,forget_gate,三个门,范围在0到1之间,相当于对输入输出进行加权的学习,利用大量数据来自动学习加权的参数(即学习了哪些错误可以用BP更新参数),LSTM的示意图如下:
具体的公式表达:
优点:模型自动学习更新参数
相关文章推荐
- 【深度学习】RNN的梯度消失/爆炸与正交初始化
- 【深度学习】深度学习中RNN梯度消失
- 用实验证明深度学习中梯度消失的存在与LSTM的有效性
- TensorFlow (RNN)深度学习 双向LSTM(BiLSTM)+CRF 实现 sequence labeling 序列标注问题 源码下载
- 深度学习之神经网络结构——RNN_理解LSTM
- 转:深度学习与自然语言处理之五:从RNN到LSTM
- 深度学习梯度消失或爆炸问题
- 深度学习与自然语言处理之五:从RNN到LSTM
- 【深度学习】RNN(循环神经网络)之LSTM(长短时记忆)
- 深度学习解决局部极值和梯度消失问题方法简析
- 深度学习:梯度消失和梯度爆炸
- 深度学习BP算法的推导(附加RNN,LSTM的推导说明)
- 深度学习BP算法的推导附加RNN-LSTM的推导
- 深度学习与自然语言处理之五:从RNN到LSTM
- TensorFlow (RNN)深度学习 双向LSTM(BiLSTM)+CRF 实现 sequence labeling 序列标注问题 源码下载
- 神经网络与深度学习(5):梯度消失问题
- 王小草【深度学习】笔记第六弹--循环神经网络RNN和LSTM
- [Machine Learning] 深度学习中消失的梯度
- 深度学习---情感分析(Rnn,LSTM)