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

特色汤品

了解 Model Soups 如何通过对Ultralytics YOLO 权重进行平均来提升准确率和鲁棒性。学习如何在不增加延迟的情况下提升性能。

“模型混合”是一种机器学习技术,其原理是将多个神经网络的权重进行平均,这些网络均基于同一个预训练基础模型,但使用不同的超参数进行了微调,从而构建出一个更稳健的单一模型。这种方法使开发人员能够在不增加推理阶段计算成本的前提下,提升整体准确率和泛化能力。

在对模型进行微调时,从业者通常会进行广泛的 超参数调优扫描,以寻找 性能最佳的配置。 传统做法是选出单个最佳模型,其余的则被舍弃。然而, 构建“模型混合体”则充分利用了扫描过程中所有模型所学习到的多样化特征。通过直接 对模型权重进行平均,生成的网络 通常表现优于单个最佳模型,既有效整合了各模型的优势,又最大限度地 降低了过拟合风险。这一过程效率极高,且 Ultralytics 等协作环境中 可轻松管理。

实际应用

在计算资源受限但又需要高精度和 鲁棒性的场景中,模型混合方法非常有效。

  • 自动驾驶视觉:在自动驾驶汽车中部署 物体检测系统时,模型必须 能够适应各种光照和天气条件。通过将使用不同数据 增强技术和学习率训练的多个模型进行平均,工程师们创建了一个高度稳健的混合模型,同时保持较低的 推理延迟。这确保了 对自动导航至关重要的 实时处理速度不受影响。
  • 移动医疗诊断:在边缘AI应用中,例如在智能手机上运行 图像分类以进行初步 皮肤病筛查时,计算能力极为有限。模型组合(Model Soup)既能提供临床应用所需的 更高精度,又能确保最终模型的占用空间足以轻松适配 移动边缘设备,且不会耗尽电池电量或 依赖云端连接。

区分相关概念

要深入了解深度学习优化领域, 区分“模型汤”与类似技术至关重要:

  • 模型集合集合方法 将多个独立模型的预测结果(输出)进行整合。虽然这能提高准确率,但 在推理阶段需要运行每个模型,从而使计算成本成倍增加。模型汤(Model Soups)则在推理前对 权重进行平均处理,从而使计算成本与单个模型保持一致。
  • 模型融合这是一个更广泛的 术语,指将可能在完全不同的任务或数据集上训练过的模型进行组合。模型汤(Model Soups)是 融合的一种特定形式,其中所有模型均源自完全相同的 预训练基础架构,并在 同一目标任务上进行微调。

实施实例

要创建一个统一的模型集合,需要访问 多个已训练模型的 PyTorch 字典,并对它们的张量进行数学平均。下面是一个简明的示例,展示了如何 利用由PyTorch 原生支持的Ultralytics 工作流 来实现这一点。

import torch

# Load the PyTorch state dictionaries from two fine-tuned YOLO26 models
model1 = torch.load("yolo26_run1.pt")["model"].state_dict()
model2 = torch.load("yolo26_run2.pt")["model"].state_dict()

# Create a uniform model soup by averaging the model weights
soup_dict = {key: (model1[key] + model2[key]) / 2.0 for key in model1.keys()}

# The resulting soup_dict can now be loaded into a new YOLO26 instance

通过运用这项技术,计算机视觉从业者可以轻松提升诸如 零样本学习能力和整体 鲁棒性等性能指标,同时又不牺牲现代“边缘优先”AI架构所要求的部署速度。

让我们一起共建AI的未来!

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