伪标签(Pseudo Label)半监督学习中的概念,能够帮助模型更好的从无标注的信息中进行学习。

与完全的无监督学习相比,半监督学习拥有部分的标注数据和大量的未标注数据,更加适合现实场景和竞赛场景。

  • 在现实,标注数据少,未标注数据多;
  • 在竞赛,训练集有标注,测试集未标注;

在半监督学习中伪标签是其中的方法,思路如下:先利用现有的标注数据,训练模型;利用训练的模型对无标注数据预测;将无标注数据的预测标签和数据加入训练集一起训练;

半监督学习最新的伪标签生成方法_半监督学习最新的伪标签生成方法

不是将所有的未标注数据预测后一起进行训练,

  • 如果初期有标注的数据集比较少,则每次加入的伪标签也不能很多;
  • 上述对未标注数据进行预测和加入训练的过程是迭代进行,不是单次进行的。

在竞赛中伪标签不是万能的,一般情况下伪标签适用于:

  • 非结构化数据,使用深度学习的常见下;
  • 模型的精度较高的情况下,加入的伪标签才精确;

在竞赛中,根据Kaggle的机制伪标签可以分为:

  • 非Kernel赛:线下伪标签,线下预测,进行伪标签训练,再预测;
  • Kernel赛:线上伪标签,线上预测,伪标签再训练预测,再预测;

伪标签与软标签

  • 伪标签(Pseudo Label)对未标注数据进行预测,进行二次训练;
  • 软标签(Soft Label)对标签转为离散值,进行二次训练;

软标签一般使用在模型蒸馏和某些数据集的训练中,可以让模型学习到样本整体类别分布。同时软标签与硬标签(Hard Label)相比,可以防止模型过拟合,配合mixup一起进行使用。

软标签与伪标签同时使用;在下图中照片的原始标签为car,但照片还有person的类别,如果直接使用硬标签进行训练,会带来一定的模型噪音。可用模型的预测概率结果(每类概率分布)代替原始图片的标签进行训练,这样图片的标签就更加合理,模型训练过程也会更加稳定。

半监督学习最新的伪标签生成方法_半监督学习_02

  • 在竞赛中如果没有其他涨分的方法,再建议尝试伪标签,否则不建议尝试;
  • 伪标签适合用在深度学习方法中,且一般选择预测执行度高的样本加入训练;
  • 伪标签是否能使用,需要按照举办方规定;

半监督的训练过程:

第一步:使用标签数据训练模型

第二步:使用训练的模型为不加标签的数据预测标签

第三步:同时使用pseudo和标签数据集重新训练模型,模型用于对测试数据的最终预测。

参考:Kaggle知识点:伪标签Pseudo Label - 墨天轮

【机器学习】伪标签(Pseudo-Labelling)的介绍:一种半监督机器学习技术 - 腾讯云开发者社区-腾讯云