知识蒸馏(Distillation)简介

1.介绍

    知识蒸馏最早出自于论文“Distilling the Knowledge in a Neural Network”,作者是深度学习泰斗Geofrey Hinton,在人工智能方向上,有公认的四大天王,见下图,另外,博主也算是吴恩达的学生,从一个门外汉看他的视频一步一步的走上了算法工程师的岗位,建议有这方面兴趣的人,可以去看他的视频,比培训班的视频不知道要强多少。

知识蒸馏(Distillation)简介_第1张图片

 

2.模型结构

知识蒸馏(Distillation)简介_第2张图片

第一步:训练大模型(teacher 模型),用到的标签是正常(hard)label(one-hot之后的,比如【0,0,1,0】)

第二步:计算soft target:利用训练好的大模型来计算soft target,也就是大模型的输出经过下面的公式计算,其中T一般从20开始试

 

第三步:训练小模型(student 模型),在小模型的基础上再加一个额外的soft target的loss function,通过权重来调节两个loss functions的比重

 

第四步:预测时,将训练好的小模型按常规方式(右图)使用,这个和正常的网络预测没有任何区别,不要想复杂了

 

3.模型特点

      1.hard label与 soft  target区别?

      hard label一般是这样的:【0,0,1,0】,除了表示第三个位置的概率为1,并不能表示其它信息

      soft   target一般是这样的:【0.1,0.1,0,6,0.2】,其它位置(除了第三个位置)也能表示是这个属性的概率有多少,这里面有一个潜在关系,即不同类别之间的关系

     2.上面公式中,T的作用?

     T的作用就是起一个软化作用,比如输出为【0.001, 0.149,0.85】(现在比较好分类),经上面公式计算之后,soft target为【0.1,0.3,0.6】(分类正确相对于前面变困难了一点)这就人为的加大了训练困难,当T最后被设置为1的时候,结果就会接近teacher 模型

 

你可能感兴趣的:(深度学习模型量化与剪枝,深度学习模型量化与剪枝)