Related Work
概述处理长尾识别问题的各种传统方法,包括重新取样(re-sampling)和重新赋权(re-weighting)。
-
重新取样技术主要有两种:对少数类进行过采样(over-sampling)和对常见类进行欠采样(under-sampling)。
-
重新赋权技术则为不同的类别或者甚至不同的样本分配适应性的权重。最常见的方法是按照类别频率的倒数来重新赋予类别权重。
re-weighting方法又分为类别级别的重新赋权和实例级别的重新赋权方法:
- 对于类别级别的重新赋权方法,最近有很多损失函数被提出,包括 C B \mathrm{CB} CB loss,LDAM loss和Balanced softmax loss等;
- 而对于实例级别的重新赋权方法,包括了Focal loss和Influence-balanced loss等。
近期,两阶段算法(two-stage algorithms)在长尾识别问题上取得了显著的表现,如分类器再训练(cRT),可学习的权重缩放(LWS),和Mixup Shifted Label-Aware Smoothing model(MiSLAS)等。另外,双向分支网络(BBN)通过增加一个网络分支来实现重新平衡。
同时,RIDE采用了多个名为“专家”的分支,每个分支专门学习全类。LADE则假设测试类别分布的先验知识是可用的,据此对模型预测进行后处理调整。PaCo利用了参数化的类别可学习中心在对比学习中实现重新平衡。BCL提出了一个多分支框架,以在训练过程中实现类平均和类补充。
下面讲关于如何提高两阶段算法性能的一些研究,并介绍了作者的工作和一些相关的研究。
具体来说,为了增强两阶段算法的性能,研究人员引入了监督对比学习到第一阶段的特征学习,并提出了K类正对比损失(KCL)和有针对性的监督对比学习(TSC)。虽然这些方法实现了最先进的性能,但它们在对比学习目标中注入了类平衡,从而在训练过程中不可避免地导致了实例的不平衡。在本工作中,作者提出在对比学习目标中实现子类和实例的平衡。
此外,作者的方法与最近一些基于聚类的深度无监督学习的研究也有关系,尤其是那些利用对比学习的研究。然而,这些研究的目标是普通的无监督表示学习场景,而作者的方法是为长尾识别定制的,这是一个训练数据非常类别不平衡的场景。
类别级别和实例级别的re-weighting
实例级别(Instance-level)的re-weighting和类别级别(Class-level)的re-weighting是指在处理数据不平衡问题时的两种不同的方法。
实例级别的re-weighting是针对所有输入样本的。它为数据集中的每一个样本分配一个权重,根据其重要性或者难度来调整模型的学习焦点。例如,在训练数据集中,如果某一样本经常被错误分类,那么我们可以提高这个样本的权重,使模型在之后的训练中更加关注这个样本。实例级别的re-weighting方法的例子包括Focal loss和Influence-balanced loss等。
类别级别的re-weighting则是针对所有类别的,它为训练数据集中的每一个类别分配一个权重。特别是在处理类别不平衡问题时,给出现次数较少的类别更高的权重可以帮助模型更好地学习和预测这些少数类别。类别级别的re-weighting方法的例子包括 C B \mathrm{CB} CB Loss,LDAM Loss和Balanced softmax loss等。
简单来说,实例级别的re-weighting是在样本层面改变模型的学习重点,而类别级别的re-weighting则是在类别层面改变模型的学习重点。
一个是针对个体样本调整weight,一个是针对具体的类调整weight
答:是的。实例级别的重新赋权是针对个体样本进行权重的调整,尤其在计算损失函数的时候。这使模型能根据每个样本的重要性或难易程度进行学习。而类别级别的重新赋权则是针对整个类别进行权重的调整,这样可以帮助模型更好地处理类别分布不均衡的问题,比如能够提高少数类别的识别率。
Conclusion
这段文字是关于作者在论文中介绍的一种针对长尾识别的学习方法——子类平衡对比学习(Subclass-balancing Contrastive Learning, SBCL)。
SBCL通过子类平衡自适应聚类,将头部类别(指的是数据中出现频率高的类别)划分为多个语义连贯的子类。然后,该方法结合了一种双粒度对比损失,旨在鼓励子类和实例之间的平衡。
在多个数据集上的广泛实验表明,SBCL在长尾识别任务的基准数据集上取得了最先进的单模型性能。这表明,它在处理这种类型的问题上具有较高的效率和准确性。