半监督学习中的伪标签(Pseudo Label)策略
伪标签(Pseudo Label)是半监督学习中最直观的方法。请解释伪标签的工作原理(使用模型对无标注数据的预测概率作为伪标签)、置信度阈值策略、以及如何处理伪标签中的噪声(confirmation bias问题)。
回答
屠龙少年
伪标签(Pseudo Label)原理:
- 用标注数据训练模型
- 用训练好的模型对无标注数据做预测
- 将高置信度的预测结果作为"伪标签"
- 将伪标签数据与标注数据一起训练
置信度阈值策略:
$$ \text{pseudo-label} = \begin{cases} \arg\max(p) & \text{if } \max(p) > \tau \ \text{丢弃} & \text{otherwise} \end{cases} $$
- τ通常取0.95-0.99(高置信度确保质量)
- 每个类别可设独立阈值(解决类别不平衡)
- 也可用Top-K策略(对每个类别取Top K个样本)
Confirmation Bias(确认偏差)问题:
模型用自己的错误预测训练自己,导致错误被强化。
缓解策略:
-
锐化(Sharpening):
- 对预测分布做温度缩放:
p_i = softmax(z_i / T) - T<1时分布更尖锐(低熵),但保留不确定性
- 对预测分布做温度缩放:
-
弱增强→强增强一致性(FixMatch思路):
- 用弱增强图像生成伪标签
- 用强增强图像做一致性训练
-
逐步增加伪标签量:
- 初始使用极少伪标签,随训练逐步增加(curriculum learning)
-
不确定性加权:
- 对伪标签损失根据置信度加权,低置信度样本损失贡献小
-
混合训练:
- 标注数据和伪标签数据用不同学习率
- 伪标签数据的学习率通常更低