
摘要
深度学习算法在训练数据集存在严重类别不平衡的情况下表现不佳,而测试标准却要求对较少出现的类别有良好的泛化能力。为此,我们设计了两种新颖的方法来改善此类场景下的性能。首先,我们提出了一种基于理论原理的标签分布感知边界(Label-Distribution-Aware Margin, LDAM)损失函数,该方法旨在最小化基于边界的泛化界。这种损失函数在训练过程中替代了传统的交叉熵目标,并且可以与现有的针对类别不平衡问题的重加权或重采样策略结合使用。其次,我们提出了一种简单但有效的训练计划,该计划将重加权推迟到初始阶段之后,从而使模型能够在避免一些与重加权或重采样相关的复杂性的同时学习初步表示。我们在多个基准视觉任务上测试了这些方法,包括现实世界中的不平衡数据集iNaturalist 2018。实验结果表明,单独使用这两种方法中的任何一种都可以改进现有技术,而它们的组合则能实现更好的性能提升。
代码仓库
feidfoe/AdjustBnd4Imbalance
pytorch
GitHub 中提及
j3soon/arxiv-utils
GitHub 中提及
kaidic/LDAM-DRW
官方
pytorch
GitHub 中提及
karurb92/ldam_str_bn
tf
GitHub 中提及
orparask/VS-Loss
pytorch
GitHub 中提及
ihaeyong/maximum-margin-ldam
pytorch
GitHub 中提及
jackhck/subclass-balancing-contrastive-learning
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| long-tail-learning-on-cifar-10-lt-r-10 | Empirical Risk Minimization (ERM, CE) | Error Rate: 13.61 |
| long-tail-learning-on-cifar-10-lt-r-10 | Class-balanced Resampling | Error Rate: 13.21 |
| long-tail-learning-on-cifar-10-lt-r-10 | LDAM-DRW | Error Rate: 11.84 |
| long-tail-learning-on-cifar-10-lt-r-100 | LDAM-DRW | Error Rate: 22.97 |
| long-tail-learning-on-cifar-100-lt-r-10 | LDAM-DRW | Error Rate: 41.29 |
| long-tail-learning-on-cifar-100-lt-r-100 | LDAM-DRW | Error Rate: 57.96 |
| long-tail-learning-on-coco-mlt | LDAM(ResNet-50) | Average mAP: 40.53 |
| long-tail-learning-on-voc-mlt | LDAM(ResNet-50) | Average mAP: 70.73 |
| long-tail-learning-with-class-descriptors-on | LDAM | Long-Tailed Accuracy: 64.1 Per-Class Accuracy: 50.1 |
| long-tail-learning-with-class-descriptors-on-1 | LDAM | Long-Tailed Accuracy: 36.4 Per-Class Accuracy: 29.8 |
| long-tail-learning-with-class-descriptors-on-2 | LDAM | Long-Tailed Accuracy: 93.5 Per-Class Accuracy: 69.1 |