在训练模型的过程中,你是否也曾遇到过这样的困境:
好不容易找到理想中的数据集,却发现大多数样本都集中在同一类物体上。
例如,若用这样的数据集来训练动物检测模型,可能最终只能识别出「猫」。
这种数据不均衡的现象,在机器学习领域被称为长尾问题。
这种问题导致数据集中样本数量较少的物体,往往泛化性能非常差。
实际上,在任何数据集中,常见和不常见的类别几乎总是并存,而不常见的类别往往才是需要被识别的目标。
举例来说,在自动驾驶的感知模型中,AI必须能够提前预测潜在的违规行为,并及时采取措施。
那么,这些不均衡的数据集真的无法使用吗?
已有的一些解决方案
为了应对不均衡数据集的问题,研究者们之前尝试了多种方法。
现有的主流算法大致可分为七类:
重采样:包括对少样本的过采样和多样本的欠采样,但这两种方法各有不足。过采样可能导致少样本过拟合,难以学习到更稳健、易泛化的特征,表现不佳;而欠采样则会造成多样本信息的严重损失,导致欠拟合。
数据合成:通过生成与少样本相似的新数据来应对。例如,SMOTE方法对少类样本进行K近邻选取相似样本,并通过线性插值生成新样本。这与Mixup方法有相似之处,因此也出现了非均衡的Mixup版本。
重加权:为不同类别(甚至不同样本)分配不同的权重,权重可以自适应。这种方法发展出了许多变种,如对类别数目的倒数进行加权、对有效样本数加权以及优化分类间距的损失加权等。
迁移学习:分别对多类和少类样本进行建模,将多类样本的信息或知识迁移给少类样本。
度量学习:旨在学习更好的嵌入,以便更有效地对少类附近的边界进行建模。
元学习/域自适应:对头部和尾部数据进行不同的处理,自适应地学习如何重加权,或将其转化为域自适应问题。
解耦特征与分类器:研究发现,将特征学习和分类器学习解耦,分为两个阶段进行,可以在特征学习阶段正常采样,而在分类器学习阶段进行平衡采样,从而获得更好的长尾学习效果。这是目前表现最优的长尾分类算法。
然而,这些方法在样本极度失衡的情况下仍然难以奏效,若只有少数样本,模型性能的差异将无法避免。
关键在于如何理解这些不均衡。
不均衡标签的潜在价值
那些本质上不平衡的数据标签,是否也具备某种价值呢?
研究表明,这些不平衡的数据标签如同一把双刃剑。
一方面,这些标签提供了极为珍贵的监督信息。在特定任务中,有监督学习的准确性通常高于无监督学习,即使数据不平衡,标签依然具有正面价值。
另一方面,标签的不均衡可能导致模型在训练时受到标签偏见的影响,从而使得决策区域受到主类别的强烈干扰。
研究者们认为,尽管标签不平衡,其价值依然可以被充分挖掘,从而显著提高模型分类的准确性。
如果能通过自监督预训练方式,先抛弃标签信息,让模型学习到良好的初始表示形式,是否能有效提升分类的准确性呢?
从半监督到自监督预训练
研究者们首先对半监督下的不均衡学习进行了实验。
实验证明,利用无标记数据的半监督学习能够显著提升分类结果。
从实验结果中可以看出,未标记数据有助于建立更清晰的类边界,促进更好的类间分离。
这是因为尾类样本所处区域的数据密度较低,模型在学习过程中无法有效建模这些低密度区域,导致泛化性能差。
而无标记数据能够有效增加低密度区域的样本量,使模型更好地对边界进行建模。
然而,在一些极端情况下,半监督学习的效果仍然有限,这时自监督学习就显得尤为重要。
自监督学习能够在产生良好的初始化后,使网络从预训练任务中获益,学习到更通用的表示形式。
实验同样支持了这一观点。
正常预训练时,决策边界往往受到头类样本的影响,导致尾类样本大量泄漏,泛化能力不足。
然而,采用自监督预训练后,学习到的样本保持了清晰的分离效果,并减少了尾类样本的泄漏。
换句话说,为了利用自监督克服标签偏见,在长尾学习的第一阶段,需先放弃标签信息,进行自监督预训练。
完成此阶段后,可以使用任何标准训练方法来训练最终模型。
这样一来,就能更有效地解决长尾问题。
