
摘要
视觉世界的长尾分布对基于深度学习的分类模型如何处理类别不平衡问题提出了巨大挑战。现有的解决方案通常涉及类别平衡策略,例如通过损失重加权、数据重采样或从头类到尾类的迁移学习,但大多数方法仍然遵循联合学习表示和分类器的方案。在本研究中,我们将学习过程解耦为表示学习和分类,并系统地探讨了不同的平衡策略如何影响长尾识别中的这两个方面。研究结果令人惊讶:(1)数据不平衡可能不是学习高质量表示的问题;(2)即使使用最简单的实例平衡(自然)采样方法学到的表示,也有可能仅通过调整分类器来实现强大的长尾识别能力。我们进行了广泛的实验,并在常见的长尾基准数据集如ImageNet-LT、Places-LT和iNaturalist上取得了新的最佳性能,表明通过解耦表示和分类的简单方法,可以超越精心设计的损失函数、采样策略甚至复杂的记忆模块。我们的代码已发布在https://github.com/facebookresearch/classifier-balancing。
代码仓库
facebookresearch/classifier-balancing
官方
pytorch
GitHub 中提及
silicx/dlsa
pytorch
GitHub 中提及
PhilChina/classifier-balancing
pytorch
GitHub 中提及
jackhck/subclass-balancing-contrastive-learning
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| long-tail-learning-on-cifar-10-lt-r-10 | LWS | Error Rate: 8.9 |
| long-tail-learning-on-cifar-10-lt-r-10 | cRT | Error Rate: 9.0 |
| long-tail-learning-on-imagenet-lt | CB LWS | Top-1 Accuracy: 41.4 |
| long-tail-learning-on-inaturalist-2018 | CB-LWS | Top-1 Accuracy: 69.5% |
| long-tail-learning-on-places-lt | CB LWS | Top-1 Accuracy: 37.6 |
| long-tail-learning-with-class-descriptors-on | LWS | Long-Tailed Accuracy: 65.7 Per-Class Accuracy: 53.1 |
| long-tail-learning-with-class-descriptors-on-1 | LWS | Long-Tailed Accuracy: 40.2 Per-Class Accuracy: 33.9 |
| long-tail-learning-with-class-descriptors-on-2 | LWS | Long-Tailed Accuracy: 93.5 Per-Class Accuracy: 73.4 |
| long-tail-learning-with-class-descriptors-on-3 | LWS | Per-Class Accuracy: 49.9 |