学习内容:
- Task 1.1 《深度学习详解》- 3.1 局部极小值与鞍点
- Task 1.2 《深度学习详解》- 3.2 批量和动量
对应B站李宏毅视频:李宏毅老师对应视频课程:神经网络训练不起来怎么办(1):局部最小值(:Loacl Minima)与鞍点(Saddle Point)_哔哩哔哩_bilibili
内容总结:
局部极小值与鞍点
在深度学习的优化过程中,局部极小值和鞍点是两种常见的问题,这些问题会导致模型的训练难以取得全局最优解。
-
局部极小值:指的是损失函数在某一区域内是最小值,但并不是全局的最小值。优化过程如果陷入局部极小值,可能会导致模型性能无法达到最佳。
-
鞍点:指的是损失函数在某一维度上是极小值,但在其他维度上可能是极大值或平坦区域。鞍点的问题在高维空间中非常常见,模型训练时如果停留在鞍点附近,梯度更新的效率会显著降低。
解决局部极小值与鞍点的问题
为了更有效地训练深度学习模型,需要采取一些策略来避免局部极小值和鞍点的问题:
-
随机初始化:通过随机初始化权重,可以避免网络一开始就进入局部极小值区域,有助于探索更大的参数空间。
-
动量法:在梯度下降中引入动量可以帮助模型在优化路径上加速,通过抑制梯度方向上的振荡,动量法能够更快地越过鞍点区域,并跳出局部极小值。
-
学习率调度:学习率调度策略通过在训练过程中逐渐调整学习率,帮助模型在不同阶段更有效地搜索最优解区域。
关键的证明:
- 通过求海森矩阵的特征值,判断是极小值还是鞍点
- 通过求海森矩阵的负特征值,逃离鞍点
- 小批量batch 和 批量Batch的性能比较: