前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【深度学习】RNN中梯度消失的解决方案(LSTM)

【深度学习】RNN中梯度消失的解决方案(LSTM)

作者头像
狼啸风云
修改2022-09-02 19:55:51
1.1K0
修改2022-09-02 19:55:51
举报

上个博客里阐述了梯度消失的原因,同时梯度消失会造成RNN的长时记忆失效。所以在本博客中,会阐述梯度消失的解决方案:①梯度裁剪(Clipping Gradient)②LSTM(Long Short-Term Memory)。


  1. 梯度裁剪(Clipping Gradient) 既然在BP过程中会产生梯度消失(就是偏导无限接近0,导致长时记忆无法更新),那么最简单粗暴的方法,设定阈值,当梯度小于阈值时,更新的梯度为阈值,如下图所示:
这里写图片描述
这里写图片描述

优点:简单粗暴 缺点:很难找到满意的阈值

  1. LSTM(Long Short-Term Memory) 一定程度上模仿了长时记忆,相比于梯度裁剪,最大的优点就是,自动学习在什么时候可以将error反向传播,自动控制哪些是需要作为记忆存储在LSTM cell中。一般长时记忆模型包括写入,读取,和忘记三个过程对应到LSTM中就变成了input_gate,output_gate,forget_gate,三个门,范围在0到1之间,相当于对输入输出进行加权的学习,利用大量数据来自动学习加权的参数(即学习了哪些错误可以用BP更新参数),LSTM的示意图如下:
这里写图片描述
这里写图片描述

具体的公式表达:

这里写图片描述
这里写图片描述

优点:模型自动学习更新参数

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-04-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档