术语表

超参数调整

掌握超参数调整,优化 ML 模型,如Ultralytics YOLO 。利用专家技术提高准确性、速度和性能。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

超参数调整,又称超参数优化,是机器学习(ML)中的一个基本过程,目的是找到最佳的超参数组合,以最大限度地提高模型的性能。超参数是在训练过程开始设置的配置设置,与通过反向传播等技术在训练过程中学习的模型参数(如神经网络中的weights and biases )不同。调整这些外部设置至关重要,因为它们控制着学习过程本身,影响着模型从数据中学习并泛化到未见过的新示例的效率。

了解超参数

超参数定义了模型更高层次的属性,如复杂度或学习速度。常见的例子包括优化算法中使用的学习率、决定更新模型参数前要处理多少样本的批量大小、神经网络中的层数或正则化技术的强度(如使用剔除层)。超参数的选择对模型结果有重大影响。选择不当会导致欠拟合,即模型过于简单,无法捕捉数据模式;或导致过拟合,即模型对训练数据的学习效果太好,包括噪音,无法泛化到测试数据

超参数调整为何重要

有效的超参数调整对于建立高性能的 ML 模型至关重要。经过良好调整的模型可以获得更高的精度,在训练过程中更快地收敛,并在未见过的数据上提高泛化能力。对于使用诸如 Ultralytics YOLO等模型进行物体检测等复杂任务时,找到最佳超参数可以大幅提高平均精度(mAP)和推理速度等性能指标,这对于要求实时推理的应用来说至关重要。我们的目标是在偏差-方差权衡权衡过程中找到适合特定问题和数据集的最佳位置,通常使用验证数据进行评估。

超参数调整技术

有几种策略可用于寻找最佳超参数值:

  • 网格搜索穷尽尝试指定超参数值的所有可能组合。操作简单,但计算成本高。
  • 随机搜索从指定的分布中随机采样超参数组合。通常比网格搜索更有效。
  • 贝叶斯优化建立目标函数(如模型准确性)的概率模型,并利用该模型选择有希望的超参数进行下一步评估。Optuna等工具就实现了这一点。
  • 进化算法使用受生物进化启发的概念,如突变和交叉,对超参数集群体进行迭代改进。Ultralytics YOLO 模型就利用了这一点进行超参数进化

Weights & Biases 扫描等工具、 ClearML, CometKerasTuner等工具可帮助自动执行和管理这些调整过程,通常还可与诸如 PyTorchTensorFlow.

超参数调整与相关概念

必须将超参数调整与相关的 ML 概念区分开来:

  • 模型训练超参数调整设定了训练条件(如学习率、批量大小)。模型训练是基于数据,使用所选超参数和优化算法学习模型参数weights and biases)的过程
  • 优化算法(AdamSGD):这些算法在训练过程中根据损失函数更新模型参数。超参数控制着这些算法(如学习率),但调整过程本身与算法的运行是分开的。
  • 正则化L1/L2 正则化或dropout等技术有助于防止过度拟合。这些技术的强度速率本身就是需要调整的超参数。
  • 自动化机器学习(AutoML)一个更广泛的领域,旨在实现整个 ML 管道的自动化,包括特征工程、模型选择和超参数调整。HPT 通常是AutoML 系统的关键组成部分。

实际应用

超参数调整适用于各种领域:

使用Ultralytics进行超参数调整

Ultralytics 提供了简化YOLO 模型超参数调整的工具。超参数 Ultralytics Tuner超参数调整指南通过使用进化算法,该系统实现了流程自动化。与以下平台集成 雷-图恩 为分布式和高级搜索策略提供了进一步的功能,帮助用户针对特定数据集有效地优化其模型(如 COCO) 和使用资源的任务,如 Ultralytics HUB 用于实验跟踪和管理。以下内容 模特培训技巧 通常涉及有效的超参数调整。

阅读全部