术语表

损失函数

了解损失函数在机器学习中的作用、类型、重要性以及现实世界中的人工智能应用,如 YOLO 和物体检测。

损失函数,又称成本函数或目标函数,是机器学习(ML)深度学习(DL)的基本组成部分。它量化了模型的预测输出与给定数据的实际地面实况标签之间的差异或 "损失"。损失函数计算出的值可以用来衡量模型的性能有多差。模型训练过程中的主要目标就是尽量减小这个值,从而提高模型的准确性和性能。

损失函数的工作原理

在每次迭代训练期间,模型都会处理一批训练数据并做出预测。然后,损失函数会将这些预测与真实标签进行比较。损失值越大,说明差异越大,越需要修正;损失值越小,说明模型的预测值越接近实际值。

这个损失值至关重要,因为它提供了模型学习所需的信号。随机梯度下降 算法SGD)优化算法会利用这一信号来调整模型的内部参数或模型权重反向传播过程会计算损失函数相对于这些权重的梯度,从而指出为减少损失而应调整权重的方向。这种计算损失和更新权重的迭代过程可以使模型逐渐趋近于能够进行高精度预测的状态。

损失函数的常见类型

损失函数的选择在很大程度上取决于模型要解决的具体任务。不同的问题需要不同的误差测量方法。一些常见的类型包括

  • 平均平方误差 (MSE):用于回归任务的常用损失函数,其目标是预测连续数值。它计算的是预测值与实际值之差的平方平均数。
  • 交叉熵损失:广泛用于图像分类任务。它可以衡量输出为 0 和 1 之间概率值的分类模型的性能。在训练模型区分多个类别时,例如对ImageNet 数据集中的图像进行分类时,它非常有效。
  • 交集大于联合(IoU)损失: IoU的变体对于物体检测任务至关重要。这些损失函数(如 GIoU、DIoU 和 CIoU)可测量预测边界框与地面实况框之间的差异。它们对于训练精确的物体检测器(如Ultralytics YOLO11)是不可或缺的。
  • 骰子损失(Dice Loss):常用于图像分割,尤其是医学图像分析,用于测量预测分割掩膜与实际分割掩膜之间的重叠程度。它对处理类不平衡特别有用。

实际应用

损失函数是训练几乎所有深度学习模型的核心。

  1. 自动驾驶汽车:在开发自动驾驶汽车的过程中,需要对物体检测模型进行训练,以识别行人、其他车辆和交通标志。在训练过程中,损失函数由多个部分组成:一部分计算对每个物体进行分类时的误差(例如,汽车与行人),另一部分(通常是基于 IoU 的损失)计算对物体边界框进行定位时的误差。最小化这种综合损失有助于创建安全导航的稳健模型,这是汽车解决方案中人工智能的关键组成部分。
  2. 医疗诊断:医疗保健领域的人工智能中,U-Net等模型被训练用于语义分割,以识别医学扫描中的肿瘤。利用损失函数(如骰子损失或交叉熵和骰子损失的组合)将模型预测的肿瘤掩膜与放射科医生注释的掩膜进行比较。通过最小化医疗图像数据集上的损失,该模型学会了准确划分病理区域,从而帮助进行更快、更精确的诊断。

与其他重要概念的关系

必须将损失函数与 ML 中的其他相关概念区分开来。

  • 损失函数与评价指标:这是一个关键的区别。损失函数在训练过程中用于指导优化过程。它们必须是可微分的,以便进行基于梯度的学习。相比之下,准确率精确度召回率平均精确度 (mAP)等评估指标则是在训练后(在验证数据测试数据上)用于评估模型的实际性能。虽然较低的损失通常与较好的指标得分相关,但它们的目的不同。您可以在我们的指南中了解有关性能指标的更多信息。
  • 损失函数与优化算法:损失函数定义了目标--需要最小化的目标。优化算法(如Adam 优化器)定义了机制--如何根据计算出的梯度和学习率更新模型权重,从而最小化损失。
  • 过拟合和欠拟合:监控训练集和验证集的损失是诊断这些常见问题的关键。如果训练损失持续减少,而验证损失开始增加,则可能是过度拟合。如果两个集上的损失值都很高,则表示不完全拟合。我们的《模型训练技巧》等指南将讨论这些见解。

对于参与构建和训练人工智能模型的任何人来说,了解损失函数都是至关重要的。Ultralytics HUB等平台抽象掉了这一复杂性,自动处理损失函数的实现和优化,使构建高级计算机视觉 (CV)模型变得更加容易。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、合作和成长

立即加入
链接复制到剪贴板