一种高分辨率模型蒸馏低分辨率模型的方法与流程

文档序号:35533812发布日期:2023-09-21 17:26阅读:31来源:国知局
一种高分辨率模型蒸馏低分辨率模型的方法与流程

本发明涉及基于特定计算模型的计算机系统的,特别涉及一种深度学习的高分辨率模型蒸馏低分辨率模型的方法。


背景技术:

1、知识蒸馏(knowledge distillation,简记为 kd)是一种经典的模型压缩方法,其核心思想是将复杂、学习能力强的网络学到的特征表示进行提取,传递给参数量小、学习能力弱的学生模型,通过引导轻量化的学生模型“模仿”性能更好、结构更复杂的教师模型或多模型整体,在不改变学生模型结构的情况下提高其性能。

2、深度学习模型中,受限于模型的推理效率问题,一般会将输入图像的大小进行压缩,使得模型的推理速度和精度达到平衡。然而,更大的图像输入尺寸大小对于模型的精度提升是有效的,高分辨率输入(如256x256)的模型在精度上一般都会优于低分辨率(如128x128)模型。因此,如何将高分辨率下的模型精度维持住,并且不过多提升模型的复杂度,是一个值得研究的问题。

3、然而,从技术实现角度,按照一般的蒸馏训练形式,在logits层或feature层以kdloss做检测,大分辨率输入的模型对低分辨率模型做知识蒸馏将面临中间层特征的尺寸大小或输出层(logits层)的尺寸大小无法对齐的情况,导致蒸馏过程无法进行,此问题亟待解决。


技术实现思路

1、本发明解决了现有技术中存在的问题,提供了一种高分辨率模型蒸馏低分辨率模型的方法。

2、本发明所采用的技术方案是,一种高分辨率模型蒸馏低分辨率模型的方法,在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,处理为分辨率不同的两图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型;高分辨率模型和低分辨率模型分别处理对应的输入,以改进的特征对齐模块对齐特征,在高分辨率模型和低分辨率模型间建立关联,训练低分辨率模型,完成高分辨率(大输入尺寸)模型到低分辨率(小输入尺寸)模型的蒸馏学习。

3、本发明中,特征对齐模块根据高分辨率(大输入尺寸)模型的各种输入尺寸大小动态调整,使得始终可以对齐低分辨率(小输入尺寸)模型的特征。

4、优选地,所述高分辨率图像和低分辨率图像的图像尺寸不同。

5、优选地,所述高分辨率模型和低分辨率模型结构相同。

6、优选地,将高分辨率图像输入高分辨率模型、低分辨率图像输入低分辨率模型后,对应输出高分辨率特征、低分辨率特征;所述改进的特征对齐模块包括双线性插值单元,用于将高分辨率特征插值为低分辨率特征并匹配低分辨率模型;插值后的所述低分辨率特征用于监督学习、训练改进的特征对齐模块。

7、优选地,配合插值后的所述低分辨率特征设有偏差修正单元,所述偏差修正单元与低分辨率特征大小一致,相加后得到用于匹配低分辨率模型的新低分辨率特征,以所述新低分辨率特征用于监督学习、训练改进的特征对齐模块。

8、优选地,对于所述新低分辨率特征进行向上的插值操作,得到与高分辨率特征大小一致的特征feature_up,计算高分辨率特征与feature_up的refine loss。

9、优选地,refine loss为mse loss。

10、优选地,所述新低分辨率特征与低分辨率模型输出的低分辨率特征进行蒸馏学习,通过kd loss进行蒸馏损失的计算。

11、优选地,kd loss为mse loss。

12、优选地,高分辨率模型和低分辨率模型的输出还被分别输入到对应的任务损失函数中进行训练。

13、本发明中,对于同一张输入图像,高分辨率模型可以同时采用不同大小的输入(但大于低分辨率模型的输入)提取特征,然后对这些不同尺度下得到的特征都同时对齐到低分辨率模型的特征大小上,再对这些特征做融合(一般是取平均),融合后的特征与低分辨率模型的特征做蒸馏学习;在不清楚高分辨率模型的具体输入尺寸的情况下,事实上无法确定以什么尺寸执行对齐蒸馏,故采用多种大尺度的特征进行特征融合,避免这种问题。

14、本发明涉及一种高分辨率模型蒸馏低分辨率模型的方法,在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,处理为分辨率不同的两图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型;高分辨率模型和低分辨率模型分别处理对应的输入,以改进的特征对齐模块对齐特征,在高分辨率模型和低分辨率模型间建立关联,训练低分辨率模型,完成高分辨率模型蒸馏低分辨率模型。

15、本发明的有益效果在于:

16、(1)解决高分辨率输入模型蒸馏低分辨率输入模型的过程中,中间层特征的尺寸大小或输出层的尺寸大小无法对齐的问题;

17、(2)通过高分辨率输入模型蒸馏低分辨率模型,提升低分辨率模型的模型精度,同时维持低分辨率模型原有的推理速度;

18、(3)不限制高分辨率模型和低分辨率模型的网络结构必须相同;

19、(4)具备通用性,不限定于单一的深度学习任务,在包括但不限于分类、检测、分割等的多种任务中都可以通用,可以扩展到各种类型的算法模型的蒸馏上。



技术特征:

1.一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,处理为分辨率不同的两图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型;高分辨率模型和低分辨率模型分别处理对应的输入,以改进的特征对齐模块对齐特征,在高分辨率模型和低分辨率模型间建立关联,训练低分辨率模型,完成高分辨率模型到低分辨率模型的蒸馏学习。

2.根据权利要求1所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:所述高分辨率图像和低分辨率图像的图像尺寸不同。

3.根据权利要求1所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:所述高分辨率模型和低分辨率模型结构相同。

4.根据权利要求1所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:将高分辨率图像输入高分辨率模型、低分辨率图像输入低分辨率模型后,对应输出高分辨率特征、低分辨率特征;所述改进的特征对齐模块包括双线性插值单元,用于将高分辨率特征插值为低分辨率特征并匹配低分辨率模型;插值后的所述低分辨率特征用于监督学习、训练改进的特征对齐模块。

5.根据权利要求4所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:配合插值后的所述低分辨率特征设有偏差修正单元,所述偏差修正单元与低分辨率特征大小一致,相加后得到用于匹配低分辨率模型的新低分辨率特征,以所述新低分辨率特征用于监督学习、训练改进的特征对齐模块。

6.根据权利要求5所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:对于所述新低分辨率特征进行向上的插值操作,得到与高分辨率特征大小一致的特征feature_up,计算高分辨率特征与feature_up的refine loss。

7.根据权利要求6所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:refine loss为mse loss。

8.根据权利要求5所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:所述新低分辨率特征与低分辨率模型输出的低分辨率特征进行蒸馏学习,通过kd loss进行蒸馏损失的计算。

9.根据权利要求8所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:kdloss为mse loss。

10.根据权利要求1所述的一种高分辨率模型蒸馏低分辨率模型的方法,其特征在于:高分辨率模型和低分辨率模型的输出还被分别输入到对应的任务损失函数中进行训练。


技术总结
本发明涉及一种高分辨率模型蒸馏低分辨率模型的方法,在低分辨率模型中设置改进的特征对齐模块;基于同一输入图像,将高分辨率图像输入高分辨率模型,将低分辨率图像输入低分辨率模型,模型分别处理对应输入,以改进的特征对齐模块对齐特征,在模型间建立关联,训练低分辨率模型,完成高分辨率模型蒸馏低分辨率模型。本发明通过高分辨率输入模型蒸馏低分辨率模型,提升低分辨率模型的模型精度,同时维持低分辨率模型原有的推理速度;不限制高分辨率模型和低分辨率模型的网络结构必须相同;具备通用性,不限定于单一的深度学习任务,在包括但不限于分类、检测、分割等的多种任务中都可以通用,可以扩展到各种类型的算法模型的蒸馏上。

技术研发人员:张宝川,毛辉杰,葛棋棋,陈赟,张子川,肖昌震,陈胜利
受保护的技术使用者:浙江千从系统技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1