上图为在反向传播过程中推理得出的误差项公式,详见:神经网络中的反向传播https://blog.csdn.net/weixin_47195879/article/details/123475894?spm=1001.2014.3001.5502
可以看到第l层的误差是根据第l+1层的误差与两层之间的权重加权,再乘以激活函数的导数得到。如果使用Sigmod激活函数,该激活函数的最大导数值为0.25,说明:当层数增加,最后一层的误差将在前面的层中快速衰减,这会导致靠近输入层的梯度值非常小,参数几乎无法进行有效的更新。在下一次向前传播时,有前面层的参数无法有效的从数据中获取有价值的信息供后面的层使用,模型就难以进行有效的训练。该种现象成为梯度消失。
梯度消失的原因在于激活函数的饱和性,比如sigmod,tanh等,他们的函数值趋近于上下边界时,梯度就会变得比较小。所以现在的神经网络一般使用ReLU激活函数。
-参考《深入浅出图神经网络》
局部最优:损失函数为凸,但是和参数之间的关系非凸。模型通常有很多局部最优解。
鞍点:梯度为0的点,但是并不是最大或者最小值。当处于鞍点区域并且误差较大,梯度较小,所以收敛速度会被影响,同时会造成陷入局部最优解的假象。