论文地址:
https://jiaya.me/papers/kdreview_cvpr21.pdf
主要问题:
目前大部分关于KD的方法都是基于相同层或者相同Block之间的知识迁移。但是Teacher往往深层表示抽象的语义信息,底层表示简单的知识的信息。
因此在Student训练初期,直接学习Teacher的深层抽象语义信息,显然是非常困难。
由此作者提出让Student训练中既能看到抽象的知识又能看到简单的知识,这样开始的时候可以先学习简单的知识,训练后期可以重点学习抽象的知识。
如下图,其中(a)图是蒸logits,(b)是蒸单层feture,©是蒸多层feature。之前的蒸馏方法(a)(b)©三种形式都可以理解为相同层进行蒸馏,引导student学习teacher相同层的feature。
但是这种相同层蒸馏方式在训练的过程中显然是不合理的,teacher深层的语义信息更加抽象,在student的训练初期,去学习teacher的抽象深层语义信息,这样作者认为是困难的。