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

Loss Function

损失函数用于衡量模型预测与真实值之间的差距,训练过程会将其最小化。了解常见损失函数以及各自的适用场景。

损失函数衡量模型的预测与训练数据中的真实标签相差多远,并将误差汇总为一个数值,数值越低越好。训练神经网络意味着调整模型权重,尽可能减小这个数值。“代价函数”和“目标函数”是常见的同义词,不过有些资料会把单个样本的误差称为“损失”,把一个批次或数据集上的平均值称为“代价”。

损失如何推动训练#

训练会针对每个数据批次重复相同的循环。模型生成预测,损失函数根据标签为预测打分,反向传播计算损失相对于每个权重的梯度。随后,优化器(例如随机梯度下降(SGD)或 Adam 优化器)会沿着梯度的反方向对每个权重做小幅更新,步长由学习率设定。由于这个过程依赖梯度,损失函数必须几乎处处可微。每个轮次后绘制训练损失和验证损失,是监控训练运行的标准方法:验证损失上升而训练损失继续下降,是过拟合的典型迹象。

常见损失函数#

合适的损失函数取决于模型要预测什么;PyTorch 等框架都内置了大多数标准选项:

  • 均方误差(MSE):预测值与真实值之间的平方差的平均值,用于回归任务。平方运算会放大大误差,因此离群值的影响很大。
  • 平均绝对误差(L1)和 Huber 损失:误差较大时线性增长的回归损失,因此对离群值不那么敏感。Huber 损失在小误差时呈二次增长,超过阈值后呈线性增长。
  • 交叉熵:图像分类的标准损失函数,根据互斥类别上的 softmax 概率计算。
  • 二元交叉熵(BCE):通过 sigmoid 将每个类别作为独立的“是或否”预测进行评分,适用于多标签问题和检测器类别分数。
  • 焦点损失:交叉熵的一种变体,会降低简单样本的权重,使困难的稀有样本在类别严重不平衡时推动模型学习。
  • 基于 IoU 的损失:基于交并比(IoU)构建的框回归损失,其变体包括 DIoU 和 CIoU;这些变体增加了对中心距离的惩罚,CIoU 还会惩罚宽高比差异。
  • Dice 损失:用于图像分割的重叠损失;即使前景只占少量像素,也能提供有效的学习信号。
  • 对比损失:用于对比学习的损失,会在嵌入空间中拉近匹配的样本对,并推远不匹配的样本对。

交叉熵取真实类别所分配概率的负对数,因此,自信地预测错误的代价远高于犹豫不决,而自信地预测正确几乎没有代价。PyTorch 的 CrossEntropyLoss 展示了两个置信度相同的预测会产生怎样的差异:

import torch
from torch import nn

# CrossEntropyLoss applies softmax to raw scores (logits) internally
loss_fn = nn.CrossEntropyLoss()

# Logits for 3 classes; the true class is index 0
target = torch.tensor([0])
confident_right = torch.tensor([[4.0, 0.5, -1.0]])
confident_wrong = torch.tensor([[-1.0, 4.0, 0.5]])

print(f"Confident and right: {loss_fn(confident_right, target).item():.4f}")
print(f"Confident and wrong: {loss_fn(confident_wrong, target).item():.4f}")

自信且正确的预测损失为 0.0363,而相同置信度下预测错误类别的损失为 5.0363,约高出 139 倍。

目标检测中的复合损失#

目标检测模型需要预测每个目标的位置和类别,因此训练损失是多个项的加权和。YOLO26结合 CIoU 框损失、BCE 分类损失,以及对归一化框距离计算的 L1 损失;这种 L1 损失取代了早期 YOLO 模型中的 Distribution Focal Loss。这些损失项分别由 box、cls 和 dfl训练参数加权,默认值为 7.5、0.5 和 1.5。随着训练推进,其渐进式损失还会将权重从一对多头逐步转向用于无 NMS 推理的一对一头。

  • 评估指标:准确率和平均精度均值(mAP)等指标会根据人们关心的方面报告性能,但大多数指标会以离散步幅变化,无法提供梯度。训练时会最小化可微损失,将其作为这些指标的替代目标。
  • 正则化:添加到损失中的惩罚项,用于抑制模型复杂度。L2 正则化会加上平方权重和的倍数,使优化器倾向于选择更小、泛化能力更好的权重。
  • 奖励函数:强化学习中的优化目标,智能体要最大化累积奖励,而不是最小化损失,因此奖励的作用相当于负损失。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

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

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