- 原理是利用浅而宽的教师网络模型去训练窄而深的学生网络模型。其主要目的就是将一个训练好的大而复杂的模型中相关的知识,迁移到小而简单的学生模型中,以适应计算能力和计算效率要求很高的场合。
- 知识蒸馏网络划分的步骤:
- 确定教师网络,并训练成熟,将教师网络的中间层hint层提取出来;
- 设定学生网络,该网络一般较教师网络更窄、更深,将学生网络的中间层guided层提取出来;
- 由于guided层比与hint层窄,因此在guided层后添加回归器用于特征升维,以匹配hint层特征输出;
- 通过计算hint层的特征输出与回归器转化后的guided层特征均方差,即计算二者特征的距离,距离越短说明Loss越小,两者功能越接近,知识蒸馏越彻底。
- 直观算法图: