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

优化算法

了解优化算法如何提升 AI 和 ML 性能,从训练神经网络到医疗保健和农业中的实际应用。

优化算法是驱动机器学习(ML)训练过程的基本引擎。 机器学习(ML)深度学习(DL)的基本引擎。其主要功能是 迭代调整模型的内部参数,特别是 模型权重和偏置,从而将预测过程中产生的误差最小化。 最小化预测过程中产生的误差。您可以将这一过程想象成一个徒步旅行者试图在多雾的山地中找到最低点、 的最低点。优化算法会引导远足者一步步下山,直到到达谷底。 谷底代表着模型的损失函数最小化的状态,也代表着模型的准确性最小化的状态。 损失函数最小化和精确度 最大化的状态。

优化算法如何工作

神经网络的训练包括一个 预测、误差计算和参数更新的连续循环。优化算法控制着这一循环的 这一循环的 "更新 "阶段。模型处理完一批训练数据后 训练数据后,系统会计算 该值由损失函数量化。

利用一种叫做反向传播的技术 算法计算梯度,梯度向量表示误差陡增的方向。为了减少误差 为了减少误差,优化器会沿着与梯度相反的方向更新权重。该方向上的步长 步的大小由一个临界配置决定,该配置被称为 学习率。找到适当的平衡是关键;步长过大 步长过大可能会超过最小值,而步长过小则会导致训练过程缓慢,需要很多个 epoch 才能达到最小值。 而过小的步长则会导致训练过程缓慢,需要很多时间才能收敛。综合 斯坦福 CS231n 优化笔记等综合资源提供了 等综合资源,提供了有关这些动态变化的更深入的技术见解。

常见优化算法类型

没有 "放之四海而皆准 "的优化器,不同的算法具有不同的优势,具体取决于 不同的算法有不同的优势,这取决于架构和数据。

  • 随机梯度下降法(SGD) 这是最经典的方法之一。随机梯度下降SGD 不是计算整个数据集的梯度,而是利用单个或小批量的实例来更新参数。 参数。 虽然计算效率高,但有时会在训练过程中出现振荡。
  • Adam 优化器代表 Adam 在现代人工智能中被广泛使用,因为它能单独调整每个参数的学习率。 单独调整。它结合了SGD 其他两个扩展的优点,即 AdaGradRMSProp 的优点,以提供更快的 收敛速度。
  • AdamW: Adam 的一种变体,它将权重衰减与梯度更新分离开来,通常能带来更好的泛化性能。 更好的泛化性能。这通常是训练最先进架构的默认选择 默认选择。 Ultralytics YOLO11模型的默认选择。

实际应用

优化算法是许多复杂的 人工智能解决方案

  1. 自动驾驶汽车在 自动驾驶汽车系统中、 物体检测模型必须 行人、标志和其他车辆。在训练阶段,优化算法 对网络进行微调,以尽量减少数百万个驾驶场景中的检测误差。这可以确保 安全关键型系统在 汽车中的人工智能实时可靠地运行。
  2. 医学图像分析 在开发医疗领域的人工智能工具时、 例如检测核磁共振成像扫描中的肿瘤时,精确度至关重要。优化器会反复调整 卷积神经网络(CNN) 以减少假阴性,确保模型学会有效区分恶性组织和健康组织。 有效。

区分相关概念

将优化算法与机器学习工作流程中的其他类似术语区分开来很有帮助。

  • 优化算法与损失函数 损失函数 损失函数就像记分牌一样,计算出代表误差的数值(如平均平方误差)。 误差)。优化算法是战略家,它利用这个分数来调整模型的战术(权重),以便在下一轮中提高分数。 提高下一轮的得分。
  • 优化算法与超参数调整 超参数调整 优化算法训练过程中处理内部参数的学习。超参数调整 涉及在训练开始前选择最佳外部设置,如优化器本身的选择、批量大小或初始学习率。 初始学习等。像 Ray Tune 等工具通常用于自动搜索这些外部配置。 这些外部配置。

用Python实现优化

在使用高级框架时,选择优化算法通常只需一个参数。下面的 示例演示了如何指定 AdamW 优化器在训练一个 YOLO11 使用 ultralytics 包装

from ultralytics import YOLO

# Load the recommended YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset using the AdamW optimization algorithm
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")

对于希望实现自定义循环的研究人员和开发人员来说,像 PyTorchTensorFlow提供了广泛的 预建优化算法集合,可轻松集成到任何模型架构中。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入