十三、神经网络梯度不稳定问题(即梯度消失 & 梯度爆炸问题)
来源:互联网 发布:淘宝双十一c店报名条件 编辑:程序博客网 时间:2024/06/05 06:16
本博客主要内容为图书《神经网络与深度学习》和National Taiwan University (NTU)林轩田老师的《Machine Learning》的学习笔记,因此在全文中对它们多次引用。初出茅庐,学艺不精,有不足之处还望大家不吝赐教。
欢迎大家在评论区多多留言互动~~~~
1 . 梯度不稳定的浅层分析
众所周知,使用深层次的神经网络往往会获得比浅层次神经网络更为优秀的效果。但是深度神经网络的训练也是是跟令人头疼的,因为一个深度神经网络train不好的话很有可能在效果上与只含有一个隐层的神经网络的效果相差甚远。在这里我们就要分析一下神经网络难以训练的原因。
造成这种现象的和主要原因在于在深度网络中,不同的层学习的速度差异很大。尤其是,在网络中后面的层学习的情况很好的时候,先前的层次常常会在训练时停滞不变,基本上学不到东西,这种停滞称为梯度消失问题(vanishing gradient problem)。这种停滞并不是因为运气不好。而是,有着更加根本的原因使学习的速度下降了,这些原因和基于梯度的学习技术相关。
在前面的层中的梯度会变得非常大,这也叫做梯度爆炸问题 ( exploding gradient problem),这也没比梯度消失问题更好处理。更加一般地说,在深度神经网络中的梯度是不稳定的,在前面的层中或会消失,或会激增。这种不稳定性才是深度神经网络中基于梯度学习的根本问题。
2 . 梯度不稳定的原理性分析
假设在神经网络中使用的是 sigmoid 神经元,我们可以得到 sigmoid 导数的函数图像如下所示
图1. sigmoid函数导数的图像
在上面这个图像中,横坐标是 sigmoid 函数的输入,即权值输入 z ,而纵坐标是激活函数的输出值的导数,我们可以看到,该导数
首先考虑还没有开始训练的初始状态,如果我们使用标准方法来初始化网络中的权重,那么会使用一个均值为 0 标准差为 1 的高斯分布。因此所有的权重通常会满足
图2. 梯度的复合求导
可以看到在我们进行了所有这些项的乘积时,最终结果肯定会指数级下降:项越多,乘积的下降的越快。这里我们敏锐地嗅到了梯度消失问题的合理解释。
为了避免梯度消失问题,我们需要
也距离说明一下题都爆炸的原因。当权值输入为0,但是参数
如果在某一个神经元出现了这样的情况,那么在复杂网络中根据反向传播中的四个基本等式这也是同样会出现的。
综上,根本的问题其实并非是梯度消失问题或者激增的梯度问题,而是在前面的层上的梯度是来自后面的层上项的乘积。当存在过多的层次时,就出现了内在本质上的不稳定场景。唯一让所有层都接近相同的学习速度的方式是所有这些项的乘积都能得到一种平衡。如果没有某种机制或者更加本质的保证来达成平衡,那网络就很容易不稳定了。简而言之,真实的问题就是神经网络受限于不稳定梯度的问题。所以,如果我们使用标准的基于梯度的学习算法,在网络中的不同层会出现按照不同学习速度学习的情况。
如本篇博客没有解决你的问题可在评论区留言,如果能帮上的一定会帮助;
如果觉得解决了你的问题请顶一下 ~;
也欢迎指导、提问、留言~~~~
- 十三、神经网络梯度不稳定问题(即梯度消失 & 梯度爆炸问题)
- 深度神经网络的梯度不稳定问题--梯度消失与梯度爆炸
- 关于梯度消失,梯度爆炸的问题
- 梯度消失,梯度爆炸
- 深度神经网络-消失的梯度问题和爆炸的梯度问题
- 神经网络的梯度消失问题
- [rnn]BPTT_梯度消失/爆炸问题
- 理解神经网络梯度爆炸和梯度弥散问题
- 梯度爆炸与梯度消失
- 梯度消失和梯度爆炸
- 梯度消失与梯度爆炸
- 梯度消失/爆炸浅析
- 梯度消失、爆炸原因
- 机器学习总结(二):梯度消失和梯度爆炸
- 深度学习:梯度消失和梯度爆炸
- 如何避免梯度爆炸梯度消失
- 深度学习:梯度消失和梯度爆炸
- 机器学习总结(九):梯度消失(vanishing gradient)与梯度爆炸(exploding gradient)问题
- 基,低,核,劲
- 生活感想
- codeforces 864B
- 继承和多态
- ROS服务和参数的分析
- 十三、神经网络梯度不稳定问题(即梯度消失 & 梯度爆炸问题)
- 2017年小红书在线笔试编程第二题
- Netty源码分析:ChannelPipeline
- hdu 2094 谁是冠军(STL,拓扑排序)
- 【bzoj1370】【团伙】原来并查集还能这么用?!
- Linux 基础知识(1)—学习路线
- 多线程-生产者消费者lock锁
- solr服务快速搭建、配置中文分词、数据导入即solrj增删改查
- jquery().offset()、e.offsetX、e.clientX