FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence
摘要
半监督学习(SSL)提供了一种有效利用未标注数据来提升模型性能的方法。近年来,该领域取得了快速进展,但也伴随着更复杂方法的需求。在本文中,我们提出了FixMatch,这是一种显著简化现有SSL方法的算法。FixMatch首先利用模型对弱增强未标注图像的预测生成伪标签。对于给定的图像,只有当模型产生高置信度预测时,才保留该伪标签。然后,模型在输入同一图像的强增强版本时,进行训练以预测该伪标签。尽管FixMatch方法简单,我们证明它在各种标准半监督学习基准上都达到了最先进的性能,包括在CIFAR-10数据集上使用250个标签获得94.93%的准确率,使用40个标签(每类仅4个标签)获得88.61%的准确率。我们还进行了广泛的消融研究,以找出对FixMatch成功最重要的实验因素。代码可在 https://github.com/google-research/fixmatch 上获得。
引言
深度神经网络已经成为计算机视觉应用中的事实标准模型。它们的成功部分归因于其可扩展性,即通过经验观察表明,在更大的数据集上训练它们可以获得更好的性能。深度网络通常通过监督学习实现其强大的性能,而监督学习需要标注的数据集。因此,使用更大数据集所带来的性能提升可能会带来显著的成本,因为数据标注通常需要人工劳动。当标注必须由专家完成时(例如在医学应用中由医生进行标注),这种成本可能尤其高昂。
一种无需大量标注数据即可在大量数据上训练模型的强大方法是半监督学习(SSL)。SSL通过提供一种利用未标注数据的手段来减轻对标注数据的需求。由于未标注数据通常可以以最少的人工劳动获得,因此SSL带来的任何性能提升通常都是低成本的。这导致了许多为深度网络设计的SSL方法的出现。
一种流行的SSL方法类别可以被看作是为未标注的图像生成人工标签,并在输入未标注图像时训练模型预测该人工标签。例如,伪标签方法(pseudo-labeling)使用模型的类别预测作为标签来进行训练。类似地,一致性正则化(consistency regularization)通过在随机修改输入或模型函数后使用模型的预测分布获得人工标签。
在这项工作中,我们打破了近期将越来越复杂的机制结合起来的最新方法的趋势,并提出了一种更简单但更准确的方法。我们的算法FixMatch结合了一致性正则化和伪标签生成人工标签。关键的是,人工标签是基于一个弱增强的未标注图像生成的(例如,仅使用翻转和平移数据增强),并在模型输入同一图像的强增强版本时用作目标。受到UDA和ReMixMatch的启发,我们利用了Cutout、CTAugment和RandAugment进行强增强,这些方法都生成了一个给定图像的高度失真版本。根据伪标签的做法,只有当模型对某个可能的类别分配了较高的概率时,我们才保留人工标