一、引言
在当今的机器学习领域,半监督学习(SSL)作为一种重要的学习范式,受到了广泛的关注。它旨在利用有限的标记数据和大量的未标记数据来提升模型的性能,从而在数据标记成本较高而未标记数据丰富的情况下发挥重要作用。本文将深入剖析一篇关于SSL算法AllMatch的论文,详细介绍其研究背景、方法、实验结果以及研究结论,帮助读者全面理解该算法的创新之处和卓越性能。
(一)半监督学习概述
半监督学习的核心思想是在仅有少量标记样本和大量未标记样本的情况下,让模型学习到数据中的潜在模式和结构。传统的监督学习依赖大量的标记数据进行训练,但获取标记数据往往需要耗费大量的人力、物力和时间。而半监督学习则试图打破这一限制,通过巧妙地利用未标记数据来增强模型的泛化能力。例如,在图像分类任务中,收集大量图像并为每一张图像标记类别是非常耗时的,但获取未标记的图像相对容易。半监督学习算法就可以利用这些未标记图像中的信息,辅助模型更好地理解图像的特征和类别之间的关系。
(二)现有SSL算法的局限性
尽管SSL算法在理论上具有很大的潜力,但现有的许多算法仍面临一些挑战。其中,基于阈值的伪标记策略是一种常用的方法,但它存在着未标记数据利用率低的问题。在这种策略中,通常会设定一个置信阈值,只有超过该阈值的伪标签才会被用于训练模型,而低于阈值的伪标签则被丢弃。然而,这种简单的阈值设定方式忽略了很多潜在有用的信息。正如论文中所指出的,即使是被丢弃的低置信度伪标签,也可能包含对模型学习有价值的信息,例如在某些情况下,它们能够帮助排除一些明显错误的类别选项,缩小模型的搜索范围。此外,阈值的固定性无法适应模型在训练过程中的动态变化,模型在训练初期可能需要较低的阈值来纳入更多的样本进行学习,但随着训练的进行,模型能力逐渐提升,此时固定的阈值可能会导致一些有用的样本被错误地排除在外。
(三)本文的研究目的与创新点
针对现有SSL算法的局限性,本文提出了一种名为AllMatch的新型SSL算法,旨在解决阈值伪标记的有效性问题以及提高未标记数据的利用率。AllMatch算法的创新点主要体现在两个方面:一是提出了类别特定自适应阈值(CAT)机制,该机制通过结合未标记数据的预测信息和分类器权重,能够动态地调整每个类别的阈值,使其更好地适应模型的学习状态;二是设计了二元分类一致性(BCC)正则化方法,通过对未标记样本进行候选 - 负类划分,并鼓励不同扰动视图间保持一致的划分,为所有未标记样本引入了有效的监督信号,从而充分挖掘了未标记数据的潜力。
二、研究方法
(一)类别特定自适应阈值(CAT)机制
- 全局估计
- CAT机制的全局估计步骤借鉴了FreeMatch算法的思想,使用未标记数据的平均置信度来评估模型的整体学习状态。在神经网络的训练过程中,深度神经网络通常会先学习容易的样本,然后再逐渐处理更难和更嘈杂的样本。在训练初期,模型对数据的理解有限,此时未标记数据的平均置信度较低,因此需要设置较低的阈值,以便让更多可能正确的伪标签参与训练。随着训练的推进,模型对数据的学习逐渐深入,预测的平均置信度会逐渐增加,此时应提高阈值,以筛选出更可靠的伪标签,避免引入过多错误的监督信息。为了有效地跟踪平均置信度的变化,论文中采用了指数移动平均(EMA)的方法来更新全局阈值。具体而言,在第t次迭代时,全局阈值τt\tau_tτt的计算如下:
τt={ 1Cif t=0mτt−1+(1−m)1BU∑i=1BUmax(pi)otherwise \tau_t=\begin{cases}\frac{1}{C}&\text{if }t = 0\\m\tau_{t - 1}+(1 - m)\frac{1}{B_U}\sum_{i = 1}^{B_U}\max(p_i)&\text{otherwise}\end{cases} τt={ C1mτt−1+(1−m)BU1∑i=1BUmax(pi)if t=0otherwise
其中,pip_ipi表示样本uiu_iui的预测概率,mmm是动量衰减系数,BUB_UBU是未标记数据的批大小,CCC是类别数量。这种计算方式使得全局阈值能够根据模型在训练过程中的学习进展进行动态调整,从而更好地适应不同阶段的需求。
- CAT机制的全局估计步骤借鉴了FreeMatch算法的思想,使用未标记数据的平均置信度来评估模型的整体学习状态。在神经网络的训练过程中,深度神经网络通常会先学习容易的样本,然后再逐渐处理更难和更嘈杂的样本。在训练初期,模型对数据的理解有限,此时未标记数据的平均置信度较低,因此需要设置较低的阈值,以便让更多可能正确的伪标签参与训练。随着训练的推进,模型对数据的学习逐渐深入,预测的平均置信度会逐渐增加,此时应提高阈值,以筛选出更可靠的伪标签,避免引入过多错误的监督信息。为了有效地跟踪平均置信度的变化,论文中采用了指数移动平均(EMA)的方法来更新全局阈值。具体而言,在第t次迭代时,全局阈值τt\tau_tτt的计算如下:
- 局部调整
- 由于不同类别之间的学习难度存在固有差异,且模型参数初始化具有随机性,因此每个类别的学习状态在模型训练过程中各不相同。为了解决这一问题,CAT机制引入了局部调整步骤。该步骤利用分类器权重的L2范数来洞察每个类别的特定学习状态。从理论上讲,对于一个未标记样本uiu_iui,其特征向量f=F(ui)f = F(u_i)f=F(ui)经过分类器GGG后得到预测logitsz=G(f)=fWTz = G(f)=fW^Tz=G(f)=fWT(其中WWW是分类器的权重矩阵)。类别ccc的logit值zcz_czc可以表示为zc=∥f∥⋅∥Wc∥⋅cos(θ)z_c=\|f\|\cdot\|W_c\|\cdot\cos(\theta)zc=∥f∥⋅∥Wc∥⋅cos(θ),这里的∥Wc∥\|W_c\|∥Wc∥就是类别ccc的权重向量的L2范数。研究发现,权重范数∥Wc∥\|W_c\|∥W