趋近智
尽管牛顿法借助曲率信息,在最小值附近具有二次收敛的优点,其直接应用于大规模机器学习 (machine learning)会遇到明显的实际困难。这些困难主要源于海森矩阵 的计算、存储及其性质。
第一个主要困难在于高昂的计算耗费。
构建海森矩阵:计算海森矩阵需要计算损失函数 (loss function) 关于参数 (parameter) 的所有二阶偏导数。如果我们的模型有 个参数(在现代深度学习 (deep learning)中很容易达到数百万或数十亿),海森矩阵将是一个 的矩阵。计算这 个元素中的每一个都可能对计算要求很高。虽然自动微分等方法可以提供帮助,但其复杂度通常随参数数量呈二次方增长,大约每次迭代需要 次操作来计算海森矩阵。
求逆海森矩阵:牛顿法的更新步需要求解线性系统 以得到搜索方向 。这等同于计算 。矩阵求逆或求解稠密线性系统的标准方法通常具有 次操作的计算复杂度。
对于参数数量适中的模型(例如,数万个),每次迭代 次操作的计算量变得不可行,远远超过一阶方法的成本,后者通常每次迭代的成本为 (主要由梯度计算决定)。
牛顿法一次迭代的计算过程,突出显示与海森矩阵相关的高昂成本( 为参数数量)。
在计算上,存储海森矩阵本身就带来了一个困难。一个 矩阵需要 的内存。如果 达到数百万,仅为海森矩阵存储数TB的数据通常不切实际,特别是如果计算分布在多个内存有限的设备上。相比之下,一阶方法只需存储参数 (parameter)和梯度,通常需要 的内存。
牛顿法是通过最小化函数 在当前点 附近的二次近似而得到的。这种推导隐式地假设二次近似具有唯一的最小值,这在数学上对应于海森矩阵 是正定的(即其所有特征值都为正)。
在许多机器学习 (machine learning)问题中,特别是非凸问题,例如训练深度神经网络 (neural network)时,这一假设常常不成立:
当海森矩阵不是正定时,纯牛顿步可能导致发散,或收敛到鞍点或局部最大值而非最小值。需要进行修改,例如在海森矩阵中加上一个单位矩阵的倍数(Levenberg-Marquardt 型调整)或使用信赖域方法来处理这些情况,这增加了算法的复杂性。
这些明显的计算、存储和理论困难意味着纯牛顿法很少直接用于训练大规模机器学习模型。然而,利用曲率信息的潜在思想很有用。这促使了拟牛顿方法(如BFGS和L-BFGS)的发展,这些方法可以有效地近似海森矩阵或其逆,而无需显式地构建、存储和求逆完整矩阵。我们将在后续章节中介绍这些更实用的替代方法。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造