FlexMatch: Boosting Semi-Supervised Learning with Curriculum Pseudo Labeling
-
- 摘要:
- 引言:
- 背景
- 3 flexMatch
-
- 3.1 Curriculum Pseudo Labeling
- 3.2 阈值预热
- 3.3非线性映射函数
- 实验
-
- 4.1 主要结果
- 4.2 ImageNet上的结果
- 4.3收敛速度加速
- 4.4 消融研究
- 5 相关工作
摘要:
最近提出的FixMatch在大多数半监督学习(SSL)基准上取得了最先进的结果。然而,像其他现代SSL算法一样,FixMatch为所有类别使用预定义的恒定阈值来选择有助于训练的未标记数据,忽略了不同类别的学习状态和难度差异。为了解决这个问题,我们提出了课程伪标签(Curriculum Pseudo Labeling, CPL),这是一种基于课程学习的方法,根据模型的学习状态利用未标记数据。CPL的核心是动态调整不同类别的阈值,使得有价值的未标记数据及其伪标签得以通过。CPL不引入额外的参数或计算(前向或反向传播)。我们将CPL应用于FixMatch,称为FlexMatch。FlexMatch在多个SSL基准上表现出色,尤其是在标注数据极其有限或任务困难时表现突出。例如,FlexMatch在CIFAR-100和STL-10数据集上分别实现了比FixMatch高13.96%和18.96%的错误率降低,当每类仅有4个标签时。CPL还显著提高了收敛速度,例如,FlexMatch只需FixMatch 1/5的训练时间即可获得更好的性能。此外,我们还展示了CPL可以轻松适配其他SSL算法并显著提高其性能。我们的代码已开源,地址为:https://github.com/TorchSSL/TorchSSL。
引言:
半监督学习(SSL)由于其在利用大量未标记数据上的优势,近年来引起了越来越多的关注。特别是在标记数据数量有限或获取过程繁琐的情况下,这种方法具有很大优势。一致性正则化[1–3]和伪标签[4–8]是两种利用未标记数据的强大技术,已广泛应用于现代SSL算法中[9–13]。最近提出的FixMatch[14]通过结合弱增强和强增强技术以及使用交叉熵损失作为一致性正则化标准,取得了具有竞争力的结果。
然而,FixMatch以及其他流行的SSL算法如伪标签法[4]和无监督数据增强(UDA)[11]的一个缺点是,它们依赖于固定的阈值来计算无监督损失,仅使用预测置信度高于阈值的未标记数据。虽然这一策略可以确保只有高质量的未标记数据用于模型训练,但它忽略了大量其他未标记数据,特别是在训练过程的早期阶段,此时只有少量未标记数据的预测置信度高于阈值。此外,现代SSL算法对所有类别一视同仁,未考虑到不同类别的学习难度差异。
为了解决这些问题,我们提出了课程伪标签(Curriculum Pseudo Labeling,CPL),一种课程学习策略[15],以考虑每个类别的学习状态用于半监督学习。CPL使用动态调整的灵活阈值替代预定义的固定阈值,这些阈值会根据当前的学习状态为每个类别动态调整。值得注意的是,这一过程不会引入任何额外的参数(超参数或可训练参数)或额外的计算(前向传播或反向传播)。我们将这种课程学习策略直接应用于FixMatch,并将改进后的算法称为FlexMatch。
尽管训练速度与FixMatch同样高效,FlexMatch的收敛速度显著更快,并在大多数SSL图像分类基准测试中实现了最先进的性能。引入CPL的好处在标签稀缺或任务具有挑战性时尤为显著。例如,在STL-10数据集上,当标签数量分别为400、2500和10000时,FlexMatch相对于FixMatch的性能分别提升了18.96%、16.11%和7.68%。此外,CPL通过加快收敛速度进一步显示了其优越性——使用CPL,FlexMatch仅需FixMatch不到1/5的训练时间即可达到最终准确度。将CPL应用于其他现代SSL算法,同样带来了准确性和收敛速度的提升。
总结来说,本文作出了以下三点贡献:
- 我们提出了课程伪标签(CPL),这是一种课程学习方法,能够动态利用未标记数据用于半监督学习。CPL几乎无需额外成本,且能够轻松集成到其他SSL方法中。
- CPL显著提升了多个常见基准测试上流行SSL算法的准确性和收敛性能。具体而言,FixMatch与CPL结合后的FlexMatch算法达到了最先进的结果。
- 我们开源了TorchSSL,一个基于PyTorch的统一半监督学习代码库,用于公平研究SSL算法。TorchSSL包含了流行SSL算法的实现及其相应的训练策略,易于使用或定制。
背景
一致性正则化遵循半监督学习(SSL)的连续性假设[1, 2]。在SSL中,最基本的一致性损失,如在Π模型[9]、Mean Teacher[10]和MixMatch[12]中使用的,是𝓵-2损失:
其中B是标记数据的批量大小,µ是未标记数据与标记数据的比例,ω是一个随机数据增强函数(因此公式(1)中的两个项是不同的),ub表示一条未标记数据,pm表示模型的输出概率。随着伪标签技术的引入[5, 7],一致性正则化被转换为一个熵最小化过程[16],这更适合分类任务。改进的一致性损失与伪标签结合可以表示为:
其中H是交叉熵,τ是预定义的阈值,ˆpm(y|ω(ub))是伪标签,可以是“硬”的一热标签[4, 14]或经过增强的“软”标签[11]。使用阈值的目的是为了屏蔽那些预测置信度低的噪声未标记数据。
FixMatch利用这种一致性正则化与强增强相结合,以实现竞争性能。对于未标记数据,FixMatch首先使用弱增强生成人工标签。这些标签随后被用作强增强数据的目标。因此,FixMatch中的无监督损失项呈现如下形式:
其中Ω是强增广函数而不是弱增广函数。
在上述工作中,预定义的阈值(τ)是固定