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

学习率

掌握在 AI 中设置最佳学习率的艺术!了解这个关键的超参数如何影响模型训练和性能。

学习率是一个可配置的参数,用于训练神经网络。 是一个可配置的超参数,用于训练神经网络,控制 学习率是一个可配置的参数,用于训练神经网络,控制每次更新模型权重时根据估计误差改变模型的程度。 更新时,根据估计误差改变模型的程度。它基本上决定了每次迭代的步长,同时向损失函数的最小值迈进。如果把训练过程想象成从雾气弥漫的山峰走下来,到达山谷(最佳状态),那么学习率就决定了每次迭代的步长。 学习率决定了每一步的长度。这是需要调整的最关键设置之一,因为它 直接影响收敛速度以及模型能否成功找到最优解。

学习率对培训的影响

选择正确的学习率通常是一种平衡行为。所选值会对训练产生重大影响 动态:

  • 过高:如果学习率设置过高,模型可能会采取过大的步长、 不断超越最佳权重。这可能会导致不稳定的训练,损失会摆动甚至 发散(增加),导致模型无法收敛。
  • 过低:相反,学习率过低会导致更新量极小。虽然 这虽然能确保模型不会错过最小值,但会使训练过程 慢得令人痛苦。此外,它还会增加陷入局部最小值的风险,即损失图谱中的次优山谷。 导致更难拟合

大多数现代训练工作流程都使用学习速率调度器,在训练过程中动态调整速率。常见的策略包括 "热身 "阶段,在这一阶段中,速率从低到高 在 "热身 "阶段,学习率从低到高,然后在 "衰减 "阶段,学习率逐渐降低,以便在模型接近收敛时进行精细的权重调整。 当模型接近收敛时,可以对权重进行微调。

在Ultralytics中设置学习率

在Ultralytics 框架中,你可以轻松配置初始学习率 (lr0)和最终 学习率 (lrf) 作为参数来训练模型。这种灵活性使您可以尝试 不同的值,以适应您的特定数据集。

from ultralytics import YOLO

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

# Train on COCO8 with a custom initial learning rate
# 'lr0' sets the initial learning rate (default is usually 0.01)
results = model.train(data="coco8.yaml", epochs=100, lr0=0.01)

实际应用

在各行各业部署强大的人工智能解决方案时,学习率的选择至关重要:

  1. 医学图像分析 在医疗保健领域的人工智能等高风险领域,模型 训练,以detect 核磁共振成像扫描中的肿瘤等异常情况。在这种情况下,精心调整的学习率至关重要,以确保模型在学习复杂模式的同时,不会过度适应噪声。 确保模型在学习复杂模式的同时不会过度适应噪声。例如,在训练YOLO11 模型时,研究人员通常使用较低的学习率和调度程序,以最大限度地提高准确性和可靠性。 和可靠性。
  2. 自动驾驶汽车 自动驾驶汽车中的物体检测 模型必须识别不同环境中的行人、标志和其他车辆。在大规模数据集(如 Waymo开放数据集)上进行训练 等海量数据集上进行训练时,需要优化学习率,以处理数据中的巨大差异。自适应学习率有助于 在初始阶段更快地收敛,并在后期阶段完善其边框 预测,从而提高汽车系统中人工智能的安全性。 系统中更安全的人工智能。

学习率与相关概念

为了有效地调整模型,将学习率与相关术语区分开来是很有帮助的:

  • 批量大小学习率 控制步骤的大小,而批次大小则决定使用多少数据样本来计算该步骤的梯度。 计算该步骤的梯度。这两者之间通常存在一定的关系;较大的批次规模能提供更稳定的梯度,从而实现更高的学习率。 更大的批次规模能提供更稳定的梯度,从而实现更高的学习率。线性缩放规则(LinearScaling Rule)对这种关系进行了探讨。
  • 优化算法优化器(例如 SGDAdam)是用于更新权重的具体方法。学习率是优化器使用的参数。 优化器使用的参数。例如,Adam 会单独调整每个参数的学习率,而标准SGD 则对所有参数都采用固定的学习率。 则对所有参数都采用固定的学习率。
  • 纪元一个纪元定义一次完整的 整个训练数据集。学习 学习率决定了模型一个历元内每一步的学习量,而历元数 决定了训练过程持续的时间。

要深入了解优化动态,斯坦福CS231n 笔记等资源 等资源提供了关于学习率如何影响损失景观的精彩直观解释。

加入Ultralytics 社区

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

立即加入