了解学习率如何影响模型训练。探索如何Ultralytics 步长,以在目标检测等领域实现SOTA性能。
学习率是关键的超参数调优配置, 它决定了模型在优化过程中采取的步长。在训练神经网络的场景中, 它控制着模型每次处理一批数据时, 内部权重根据估计误差进行更新的幅度。 可将其类比为行走者从山顶向山谷(即误差最低点)行进的过程:学习率决定了步幅长度。步幅过大可能直接越过山谷而错失谷底;步幅过小则可能耗费过长时间才能抵达目的地。
在机器学习工作流中,寻找最优学习率常被描述为一种平衡行为。其目标是最小化损失函数——该函数衡量模型预测与实际真实值之间的差异。这一过程高度依赖于优化算法(如随机梯度下降法(SGD) Adam )来探索损失函数的景观。
学习率调整的影响在部署计算机视觉任务的各类高风险行业中显而易见。
区分学习率与其他训练参数至关重要,因为它们通常配置在相同的配置文件中,但各自承担不同的功能:
使用现代框架时,您可以轻松调整初始学习率(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 实现最优初始值的自动化发现——该过程将以指数级递增的速率进行,直至损失函数出现发散。掌握此超参数通常是解锁AI项目中SOTA(最先进)性能的关键所在。