互联网技术 / 互联网资讯 · 2023年11月26日

MIT博士生、北大校友通过自监督算法解决了数据集中的常见难题

训练模型时,你是否也遭遇过这样的时刻:

好不容易找到了自己想要的数据集,结果点进去一看,大部分样本都是一类物体。

用上面这个数据集训练的动物检测模型,可能只能识别「猫」。

这类数据不均衡的问题,在机器学习中被称为长尾问题。

这个问题导致,数据集中样本数量少的物体,泛化效果会非常差。

然而事实上,在一个数据集中,几乎总有常见和不常见的类别,其中不常见的类别,又往往成为需要被识别的目标。

例如,自动驾驶感知模型中,就要求AI能提前预测可能违规的情形,并及时阻止。

那么,这些不均衡的数据集,就真的不能用了吗?

一些已有的解决办法

事实上,此前为了解决不均衡数据集,研究者们已经尝试过多种方法。

仅仅是主流算法,就分为七种:

重采样:分为对少样本的过采样、及多样本的欠采样,但这2种方法,都有欠缺的地方。其中,过采样容易发生少样本过拟合,无法学习更鲁棒、易泛化的特征,在不平衡数据上表现较差;欠采样会造成多样本严重信息损失,导致发生欠拟合。

数据合成:生成和少样本相似的新数据。以SMOTE方法为例,对于任意选取的少类样本,它用K近邻选取相似样本,并通过对样本线性插值得到新样本。这里与Mixup方法相似,因此,也有非均衡的Mixup版本出现。

重加权:为不同类别(甚至不同样本)分配不同的权重。其中,权重可以自适应。这一方法诞生出很多变种,如对类别数目的倒数进行加权、对有效样本数加权、对样本数优化分类间距的损失加权等等。

迁移学习:对多类和少类样本分别建模,将学到的多类样本信息/表示/知识迁移给少类别使用。

度量学习:希望能学到更好的嵌入,以对少类附近的边界/边缘更好地建模。

元学习/域自适应:分别对头、尾部数据进行不同处理,自适应地学习如何重加权,或是规划成域自适应问题。

解耦特征和分类器:研究发现,将特征学习和分类器学习解耦、将不平衡学习分为两个阶段,并在特征学习阶段正常采样、在分类器学习阶段平衡采样,可以带来更好的长尾学习效果。这是目前最优的长尾分类算法。

但这些,在样本极端失衡的情况下也没法用,如果真的只有几个样本,模型的性能差异就无法避免。

关键在于,究竟该怎么理解这里面的不均衡?

不均衡标签的内在价值

那些本身就不平衡的数据标签,会不会具有什么价值?

研究发现,这些不平衡的数据标签,就像是一把双刃剑。

一方面,这些标签提供了非常珍贵的监督信息。

在特定任务上,有监督学习通常比无监督学习的准确性更高,即使不平衡,标签也都具有正面价值。

但另一方面,标签的不平衡,会导致模型在训练过程中,被强加标签偏见,从而在决策区域被主类别极大地影响。

研究者们认为,即使是不平衡标签,它的价值也可以被充分利用,并极大地提高模型分类的准确性。

如果能先抛弃标签信息,通过自监督预训练,让模型学习到好的起始表示形式,是否就能有效地提高分类准确性?

从半监督,到自监督预训练

作者们先对半监督下的不均衡学习进行了实验。

实验证明,利用无标记数据的半监督学习,能显著提高分类结果。

从图中可以看出,未标记数据,有助于建模更清晰的类边界,促成更好的类间分离。

这是因为,尾类样本所处区域数据密度低,在学习过程中,模型不能很好地对低密度区域进行建模,导致泛化性差。

而无标记数据,能有效提高低密度区域样本量,使得模型能对边界进行更好的建模。

然而,在一些很难利用半监督学习的极端情况下,仍然需要自监督学习出场。

这是因为,一旦自监督产生良好初始化,网络就可以从预训练任务中受益,学习到更通用的表示形式。

而实验同样证明了这一点。

正常预训练的决策边界,很大程度上会被头类样本改变,导致尾类样本大量泄漏,无法很好地泛化。

而采用自监督预训练的话,学习到的样本保持清晰的分离效果,且能减少尾类样本泄漏。

也就是说,为了利用自监督克服标签偏见,在长尾学习的第一阶段,需要先放弃标签信息,进行自监督预训练。

此阶段后,可以使用任何标准训练方法,训练得到最终模型。

这样,就能更好地解决长尾问题。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册