CodeWalk

Mean Teacher:知识蒸馏式半监督学习的原理

作者:编译有声 · 2026-05-30 12:55

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 EnsemblingMean Teacher
Target来源历史预测的EMA(每epoch更新一次)实时Teacher模型预测
精度批量级更新颗粒度粗每步都更新,更精确
存储成本需存储每个样本的预测历史无需额外存储
适用性适合小数据集适合中大型数据集

关键技巧

  • 教师模型使用Dropout(随机性可提高一致性训练效果)
  • 学生和教师使用不同的增强
  • 为教师添加高斯噪声输入也可提升效果