知识蒸馏用于压缩模型
知识分为:基于响应、基于特征和基于关系。如下图:
基于响应的产生softlabel。
基于特征的可以学习特征图、激活图等。
关系图为上述两种的混合。如两种特征图的关系(FSP)、多个老师模型构建关系图、数据的结构知识等。
蒸馏方案:
离线蒸馏、在线蒸馏、自我蒸馏。如下图
离线蒸馏:先预训练教师模型、蒸馏时教师模型只复制产生知识。
在现蒸馏:教师模型和学生模型同时训练。
自我蒸馏:教师模型和学生模型使用同一个网络,所以可以看作一个特殊的在线蒸馏。可以自己的高级特征--》低级特征蒸馏,早一点的epoch-》晚一点的epoch
可以看作老师教学生、老师和学生一起学习和学生自己学习~~~