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

Label Smoothing

标签平滑会将每个 one-hot 训练目标与均匀分布混合,从而抑制过度自信并提升分类器的校准效果。

标签平滑是一种用于深度学习分类模型的正则化技术,它会将训练数据中的硬独热目标替换为平滑后的版本:大部分概率仍分配给正确类别,而由平滑因子 ε 指定的一小部分概率则均匀分配给所有类别。使用这些软目标进行训练,可以防止神经网络为了达到 100% 的置信度而将logits推向极端值,从而减少过拟合,并生成校准效果更好的概率。Szegedy 等人在 Inception-v3 论文中介绍了这项技术,并在 1,000 个 ImageNet类别上使用 ε = 0.1。如今,标签平滑已成为训练图像分类、翻译和语音模型时的常用选项。

标签平滑的工作原理#

对于 K 个类别和平滑因子 ε,每个目标会变为 (1 − ε) · y + ε / K,其中 y 是独热标签。对于三个类别且 ε = 0.1 的情况,标签 [1, 0, 0] 会变为约 [0.933, 0.033, 0.033]。使用硬目标时,随着正确类别的 logit 继续拉开与其他类别的差距,交叉熵会不断下降,因此损失函数会奖励越来越大的 logit 差距,而 softmax输出则会饱和。使用平滑目标时,损失会在有限的 logit 差距 ln((1 − ε + ε / K) / (ε / K)) 处达到最低值,在这个例子中约为 3.3;超过该值后,损失会再次上升,因此梯度会将过度自信的预测拉回到更适度的水平。Ultralytics YOLO26检测模型使用相关的软目标来训练类别预测:任务对齐分配器会根据每个正锚框的预测分数和边界框与物体的对齐程度缩放类别目标,因此大多数目标值都低于 1。

PyTorch 的 CrossEntropyLoss通过 label_smoothing 参数应用该公式:

import torch
from torch import nn

# The correct class is index 0 of three; hard and smoothed versions of the same loss
target = torch.tensor([0])
hard_loss = nn.CrossEntropyLoss()
smooth_loss = nn.CrossEntropyLoss(label_smoothing=0.1)

# Score the correct class increasingly far above the other two
for gap in [1.0, 3.0, 6.0, 12.0]:
    logits = torch.tensor([[gap, 0.0, 0.0]])
    hard = hard_loss(logits, target).item()
    smooth = smooth_loss(logits, target).item()
    print(f"Logit gap {gap:>4}: hard loss {hard:.3f}, smoothed loss {smooth:.3f}")

随着差距增大,硬标签损失会从 0.551 降至 0.000;平滑标签损失则会在差距约为 3 时降至最低值 0.295,之后又会在差距为 12 时回升至 0.800,因此极端自信所付出的代价现在高于适度自信。

对校准和已学习特征的影响#

Müller、Kornblith 和 Hinton发现,标签平滑可以改善模型校准,也就是让预测概率反映预测实际正确的频率。他们还发现,标签平滑会将每个类别在倒数第二层的特征压缩成紧密且间距均匀的簇。这种压缩会抹去图像与哪些错误类别相似的信息;通过标签平滑训练的教师模型,也无法通过知识蒸馏有效地将知识迁移给学生模型。

实际应用#

当标签存在噪声、含义模糊或类别数量很多时,标签平滑最有帮助。

  • ImageNet 规模的分类:ImageNet 中包含标签错误的图像,以及存在多个有效目标的照片。卷积网络和视觉 Transformer(包括 DeiT)的训练方案会使用 ε = 0.1,避免模型对有疑问的标签表现出十足的确信。
  • 机器翻译:原始 Transformer 使用了 ε = 0.1 的标签平滑。作者报告称,由于模型学会降低确信度,困惑度有所上升,但准确率和 BLEU 分数得到提升。
  • 医学图像分析:专家标注者经常对难以判断的扫描图像意见不一。平滑目标可以避免诊断分类器将每个有争议的标签视为确定无疑,而校准更好的分数则能让临床分诊阈值更可靠。
  • 知识蒸馏:蒸馏也会使用软目标进行训练,这些目标来自教师模型的预测,因此能够记录不同类别之间的相似程度。标签平滑的目标则会为所有错误类别分配相同的小比例。
  • 温度缩放:温度缩放会在训练完成后通过一个学习得到的常数除以 logits 来校准模型,不会改变权重。
  • Dropout 层:Dropout 会在训练过程中将随机激活值置零,以正则化网络;标签平滑则通过训练目标进行正则化。
  • CutMix:CutMix 和 mixup 都是数据增强方法,会混合两张训练图像,并按相同比例混合它们的标签,因此软目标来自输入数据本身。CutMix 根据粘贴区域所覆盖的面积为各标签赋权,而 mixup 则使用从 Beta 分布中抽取的单个因子,同时为像素和标签赋权。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

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

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