《深度学习详解》- 第3章 深度学习基础
3.1 局部极小值与鞍点
概念解释
- 优化失败原因:优化过程中可能会遇到局部极小值或鞍点,导致损失函数的值不再下降。
- 局部极小值 (Local Minimum):在该点的邻域内,损失函数的值都比该点的损失值大。
- 鞍点 (Saddle Point):梯度为零,但不是局部极小值或局部极大值的点,类似于马鞍形状。
临界点判断
- 使用泰勒级数近似和海森矩阵 (Hessian Matrix) 来判断临界点类型。
- 海森矩阵特征值:
- 正定:所有特征值都为正,表示局部极小值。
- 负定:所有特征值都为负,表示局部极大值。
- 特征值有正有负:表示鞍点。
逃离鞍点
- 鞍点处梯度为零,但可以通过海森矩阵的特征向量找到下降方向。
3.2 批量和动量
批量大小影响
- 批量梯度下降 (Batch Gradient Descent):使用所有数据计算梯度,更新稳定但计算量大。
- 随机梯度下降 (Stochastic Gradient Descent, SGD):每次使用一个数据点计算梯度,更新方向有噪声但有助于逃离局部最小值。
批量大小与计算效率
- 实验表明,对于GPU并行计算,不同批量大小的计算时间差异不大,但大批量可以更快完成一个回合。
动量法 (Momentum Method)
- 模拟物理中的惯性,考虑历史梯度影响,有助于逃离局部最小值和鞍点。
- 更新公式:mt=λmt−1−ηgt,θt=θt−1+mtmt=λmt−1−ηgt,θt=θt−1+mt
- 其中,mtmt 是当前步的动量,λλ 是动量参数,ηη 是学习率,gtgt 是当前步的梯度。
3.3 自适应学习率
- 即使在损失不再显著下降的情况下,梯度的范数也可能并不小,这可能是由于梯度在山谷间震荡导致。
总结
- 局部极小值和鞍点是深度学习优化中的常见问题,理解它们的数学特性有助于改进优化策略。
- 批量大小的选择对梯度下降的稳定性和效率有显著影响,适当的批量大小可以平衡两者。
- 动量法通过考虑历史梯度,增加了优化过程的鲁棒性,有助于逃离不良局部最优解。
- 自适应学习率根据训练过程中的反馈动态调整学习率,有助于优化过程的稳定性和收敛速度。
附上相应资源:
【直播回放】参见本群“置顶消息”或关注“Datawhale”微信视频号,点击“直播回放”
【李宏毅老师对应视频课程】https://www.bilibili.com/video/BV1JA411c7VT/?p=5
【教材全书下载链接】https://github.com/datawhalechina/leedl-tutorial
【纸质版教材购买链接】京东商城六折优惠https://u.jd.com/muCV8tI