把大模型压缩成小模型。
用hard targets训练教师网络,用soft targets训练学生网络(因为学生网络相对比较科学,因为马和驴差不多,所以概率差不多)。
如果想要错误类别的得分更大一点,可以加上一个蒸馏温度,如果t=1则就是普通的softmax,右下角可以看到t=3的时候错误类别的得分大了一点。
这个图里面的两个loss就是下图里的两个loss。
教师网络是已经训练好的,整体来说就是做两次loss。distillation loss就像一个老师在教你。
好处:可以防止过拟合;可以进行零样本学习,比如说学生网络从来没见过牛,但是教师网络可以教学生网络。
多个老师的情况。
或者也可以考虑用中间层来作为老师。
用中间层来作为老师。