了解优化算法如何提升 AI 和 ML 性能,从训练神经网络到医疗保健和农业中的实际应用。
优化算法作为核心计算引擎,驱动着机器学习(ML) 和深度学习(DL)模型的训练过程。其主要职责是通过迭代调整模型内部权重和偏置,以最小化预测结果与实际目标值之间的误差。 可将此过程类比为登山者在雾气缭绕的山间下行,试图抵达谷底最低点。优化算法如同向导,为登山者规划行进方向并计算每步幅度,最终抵达谷底——这恰对应于损失函数最小化、模型预测精度最大化的理想状态。
神经网络的训练涉及预测、误差计算和参数更新的循环过程。优化算法控制着该循环的"更新"阶段。当处理完一批训练数据后,系统会通过一种称为反向传播的方法计算出梯度——一个指向误差增长最陡峭方向的向量。
优化器随后沿着梯度的反方向更新模型参数以减少误差。 该更新幅度由一个关键超参数——学习率所决定。 若步长过大,模型可能越过全局最优解; 若步长过小,训练速度可能变得极其缓慢, 或陷入局部最优解无法自拔。 诸如斯坦福大学CS231n课程的优化笔记等高级资源,能为这些动态机制提供更深入的技术洞见。
不同问题需要不同策略。尽管存在诸多变体,但少数关键算法主导着现代人工智能的发展:
优化算法在几乎所有成功的AI解决方案背后默默运作,将数据转化为可执行的智能。
要有效理解工作流程,必须将优化算法与学习过程的其他组件区分开来。
在现代框架中,优化算法的选择通常通过单一参数实现。以下示例
演示了如何训练一个 YOLO26 使用
AdamW 优化器在 ultralytics package. Users can also leverage the
Ultralytics 平台 for a no-code approach to managing these training
sessions.
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 TensorFlow 优化器等框架 提供了详尽的文档,指导如何为自定义研究架构实现和定制这些算法。