AI 基础
什么是梯度下降?
梯度下降是一种通过调整模型参数来降低目标函数的优化方法。在神经网络训练中,该目标通常是对样本计算的损失。梯度指向局部增长最快的方向,因此梯度下降在相反方向上迈出一步。
梯度描述了局部敏感性;其大小并不是模型“学习”速度的直接衡量。实际进展还取决于学习率、曲率、噪声、参数化、优化器状态以及数据。
关键要点
- 反向传播 计算梯度,而梯度下降使用这些梯度来更新参数。
- 小批量(mini-batch)优化是深度学习的标准实用方法。
- 学习率控制更新的幅度,并且可以采用调度策略,而不是在每一步后都缩小。
- 动量、AdamW、梯度裁剪和归一化针对不同的优化问题。

基本更新规则
对于参数向量 θ、学习率 η 和损失 L:
θ ← θ - η∇L(θ)
梯度 ∇L(θ) 对每个参数包含一个偏导数。减去它会在局部向下移动。静止点的梯度为零,但它可能是最小值、最大值、鞍点或平坦区域。深度学习的损失曲面是非凸的,因此训练无法保证找到唯一的全局最小值或零损失。
批量、随机和小批量方法
批量梯度下降
批量梯度下降在每次更新时使用完整的训练集来计算梯度。该估计稳定,但在时间和内存上可能代价高昂,并且一次更新可能无法充分利用现代加速器。
随机梯度下降
严格的随机梯度下降在每次更新时使用一个随机选取的样本。其梯度带有噪声,这有助于对损失曲面的探索,但单样本操作在并行硬件上可能效率低下。
小批量梯度下降
小批量训练从一部分样本中估计梯度。它在统计噪声与高效矩阵运算之间取得平衡,是深度学习中常用的方法。批量大小会影响内存、吞吐量、梯度噪声、归一化,有时还会影响泛化能力。
选择学习率
过大的学习率可能会越过有用的区域或导致发散。过小的学习率可能使训练速度不切实际地慢,或在平坦区域停滞。最佳的尺度取决于优化器、批量大小、模型、初始化方式以及目标函数。
调度策略可以逐步热身、在里程碑时衰减、遵循余弦曲线,或根据验证进度做出响应。学习率不必在每次更新后单调下降。热重启和循环调度会在训练的某些阶段有意提升学习率。
动量
动量维护过去梯度的指数移动平均。它可以加速沿一致方向的进展,并减少在陡峭、狭窄方向上的振荡。Nesterov 风格的动量在沿动量方向前瞻后评估或近似梯度。
自适应优化器
RMSProp 使用平方梯度的移动平均来缩放更新。Adam 将类似动量的一阶矩与二阶矩的缩放相结合。AdamW 将权重衰减从自适应梯度更新中解耦,广泛用于 Transformer。
自适应优化器常使早期训练更容易,但它们并非对每个模型或最终泛化目标都自动更优。比较优化器时需要匹配的调度策略并进行仔细调参。
梯度裁剪与累积
梯度裁剪限制梯度的范数或数值,以降低梯度爆炸的影响,尤其在循环网络或不稳定的训练中。梯度累积在一次更新前将多个小批量的梯度相加,在内存受限时近似更大的有效批量。
监控优化过程
跟踪训练和验证损失、任务指标、学习率、梯度范数、参数范数以及数值错误。训练损失下降而验证性能恶化表明过拟合,而不是应自动继续的优化成功。
优化过程最小化所给定的目标函数。低损失并不证明数据、指标或真实世界行为是合适的。信息泄漏、标签不佳以及目标不匹配都可能导致一个优化良好却有害的模型。
优化几何与更新规则
梯度下降沿损失梯度的相反方向更新参数。全批量下降在每一步使用所有训练样本;随机下降使用单个样本;小批量方法从子集估计梯度,主导深度学习。学习率决定步幅规模。过小浪费计算或导致停滞,过大则振荡或发散。动量累积移动方向,而自适应方法如 Adam 使用梯度矩来缩放各维度。它们不同的隐式偏差可能产生训练损失相似但泛化不同的模型。
神经网络的损失曲面包含平坦和尖锐区域、鞍点、对称性以及条件不佳的方向。特征缩放、归一化、初始化、残差连接和预条件化会改变优化器所见的几何形状。调度策略可以热身、衰减、循环或对平台期作出响应。在某些自适应优化器中,权重衰减不同于仅添加 L2 正则。批量大小影响噪声、内存、并行性以及学习率区间,因此比较优化器时需要匹配的训练预算并进行细致调参。
诊断、可复现性与停止
跟踪训练和验证损失、任务指标、梯度和参数范数、学习率、吞吐量以及数值警告。发散可能源于损坏的批次、无效标签、不稳定的混合精度或错误的损失归约。平台期可能表明容量不足、激活饱和、特征差、正则化过度或调度问题。过拟合需要数据、增强、正则化或提前停止——而不是声称优化器失败。检查代表性错误并在提升训练复杂度前对比简单基线。
可复现性需要种子、数据顺序、代码、配置、硬件和库版本,尽管某些加速器内核仍然是非确定性的。保存包含优化器和调度器状态的检查点,以便训练能够一致地恢复。依据预先设定的验证标准选择检查点,并保留未触及的测试集。在分布式训练中,确认有效批量大小、梯度平均以及对失效工作节点的处理。优化仅在可用数据上最小化所选目标;它并不保证概率校准、因果推理、公平性、安全性或真实世界的效用。
实战示例: 为语言模型调优优化器
团队固定分词器、数据顺序、模型、有效批量和训练令牌预算,然后在合理的学习率调度下比较带动量的 SGD 与 AdamW。记录热身、衰减、权重衰减、裁剪和精度。每个候选模型运行多个随机种子,验证使用保留的时间切片加任务评估。吞吐量和能耗与损失一起报告,以防因微小的优化器提升而付出不成比例的代价。
诊断可以揭示不稳定性是来源于某个数据分片、过大的步幅、下溢还是模型架构。检查点保存优化器和调度器状态,并在测试中恢复。最终选择依据验证质量和鲁棒性,而非最低训练损失。选定后会对封闭的测试集进行一次评估。生产推理需单独校准和监控,因为预训练期间的优化器成功并不保证安全或真实的行为。
实现证据与运营准备度
生产决策需要的不仅是成功的演示。需明确预期用户、运行环境、输入、输出、依赖、负责人以及每类重要故障的后果。在调优前建立可复现的基线和带版本的评估集。测试普通案例、边界条件、畸形或缺失的输入、分布漂移、依赖中断、误用以及最可能被服务不足的群体或环境。衡量任务质量的同时评估校准或不确定性、延迟、吞吐量、资源成本、可访问性、隐私和安全性。记录每一次转换和阈值,以便独立审阅者能够复现结果并区分证据与吸引人的原型。
上线前,指定发布、例外、变更、回滚和退役的责任人。采用分阶段发布,保留安全回退,并通过人为注入故障来验证监控。运营遥测应展示输入质量、输出行为、模型或规则版本、依赖健康状态、人为覆盖以及已确认的结果,且不收集不必要的敏感数据。定义警报阈值和响应负责人,然后在部署后审查真实世界的证据,而非假设离线表现会持续。每当数据来源、用户、模型、供应商、政策、硬件或目标变化时都要重新评估。维护中的系统还需有文档化的恢复、事件学习、删除与保留流程,以及明确的停用或替换时点。
常见问题
梯度下降是否总能达到全局最小值?
不一定。对于凸目标,在满足相应条件时可以提供强保证。深度网络的目标是非凸的,实际使用的优化器通常寻找一个有用的解,而不是证明已找到唯一的全局最小值。
为什么零梯度可能具有误导性?
零或极小的梯度可能表示最小值、最大值、鞍点、饱和或平坦平台期。训练诊断必须结合损失历史、曲率、参数尺度和验证性能进行判断。












