2020 CVPR
对象:large vocabulary
提出问题:数据集不平衡时,分类器在参数大小出现不平衡
提出方法:BAGS,通过分组训练平衡检测框架内的分类器,调整头部和尾部训练的过程
releated work中介绍了对于长尾数据的两种常见方法,即重采样和重加权
重采样方法中,训练样本设置为过采样(为尾部类添加训练样本副本)或欠采样(删除头部类训练样本)或一些其他的类平衡采样方法。
直观的简单的做法,就是不同类别乘以不同权重
也有方法优化了分类器,如最近类均值分类器、τ-归一化分类器
作者提到了这个BAGS可以在流行的目标检测框架中使用,这篇论文主要是在Faster R-CNN和Cascade R-CNN以及他们相应的实例分割方法进行实验
在方法分析的开头,同样是对比了平衡数据集到长尾数据集性能下降的现象,作者通过分析每个类别的分类器中训练实例数量和权重的关系发现,在不平衡数据集中,尾类对应的权重极小,因此尾类类别预测分数天生低于头类,所以在预测时偏向于选择头类而不是尾类。
头部类别训练实例远远多于尾类,会导致分类器主要被头类权重控制,导致训练后的权重范数不平衡。也解释了重采样方法能就是在训练中增加了尾类建议的采样频率,在一定程度上平衡了头类和尾类,类似可以解释损失重新加权方法。但是重采样一直存在的问题(也是常见论文里会指出的弊端)就是容易出现尾部过拟合以及额外的计算,损失重加权的方法对每类损失权重设计敏感,泛化能力较差。
BAGS的模块示意图如下:
在训练过程中,将相似训练实例的类分组在一组,Softmax CE单独处理每个组,让他们在组内相互竞争,可以在训练期间将包含明显不同数量实例的类彼此隔离,尾部类分类器权重不会被头部类抑制。 测试过程,在每组应用softmax,并根据原始类别对概率进行排序,并根据前景概率进行了重新缩放
类别划分了4组(N=4)
实验部分......
暂时不准备复现