了解学习率如何影响模型训练。发现如何优化Ultralytics YOLO26的步长,以在目标检测等领域实现SOTA性能。
学习率是一个关键的 超参数调优 配置,它决定了模型在优化过程中所采取的步长。在训练神经网络的背景下,它控制着模型每次处理数据批次时,其内部权重根据估计误差更新的幅度。可以将其想象成一个人沿着山坡走向谷底(误差的最低点);学习率决定了他们步行的步长。如果步长过大,他们可能会完全越过谷底而错过最低点。如果步长过小,到达目的地可能需要不切实际的漫长时间。
寻找最佳学习率通常被描述为机器学习工作流中的一种平衡行为。目标是最小化损失函数,它衡量模型预测与实际真实值之间的差异。这一过程严重依赖于优化算法,例如随机梯度下降 (SGD)或Adam optimizer,以在损失landscape中进行导航。
学习率调整的影响在各种高风险行业中显而易见,这些行业部署了 计算机视觉任务。
区分学习率与其他训练参数至关重要,因为它们通常在相同的配置文件中配置,但服务于不同的目的:
当使用现代框架时,您可以轻松调整初始学习率(lr0)以及最终学习率分数(lrf)。下面是使用该方法进行配置的示例:
Ultralytics 平台 兼容客户端进行自定义训练运行。
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)
对于高级用户,像LR Finder(由fast.ai推广)这样的技术,可以通过运行一个短期的试探性epoch来自动化发现最佳起始值,在该epoch中,学习率呈指数级增长,直到损失发散。掌握这个超参数通常是解锁AI项目中SOTA(State-of-the-Art)性能的关键。

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