一致性正则化在半监督学习中的原理
一致性正则化(Consistency Regularization)是半监督学习的核心范式之一。请解释其核心假设(平滑性/聚类假设)、实现方式(对同一输入的不同增强版本输出应一致),以及常用的扰动方法(数据增强/模型参数扰动/对抗扰动)。
回答
屠龙少年
核心假设:
- 平滑性假设(Smoothness Assumption):输入空间中相近的点应有相同的输出
- 聚类假设(Cluster Assumption):决策边界应位于数据稀疏区域
- 流形假设(Manifold Assumption):数据嵌入在低维流形上
一致性正则化公式:
$$\mathcal{L}{consistency} = \mathbb{E}{x \in D_u} \left[ d(f_\theta(x), f_\theta(x')) \right]$$
其中x'是x的扰动版本,d是距离度量(如MSE/KL散度)。
扰动方法分类:
1. 数据增强扰动:
- Π-Model:对同一输入做两次随机增强,最小化输出差异
- FixMatch:弱增强→伪标签,强增强→一致性训练
- UDA:高级增强策略(RandAugment/BackTranslation)
2. 模型参数扰动:
- Temporal Ensembling:对模型输出做EMA移动平均作为target
- Mean Teacher:维护一个Teacher模型的EMA参数 $$\theta_{teacher}' = \alpha \theta_{teacher} + (1-\alpha) \theta_{student}$$
- 教师模型的一贯预测比单次预测更稳定
3. 对抗扰动:
- VAT(Virtual Adversarial Training): 寻找使输出分布变化最大的扰动方向(无需标签)
- 对平滑性假设更强力的正则化
实现细节:
- 未标注数据的损失函数通常乘以系数λ(权重增长warm-up)
- 常用距离:KL散度(
KL(p||q))或均方误差 - Batch大小中标注/未标注通常1:7或1:3