梯度爆炸和梯度消失的根本原因是:深度学习使用反向传播算法来训练网络,算法的数值稳定性差。 具体来说,主要原因有以下两方面: 一、链式求导 反向传播算法使用链式求导计算网络中每个节点的梯度。 对于深层网络而言: 如果求导数值大于1 ,会导致梯度爆炸 如果求导数值小于1 ,会导致梯度消失 二、激活函数的性质 不同的激...
一、权重初始化 如果权重初始化的较大,会导致梯度很大(梯度爆炸)。 反之如果较小,会导致梯度变为0或者很小(梯度消失)。 二、激活函数 使用的激活函数也会影响梯度。 像relu函数,0处的梯度为0,容易导致梯度消失。 三、链式法则 在反向传播中,使用链式法则计算每个节点的梯度。 梯度会不断地乘以权重。 四、欠初...