点击上方“CVer ” ,选择加 "星标 "置顶
近年来 ,基于深度学习的方法在长尾分布(类别不平衡)数据上取得了极大进展。除了这些复杂的方法外 ,训练过程中的那些简单“技巧”(比如数据分布、损失函数的调整)同样起着不小的贡献。然而 ,不同的“技巧”之间可能存在“冲突”。如果采用了不合理的“技巧”进行长尾相关的任务 ,这就很可能导致较差的识别精度。不幸的是 ,关于这些“技巧”并无科学系统的手册供参考。
鉴于此 ,该文对长尾识别中常用的“技巧”进行了收集并进行了充分而系统的实验以给出一份详尽的实验手册 ,同时得到了相关“技巧”的一种有效组合。更进一步 ,作者还提出了一种基于CAM(Class Activation Maps)的数据增广方案 ,所提方案可以与re-sampling方法友好组合并取得更好效果。
通过科学的组合这些“技巧” ,该文在四个长尾基准数据集(包含ImageNet-LT、INaturalist2018)上取得了优于SOTA方案的结果。该文的主要贡献包含以下几点 :
系统地探索了现有简单、超参不敏感的长尾相关“技巧” ,为后续研究提供了一份有价值的实践手册 ;
提出了一种基于CAM的适用于两阶段的采样方案 ,所提方案简单有效 ;
进行了充分的实验并得到了一组最优组合 ,所提组合方案在四个长尾公开数据集取得了SOTA结果。
在这部分内容中 ,我们将介绍一下该文所用到的数据集、训练配置、骨干网络、数据增广等相关信息。
Datasets
Long-tailed CIFAR 长尾版的CIFAR10与CIFAR100是长尾识别的基准数据集 ,它们通过按照指数函数
(t表示类别索引)减少每类训练样本得到 ;而测试集保持不变。CIFAR的不平衡因子表示为最大类别数除以最小类别数 ,范围为10~200 ,其中50和100为最为广泛采用者。
iNaturalist 2018 它是一种大尺度真实数据 ,存在严重类别不平衡问题。它包含437513张图像 ,类别数为8142 ;除了类别不平衡外 ,它同样面临着细粒度问题。
Long-tailed ImageNet 它是从原始的ImageNet12按照Pareto分布采样得到 ,最多的类别具有1280图像 ,而最少的仅有5张。
ba seline settings
Backbones 该文采用ResNet作为骨干网络 ,其中ResNet32用于长尾CIFAR ,ResNet50用于iNaturalist ,ResNet10用于ImageNet-LT。
Data augmentation 对于长尾CIFAR ,作者采用了ResNet中的数据增广方案 ,每个图像进行4个像素pad ,随机crop、随机水平镜像 ,最后进行标准化 ;在验证阶段 ,短边resize到36 ,然后进行CenterCrop ,最后进行标准化。对于iNaturalist2018与ImageNet-LT ,在训练过程中 ,采用scale进行增广到256 ,然后随机crop得到224x224的图像 ,最后进行标准化 ;在验证结果 ,短边resize到256 ,然后进行CenterCrop ,最后进行标准化。
与此同时 ,作者还针对two-stage training提供了一种简单而有效的数据增广方案 ,它在CAM的基础上得到 ,故将其与re-sampling称之为“CAM-ba sed sampling”。
Re-weighting methods
代价敏感重加权方法是长尾研究中常用方案之一 ,通过对不同的类别赋予不同的权重 ,这类方案将引导网络对于数目较少的类别添加更多的关注。
假设图像的类别为
,其预测输出为
,定义
为类别c的样本数 ,
为最少类别的样本数。Softmax交叉熵损失作为对标的基准 ,定义如下 :
Existing re-weighting methods 接下来 ,我们对常用的代价敏感重加权方法进行简单的汇总。
其中 ,
表示用于控制不同样本重要性的超参数。
其中 ,
Re-sampling methods
re-sampling同样是长尾研究中常用的一种方法 ,它尝试对数据进行重采样使其达到均匀分布。在这里 ,我们将对现有的简单而常用的re-sampling方法进行汇总。
Random over-sampling 是一种极具代表性的re-sampling方法 ,它对数量较少的类别通过复制的方式进行采样。这种方案简单有效 ,但可能导致过拟合。
Random under-sampling 随机移除了数量较多的类别中的部分数据直到所有类别数变得均衡。已有研究表明 :在某些情况下 ,欠采样比过采样更可取。
Class-balanced sampling 使得每个类别具有相同的概率被选择。该方法先均匀的进行类别采样 ,然后再进行样本的均匀采样。一般来说 ,每个类别的采样公式可以定义如下 :
而在该方法中
。当q =1时表示常规意义上的数据采样 ,数量多的类别采样概率更高。
Mixup training
mixup training可以视作一种数据增光“技巧” ,它旨在对CNN进行正则化。作者发现 :当与re-sampling相结合时 ,mixup training在长尾识别任务中可以取得非常好的结果 。接下来 ,我们将对现有的mixup training方案进行简单的汇总。
其中
负责beta分布 ,在训练过程中
用于训练。
其中分别表示
在第k层的中间结果输出 ,
表示服从beta分布的混合系数。
相比ba seling ,mixup与manifold mixup均可取得更好的性能 ;
当
Two-stage training procedures
该方案包含类别不平衡训练与类别平衡微调两个阶段 ,作者主要针对类别平衡微调进行了探索。
Balanced fine-tuning after imbalanced training 在不添加任何re-weighting和re-sampling数据上训练的CNN可以学习更好的特征表达 ,但在尾部类别上存在识别精度差的问题。已有不少方法提出了类别平衡微调的优化方案 ,包含基于re-sampling(DRS)与基于re-weighting(DRW)的re-balancing。
相比直接使用re-sampling ,在DRS中re-sampling可以取得更好的性能 ;
所提CAM-ba sed sampling 可以取得一致性的性能提升 ;
在所有CAM-ba sed方案中 ,CAM-ba sed balance-sampling取得最佳结果 ;
接下来 ,我们对每个“技巧”类中的“冲突技巧”(具有相当结果)进行总结 ,并将其与其他“技巧”类中的方案相组合以找到最佳的技巧组合。
Removing co nflictual tricks in each trick family
从实验结果来看 ,最佳的“技巧大礼包”为 :input mixup + DRS +CAM-BS + fine-tuning ,作者将其称之为“bag of tricks”。
Applying the best tricks incrementally
为证实前述“bag of tricks”的性能 ,作者将其在iNaturalist2018与ImageNet-LT数据上进行了实验对比。

从上表可以看到 :
Input mixup + DRS +CAM-BS + fine-tuning的组合取得了稳定的性能提升 ;
iNaturalist2018与ImageNet-LT数据上的实验证实了所提“bag-of-tricks”的有效性 ;
基于所提“bag of tricks” ,在所有长尾数据上可以取得10%的误差率下降 ,在相比SOTA方案取得了显著的性能提升。
论文PDF下载
后台回复 :0102 , 即可下载上述论文PDF
CV资源下载
后台回复 :CVPR2020 , 即可下载代码开源的论文合集
后台回复 :ECCV2020 , 即可下载代码开源的论文合集
后台回复 :YOLO ,即可下载YOLOv4论文和代码
重磅 !CVer- 细分垂直 交流 群成立
扫码添加CVer助手 ,可申请加入CVer- 细分垂直方向 微信交流 群 , 也可申请加入CVer大群 ,细分方向已涵盖 : 目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow 等群。
一定要备注 : 研究方向 +地点 +学校/公司 +昵称 (如目标检测 +上海 +上交 +卡卡 ) ,根据格式备注 ,才能通过且邀请进群
▲长按加微信群
▲长按关注CVer公众号