论文笔记|SoftMatch:解决半监督学习中伪标签质量与数量的平衡问题

论文标题:SoftMatch: Addressing the Quantity-Quality Trade-off in Semi-supervised Learning

论文链接:https://arxiv.org/abs/2301.10921

代码链接:https://github.com/Hhhhhhao/SoftMatch

论文来源:ICLR2023

作者单位:Carnegie Mellon University, Saarland Informatics Campus, Microsoft Research Asia, Mohamed bin Zayed University of AI

摘要

  之前的半监督学习方法在选取伪标签时,往往不能兼顾伪标签的质量和数量(利用率)。针对半监督学习中如何进行伪标注(pseudo-labeling)的问题,本文从给无监督损失项加权的角度解决了伪标签的质量与数量权衡(trade-off)的问题。本文设计了一个截断的高斯函数,根据模型对无标注数据预测结果,对每个无标注样本的无监督损失加权。此外还提出了一个均匀性对齐模块来解决各类伪标签分布不平衡的问题。

动机

  之前半监督学习中大量使用的伪标注(pseudo-labeling)方法通过模型对无标注数据的预测,根据预先定义的置信度阈值来选取可信的伪标签。然而这种机制存在伪标签质量和数量之间的trade-off,比如在FixMatch中使用了一个较高的固定置信度阈值(0.95)来选取伪标签。虽然这种方法确保了伪标签的质量,但是它丢弃了相当一部分unconfident但是正确的伪标签。如下图所示,有近71%的正确伪标签被丢弃。相反,动态阈值(Flexmatch、Adamatch、Dash等方法)鼓励提高伪标签的利用率,但降低了伪标签的质量。如下图所示,有近16%的利用的伪标签是错误的。


  本文显示地定义了描述伪标签质量与数量的方法,并从一个样本加权的角度分析了之前的研究方法。本文认为之前的方法缺乏对伪标签分布的加权函数施加的复杂假设。置信度阈值可以被视为一种阶梯函数,其根据样本置信度来指定二类(binary)的权重,即假设超过置信度阈值的伪标签同等地正确,然而其它样本都是错误的。基于此,本文提出了SoftMatch半监督学习框架来同时提高伪标签的质量和利用率。

先验知识

问题描述

  在半监督学习中,对于一个batch的有标注数据和无标注数据,模型通常根据有监督分类损失和无监督损失\mathcal{L}=\mathcal{L}_{s}+\mathcal{L}_{u}来进行优化。
\mathcal{L}_{s}=\frac{1}{B_{L}} \sum_{i=1}^{B_{L}} \mathcal{H}\left(\mathbf{y}_{i}, \mathbf{p}\left(\mathbf{y} \mid \mathbf{x}_{i}^{l}\right)\right)

其中\mathcal{H}代表交叉熵,B_{L}代表有标注数据的batch大小。对于无监督损失,本文采用了模型对强增强数据\Omega\left(\mathbf{x}^{u}\right)的预测结果和弱增强数据\omega\left(\mathbf{x}^{u}\right)的伪标签计算加权的交叉熵损失:
\mathcal{L}_{u}=\frac{1}{B_{U}} \sum_{i=1}^{B_{U}} \lambda\left(\mathbf{p}_{i}\right) \mathcal{H}\left(\hat{\mathbf{p}}_{i}, \mathbf{p}\left(\mathbf{y} \mid \Omega\left(\mathbf{x}_{i}^{u}\right)\right)\right)
其中\mathbf{p}是对\mathbf{p}\left(\mathbf{y} \mid \omega\left(\mathbf{x}^{u}\right)\right)的缩写,\hat{\mathbf{p}}是one-hot的伪标签,\lambda(\mathbf{p})是无标注样本的值域在[0,\lambda_{\max }]的加权函数,B_{U}是无标注数据的batch大小。

从样本加权角度来考虑数量和质量之间的权衡
  • 定义2.1 (伪标签的数量):所有无标注数据样本权重的期望:
    f(\mathbf{p})=\mathbb{E}_{\mathcal{D}_{U}}[\lambda(\mathbf{p})] \in\left[0, \lambda_{\max }\right]
  • 定义2.2 (伪标签的质量):伪标签正确率的期望,此处用\mathbf{y}^{u}表示无标注数据\mathbf{x}^{u}的类标签:
    g(\mathbf{p})=\sum_{i}^{N_{U}} \mathbb{1}\left(\hat{\mathbf{p}}_{i}=\mathbf{y}_{i}^{u}\right) \frac{\lambda\left(\mathbf{p}_{i}\right)}{\sum_{j}^{N_{U}} \lambda\left(\mathbf{p}_{j}\right)}=\mathbb{E}_{\bar{\lambda}(\mathbf{p})}\left[\mathbb{1}\left(\hat{\mathbf{p}}=\mathbf{y}^{u}\right)\right] \in[0,1]
    其中\bar{\lambda}(\mathbf{p})=\lambda(\mathbf{p}) / \sum \lambda(\mathbf{p})表示概率质量函数(probability mass function ,PMF)。

  在之前的方法中,\lambda(\mathbf{p})几乎没被研究过,本文首先概括\lambda(\mathbf{p}), \bar{\lambda}(\mathbf{p}), f(\mathbf{p}), g(\mathbf{p}),如下表所示:

SoftMatch

用于样本加权的高斯函数

  本文假设边缘分布的概率质量函数\bar{\lambda}(\mathbf{p})服从一个动态的、以在第t轮训练的\mu_{t}为均值,\sigma_{t}为标准差截断高斯分布:
\lambda(\mathbf{p})=\left\{\begin{array}{ll} \lambda_{\max } \exp \left(-\frac{\left(\max (\mathbf{p})-\mu_{t}\right)^{2}}{2 \sigma_{t}^{2}}\right), & \text { if } \max (\mathbf{p})<\mu_{t}, \\ \lambda_{\max }, & \text { otherwise. } \end{array}\right.

  然而高斯函数的参数\mu_{t}\sigma_{t}是未知的,本文根据模型对无标注数据的历史预测结果来估计\mu\sigma^{2}。在第t轮迭代,计算empirical的均值和方差:
\hat{\mu}_{b}=\hat{\mathbb{E}}_{B_{U}}[\max (\mathbf{p})]=\frac{1}{B_{U}} \sum_{i=1}^{B_{U}} \max \left(\mathbf{p}_{i}\right)
\hat{\sigma}_{b}^{2}=\hat{\operatorname{Var}}_{B_{U}}[\max (\mathbf{p})]=\frac{1}{B_{U}} \sum_{i=1}^{B_{U}}\left(\max \left(\mathbf{p}_{i}\right)-\hat{\mu}_{b}\right)^{2}

  随后利用之前batches的指数移动平均来获得一个更稳定的估计:
\hat{\mu}_{t}=m \hat{\mu}_{t-1}+(1-m) \hat{\mu}_{b}
\hat{\sigma}_{t}^{2}=m \hat{\sigma}_{t-1}^{2}+(1-m) \frac{B_{U}}{B_{U}-1} \hat{\sigma}_{b}^{2}
其中\hat{\mu}_{0}被初始化为1/C\hat{\sigma}_{0}^{2}被初始化为1.0。利用估计的\hat{\mu}_{t}\hat{\sigma}_{t}^{2}代入上述高斯函数公式来计算样本的权重。随着模型学习得越好,预测结果越趋于稳定,\hat{\mu}_{t}增加,\hat{\sigma}_{t}减少。截断的高斯函数可被视为一种soft和adaptive版本的置信度阈值,因此本方法被命名为SoftMatch。

均匀性对齐(Uniform Alignment)

  由于不同类别存在不同的学习难度,生成的伪标签类别可能是不平衡的分布,可能限制PMF假设的泛化性。为解决此问题,本文提出一致性对齐来鼓励不同类别生成更类别更为平衡的伪标签。本文将伪标签的分布定义为模型对无标注预测结果的期望\mathbb{E}_{\mathcal{D}_{U}}\left[\mathbf{p}\left(\mathbf{y} \mid \mathbf{x}^{u}\right)\right]。在训练过程中,利用一个batch中无标注数据预测结果的指数移动平均\hat{\mathbb{E}}_{B_{U}}\left[\mathbf{p}\left(\mathbf{y} \mid \mathbf{x}^{u}\right)\right]来进行估计。对于每个无标注样本的预测概率\mathbf{p},进行以下正则化:
\mathrm{UA}(\mathbf{p})=\text { Normalize }\left(\mathbf{p} \cdot \frac{\mathbf{u}(C)}{\hat{\mathbb{E}}_{B_{U}}[\mathbf{p}]}\right)
其中\mathbf{u}(C) \in \mathbb{R}^{C}是均匀分布,\text { Normalize }(\cdot)=(\cdot) / \sum(\cdot)确保归一化的概率加和为1.0。最终的加权函数改写为:
\lambda(\mathbf{p})=\left\{\begin{array}{ll} \lambda_{\max } \exp \left(-\frac{\left(\max (\mathrm{UA}(\mathbf{p}))-\hat{\mu}_{t}\right)^{2}}{2 \hat{\sigma}_{t}^{2}}\right), & \text { if } \max (\mathrm{UA}(\mathbf{p}))<\hat{\mu}_{t}, \\ \lambda_{\max }, & \text { otherwise. } \end{array}\right.

  在计算样本权重时,均匀性对齐模块为less-predicted的伪标签施加更大的权重,为more-predicted伪标签施加更少的权重,以缓解不平衡问题。

  均匀性对齐(UA)和分布对齐(DA)的重要区别在于无监督学习损失的计算上。DA在进行归一化之后可能产生很多错误的伪标签,它们被用作交叉熵损失中的soft target。而UA利用原始的预测值来计算伪标签,利用归一化的预测结果来计算样本的权重。算法整体流程如下图所示:


实验

  • 类别平衡半监督实验


  • 类别不平衡半监督实验


  • 文本分类数据集的半监督实验


  • 定性分析


  • 消融实验


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容