一、自训练(Self-training)
Self-training是最简单的半监督方法之一,其主要思想是找到一种方法,用未标记的数据集来扩充已标记的数据集。算法流程如下:
- 首先,利用已标记的数据来训练一个好的模型(教师模型)
- 用学习到的模型预测未标记数据。
- 将生成的伪标签与原始的标记数据相结合,并在合并后数据上进行训练生成模型(学生模型)。
- 学生网络训练完成后变为教师模型再次训练下一个学生网络。
- 整个过程可以重复n次,直到达到收敛。
即首先用有标签数据训练一个分类器,然后用这个分类器对无标签数据进行分类,这样就会产生伪标签(pseudo label)或软标签(soft label),挑选一定标准的伪标签样本用来迭代训练分类器。
使用场景:在现实生活中得到大量有标签数据需要大量时间经历,而自训练是有标签数据+无标签数据混合成的训练数据中使用的深度学习算法,可以利用自训练方法对无标记数据进行标记,实现己标记数据的扩充。
自训练可扩展性、通用性和灵活性,在每种条件设置下均能很好地发挥作用,无论是少数据状态、多数据状态、弱数据增强还是强数据增强。自训练不依赖于模型架构也不依赖于数据集
二、自训练主要问题
(1)自训练方法受标记样本分布和数量的限制。
①当初始标记样本不能代表整个数据分布时,用初始标记样本训练的分类器泛化性较低。这是因为构造的决策边界会偏离真实的决策边界,进而无法有效地归类数据。
② 当初始有标记样本数量不足时,很难构造有效的分类器。因为构造分类器通常需要足够的标记样本,否则会造成误标记。
③当初始有标记样本不足,且不能够代表整个数据集的分布时,就很难有效地发现高置信度无标记 样本。如果高置信度无标记样本被错误发现,就会造成误标记。
论文解决方法:
1.教师模型训练时尽量是数据量较大并进行数据过滤和数据平衡。具体地说,数据过滤用来过滤教师模型中置信度不高的数据,还需要平衡每个类的未标记图像的数量。这样使教师模型拟合能力更强,使错误标记的样本影响减小。
2.教师模型训练进行一致性正则化,使输出的模型不那么过拟合,从而减轻使用软伪标签学习的伪标签不正确或模糊所带来的误导效果。“Confidence Regularized Self-Training”
(2)很难有效地发现高置信度无标记样本。
在自训练过程中,高置信度的无标记样本更容易被预测正确。但如果错误地发现高置信度样本则会导致误标记,这些被错误发现的高置信度样本很难被正确预测。自训练方法中错误标记的样本被视为噪声样本,这会严重扭曲数据的分布。因此,自训练方法中错误标记的样本会降低学习模型的泛化能力。因此,在自训练算法中,如何有效地发现高置度无标记样本是一个关键问题。通常的策略是把基分类器的概率输出作为寻找高置信度样本的方法。然而对于一些经典分类器,比如最近邻、支持向量机等,它们没有概率值输出。
1.挑选伪标签样本的标准,利用不确定性增强伪标签的可信度,减少 noisy 带来的影响。
伪标签对于选出的每个伪标签的数据,我们可以将其传入 N 次,我们会得到不同的 N 个预测结果,将预测结果求平均就得到了预测标签。选取带伪标签数据的方式为Bayesian Active Learning by Disagreement(BALD)“Uncertainty-aware Self-training for Text Classification with Few Labels”
2.使用不同的方法给学生模型增加噪音。
生成伪标签时,教师并没有被噪声干扰。当同一个模型同时作为教师和学生使用时的情况,由于伪标签是使用相同的教师模型生成的,因此一个合理的假设是,在这种情况下,学生模型在未标记数据上的交叉熵损失将为零,那么,学生模型最终将不再学习新东西。而对学生加noisy,可以确保student model的任务更难完成,而不仅仅是学习teacher model的知识,这也是Noisy能够带来提升的一个原因。“Self-Training With Noisy Student Improves ImageNet Classification”
3.将自训练与其他算法结合:
- 协同训练和自训练相结合,若每个数据可以从不同的角度(view)进行分类,不同角度可以训练出不同的分类器,然后用这些从不同角度训练出来的分类器对无标签样本进行分类,再选出认为可信的无标签样本加入训练集中。由于这些分类器从不同角度训练出来的,可以形成一种互补,而提高分类精度;就如同从不同角度可以更好地理解事物一样。
- 结合主动学习和置信度投票策略的集成自训练方法。一方面,该方法用置信度投票的策略选取可靠的机器标注样本,减少了自训练方法误标记样本;另一方面,该方法用 QBC 主动学习策略人工标记异构分类器分类差异大的无标记样本,提高了置信度低样本利用率,也同时提高了分类器的性能。实验证明,该方法得到较好的分类结果。
- 基于近邻密度和半监督 KNN 的集成自训练方法。该方法用“近邻密 度”策略选取初始化分类器有标记样本,使初始化分类器的少量的有标记样本所含信息量尽可能大。然后用半监督 KNN 作为数据剪辑技术的基分类器来过滤掉自训练方法误标记的无标记样本。实验证明,该方法相比对比算法,有较好的分类结果。
- 半监督聚类和数据剪辑的自训练方法。该方法用半监督聚类辅助自训练方法选取信息量大的无标记样本,同时利用半监督数据剪辑技术,过来掉自训练方法误标记的无标记样本。实验结果表明,相比对比算法,该方法有较好的性能
(3)虽然目前已有较多半监督自训练算法,但这些算法所使用的基分类器都有自身的弱点。
现有对半监督自训练算法的理论分析虽然揭示了自训练方法的一些内在机理,但是很多分析都建立在一些较强的假设条件上。发现高置信度无标记样本的方法都严重依赖于参数,导致算法表现不稳定且应用困难。如何在更一般、更接近真实情况条件下如何进行自训练学习是一个问题。论文解决方法:
(4)自训练一般需要有标注样本与无标签样本的性质差异不能太大。
(5)自训练需要迭代多次,且几乎所有的发现高置信度无标记样本的方法都需要排序置信度值,排序过程增加了计算时间,所以计算时间会较长。
标准自训练在分布偏移条件下的技术挑战及根因。我们发现在无分布偏移条件下,伪标签分布和真标签分布几乎相同,然而在有分布偏移条件下,两者差异很大。即使采用置信度、信息熵等不确定性阈值来筛选,筛选机制的可靠性仍将因为分布偏移而显著下降,最终使得标准自训练在领域自适应问题中失效。之前的工作采用可信度阈值(Confidence Threshold)来筛选可靠的伪标签或者给可靠的伪标签更大的权重,然而这类方法不但需要对不同的任务大量调节阈值,而且仍然无法保证分布偏移条件下伪标签的可靠性。我们的分析表明,有效的自训练方法必须显式建模分布偏移条件下的泛化性。本文提出的循环自训练(Cycle Self-Training, CST),从理论上克服了标准自训练在分布偏移条件下的局限性(见图1)。与以前使用筛选伪标签的方法不同,CST能够学习跨领域泛化的伪标签。具体而言,CST在如下两个步骤中循环:
5. Inner Loop: 使用目标领域伪标签训练目标分类器;
6. Outer Loop: 更新共享表征使目标分类器在源领域中表现良好。
该度量在不手动设定或调整可信度阈值的情况下即可自适应地最小化伪标签不确定性。大量实验表明,循环自训练算法(CST)具有简单通用有效三大优点,在计算机视觉、自然语言处理的典型任务中表现优异,多个任务达到SOTA效果。