Mean Teacher:知识蒸馏式半监督学习的原理
Mean Teacher是半监督学习中的经典方法,通过维护一个教师模型的指数移动平均(EMA)参数来提供稳定预测。请解释Mean Teacher的架构设计、师生模型的关系、以及它与Temporal Ensembling的改进关系。
回答
编译有声
Mean Teacher架构:
两个模型共享相同网络结构:
- Student模型:通过梯度下降正常更新参数θ
- Teacher模型:参数θ'通过Student参数的EMA更新
$$\theta_t' = \alpha \theta_{t-1}' + (1-\alpha) \theta_t$$
α通常取0.999(接近0.999意味着教师模型变化极慢)
关键思想:
- Student模型学习对输入扰动保持一致性
- Teacher模型提供稳定的"目标分布"
- 教师不参与梯度更新,避免确认偏差
损失函数:
$$\mathcal{L} = \mathcal{L}{sup} + \lambda \cdot \mathbb{E}{x_u} \left[ | f_\theta(x_u) - f_{\theta'}(x_u') |^2 \right]$$
x_u:弱增强的未标注数据(Teacher输入)x_u':强增强的未标注数据(Student输入)- λ从0逐步增长到设定值(warm-up)
与Temporal Ensembling的改进:
| 维度 | Temporal Ensembling | Mean Teacher |
|---|---|---|
| Target来源 | 历史预测的EMA(每epoch更新一次) | 实时Teacher模型预测 |
| 精度 | 批量级更新颗粒度粗 | 每步都更新,更精确 |
| 存储成本 | 需存储每个样本的预测历史 | 无需额外存储 |
| 适用性 | 适合小数据集 | 适合中大型数据集 |
关键技巧:
- 教师模型使用Dropout(随机性可提高一致性训练效果)
- 学生和教师使用不同的增强
- 为教师添加高斯噪声输入也可提升效果