Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Hyperparameter Tuning

超参数调优旨在找出能最大限度提升验证集表现的训练设置。内容比较网格搜索、随机搜索、贝叶斯搜索和进化搜索。

超参数调优旨在寻找能让机器学习模型在留出数据上获得最佳性能的训练设置。超参数在训练开始前固定,与训练过程中从数据中学到的模型权重不同。每种候选配置都必须通过训练模型并在验证数据上评估来打分,因此调优是构建模型时计算量最大的步骤之一,选择好的搜索策略和选择要搜索的值同样重要。

常见超参数#

在视觉领域的深度学习中,最常需要调优的设置分为几类:

  • 优化:学习率及其调度、动量、权重衰减,以及优化器的选择,例如 SGD 或Adam 优化器。学习率通常影响最大,搜索时会使用对数刻度。
  • 训练时长和批处理:轮数、预热时长和批量大小。
  • 数据增强:每种变换的概率和强度,例如翻转、缩放、颜色偏移和马赛克增强。
  • 损失权重:用于平衡复合损失函数中各项的增益,例如检测器中的边界框损失和分类损失。

搜索方法#

从业者使用几种常见策略,在可能的配置空间中进行探索:

  • 网格搜索:训练固定值列表中的每一种组合。它简单且穷尽,但每增加一个超参数,计算成本都会相应增加。
  • 随机搜索:从允许的范围内随机采样配置。Bergstra 和 Bengio 证明,相比网格搜索,随机搜索只需极少一部分计算量,就能找到同样好或更好的模型;这是因为对于任何给定问题,真正影响较大的超参数只有少数几个,而随机采样能为每个超参数尝试更多不同的值。
  • 贝叶斯优化:拟合一个代理模型,预测分数如何取决于超参数,并在最可能带来改进的区域选择下一次试验。像Optuna这样的库默认采用这种方法。
  • 提前终止方法:Hyperband和逐次减半会先用少量预算启动许多配置,然后只给最有前景的配置分配更多轮数。
  • 进化算法:将每种配置视为一个基因组,通过选择和变异来改进一组配置。

进化搜索适用于包含许多相互作用超参数的训练任务,因为它不需要搜索空间模型,只需要为每次试验计算适应度分数。每一轮都会从目前找到的最佳配置中选出一个,对其中一些值进行变异,用变异后的结果训练,并在新配置得分较高时将其保留在候选池中。

Ultralytics 调优器会为 YOLO 训练运行这一循环:每次迭代都会从适应度最高的九个结果中选出一个父代,对最多 26 个超参数中大约一半进行变异,这些超参数涵盖学习率、损失增益和数据增强;检测任务的适应度分数为mAP50-95。官方 YOLO26检查点的COCO 阶段超参数就是通过这种进化搜索找到的。

from ultralytics import YOLO

# 加载预训练的 YOLO26n 模型
model = YOLO("yolo26n.pt")

# 搜索空间:每个待调优超参数的(最小值,最大值)边界
search_space = {"lr0": (1e-5, 1e-2), "degrees": (0.0, 45.0)}

# 30 次迭代中的每一次都会使用新变异的值训练 10 轮
model.tune(data="coco8.yaml", epochs=10, iterations=30, space=search_space, plots=False, save=False, val=False)

运行会将 best_hyperparameters.yaml、每次迭代适应度图,以及最佳迭代的权重写入 tune 目录。除非指定优化器,否则 model.tune() 会使用 AdamW 进行训练,因为默认的 optimizer="auto" 会覆盖已调优的 lr0。

  • 模型训练:训练通过反向传播,为一组固定的超参数学习权重。调优则是外层循环,会多次运行训练并比较结果。
  • 微调:尽管名称相似,微调是指在新数据上继续训练预训练模型的权重。微调也有需要调优的超参数,例如更低的学习率和冻结层的数量。
  • 神经架构搜索(NAS):搜索网络结构,例如层类型和宽度,而不是训练设置。
  • 自动机器学习(AutoML):自动化更广泛的流程,包括模型选择和数据预处理,超参数调优是其中一个环节。
  • 对验证集过拟合:数百次调优试验都在同一验证集上打分,可能会偶然选出适合该验证集的设置,因此最终结果应在调优过程中从未使用过的独立测试集上评估。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来