深圳Yolo 视觉
深圳
立即加入
词汇表

病灶损失

探索 Focal Loss 如何解决深度学习中的类别不平衡问题。学习如何结合 Ultralytics YOLO26 实现它,以关注难例并提高模型准确性。

Focal Loss是一种专门的目标函数,主要用于深度学习中解决严重的类别不平衡问题。在许多计算机视觉任务中,例如object detect,背景样本(负样本)的数量远远超过感兴趣对象(正样本)。像广泛使用的交叉熵损失(Cross-Entropy Loss)这样的标准方法,对所有错误一视同仁,这常常导致模型被大量易于分类的背景数据所淹没。Focal Loss修改了标准的损失计算方式,以降低这些易分类样本的权重,从而迫使优化算法将其学习能力集中在“难”样本上——即那些对模型性能至关重要的稀有且难以分类的对象。

聚焦的机制

Focal Loss的核心创新在于它能够根据模型的置信度动态调整分配给每个样本的惩罚。在典型的监督学习场景中,检测器可能会评估图像中的数千个候选位置。由于这些位置大多不包含任何物体,标准损失函数会从这些易于分类的负样本中累积许多小的误差信号,这可能会淹没少数正样本的宝贵信号。

Focal Loss引入了一个调制因子,随着模型对正确类别的置信度增加,损失贡献会随之衰减。这意味着,如果模型已经99%确定某个背景区域确实是背景,那么该区域的损失将被降至接近零。因此,模型权重的更新主要基于被错误分类的样本或模型不确定的样本。这种有针对性的方法对于训练高性能的单阶段object detect器(如YOLO26)至关重要,使其无需复杂的采样阶段即可实现高精度。

实际应用

处理不平衡的训练数据对于在安全性和精确性至关重要的环境中部署稳健的AI系统至关重要。

  • 医疗AI:医学图像分析等领域,识别病理学特征通常类似于大海捞针。例如,在寻找小病变的MRI扫描中,健康组织可能占像素的99%以上。标准模型可能会通过到处预测“健康”来最大化简单准确率,从而错过关键诊断。Focal Loss使系统能够抑制来自大量健康组织的信号,并优先学习异常的细微特征,从而提高挽救生命的detect的召回率
  • 自动驾驶汽车: 自动驾驶汽车的感知系统必须在建筑物、道路和天空等复杂背景下detect行人或骑自行车者等弱势道路使用者。尽管背景很容易学习,但小型或远距离障碍物构成了重大挑战。通过利用Focal Loss,汽车AI应用可以确保感知堆栈不会忽略这些hard-to-detect物体,即使危险物只占据视野的一小部分也能保持安全标准。

利用Ultralytics实施

"(《世界人权宣言》) ultralytics 该库包含高级损失函数的优化实现,以支持最先进的模型。尽管 Ultralytics 平台 会自动配置这些超参数以实现最佳训练,但开发人员也可以直接访问这些组件进行自定义研究。

以下示例演示了如何使用...初始化 Focal Loss。 ultralytics 实用程序包并计算一组预测的误差。

import torch
from ultralytics.utils.loss import FocalLoss

# Initialize Focal Loss.
# The 'gamma' parameter controls the focusing strength (higher = more focus on hard examples).
criterion = FocalLoss(gamma=1.5)

# Example: Model predictions (logits) and binary Ground Truth labels
# requires_grad=True simulates model outputs that need backpropagation
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])

# Calculate the loss value
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")

与相关概念的区别

了解 Focal Loss 在误差测量更广阔的领域中的位置,有助于为特定计算机视觉任务选择正确的策略。

  • Focal Loss 与交叉熵损失交叉熵是分类任务的基础指标,它根据对数误差惩罚预测结果。Focal Loss 严格来说是交叉熵的扩展;如果聚焦参数设置为零,它在数学上会退化为标准交叉熵。关键区别在于 Focal Loss 能够自动降低易分类负样本的权重,使其在 COCO 等不平衡数据集中表现更优。
  • Focal Loss 与 IoU Loss: Focal Loss 旨在用于分类(确定对象是什么),而 IoU Loss 则用于定位(确定对象在哪里)。现代检测器采用复合损失函数,结合Focal Loss用于类别概率,以及基于IoU的指标用于边界框回归。
  • Focal Loss 与 Dice Loss: Dice Loss 是另一种用于处理不平衡问题的技术,主要应用于图像 segment任务。Focal Loss 基于置信度对单个像素或样本进行操作,而 Dice Loss 则全局优化预测区域与真实区域之间的重叠。在复杂的segment 工作流中,两者常结合使用。

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

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