YOLO Vision 2026:
返回 Ultralytics 词汇表

Model Soups

探索 Model Soups 如何通过平均化 Ultralytics YOLO 模型的权重来提高准确性和鲁棒性。学习在不增加延迟的情况下提升性能。

Model Soups 指的是一种机器学习技术,通过将使用不同超参数从同一个预训练基础模型微调出的多个神经网络权重进行平均,从而创建一个单一且更稳健的模型。这种方法使开发者能够在不增加推理阶段计算成本的情况下,提高整体准确率和泛化能力。

微调模型时,开发者通常会进行广泛的超参数调优搜索,以找到性能最佳的配置。传统上,系统只选出表现最好的单个模型,其余则被丢弃。然而,创建 Model Soup(模型汤)可以充分利用搜索中所有模型学到的多样化特征。通过直接对它们的模型权重进行平均,生成的网络往往优于单一的最佳模型,在有效结合各自优势的同时最大限度地减少过拟合。这个过程效率极高,并且可以在像 Ultralytics Platform 这样的协作环境中轻松管理。

实际应用#

Model Soups 在计算资源受限但又需要高准确性和稳健性的场景中非常有效。

  • 自动驾驶车辆视觉: 在自动驾驶汽车中部署目标检测系统时,模型必须适应各种不同的光照和天气条件。通过对使用各种数据增强和学习率训练出的多个模型进行平均,工程师们创建出了一个高度鲁棒的 Model Soup,同时保持了较低的推理延迟。这确保了自动导航所需的实时处理速度不受影响。
  • 移动端医疗诊断: 在边缘 AI 应用中,例如在智能手机上运行图像分类来进行初步的皮肤病筛查,计算能力非常有限。Model Soup 提供了临床可靠性所需的增强准确率,同时确保最终的占用空间能够轻松放入移动边缘设备中,而不会耗尽电池电量或需要云连接。

区分相关概念#

为了了解深度学习优化领域,区分 Model Soup 与类似技术非常重要:

  • 模型集成 集成结合了多个独立模型的预测结果(输出)。虽然这提高了准确率,但它需要在推理期间运行每一个模型,从而成倍增加了计算成本。而 Model Soup 在推理前对权重进行平均,使计算成本与单个模型完全相同。
  • 模型融合 这是一个更广泛的术语,用于组合可能在完全不同的任务或数据集上训练过的模型。Model Soup 是模型融合的一个特定子集,其中所有模型都源自完全相同的预训练基础架构,并在同一目标任务上进行微调。

实现示例#

创建一个统一的 Model Soup 涉及访问多个已训练模型的 PyTorch state dictionary 并对它们的张量进行数学平均。下面是一个简明示例,展示了如何使用原生支持 PyTorch frameworkUltralytics YOLO26 工作流来实现这一点。

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 架构所需的部署速度。

Explore solutions

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

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