了解优化算法如何提升 AI 和 ML 性能,从训练神经网络到医疗保健和农业中的实际应用。
优化算法是驱动机器学习(ML)训练过程的基本引擎。 机器学习(ML)和 深度学习(DL)的基本引擎。其主要功能是 迭代调整模型的内部参数,特别是 模型权重和偏置,从而将预测过程中产生的误差最小化。 最小化预测过程中产生的误差。您可以将这一过程想象成一个徒步旅行者试图在多雾的山地中找到最低点、 的最低点。优化算法会引导远足者一步步下山,直到到达谷底。 谷底代表着模型的损失函数最小化的状态,也代表着模型的准确性最小化的状态。 损失函数最小化和精确度 最大化的状态。
神经网络的训练包括一个 预测、误差计算和参数更新的连续循环。优化算法控制着这一循环的 这一循环的 "更新 "阶段。模型处理完一批训练数据后 训练数据后,系统会计算 该值由损失函数量化。
利用一种叫做反向传播的技术 算法计算梯度,梯度向量表示误差陡增的方向。为了减少误差 为了减少误差,优化器会沿着与梯度相反的方向更新权重。该方向上的步长 步的大小由一个临界配置决定,该配置被称为 学习率。找到适当的平衡是关键;步长过大 步长过大可能会超过最小值,而步长过小则会导致训练过程缓慢,需要很多个 epoch 才能达到最小值。 而过小的步长则会导致训练过程缓慢,需要很多时间才能收敛。综合 斯坦福 CS231n 优化笔记等综合资源提供了 等综合资源,提供了有关这些动态变化的更深入的技术见解。
没有 "放之四海而皆准 "的优化器,不同的算法具有不同的优势,具体取决于 不同的算法有不同的优势,这取决于架构和数据。
优化算法是许多复杂的 人工智能解决方案。
将优化算法与机器学习工作流程中的其他类似术语区分开来很有帮助。
在使用高级框架时,选择优化算法通常只需一个参数。下面的
示例演示了如何指定 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")
对于希望实现自定义循环的研究人员和开发人员来说,像 PyTorch和 TensorFlow提供了广泛的 预建优化算法集合,可轻松集成到任何模型架构中。

