目标检测总损失函数的发展
说明:本文仅供学习
简要概述
从任务上来看,目标检测的挑战是分类挑战与定位挑战的结合。对于两个挑战的优化,损失函数的发展可以由这个图来概括。不管是分类任务还是定位任务都可能面临样本分布不均匀,数据分布不一致等问题,因此,后面所提出的优化损失函数也包含对这些问题的改善。比如,Focal loss和DR loss,AP loss,Balanced L1 loss都解决了不平衡的问题。其中,Focal loss是通过减少模型对简单样本的权重,增加模型对困难样本的学习权重来提高模型对不均衡样本的学习。(一般来说,样本量多的类型,模型更容易学习到其相对应的特征,反之,相反)DR loss和AP loss则主要是将分类问题转化为排序问题,从而避免正负样本不均衡的问题。Balanced L1 loss解决的是定位上的平衡问题,主要是在找一个平衡的点,能让easy和hard的sample所占的梯度贡献差不多。KL loss前面也有很多同学在汇报中提到KL散度,也就是拉近两个分类之间的距离。这里由于时间问题,我就不细讲了。我们主要的关注点是在IOU loss上,这与后面讲的评价指标息息相关。
分类的损失函数
对于类别不平衡问题较为严重的数据集,可以选择 Focal Loss;对于多标签分类问题,可以选择 AP loss;对于一般的目标检测任务,常用的 CE loss 已能够取得较好的性能。
CE loss(交叉熵损失函数)
- 简单介绍:CE loss是目标检测中最常用的分类损失函数之一。它的计算方法是将目标的真实标签和预测标签之间的交叉熵损失累加求和,用于衡量预测标签与真实标签之间的差异。
- 公式:见上面PPT
- 优点:简单,容易快速训练
- 缺点: 偏向大类别,不太适合处理类别不均衡的情况。
Focal loss
- 简单介绍:Focal Loss 是一种针对类别不平衡的分类损失函数,它通过减小易分类样本的权重和增大难分类样本的权重来改善模型的泛化性能。
- 公式:见上面PPT
- 优点:相对于 CE loss,它对于难分类样本具有更好的区分能力,可以更有效地应对训练集中存在的类别不平衡问题。
AP loss
- 简单介绍:也称之为平均精度损失函数。AP loss 是一种基于目标检测平均精度指标 (AP) 来设计的分类损失函数,它能够在检测过程中自然地进行多标签分类。AP loss 将目标检测的精度量化为二分类问题。
- 公式:见上面PPT
- 优点:能够有效解决多标签分类的问题。
- 缺点: 计算较为复杂,同时也容易受到类别不平衡问题的影响。
DR loss
- 简单介绍:是一种基于难例挖掘 (Hard Example Mining) 的分类损失函数。其思路是通过在训练中选择一部分难度较大的样本进行训练,以增强模型的泛化能力。
- 公式:见上面PPT
- 优点:可以通过选择适当的难例数量,缓解模型过拟合问题。
- 缺点: 因为需要选择难例,所以计算较为复杂,且容易出现过拟合的情况。
定位的损失函数
smooth L1 loss
Balanced L1 loss
KL loss
IOU loss
IOU loss的具体介绍请见另外一篇博客:
目标检测算法回顾之IOU变体篇章