前言
本次是AI-夏令营的第五期学习笔记。内容是李宏毅老师的《深度学习》。
一、Task1.1重点内容
1.局部最小值:
- 优化算法中,由于梯度会为0,因此梯度下降算法中可能会停止更新参数,发生在局部极小值或鞍点。
- 临界点的判断:临界点是梯度为零的点。
- 海森矩阵:海森矩阵包含了损失函数的二次微分信息,可以用来判断临界点的性质。如果特征值有正有负,则为鞍点。
- 逃离鞍点的方法:虽然理论上可以通过海森矩阵的特征值和特征向量来逃离鞍点,但由于计算复杂性,实际中很少使用这种方法。
- 鞍点与局部极小值的常见性:文章通过实验数据指出,在实际的神经网络训练中,局部极小值并不常见,而鞍点更为常见。
- 最小值比例:即正特征值数量与总特征值数量的比值,用来衡量临界点更接近局部极小值的程度。
- 批量大小对梯度下降法的影响:批量大小对计算时间和模型性能有显著影响。大批量可能导致更稳定的更新,但可能陷入“峡谷”中的局部最小值,而过拟合。
二、Task1.2重点内容
- 批量梯度下降法(BGD):使用所有训练数据计算损失和梯度,然后更新参数。
- 随机梯度下降法(SGD):每次只使用一个训练样本来计算损失和梯度,然后更新参数。这种方法引入了随机噪声,更新方向曲折,但在非凸优化问题中更容易逃离局部最小值。
- 并行计算:在有并行计算能力的情况下,大批量大小可以提高训练效率,因为数据可以并行处理,减少了单次更新所需的时间。
- 动量法:通过在参数更新中加入之前更新方向的加权和,增加了模型的“惯性”,有助于逃离局部最小值和鞍点。
- 自适应学习率:在训练过程中,梯度可能变得非常小,导致损失不再下降,但这并不意味着已经达到全局最小值。自适应学习率方法可以根据训练进展调整学习率,以解决这个问题。
总结
动手实践代码,复现理论。现在不是造轮子的时代,可以用现有的库调用,利用大语言模型解释(降维,大学-高中-初中思维)。
有时候学习会跑偏方向。