计算机视觉中的半监督学习(2013-2020)
共 4109字,需浏览 9分钟
·
2020-12-17 17:33
在过去的几年中,计算机视觉的半监督学习方法一直在迅速发展。当前最先进的方法正在简化体系架构和损失函数方面的现有工作,或者通过混合不同的公式来引入混合方法。
在这篇文章中,我将通过图表来说明最近提出的有关半监督学习方法的关键思想。
1. 自训练
在这种半监督的策略中,模型在标记的数据上训练,并用于预测未标记数据的伪标记。然后,在真实标签和伪标签上同时训练模型。
a. 伪标签
Dong-Hyun Lee 在 2013 年提出了一种非常简单有效的策略,称为伪标签
。
想法是同时在一批带标签和未带标签的图像上训练模型。以通常的监督方式在带标签图像上使用带有交叉熵损失来训练模型。使用同一模型来预测一批未标记图像的标记,并将最大置信度类别用作伪标记。然后,通过比较模型预测和未标记图像的伪标记来计算交叉熵损失。
总的损失是标记和未标记损失项的加权和,
为确保模型已从标记数据中充分学习,在最初的 100 个训练步骤中
b. 带噪学生
谢等人于 2019 年提出了一种受知识蒸馏启发的半监督方法,称为带噪学生
。
关键思想是训练两个独立的模型,分别称为教师
和学生
。首先在标记的图像上训练教师模型,然后将其用于推断未标记图像的伪标记。这些伪标签可以采用最可靠的类别,可以是软标签,也可以转换为硬标签。然后,将标记和未标记的图像组合在一起,并在此组合数据上训练学生模型。使用 RandAugment 作为输入噪声的形式来增强图像。而且,模型噪声(例如 Dropout 和随机深度)被合并到学生模型体系结构中。
训练好学生模型后,它将成为新老师,并重复此过程三遍。
2. 一致性正则化
该范例使用的想法是,对未标记图像的模型预测在添加噪声后也应保持一致。我们可以使用输入噪声,例如图像增强和高斯噪声。噪声也可以使用 Dropout 来纳入体系架构中。
a. π 模型
关键思想是为标记和未标记的数据创建两个随机增强图像。然后,使用带 dropout 项的模型来预测这两个图像的标签。这两个预测的差平方用作一致性损失。对于标记图像,我们还计算了交叉熵损失。总损失是这两个损失项的加权和。权重
b. 时域集成
关键思想是将过去预测的指数移动平均值用作一个视图。为了获得另一个视图,我们像往常一样放大图像,并使用带有 dropout 的模型来预测标签。当前预测和 EMA 预测的差平方用作一致性损失。对于标记图像,我们还计算了交叉熵损失。最终损失是这两个损失项的加权和。权重
c. 平均老师
关键思想是拥有两个模型,分别称为学生
和老师
。学生模型是带有 dropout 的常规模型。教师模型与学生模型具有相同的体系架构,但是其权重是使用学生模型的权重的指数移动平均值设置的。对于标记或未标记的图像,我们创建图像的两个随机增强版本。然后,将学生模型用于预测第一张图像的标签分布。并且,教师模型用于预测第二增强图像的标签分布。这两个预测的差平方用作一致性损失。对于标记图像,我们还计算了交叉熵损失。最终损失是这两个损失项的加权和。权重
d. 虚拟对抗训练
关键思想是生成图像的一份对抗转换,这也会改变模型的预测。为此,首先,创建图像的对抗性变体,以使原始图像的模型输出与对抗性图像之间的 KL 散度最大化。
然后,我们按照之前的方法进行操作。我们将带有标签/未标签的图像作为第一视图,并将在先前步骤中生成的对抗示例作为第二视图。然后,使用相同的模型来预测两个图像的标签分布。这两个预测的 KL 散度被用作一致性损失。对于标记图像,我们还计算了交叉熵损失。最终损失是这两个损失项的加权和。权重
e. 无监督数据增强
关键思想是使用 AutoAugment 创建未标记图像的增强版。然后,使用相同的模型来预测这两个图像的标签。这两个预测的 KL 散度被用作一致性损失。对于带标签的图像,我们仅计算交叉熵损失,而不计算一致性损失。最终损失是这两个损失项的加权和。权重
3. 混合方法
这类方法结合了以前工作中的想法,例如自训练和一致性正则化,以及用于提高性能的其他内容。
a. 混搭 MixMatch
要了解这种方法,让我们逐步完成每个步骤。
i. 对于标记的图像,我们对其进行增强。对于未标记的图像,我们创建 K 个增强版本,并获取所有 K 个图像的预测。然后,将预测结果取平均,然后应用 temperature scaling 以获得最终的伪标签。该伪标签将用于所有 K 增强。
ii. 将标记和未标记的增强图像批次整合,然后将整个组洗牌。然后,将该组的前 N 张图像作为
iii. 接着,在标记的批次和组
iv. 然后,对于带标签的组,我们进行模型预测并使用混合标签当 ground truth 来计算交叉熵损失。同样,对于未标记的组,我们使用混合伪标记来计算模型预测并计算均方误差(MSE)损失。对这两项进行加权求和,用
b. FixMatch
如图所示,我们在带有交叉熵损失的标记图像上训练一个监督模型。对于每个未标记的图像,应用弱增强和强增强以获得两个图像。弱增强图像被传递到我们的模型中,我们得到了关于类的预测。将最置信度最高的类别的概率与阈值进行比较。如果它高于阈值,那么我们将该类别作为伪标签。然后,将经过强增强的图像传递到我们的模型中,以获取有关类的预测。使用交叉熵损失将此预测与伪标记进行比较。两种损失都被合并,模型得到了优化。
如果想了解 FixMatch 的更多信息,请参阅论文。
4. 方法比较
下图是上述所有方法之间的差异比较。
5. 通用评估数据集
为了评估这些半监督方法的性能,通常使用以下数据集。作者通过仅使用整个数据集的一小部分(例如 40/250/4000/10000 个示例)作为标记并将其余部分视为未标记的数据集来模拟少数据数据集。
6. 结论
原文: Amit Chaudhary: https://amitness.com/2020/07/semi-supervised-learning/
参考文献
Dong-Hyun Lee, “Pseudo-Label: The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks”
Qizhe Xie et al., “Self-training with Noisy Student improves ImageNet classification”
Samuli Laine et al., “Temporal Ensembling for Semi-Supervised Learning”
Antti Tarvainen et al., “Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results”
Takeru Miyato et al., “Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning”
Qizhe Xie et al., “Unsupervised data augmentation for consistency training”
Hongyi Zhang, et al. “mixup: Beyond Empirical Risk Minimization”
David Berthelot et al., “Mixmatch: A holistic approach to semi-supervised learning”
David Berthelot et al., “ReMixMatch: Semi-Supervised Learning with Distribution Alignment and Augmentation Anchoring”
Kihyuk Sohn et al., “FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence”