日期:2023/12/16
论文:Deep Long-Tailed Learning: A Survey
链接:Deep Long-Tailed Learning: A Survey–TPAMI2023
参考:
[1] https://zhuanlan.zhihu.com/p/501900018
[2] https://github.com/Vanint/Awesome-LongTailed-Learning
0 更新
2023/12/16
- 经典方法部分看不懂,看得懂再写更新(第一阶段更新loss部分既cost-sensitive learning)
2023/12/17
- 更新Focal Loss,LDAMLoss
1 什么是Long-tail问题
- 训练数据通常存在长尾类别分布问题,既小部分类中拥有大量的样本点,大部分类中拥有少量的样本点。这样会限制深度学习模型的实用性,由这样数据集训练出来的模型往往不会在现实实际应用表现得很好,因为它们会更倾向于主导类,并在尾部类表现得很差。如下图所示,大量数据在少数类里;
- 总的来说,有两大挑战:
1)不平衡导致模型偏向于头类;
2)缺乏尾类使得训练模型进行尾类分类更具挑战;
不平衡比的定义: n 1 / n k n_1/n_k n1/nk - 其中 n i n_i ni表示第 i i i个类的数据个数;
- 在不丧失一般性的前提下(without loss of generality),长尾学习的分布通常是类按基数降序排序;所以 n 1 > > n k n_1>>n_k n1>>nk
2 已有的研究方法分类
- 总的来说,有三大解决方法:1)类再平衡(class re-balance); 2) 信息增强(information augmentation);3)模块增强(module improvement)
- 每个类还有不同的研究方法,包括
1) a. 重采样(re-sampling); b. 成本敏感学习(cost-sensitive learning); c. 逻辑调整(logit adjustment)
2)a. 迁移学习(transfer learning); b. 数据增强(data augmentation) ;
3)a. 表征学习(representation learning);b. 分类器设计(classifier design);c. 解耦训练(decoupled training); d. 集成学习(ensemble learning)
3 数据集和常用模型
长尾问题的backbone和数据集相关:
ImageNet-LT:ResNet-50 or ResNeXt-50
CIFAR100-LT:ResNet-32
Places-LT:ResNet-152
-------------------------以上为分类任务------------------------------
LVIS:Mask R-CNN or Faster R-CNN based on ResNet-50 with FPN
VOC-LT or COCO-LT:ResNet-50
VideoLT:ResNet-50 or ResNet-101
4 评估指标
分类: Top-1 acc
目标检测: mAP
多标签分类: mAP
视频分析: Top-1 acc 和 mAP
其中,多标签分类指一张图像中可能有多个labels,需要把所有labels都预测出来;视频分析指让模型理解视频内容(包括动作识别、事件检测等)
5 长尾学习竞赛
5.1 iNat Challenge
iNat是CVPR提出的大规模细粒度(fine-grained)物种分类挑战。数据来自真实世界图像,包括植物和动物。该挑战的难点(相对于ImageNet而言)是该数据集表现出了长尾分布。
5.2 LVIS Challenge
the Large Vocabulary Instance Segmentation是高质量的实例分割数据集,包含1000个物体类别,并且存在长尾分布。
6 与其他任务的联系
6.1 类不平衡(class-imbalanced learning)
类不平衡任务是说类的个数非常小(比如2类),少量数据的数据量其实不一样少; 长尾学习可以看作是类不平衡任务的一个更具体和更有挑战的子任务(长尾学习中,大量的类只有少量数据)
6.2 Few-shot learning
few-shot学习通常从有限的标记样本来训练模型(指1或5个);few-shot learning可以看作是长尾学习中尾类数据只有非常少样本的子任务。
6.3 域外泛化(out-of-domain generalization)
表示训练数据分布和未知的测试数据分布不一致。长尾学习算是域外泛化的子任务之一。
7 经典方法
7.1 Class Re-balancing
类再平衡是长尾学习的主流范式,寻求在模型训练过程中平衡不同类的训练样本数量
7.1.1 Re-sampling
常见的重采样方法包括 random over-sampling(ROS,过采样)和 random under-sampling(RUS,欠采样),其中ROS表示随机重复尾类的样本, RUS表示随即丢弃头类的样本。在类极度不平衡的时候,ROS会倾向于过拟合尾类,而RUS会倾向于降低模型对头类的性能。近期发展了多种抽样方法,主要包括 class-balanced re-sampling类平衡重采样 和 scheme-oriented sampling 方案导向重采样
class-balanced re-sampling
1)decoupling
instance-balanced sampling: 每一个sample有相同的概率被采样到
class-balanced sampling:每个类被选中的概率是一样的
square-root sampling:每个实例被抽到的概率与所在类的数据量的大小的平方根有关
pregressively-balanced sampling:在instance- and class-balanced sampling之间内插
Decoupling Representation and Classifier for Long-Tailed Recognition
2) Simple Calibration(SimCal)
3)Dynamic curriculum learning(DCL)
Dynamic Curriculum Learning for Imbalanced Data Classification
4) Balanced meta-softmax
Balanced Meta-Softmax for Long-Tailed Visual Recognition
5)Feature augmentation and sampling adaptation(FASA)
FASA: Feature Augmentation and Sampling Adaptation for Long-Tailed Instance Segmentation
6)Long-tailed object detector with classification equilibrium(LOCE)
Exploring Classification Equilibrium in Long-Tailed Object Detection
Scheme-oriented sampling
提供一些特定的学习方案:度量学习和集成学习等
1) Large margin local embedding(LMLE)
提供quintuplet sampling scheme for metric learning,学习保持簇间和类间边界的高质量特征。
Learning Deep Representation for Imbalanced Classification
2)Partitioning reservoir sampling(PRS)
Imbalanced Continual Learning with Partitioning Reservoir Sampling
3)Bilateral -branch network, BBN
BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
4) GistNet
GistNet: a Geometric Structure Transfer Network for Long-Tailed Recognition
6) Balanced group softmax(BAGS)
Overcoming Classifier Imbalance for Long-tail Object Detection with Balanced Group Softmax
Learning to Segment the Tail
5)Ally complementary experts(ACE)
ACE: Ally Complementary Experts for Solving Long-Tailed Recognition in One-Shot
7.1.2 cost-sensitive learning
在不同类别施加不同的损失函数以平衡各个类别
class-level re-weighting
使用label frequencies of training samples 来对损失进行加权
1) LADE
Disentangling Label Distribution for Long-tailed Visual Recognition
2) class-balanced loss (CB)
Class-Balanced Loss Based on Effective Number of Samples
3)Focal loss
Focal loss观察到类不平衡通常会导致预测尾类的难度升高(increase hardness),预测概率会比头类的预测概率要低很多。Focal loss使用预测概率来反向重新分配类权重来使得难以预测的尾类权重更大,简单预测的尾类权重更小。
自己写的Blog:Focal Loss论文阅读
4)Meta-Weight-Net
5)DisAlign
6)Distribution-balanced loss
7)Equalization loss
8)Equalization loss v2
9)Seesaw loss
10)ACSL
Class-level re-margining
11)LDAM
参考:LDAM 自己写的
Label-distribution-aware margin(LDAM)扩展了soft margin loss,通过基于标签频率强制类相关的margins,以及鼓励尾类有更大的margins。但是这样再经验上不足以处理类不平衡问题,所以还提出了deferred re-balancing optimization schedule,既在训练0~T0个batch的时候,正常去训练,以保证模型能学习到大部分数据的特征表示,而不至于一开始就倾向于尾类;在训练T0~T个batch的时候,通过标签频率来re-weighting 损失和学习率,以使模型倾向于尾类数据。
12)Bayesian estimate
13)Domain balancing
14)LOCE
15)PML
16)RoBal
7.1.3 Logit adjustment
根据标签频率对模型的对分数进行事后的调整