第3章 深度学习基础
3.1 局部极小值与鞍点
优化问题:
- 深度学习中优化神经网络时,可能会遇到优化失败的情况,如收敛在局部极小值或鞍点。
临界点:
-
局部极小值:梯度为零且周围损失都较高的点。
- -
鞍点:梯度为零但不是局部极小值或局部极大值的点,形状类似马鞍。
- -
局部极大值:梯度为零且周围损失都较低的点。
-
判断临界点种类:
- 通过泰勒级数近似和海森矩阵(Hessian matrix)来判断临界点的类型。
海森矩阵的特征值: - 所有特征值正:正定矩阵,临界点为局部极小值。
- 所有特征值负:负定矩阵,临界点为局部极大值。
- 特征值有正有负:临界点为鞍点。
在实际应用中,直接计算海森矩阵可能非常昂贵,因为它涉及到损失函数的二阶导数,并且计算复杂度随着参数数量的增加而呈平方增长。因此,人们通常寻找更高效的算法来近似或直接利用一阶导数信息进行优化,如使用梯度下降法、牛顿法或拟牛顿法等。尽管如此,理解泰勒级数近似和海森矩阵的概念对于深入理解优化过程仍然非常重要。
逃离鞍点的方法:
- 通过海森矩阵的特征向量和特征值来更新参数,逃离鞍点。
- 实际应用中,直接计算海森矩阵并不常见,因为计算量大,通常使用其他方法。
鞍点与局部极小值的普遍性:
- 在高维参数空间中,局部极小值可能并不常见,而鞍点可能更为普遍。
- 实验表明,大多数情况下,训练过程中遇到的临界点更可能是鞍点而非局部极小值。
实验观察:
- 通过训练不同神经网络的实验,观察到最小值比例(正特征值数量与总特征值数量的比)通常不高,表明鞍点比局部极小值更常见。
结论:
- 在深度学习中,优化过程中遇到鞍点是常见的,而局部极小值则相对较少。
- 优化策略需要考虑如何有效逃离鞍点,以继续降低损失函数的值。