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

Distributionally Robust Optimization

分布鲁棒优化通过模糊集或群体 DRO,针对最糟糕的合理数据分布训练模型,而不是针对平均分布训练。

分布鲁棒优化(DRO)是一种训练和决策方法,它不只针对训练分布,而是在一组合理的数据分布中针对最差分布最小化期望损失。标准训练称为经验风险最小化(ERM),它假定未来数据会与训练数据相似,并最小化平均损失。DRO 则假定真实数据会以可界定的方式发生变化,并针对该界限内的最难情况进行优化。由此得到的模型会牺牲少许平均准确率,以便在条件变化时保持更稳定的性能,例如训练期间摄像头采集的白天画面远多于夜间画面。

歧义集#

DRO 所防范的分布集合称为歧义集或不确定集,其形状决定了模型能获得何种鲁棒性:

  • 散度球:包含与训练数据之间的 KL 散度或卡方散度不超过固定值的所有分布。针对这些分布进行优化会提高损失最高的训练样本的权重,让模型无法忽略最难处理的样本。一个密切相关的目标是条件风险价值,它只对每个样本损失中最差的一部分取平均。
  • Wasserstein 球:包含通过在输入空间中有限距离移动概率质量可达的分布。由于距离衡量了概率质量移动的数量和距离,这些集合能够涵盖输入本身的小幅扰动。
  • 群组混合:包含对已知子群体进行的任意重新加权,例如白天和夜间图像,或来自不同医院的扫描图像。此时最坏情况就是表现最差的群组。

Wasserstein DRO 与针对对抗攻击的对抗训练关系密切,两者都会针对邻近输入中的最坏情况进行优化。集合的大小是 DRO 的核心超参数:集合太大,会让模型针对不切实际的数据进行准备,降低其典型准确率;集合太小,则会遗漏部署中重要的数据变化。

群体 DRO#

Group DRO 由 Shiori Sagawa、Pang Wei Koh、Tatsunori Hashimoto 和 Percy Liang 提出,并发表于 2020 年,是深度学习中应用最广泛的形式。它最小化表现最差群组的损失,而不是所有样本的平均损失。实际操作中,它会为每个群组保留一个权重,并在不同批次之间延续这些权重;当前损失最高的群组会获得更高权重,随后反向传播群组加权损失:

import torch

# Per-image losses from one training batch and the condition each image came from
losses = torch.tensor([0.20, 0.30, 0.25, 0.90, 1.10, 0.15])
groups = torch.tensor([0, 0, 0, 1, 1, 0])  # 0 = daytime, 1 = nighttime
group_losses = torch.stack([losses[groups == g].mean() for g in (0, 1)])

# Empirical risk minimization optimizes the average loss over all images
print(f"ERM loss: {losses.mean():.2f}, daytime loss: {group_losses[0]:.2f}, nighttime loss: {group_losses[1]:.2f}")

# Group DRO shifts its group weights toward high-loss groups with an exponentiated-gradient step
group_weights = torch.tensor([0.5, 0.5])  # carried over from earlier batches
group_weights = group_weights * torch.exp(1.0 * group_losses)  # step size 1.0
group_weights = group_weights / group_weights.sum()
dro_loss = (group_weights * group_losses).sum()  # the loss that is backpropagated
print(f"Group weights: day {group_weights[0]:.2f}, night {group_weights[1]:.2f}, group DRO loss: {dro_loss:.2f}")

0.48 的平均损失看起来不错,但两张夜间图像的平均损失为 1.00,而白天图像为 0.22。一次更新会将群组权重从各 0.50 调整为白天 0.32、夜间 0.68,因此反向传播的损失升至 0.76,且梯度主要来自夜间图像。经过多个批次后,权重会持续流向表现落后的群组。

Group DRO 是应对捷径学习的直接方法。在 Waterbirds 基准测试中,大多数水鸟训练照片都以水域为背景,因此标准训练会学到背景特征,并在水鸟出现在陆地上的照片中失效。作者通过强正则化,将最差群组的测试准确率从 ERM 的 21.3% 提升到 group DRO 的 84.6%,平均准确率也从 95.7% 提升到 96.6%。正则化很重要,因为大型网络可以将每个群组的训练损失都降至零,让 DRO 目标失去优先处理对象。

Group DRO 需要知道每个训练样本所属的群组。如果群组未知,可以用卡方散度球代替:Tatsunori Hashimoto 及其同事于 2018 年证明,最小化这类散度球中的最坏情况损失,无需知道哪些样本属于哪个群组,也能保护任何规模足够大的子群体。

寻找表现最差的群组#

重要群组通常可以从错误中发现。对于在已保存数据集版本上训练的 YOLO26目标检测模型,Ultralytics Platform会添加逐图诊断,根据逐图 F1 分数对验证图像排序,分析 F1 与图像大小、宽高比和实例数量之间的关系,并列出最常出现在表现最差图像中的类别。这些功能结合起来,可以将单个平均精度均值(mAP)拆分成候选群组,以便收集、过采样或加权。

DRO 的用途也远不止视觉领域:

  • 子群体公平性:当群组由人口统计属性定义时,最小化表现最差群组的损失可以直接缩小性能差距。
  • 真实世界分布偏移:斯坦福大学推出的 WILDS 基准测试会评估模型在不同医院的组织图像、不同地区和年份的卫星图像等分布偏移下的表现,并将 group DRO 列为标准基线之一。
  • 运筹学:DRO 应用于电网调度、供应链规划和投资组合选择等领域。在这些场景中,决策面临需求或价格不确定的问题,仅针对历史平均值制定的计划可能会在异常年份严重失效。

DRO、数据增强与漂移监控#

数据增强和 DRO 从相反方向解决同一个问题。数据增强会用训练图像的合成变体扩充模型见到的数据,而 DRO 则会调整优化目标,让少见但真实的变化获得更高权重。两者结合效果很好:数据增强提供多样化样本,DRO 目标则避免模型将其中最难的样本平均掉。领域自适应采取第三种方法,使用来自一个已知目标分布的无标签数据进行适配。部署后,监测数据漂移可以发现任何不确定集合都未预料到的变化,这些新情况将成为下一批需要收集并加权的群组。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 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 的未来!

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