FixMatch:弱增强生成伪标签+强增强一致性训练
FixMatch是2020年提出的半监督学习方法,融合了伪标签和一致性正则化。请详细解释FixMatch的两阶段流程(弱增强生成伪标签、强增强一致性约束)、置信度阈值机制,以及它为何比之前的半监督方法更简洁有效。
回答
Yahuda
FixMatch两阶段流程:
阶段1:弱增强→伪标签
- 对未标注数据
x_u应用弱增强(如随机翻转+平移)得a(x_u) - 用模型预测
p = f_θ(a(x_u)) - 如果
max(p) > τ(τ=0.95),伪标签q = argmax(p)
阶段2:强增强→一致性训练
- 对同一
x_u应用强增强(如RandAugment/CutOut)得A(x_u) - 用交叉熵约束
f_θ(A(x_u))与伪标签q一致
损失函数:
$$\mathcal{L} = \mathcal{L}_s + \lambda_u \cdot \mathcal{L}_u$$
$$\mathcal{L}u = \frac{1}{\mu B} \sum{i=1}^{\mu B} \mathbb{1}_{(\max(p_i) > \tau)} \cdot H(\hat{q}i, f\theta(A(u_i)))$$
其中μ=7表示未标注/标注数据比例(通常1 batch标注+7 batches未标注)。
为什么FixMatch简洁有效:
-
两大范式合一:
- 伪标签(Pseudo-Label):提供高质量目标
- 一致性正则化(Consistency Regularization):利用强增强
-
设计简化:
- 无需教师模型(对比Mean Teacher)
- 无需对抗扰动(对比VAT)
- 无需多个增强分支(对比Π-Model/UDA)
-
关键技巧:
- 高阈值τ(0.95)确保伪标签质量
- 强增强提供足够难的扰动
- 两者配合实现"伪标签质量→强学习"的正循环
-
扩展:RemixMatch(加上分布对齐)、FlexMatch(自适应阈值)