前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >它的梯度去哪儿了?

它的梯度去哪儿了?

作者头像
double
发布2018-07-25 18:06:57
3040
发布2018-07-25 18:06:57
举报
文章被收录于专栏:算法channel算法channel

斯坦福 NLP 第 9 课介绍了 RNN 语言模型的一个问题:梯度消失现象。那么什么是梯度消失? 为什么 RNN 会出现梯度消失呢? 梯度消失问题需要引起重视吗?下面依次回答这 3 个问题,希望能给读者带来一定启发。

首先介绍什么是梯度消失。下图是 RNN 模型的网络结构图,输入层是单词的词向量,隐含层中,节点间的权重都为 Wh ,且当前节点的输入We*Xi 加上前一个节点的输出 f(We*Xi-1 + Wh*hi-1) 作为下一个节点的输入。

设隐含层含有6000个神经元节点,神经元的个数与梯度的大小总和的关系如下图所示,从图中可以看出神经元的个数大约在0~400时,梯度大小的总和随着神经元个数增加而变大,但是随着个数继续增大,梯度总和的变化趋势变得平缓,最后几乎看不出变化,这种现象就是梯度消失。

为什么会出现梯度消失呢?这要从 RNN 的梯度计算公式说起,应用链式法则,符号含义对应文章第一幅图,求和公式中带框的偏导是关键,

仍然是链式法则求:

连乘有什么问题呢?没错,在 RNN 这种网络结构下,连乘会变得很小或很大,也就是说,梯度会消失或暴增。

梯度可以更深刻的理解为过去对将来的影响。当上面公式的梯度变为 0 时,我们不能区分:是否时步k 和 时步 t 间的数据真的就是没有关系的;或者,当前的权重参数还是有误的。如果属于后者,训练因为提前终止,而注定导致模型的预测精度不好,因此,梯度消失应该引起足够重视。


1) 回馈读者:吴恩达机器学习完整系列视频教程

2) 足够惊艳:神经网络可以逼近任意函数吗?

3) 深度学习|大师之作,必是精品

4) 免费送6本精选的算法,机器学习,深度学习的书

5) 机器学习、深度学习干货分享


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

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

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

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