赞
踩
原始文档:https://www.yuque.com/lart/papers/drggso
ICLR 2020的文章.
针对长尾分布的分类问题提出了一种简单有效的基于re-sample范式的策略.
提出的方法将模型的学习过程拆分成两部分:representation learning 和 classification.
对于前者, 则将完整的模型在原始的数据分布上进行训练, 即instance-balanced (natural) sampling, 从而学习_the best and most generalizable representations_. 训练好后, 再额外调整模型的分类器(retraining the classifier with class-balanced sampling or by a simple, yet effective, classifier weight normalization which has only a single hyperparameter controlling the “temperature” and which does not require additional training).
在这份工作中, 作者们证明了在长尾场景中, 将这种分离(separation)可以更加直接的获得好的检测性能, 而不需要设计采样策略、平衡损失或者是添加memory模块.
按照这里https://zhuanlan.zhihu.com/p/158638078总结的:
对任何不均衡分类数据集地再平衡本质都应该只是对分类器地再均衡, 而不应该用类别的分布改变特征学习时图片特征的分布, 或者说图片特征的分布和类别标注的分布, 本质上是不耦合的.
论文中关于相关工作的介绍非常细致和全面, 进行了较为完整的梳理.
现有的研究主要可以划分为三个方向:
并且也补充了和最近的一个关于少样本识别(low-shot recognition)的基准方法的比较:
在长尾识别中, 训练集在所有的类上整体遵循着一个长尾分布. 在训练过程中, 对于一些不常见的类数据量很小, 使用这样的不平衡的数据集训练得到的模型趋向于在小样本类上欠拟合. 但是实践中, 对于所有类都能良好识别的模型才是我们需要的. 因此不同针对少样本的重采样策略、损失重加权和边界正则化(margin regularization)方法被提出. 然而, 目前尚不清楚它们如何实现长尾识别的性能提升(如果有的话).
本文将会系统地通过将表征学习过程与分类器学习过程分离的方式探究他们的有效性, 来识别什么对于长尾分布确实重要.
首先明确相关的符号表示:
这旨在平衡表征学习与分类器学习的数据分布. 大多数采样策略都可以被统一表示成如下形式. 即采样一个数据点, 它来自于类别 j j j的概率 p j p_j pj可以被表示为: p j = n j q Σ i = 1 C n i q p_j = \frac{n^q_j}{\Sigma^C_{i=1}n_i^q} pj=Σi=1Cniqnjq. 注意, 这里是基于类进行的表示, 实际上对于每个单独的数据而言, 他们的采样过程可以看作是一个两阶段的过程, 即先对 C C C个类进行自定义采样, 再对类内部的数据均匀采样. 这里的包含了一个参数 q ∈ [ 0 , 1 ] q \in [0, 1] q∈[0,1]. 用以调制不同类的采样概率, 根据它的不同取值, 从而可以划分为多种情形:
作者基于ImageNet-LT的数据绘制了采样权重的比例图:
论文_Class-Balanced Loss Based on Effective Number of Samples_中的如下内容很好的说明了重采样存在的问题:
Inthe context of deep feature representation learning using CNNs, re-sampling may either introduce large amounts of duplicated samples, which slows down the training and makes the model susceptible to overfitting when oversampling, or discard valuable examples that are important for feature learning when under-sampling.
这部分内容实际上和本文的讨论相关性并不大, 所以作者们并没有太详细的梳理.
此外, 我们发现一些报告高性能的最新方法很难训练和重现, 并且在许多情况下需要广泛的、特定于数据集的超参数调整.
文章的实验表明配备适当的平衡的分类器的基线方法可以比最新的损失重加权的方法如果不是更好, 也最起码是同样好.
文章比较的一些最新的相关方法:
当在平衡数据集上学习分类模型的时候, 分类器被和用于提取表征的模型通过交叉熵损失一同联合训练. 这实际上也是一个长尾识别任务的典型的基线设定. 尽管存在不同的例如重采样、重加权或者迁移表征的方法被提出, 但是普遍的范式仍然一致, 即分类器要么与表征学习一起端到端联合学习, 要么通过两阶段方法, 其中第二阶段里, 分类器和表征学习通过类平衡采样的变体进行联合微调.
本文将表征学习从分类中分离出来, 来应对长尾识别.
所以下面展示了一些文中用到的学习分类器的方法, 旨在矫正关于头部和尾部类的决策边界, 这主要通过使用不同的采样策略, 或者其他的无参方法(例如最近邻类别均值分类器)来微调分类器. 同样也考虑了一些不需要额外重新训练的方法来重新平衡分类器权重, 这展现了不错的准确率.
来自附录
注意上面提到的几种在第二阶段中调整分类器的策略中, 涉及到重新训练和采样策略的只有cRT和LWS, 且都是用的类别平衡重采样. 而NCM和 τ \tau τ-normalized都是不需要考虑第二阶段的重采样策略的, 因为他们不需要重新训练.
要注意, 这个图中的采样策略都是在指代表征学习过程中使用的采样策略.
来自附录中的补充图表
For the joint training scheme (Joint), the linear classifier and backbone for representation learning are jointly trained for 90 epochs using a standard cross-entropy loss and different sampling strategies, i.e., Instance-balanced, Class-balanced, Square-root, and Progressively-balanced.
图1和表5中的Joint之间的对比可以看出来:
比对图1, 可以知道, 这里在第二阶段使用的是cRT策略来调整模型
For the decoupled learning schemes, we present results when learning the classifier in the ways, i.e., re-initialize and re-train (cRT), Nearest Class Mean (NCM) as well as τ-normalized classifier.
从图1中整体可以看出来:
为了进一步对比, 表1中列举了将backbone与线性分类器联合微调时模型(B+C和B+C(0.1xlr))、仅微调backbone最后一个block(LB+C), 或者固定backbone而重训练分类器©的几种情形.
表1中可以看出来:
在图2 (左) 中, 我们凭经验显示了所有分类器的权重向量的L2范数, 以及相对于训练集中的实例数降序排序的训练数据分布.
我们可以观察到:
We achieve this goal by simulating a balanced testing distribution from the training set.
As shown in Table 9, we compare the τ found on training set and validation set for all three datasets. We can see that both the value of τ and the overall performances are very close to each other, which demonstrates the effectiveness of searching for τ on training set.
This strategy offers a practical way to find τ even when validation set is not available.
尽管抽样策略在共同学习表征和分类器时很重要, 实例平衡采样提供了更多可推广的表示, 在适当地重新平衡分类器之后, 无需精心设计的损失或memory单元, 即可实现最先进的性能.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。