深圳Yolo 视觉
深圳
立即加入
词汇表

优化算法

了解SGD和AdamW等优化算法如何驱动ML训练。学习如何最小化损失并提高Ultralytics YOLO26在AI应用中的性能。

优化算法是驱动机器学习 (ML)深度学习 (DL)模型训练过程的核心计算引擎。其主要职责是迭代调整内部模型权重和偏差,以最小化预测结果与实际目标之间的误差。您可以将此过程想象成一名徒步旅行者试图穿过迷雾弥漫的山区,到达山谷的最低点。优化算法充当向导,决定徒步旅行者应采取的方向和步长以到达底部,这对应于损失函数最小化且模型预测准确性最大化的状态。

优化算法如何工作

神经网络的训练涉及预测、误差计算和参数更新的重复循环。优化算法控制此循环的“更新”阶段。一旦处理完一批训练数据,系统会使用一种称为反向传播的方法计算梯度——一个指向误差增加最快方向的向量。

优化器随后沿梯度的反方向更新模型参数以减少误差。此更新的幅度由一个关键的超参数——学习率——控制。如果步长过大,模型可能会越过全局最小值;如果步长过小,训练可能会变得极其缓慢或陷入局部最小值。诸如斯坦福 CS231n 优化笔记等高级资源提供了对这些动态更深入的技术见解。

常见优化算法类型

不同的问题需要不同的策略。尽管存在多种变体,但少数几个关键算法主导着现代 AI 开发:

  • 随机梯度下降 (SGD)一种经典方法,使用单个样本或小批次而非整个数据集来更新参数。该方法计算效率高,并广泛应用于诸如Scikit-learn等库中。
  • Adam 优化器Adam 代表自适应矩估计,它为每个参数单独调整学习率。它在 Kingma 和 Ba 的开创性Adam 研究论文中有详细阐述,并且由于其速度和收敛特性,通常是通用训练的默认选择。
  • AdamW:Adam 的一个变体,它将权重衰减与梯度更新解耦,从而实现更好的泛化能力。这通常是训练诸如Transformer等最先进架构以及高性能Ultralytics YOLO26模型的首选优化器。

实际应用

优化算法几乎在每一个成功的AI 解决方案背后默默运行,将数据转化为可操作的智能。

  1. 自动驾驶汽车在自动驾驶技术中,目标检测系统必须即时识别行人、交通信号灯和其他车辆。在为汽车 AI 训练这些系统时,优化算法处理数百万张道路图像,微调网络以最大程度地减少检测误差。这确保了汽车在看到行人时能可靠停车,从而防止事故发生。
  2. 医学图像分析对于医疗保健 AI 中的应用,例如在 MRI 扫描中识别肿瘤,精度是不可妥协的。优化器指导卷积神经网络 (CNN)的训练,以高灵敏度区分恶性组织和健康组织,从而降低关键诊断中假阴性的风险。

区分相关概念

区分优化算法与学习过程中的其他组件对于有效理解工作流程至关重要。

  • 优化算法 vs. 损失函数损失函数充当“记分牌”,计算一个数值(例如均方误差),表示模型预测的错误程度。优化算法是“策略师”,它利用这个分数来调整权重并在下一轮中提高性能。
  • 优化算法 vs. 超参数调优优化算法在训练循环期间学习内部参数(权重)。超参数调优涉及在训练开始之前选择最佳外部设置——例如优化器本身的选择、批次大小或初始学习率。诸如Ray Tune之类的自动化工具常用于寻找这些外部设置的最佳组合。

用Python实现优化

在现代框架中,选择优化算法通常通过单个参数完成。以下示例演示了如何训练一个 YOLO26 使用 AdamW 优化器在 ultralytics 包。用户还可以利用该 Ultralytics 平台 以无代码方式管理这些训练会话。

from ultralytics import YOLO

# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")

# Train the model using the 'AdamW' optimization algorithm
# The optimizer iteratively updates weights to minimize loss on the dataset
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")

对于那些对底层机制感兴趣的人,像 PyTorch OptimizersTensorFlow Keras Optimizers 这样的框架提供了详尽的文档,说明如何为定制研究架构实现和定制这些算法。

让我们一起共建AI的未来!

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