Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Gradient Descent

梯度下降通过沿损失梯度方向反复调整权重来训练模型。内容涵盖学习率、SGD、动量和 Adam。

梯度下降是一种迭代式优化算法,用于训练大多数机器学习模型,从线性回归到大型神经网络皆是如此。每一步都会计算损失函数相对于每个模型权重的梯度,然后让每个权重沿相反方向移动一小步,也就是损失下降最快的方向。更新规则为 w ← w − η∇L(w),其中 η 是学习率。一种常见的比喻是:一名徒步者在浓雾中下山,看不到山谷,只能感受脚下的坡度并一步步向下走,直到地面变平。

梯度下降如何工作#

每次迭代分为三个部分。前向传播计算预测结果和损失,反向传播计算损失相对于每个权重的梯度,优化器则更新权重。根据多元微积分中梯度的定义,梯度在损失曲面上指向上坡方向,因此减去梯度会让权重沿下坡方向移动。

不同变体的区别在于每一步使用多少数据。批量梯度下降会在完整的训练数据集上计算精确梯度,准确但在大型数据集上速度较慢。随机梯度下降(SGD)使用单个样本估算梯度,而小批量梯度下降是深度学习中的标准方法,它会对数十到数千个样本求平均,形成批次大小,以保持 GPU繁忙。小批量梯度中的噪声也有助于权重越过鞍点和尖锐的极小值。完整遍历一次训练集称为一个轮次。

选择学习率#

学习率决定步长,通常是梯度下降中首先要调整的超参数。学习率过低会浪费计算资源,让参数缓慢地接近极小值;学习率过高则会越过极小值。对于二次损失,任何高于 2 除以损失曲率的学习率,都会让每一步离极小值比上一步更远。下面的代码使用 PyTorch和三个学习率来最小化 (w − 2)²;该函数的曲率为 2:

import torch

# Minimize loss(w) = (w - 2)^2, whose minimum is at w = 2, with three learning rates
for lr in [0.1, 0.5, 1.1]:
    w = torch.tensor(5.0, requires_grad=True)
    for step in range(20):
        loss = (w - 2) ** 2
        loss.backward()  # w.grad now holds the slope 2 * (w - 2)
        with torch.no_grad():
            w -= lr * w.grad  # step against the gradient
        w.grad.zero_()
    print(f"Learning rate {lr}: w = {w.item():.4f} after 20 steps")

学习率为 0.1 时,经过 20 步权重仍为 2.0346;学习率为 0.5 时,由于它等于曲率的倒数,结果正好达到 2.0000;学习率为 1.1 时,每一步的偏差都会增大,直到 w 达到 117.0129。实际训练计划会先进行短暂的预热,然后降低学习率,通常采用余弦曲线,使早期步骤保持稳定,后期步骤精确收敛。

动量、Adam 与现代优化器#

普通梯度下降会在损失曲面的狭窄谷地间来回振荡,因此大多数训练都使用改进的更新规则。动量会累积历史梯度的滑动平均并沿其方向移动,从而减轻振荡,加快沿一致方向的进展。Adam 优化器还会跟踪每个参数的梯度平方,为每个权重设置自适应步长;AdamW则将权重衰减与更新过程解耦。Muon使用 Newton-Schulz 迭代对每个二维权重矩阵的动量更新进行正交化,避免单一方向主导更新步幅。使用 optimizer="auto"进行 Ultralytics YOLO26 训练时,会选择 AdamW,并根据类别数量调整学习率,最多运行 10,000 次迭代;对于更长的训练,还可以选择 MuSGD,它会将 Muon 风格的正交化更新应用于卷积和线性权重,并与 SGD 结合。

实际应用#

梯度下降是几乎所有深度学习系统背后的训练引擎。在自动驾驶车辆中,它会调整目标检测网络,使数百万帧中行人、标志和车辆的预测框与标注框之间的差距缩小。在医学图像分析中,它会拟合卷积神经网络,以便在 MRI 和 CT 扫描中区分肿瘤和健康组织。大型语言模型也以同样的方式训练,通常使用 AdamW 在数万亿个词元上进行训练。

  • 反向传播:反向传播使用链式法则计算梯度,梯度下降则使用这些梯度更新权重。二者在每个训练步骤中前后衔接运行,因此常被一起提及。
  • 损失函数:损失函数衡量模型预测的错误程度,梯度下降则是降低该分数的过程。
  • 梯度爆炸:当深层网络中的梯度失控地增大时,梯度下降会采取破坏性步骤;梯度裁剪会在每次更新前限制梯度范数,从而防止这种情况。
  • 进化算法:这类无梯度方法通过采样和筛选候选方案来搜索,而不计算梯度,因此适用于不可微的目标,例如超参数选择。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来