本发明涉及计算机视觉和深度学习领域,特别是涉及一种基于教师分类器共享与投影集成的特征蒸馏方法。
背景技术:
1、近年来,深度神经网络在图像分类、目标检测、自然语言处理等领域取得了显著的成果,但网络性能的提升往往意味着使用更深更大的模型,也就意味着更多的参数。而边缘设备的算力是有限的,最先进的算法很难在边缘设备上进行有效的部署。为解决这一问题,人们开发出剪枝、量化、蒸馏、低秩分解等方法,希望在不损失模型精度的情况下,使模型变得更小。
2、知识蒸馏将信息从大型或集成模型中转移到小的学生模型。现有的蒸馏方法主要分为基于响应的蒸馏、基于特征的蒸馏和基于关系的蒸馏。基于响应的蒸馏通过模仿教师最终的预测来提高学生性能,这种方法简单有效,但却忽视了教师模型中间层的信息;基于特征的方法通过模仿中间层或最后一层的输出来提高学生的性能,这为提升学生性能提供了清晰的方向。过去的研究已经提出各种方法优化中间层的知识的提取,这些方法精心设计了知识的表达,使得学生的性能得到不断提升,但多种知识的平衡需要复杂的调参,而越发复杂的知识使得解释学生的表现变得困难。
3、以往的经验表明,模型的最终分类器在进行推理时有重要的作用,若学生模型分类器的性能同教师模型分类器一样,学生模型与教师模型表现之间的差距就有可能会消失。但学生网络的特征维度并不总是与教师网络相同,图像经学生特征编码过的特征无法直接使用教师的分类器进行推理。
4、因此亟需提供一种基于教师分类器共享与投影集成的特征蒸馏方法来解决上述问题。
技术实现思路
1、本发明所要解决的技术问题是提供一种基于教师分类器共享与投影集成的特征蒸馏方法,能够使学生模型直接使用教师模型的分类器进行最终的推理,减少蒸馏中复杂的调参过程,实现小的学生模型拥有与大的教师模型相近的图像分类能力。
2、为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于教师分类器共享与投影集成的特征蒸馏方法,包括以下步骤:
3、s1:将样本输入到教师模型,获得教师模型的预训练参数;
4、s2:初始化学生模型,设置用于进行特征转换的集成投影仪的数量,加载教师模型的最终分类器给学生模型;
5、s3:将样本数据输入学生网络获得学生特征,学生特征经过集成投影仪后,得到与教师特征维度相同的学生特征,将转换后的学生特征与基于教师模型提取的教师特征之间的l2范数构建损失函数,反向传播进行学生模型的优化;
6、s4:根据所述损失函数更新学生模型中特征编码器与集成投影仪中的参数,训练学生模型至收敛,保存最终的学生模型。
7、在本发明一个较佳实施例中,步骤s2的具体步骤包括:
8、s201:初始化学生模型;
9、s202:加载教师模型的预训练参数,连接教师模型的最后一层给学生模型,冻结教师模型最后一层的参数;
10、s203:添加多个投影仪对学生模型编码的特征进行转换,匹配教师模型与学生模型倒数第二层编码的特征维度。
11、进一步的,所述学生模型产生的学生特征,是学生模型的倒数第二层的输出,其编码特征表示为:
12、
13、其中和分别为学生模型特征编码后的特征维度和批大小,是第个批次的学生特征;
14、传递到权重为的学生分类器中,得到学生模型的分类预测结果:
15、
16、其中为分类任务中的类别数;
17、所述教师分类器为预训练教师模型的最后一层,教师模型特征编码后的教师特征为:
18、
19、其中是教师的特征维度,是第个批次的教师特征;
20、在学生模型的倒数第二层后添加多个投影仪,通过以下公式进行投影仪的集成并完成学生模型的特征转换和对齐:
21、,
22、其中是投影仪的数量,指的是第k个投影仪转换后的学生特征,为relu函数,是第k个投影仪的加权矩阵,是经集成投影仪转换后的第个批次的学生特征。
23、更进一步的,在步骤s3中,所述损失函数的构建方法为:
24、通过多投影对齐损失对齐学生模型生成的特征与教师模型生成的特征:
25、
26、其中,表示范数,表示两个向量的内积;
27、最终构成的损失函数为:
28、
29、其中,即为最终的蒸馏损失,是一个超参数,其取值范围为25到600。
30、为解决上述技术问题,本发明采用的第二个技术方案是:提供一种基于教师分类器共享与投影集成的特征蒸馏系统,包括:
31、教师模型训练模块,用于将样本输入到教师模型,获得教师模型的预训练参数;
32、学生模型特征转换模块,用于初始化学生模型,设置用于进行特征转换的集成投影仪的数量,加载教师模型的最终分类器给学生模型;
33、特征蒸馏模块,用于将样本数据输入学生网络获得学生特征,学生特征经过集成投影仪后,得到与教师特征维度相同的学生特征,将转换后的学生特征与基于教师模型提取的教师特征之间的l2范数构建损失函数,反向传播进行学生模型的优化;
34、学生模型训练模块,用于根据所述特征蒸馏模块构建的损失函数更新学生模型中特征编码器与集成投影仪中的参数,训练学生模型至收敛,保存最终的学生模型。
35、在本发明一个较佳实施例中,所述学生模型特征转换模块初始化学生模型,设置集成投影仪的数量,加载教师模型的最终分类器给学生模型的具体步骤包括:
36、首先,初始化学生模型;
37、其次,加载教师模型的预训练参数,连接教师模型的最后一层给学生模型,冻结教师模型最后一层的参数;
38、最后,添加多个投影仪对学生模型编码的特征进行转换,匹配教师模型与学生模型倒数第二层编码的特征维度。
39、为解决上述技术问题,本发明采用的第三个技术方案是:提供一种用于对如上任一项所述基于教师分类器共享与投影集成的特征蒸馏方法中的投影仪性能评估方法,通过计算学生模型和教师模型的特征差异评估投影后学生模型和教师模型之间的特征分布,该特征差异值越大,其表现出来的投影性能越好;
40、学生模型和教师模型的特征差异如下:
41、
42、上述公式中为批大小,与分别为第个批次的学生特征与第个批次的教师特征。
43、本发明的有益效果是:本发明采用简单的参数重用策略,深入研究了教师分类器在蒸馏过程中的重要价值,探讨了特征匹配在蒸馏中的关键作用。鉴于学生通常由于特征尺寸不匹配而难以直接利用性能更优的教师分类器,本方法通过强调特征匹配,解决了这一难题,使得学生能够更有效地借鉴教师分类器的优越性能;
44、本发明所述方法,首先训练一个较大的神经网络叫做教师网络;通过简单的参数重用与特征匹配使得学生模型经过蒸馏后拥有与教师模型相相近的性能,同时,本发明所述方法不仅带来了更好的性能,而且不再需要复杂的知识表示和超参数调节过程,简化了知识蒸馏中复杂的损失项,仅只有一个损失项用于反向传播。并且本发明提供了一种简单有效的投影集成方法用于特征对齐,学生性能能伴随着集成投影的数量增加得到持续的改善。