Ultralytics YOLO27:
返回 Ultralytics 术语表

Stochastic Gradient Descent (SGD)

了解随机梯度下降(SGD)如何优化机器学习模型。了解 SGD 如何驱动 Ultralytics YOLO26,实现更快速、高效的 AI 训练。

随机梯度下降 (SGD) 是一种功能强大的优化算法,广泛用于机器学习中高效训练模型,尤其适用于处理大型数据集的场景。从本质上说,SGD 是标准梯度下降法的一种变体,通过更频繁地更新模型参数来加快学习过程。传统的批量梯度下降会先计算整个数据集的误差,然后进行一次更新;而 SGD 每次只使用一个随机选取的训练样本来更新模型权重。这种“随机”特性会在优化路径中引入噪声,有助于模型跳出次优解,并在一次性处理全部数据的计算成本过高的大型数据集上更快收敛。

随机梯度下降的工作原理#

任何训练过程的主要目标都是最小化 损失函数,该函数用于量化模型预测值与实际目标值之间的差异。SGD 通过迭代循环实现这一目标。首先,算法从训练数据中随机选择一个数据点。随后执行前向传播以生成预测结果并计算误差。借助反向传播,算法根据这个单一样本计算梯度,也就是误差曲面的斜率。最后,算法沿梯度的相反方向更新模型权重,以减小误差。

这一过程会重复许多次,通常按周期进行分组,直到模型性能趋于稳定。这些更新的幅度由一个称为学习率的超参数控制。由于每一步都只基于一个样本,与批量梯度下降平滑的轨迹相比,通往最小值的路径通常会呈锯齿状或带有噪声。然而,在深度学习中,这种噪声通常是有利的,因为它可以防止模型陷入局部最小值,并有可能找到更好的全局解。

SGD 与其他优化算法的比较#

了解 SGD 与相关优化算法之间的区别,对于选择合适的训练策略至关重要。

  • 批量梯度下降 这种传统方法在每次更新时都使用整个数据集计算梯度。虽然它能够稳定、直接地走向最小值,但对于大规模机器学习 (ML)任务而言,速度极慢且非常消耗内存。
  • 小批量梯度下降 实际上,包括 PyTorch 在内的大多数现代深度学习框架都实现了一种混合方法,通常称为 SGD,但严格来说是“小批量 SGD”。这种方法使用一小组样本(一个批次)而不是单个样本来更新参数。它兼顾了纯 SGD 的计算效率和批量梯度下降的稳定性,因此成为训练 YOLO26 等模型的标准方法。
  • Adam 优化器 Adam 是一种基于 SGD 构建的自适应学习率优化算法。它会根据矩估计为每个参数单独调整学习率。虽然 Adam 通常收敛更快,但在某些场景下,带动量的 SGD 仍常用于计算机视觉 (CV),因为它能够找到泛化能力更强的解。

实际应用#

SGD 及其变体是如今许多变革性 AI 技术背后的驱动力。

  1. 自动驾驶车辆: 在开发自动驾驶车辆时,模型必须处理海量视觉数据,以识别行人、交通标志和障碍物。训练这些复杂的目标检测网络需要高效的优化方法,以处理数百万张道路图像。SGD 让工程师能够迭代优化模型的准确率,确保汽车领域的 AI中的安全关键系统可以实时做出可靠决策。

  2. 医学诊断:医学图像分析领域高度依赖深度学习,用于检测 MRI 扫描或 X 射线中的肿瘤等异常。由于医学数据集可能规模庞大且分辨率很高,SGD 能够在不过度占用内存资源的情况下训练复杂的卷积神经网络 (CNNs)。这有助于创建高精度诊断工具,为医疗领域的 AI提供支持,协助医生开展诊断。

Python 代码示例#

虽然 ultralytics 等高级库会在执行 train() 命令期间在内部处理优化,但你可以在较底层的 PyTorch 工作流中了解 SGD 优化器的初始化和使用方式。此代码片段演示了如何为张量定义一个简单的 SGD 优化器。

import torch
import torch.nn as nn
import torch.optim as optim

# Define a simple linear model
model = nn.Linear(10, 1)

# Initialize Stochastic Gradient Descent (SGD) optimizer
# 'lr' is the learning rate, and 'momentum' helps accelerate gradients in the right direction
optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.9)

# Create a dummy input and target
data = torch.randn(1, 10)
target = torch.randn(1, 1)

# Forward pass
output = model(data)
loss = nn.MSELoss()(output, target)

# Backward pass and optimization step
optimizer.zero_grad()  # Clear previous gradients
loss.backward()  # Calculate gradients
optimizer.step()  # Update model parameters
print("Model parameters updated using SGD.")

挑战与解决方案#

尽管 SGD 广受欢迎,但它也面临一些挑战。主要问题在于梯度更新中的噪声,这可能导致损失剧烈波动,而不是平稳收敛。为缓解这一问题,实践者通常会使用动量,这是一种有助于沿相关方向加速 SGD 并抑制振荡的技术,类似于沉重的球沿山坡滚下。此外,找到正确的学习率至关重要:学习率过高时,模型可能越过最小值(梯度爆炸);学习率过低时,训练速度会慢得令人难以忍受。Ultralytics Platform 等工具可以通过管理超参数调优并提供训练指标可视化来帮助自动化这一过程。Adam 优化器等改进方法本质上实现了学习率调整的自动化,从而解决了 SGD 的一些固有难题。

Explore solutions

用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多

让我们共同构建 AI 的未来!

开启你的机器学习未来之旅