zl程序教程

您现在的位置是:首页 >  Java

当前栏目

样本数量不平衡问题方案(Focal Loss & Circle Loss)

2023-02-18 16:37:07 时间

1.Focal Loss

focal loss是最初由何恺明提出的,最初用于图像领域解决数据不平衡造成的模型性能问题。本文试图从交叉熵损失函数出发,分析数据不平衡问题,focal loss与交叉熵损失函数的对比,给出focal loss有效性的解释。

  1. Focal Loss的引入主要是为了解决难易样本数量不平衡(注意,有区别于正负样本数量不平衡)的问题,实际可以使用的范围非常广泛。
  2. 该损失函数来源于论文Focal Loss for Dense Object Detection,作者利用它改善了图像物体检测的效果。不过Focal Loss完全是一个通用性的Loss,因为在 NLP中,也存在大量的类别不平衡的任务。
  3. 最经典的就是序列标注任务中类别是严重不平衡的,比如在命名实体识别中,显然一句话里边实体是比非实体要少得多,这就是一个类别严重不平衡的情况。

参考链接: https://blog.csdn.net/fly_time2012/article/details/123428695

https://zhuanlan.zhihu.com/p/266023273

2.Circle Loss

  1. 深度特征学习有两种基本范式,分别是使用类标签和使用正负样本对标签进行学习。使用类标签时一般需要用分类损失函数(比如 softmax + cross entropy)优化样本和权重向量之间的相似度;使用样对标签时,通常用度量损失函数(比如 triplet损失)来优化样本之间的相似度。然而这两种方式均存在优化缺乏灵活性和收敛状态不明确的缺点。
  2. 因此,Circle Loss 设计了一个更灵活的优化途径,通向一个更明确的优化目标。该方法来源于论文Circle Loss: A Unified Perspective of Pair Similarity Optimization

常用优化方法和新提出的优化方法之间的对比图示如下。

Circle Loss 非常简单,而它对深度特征学习的意义却非常本质,表现为以下三个方面:

  • 统一的(广义)损失函数。从统一的相似度配对优化角度出发,它为两种基本学习范式(即使用类别标签和使用样本对标签的学习)提出了一种统一的损失函数;
  • 梯度反向传播会根据权重来调整幅度大小。那些优化状态不佳的相似度分数,会被分配更大的权重因子,并因此获得更大的更新梯度。如上图所示,在Circle Loss 中,A、B、C 三个状态对应的优化各有不同;
  • 明确的收敛状态。在这个圆形的决策边界上,Circle Loss 更偏爱特定的收敛状态(如图中的 T)。这种明确的优化目标有利于提高特征鉴别力。

参考链接: https://blog.csdn.net/cxx654/article/details/122158148