技术指南

二阶优化和牛顿法

二阶优化使用曲率信息(二阶导数的 Hessian 矩阵)来采取更智能的步骤来达到最小值,而不仅仅是斜率。

听听这个指南AI叙述 · ~2 min

在本页阅读时间:2分钟
  1. 概述
  2. 深入探讨
  3. 现实世界的实施
  4. 二阶优化和牛顿法的未来
  5. 付诸实践
  6. 不断探索
  7. 常见问题

概述

它可以在比普通梯度下降少得多的迭代次数内收敛,但计算曲率的成本使其难以扩展。

深入探讨

梯度下降只知道当前点的斜率,因此它会选择固定或手动调整的步长,并希望获得最好的结果。牛顿方法更进一步:它还研究斜率如何变化(曲率),由所有二阶偏导数的矩阵 Hessian 捕获。更新将逆 Hessian 矩阵乘以梯度,这会自动重新缩放每个方向并接近局部二次近似的最小值。对于完美的二次碗,牛顿法只需一步即可到达底部。问题很残酷:具有 N 个参数的模型具有 N×N Hessian,因此存储和反转它大约需要 N 平方内存和 N 立方计算。对于十亿参数的网络来说这是不可能的,这就是为什么从业者使用更便宜的近似值。

现实世界的实施

L-BFGS 在 scikit-learn 中拟合逻辑回归和其他凸模型,它通常在中小型数据集上击败普通梯度下降

3D 重建和 SLAM 中的捆绑调整,其中 Gauss-Newton 和 Levenberg-Marquardt 细化相机姿态和点位置

训练微小的物理信息神经网络,其中 L-BFGS 达到 Adam 难以达到的精度

Shampoo 和 K-FAC 通过近似 Hessian 结构加速大规模深度学习训练

二阶优化和牛顿法的未来

对于巨型神经网络,完整的二阶方法仍然不切实际,但近似方法正在取得进展。 K-FAC 和 Shampoo 等优化器使用块对角线或 Kronecker 分解结构来近似曲率,而 Sophia 和 Muon 等较新的方法使用廉价的曲率估计来加速大型语言模型预训练。预计将继续努力以接近一阶的成本捕获有用的曲率信号,从而缩小亚当步和真正的牛顿步之间的差距。

付诸实践

为什么这很重要

  • 成本与预算. 多年来,架构决策决定着性能和运营成本。
  • 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
  • 质量控制. 更好的工程选择可以减少生产中的可靠性事故。

留意

  • 优化一项基准测试可以隐藏更广泛的系统弱点。
  • 基础设施和维护成本常常被低估。
  • 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

后续步骤

  1. 在实施之前定义延迟、质量和成本目标。
  2. 在实际负载和数据条件下进行基准测试。
  3. 仪器监控错误、漂移和用户影响。
  4. 在扩展之前准备回滚和事件响应路径。

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

参加二阶优化与牛顿法测验

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

什么是二阶优化与牛顿法?

二阶优化使用曲率信息(二阶导数的 Hessian 矩阵)来采取更智能的步骤来达到最小值,而不仅仅是斜率。与普通梯度下降相比,它可以以少得多的迭代次数收敛,但计算曲率的成本使其难以扩展。

牛顿法使用了哪些信息而普通梯度下降法没有使用?

牛顿方法利用 Hessian 矩阵的曲率来增强梯度,使其重新调整方向并逼近局部二次极小值。

对于完美二次目标,牛顿法需要多少步才能达到最小值?

在精确二次方程上,局部二次模型等于真实函数,因此牛顿步会直接跳到最小值。

为什么完整的牛顿法对于十亿参数的神经网络不切实际?

对于 N 个参数,Hessian 矩阵具有 N 平方项,并且反转它的比例类似于 N 立方,这在数十亿个参数下是不可行的。

像 BFGS 这样的拟牛顿方法如何避免 Hessian 成本?

BFGS 使用步骤之间梯度的变化迭代更新逆 Hessian 矩阵的估计,避免直接计算。

与BFGS相比,L-BFGS如何减少内存?

“L”代表有限内存:L-BFGS 仅保留少量最近的向量,将存储空间从 N 平方减少到大约 N 的一小部分。