梯度消失和梯度爆炸问题及解决办法

梯度消失:当权重参数值较小时,并且网络层数较深,由于BP算法,在求浅层网络的权重参数偏导时,需要连乘多个深层结构的权重参数,若初始化权重参数小于1,连乘则会导致最终结果接近于0, 导致梯度消失。

梯度爆炸: 当权重参数值较大时,并且网络层数较深,由于BP算法,在求浅层网络的权重参数偏导时,需要连乘多个深层结构的权重参数,若初始化权重参数大于1,连乘则会导致最终结果特别大, 导致梯度值很大,甚至爆炸,最终无法收敛,即为梯度爆炸。

梯度爆炸导致权重的更新步长过大,算法无法收敛。

梯度爆炸的解决办法:梯度裁剪,将梯度归一化限制在某个阈值之内。

注:BP算法本质:loss函数是一个关于权重参数和偏置参数的复合函数,复合函数的结构类似于俄罗斯套娃结构,网络层越浅,对应的权重参数被包裹的层次越深,反之,则越浅。
当对所有的权重参数和偏置参数求偏导,越是浅层次的权重参数求导时,连乘的上层的权重参数越多,最终当权重参数值选取不合理时,就会引起梯度消失和梯度爆炸。
梯度消失和梯度爆炸产生的原因:(1)网络太深 (2)使用BP算法 (3)使用不合适的激活函数(sigmoid函数)(4)权重初始化方法不合理
注:通常不同的激活函数,使用不同的权重初始化方法

梯度

你可能感兴趣的:(机器学习,深度学习,深度学习,神经网络,机器学习)