在线互学习 Deep Mutual Learning

本文定位与前置知识

本文介绍知识蒸馏中去教师化的重要范式——在线互学习(Deep Mutual Learning, DML, Zhang et al. 2018, arXiv:1706.00384, CVPR 2018)。在阅读前,请先理解经典 KD 的基本设定:用温度 $T$ 软化教师 softmax 得到软标签,并以软损失+硬损失加权和训练学生(Hinton et al. 2015, arXiv:1503.02531)。经典 KD 依赖一个已训练好的强教师;DML 则彻底去掉这一步。

一、从”教师→学生”到”学生↔学生”

经典 KD 的痛点是:必须先有大教师,且教师固定后学生难以反哺。DML 的思想非常直接——让一群学生从零开始、在训练中相互学习

  • 初始化 $M$ 个结构可同可异的学生网络 ${S_1, S_2, \dots, S_M}$;
  • 没有预训练教师,所有人都是”学生”;
  • 每个学生在学习真实标签的同时,还要去匹配其他同伴的 Softmax 输出(经温度软化)。

换句话说,每个学生同时扮演”学生”和”临时教师”两个角色,整个群体在训练过程中共同进化。

二、协作机制:互相蒸馏的损失

对第 $i$ 个学生,其目标由两部分组成:

  1. 硬标签损失:对真实标签的标准交叉熵 $L_{\text{CE}}(S_i, y)$。
  2. 互学习损失:与所有其他同伴 $j\neq i$ 的软标签 KL 散度(温度 $T$ 软化后):

$$L_{\text{mutual}}(S_i) = \sum_{j\neq i} \text{KL}!\left( \sigma(z_j/T) ,|, \sigma(z_i/T) \right)$$

其中 $z_i$ 为学生 $i$ 的 logits,$\sigma$ 为 softmax。学生 $i$ 被鼓励让自己的预测分布靠近同伴 $j$ 的分布。

第 $i$ 个学生的总损失:

$$L_i = L_{\text{CE}}(S_i, y) + \lambda \sum_{j\neq i} \text{KL}!\left( \sigma(z_j/T) ,|, \sigma(z_i/T) \right)$$

注:损失形式与温度软化遵循 DML 原论文(Zhang et al. 2018);具体 KL 方向(以谁为参考)与 $\lambda$ 取值以原论文为准。

三、训练流程(伪代码)

init S_1..S_M                       # 多个学生,结构可不同
for each step:
    for i in 1..M:
        logits_i = S_i(x)
        L_ce = CrossEntropy(logits_i, y)
        L_mut = Σ_{j≠i} KL(softmax(S_j(x)/T), softmax(logits_i/T))
        L_i = L_ce + λ * L_mut
    # 各自反向更新(可同步或轮流)
    for i in 1..M:
        L_i.backward(); optimizer[i].step()
# 推理:取任一学生,或对 M 个学生集成

关键差异:所有学生的参数都在更新,软标签来自”正在变化的同伴”而非冻结教师——因此是**在线(online)**互学习。

四、为什么互学习有效

  • 没有教师瓶颈:不必先训大模型,小群体从零协作即可获得比单独训练更好的泛化。
  • 集成效应:互学习等价于在训练时隐式集成多个视图,每个学生的决策边界被同伴软化、正则化。
  • 结构灵活:同伴间结构可以不同(如不同宽度),知识以”logits 分布”这种与结构无关的形式流动。
  • 暗知识互补:即便同伴不强,其错误模式与置信度结构仍能互为补充信号。

需注意:互学习的收益与群体规模、同伴多样性、温度 $T$ 相关;具体提升幅度依任务而定,本文不给出未经验证的统一数字(待核实其在大规模 LLM 上的直接有效性结论)。

五、与自蒸馏、经典 KD 的关系

  • vs 经典 KD:经典 KD 依赖单一强教师且教师冻结;DML 无教师、全员在线更新。
  • vs 自蒸馏(BAN):BAN 是”同构自己教自己”且以上一代为目标;DML 是多体协作、无代际。
  • 融合可能:DML 可与特征基/关系基损失叠加,形成多体多层级互学习。

六、同伴数量、多样性与调参

DML 中有两个关键工程变量:

  • 同伴数量 M:M 越大,隐式集成效应越强,但每步训练成本与显存占用线性上升(需同时维护 M 套参数与前向)。M=2 是最常见起点,收益通常已明显;继续增大边际递减。
  • 同伴多样性:让同伴结构不同(如不同宽度、不同深度)比同构复制效果更好,因为各异的偏差能互补。若同伴完全同构且同初始化,可能学到高度相关的解,互学习信号退化。

调参建议:温度 $T$ 与经典 KD 类似需调;互学习权重 $\lambda$ 建议从较小值起步,避免训练初期同伴尚弱时互相”带偏”;可配合学习率预热,待同伴初步成形后再加大互学习强度。

七、与集成训练的区别

DML 容易与”集成训练”混淆,区别在于:

  • 集成训练通常训多个独立模型、推理时平均预测;DML 训练时互相蒸馏,但推理只需单个学生,因此不增加部署成本。
  • DML 的同伴在训练过程中共享”软标签”这一结构化信号,比单纯独立训练更能互相正则。
  • 若推理时也保留 M 个模型做集成,则精度通常更高但失去压缩意义——DML 的核心卖点正是”单模型获得近似集成的效果”。从系统角度看,DML 特别适合”无法负担预训练大模型”的场景:例如边缘设备团队只有若干小模型、却没有强教师可用时,DML 让这些小模型互相成就。它也可以作为分布式训练的副产品——多个节点各自持有一个学生,定期交换软标签即可实现跨节点互学习,而无需汇聚数据。需要指出,DML 的训练稳定性对初始化和学习率较敏感,若同伴之一过早崩溃,其错误软标签会拖累全体;实践中常辅以”同伴表现门控”,临时屏蔽明显退化的同伴(具体门控策略收益待核实)。总的来说,DML 把知识蒸馏从”依赖强教师”扭转为”群体自组织学习”,在教师稀缺或不可得的现实场景中尤其值得优先考虑,也是近年”协作式训练”思路的重要起点。

延伸阅读 / 参考文献

  • Zhang et al. (2018), Deep Mutual Learning, arXiv:1706.00384, CVPR 2018.(在线互学习、无预训练教师、多学生协作的核心来源)
  • Hinton, Vinyals, Dean (2015), Distilling the Knowledge in a Neural Network, arXiv:1503.02531, NIPS 2014 Deep Learning Workshop.(温度软化 softmax 与软标签 KL 损失的基础范式,DML 互学习损失沿用该机制)
本文累计阅读