在线多分支融合——Knowledge Distillation by On-the-Fly Native Ensemble

"Knowledge Distillation by On-the-Fly Native Ensemble"这篇文章基于给定的基础网络(如Resnet等),通过在网络深层次构造多分支结构,且每个分支作为学生网络,能够融合生成推理性能更强的教师网络。进而,通过教师/学生网络的共同在线学习、教师知识的反馈蒸馏,能够训练得到性能优越的单分支模型或多分支融合模型。

在线多分支融合——Knowledge Distillation by On-the-Fly Native Ensemble

基于ONE(On-the-Fly Native Ensemble)的知识蒸馏/训练框架如上图所示,深层的多分支网络共享相同的浅层网络,且多分支输出通过Gate Module(由FC、BN、ReLU及Softmax构成)的融合系数予以融合,作为教师网络的预测输出:

在线多分支融合——Knowledge Distillation by On-the-Fly Native Ensemble

训练教师网络采用的loss,仅包含与真实标注之间的交叉熵损失(CE loss)。而训练每个分支网络(作为学生网络)的loss,除了CE loss,同时包含来自教师网络的暗知识,即KD loss。因此在线学习教师/学生网络的total loss如下:

在线多分支融合——Knowledge Distillation by On-the-Fly Native Ensemble

算法流程表示如下:

在线多分支融合——Knowledge Distillation by On-the-Fly Native Ensemble

完成训练之后,可以根据实际平台的资源限制,将基于ONE的模型部署为单分支结构或多分支融合结构。且相比简单的多个复杂模型的融合(取平均分、或投票方式),基于ONE的多分支融合结构具有更低的模型容量、甚至可能更好的推理性能。

实验结果表明,相比于单一模型的训练,基于ONE训练获得的单分支模型具有更好的性能表现。且相比于KD Learning、Peer Learning,基于ONE训练获得的模型也具有更好的性能表现。并且KD Learning需要预先训练性能更强的教师网络,因此相比ONE方法,训练耗时更大。Peer Learning由于要同时训练两个学生网络,因此相比于ONE方法,训练耗时更大,且参数更新涉及的同步策略也更复杂。具体见文章实验部分。

Paper地址:https://arxiv.org/abs/1806.04606