出现梯度消失与梯度爆炸的原因以及解决方案
在学习李宏毅老师机器学习的相关视频时,课下做了一个有关神经网络的小Demo,但是运行效果总是不尽人意,上网查询资料,才发现是梯度爆炸和梯度消失惹的祸。今天就让我们一起来学习一下梯度消失与梯度爆炸的概念、产生原因以及该如何解决。 目录 1.梯度消失与梯度爆炸的概念 2.梯度消失与梯度爆炸的产生原因 3.梯度消失与梯度爆炸的解决方案 首先让我们先来了解一个概念:什么是梯度不稳定呢? 概念 :在深度神经网络中的梯度是不稳定的,在靠近输入层的隐藏层中或会消失,或会爆炸。这种不稳定性才是深度神经网络中基于梯度学习的根本问题。 产生梯度不稳定的根本原因 :前面层上的梯度是来自后面层上梯度的乘积。当存在过多的层时,就会出现梯度不稳定场景,比如梯度消失和梯度爆炸。 划重点 :梯度消失和梯度爆炸属于梯度不稳定的范畴 1.梯度消失与梯度爆炸的概念 梯度消失:在神经网络中,当前面隐藏层的学习速率低于后面隐藏层的学习速率,即随着隐藏层数目的增加,分类准确率反而下降了。这种现象叫梯度消失。 梯度爆炸:在神经网络中,当前面隐藏层的学习速率低于后面隐藏层的学习速率,即随着隐藏层数目的增加,分类准确率反而下降了。这种现象叫梯度爆炸。 其实梯度消失和梯度爆炸是一回事,只是表现的形式,以及产生的原因不一样。 2.梯度消失与梯度爆炸的产生原因 梯度消失:(1)隐藏层的层数过多;(2)采用了不合适的激活函数(