当前位置: 首页 > 专利查询>OPPO专利>正文

模型蒸馏方法技术

技术编号:39715017 阅读:6 留言:0更新日期:2023-12-17 23:23
本申请公开了一种模型蒸馏方法

【技术实现步骤摘要】
模型蒸馏方法、装置、电子设备及存储介质


[0001]本申请涉及人工智能
,更具体地,涉及一种模型蒸馏方法

装置

电子设备以及存储介质


技术介绍

[0002]模型蒸馏
(Model Distillation)
是一种将一个复杂的神经网络压缩成一个小而快速的网络的技术

通过将大网络中的知识“蒸馏”到小网络中,可以在保持高精度的同时减少计算资源和时间

目前的模型蒸馏方法包括知识蒸馏方法

自适应温度缩放方法

分布匹配方法以及多任务学习方法等类型,其中,知识蒸馏方法是一种基于教师网络与学生网络之间的知识转移的方法,在这种方法中,大网络被称为“教师”,小网络被称为“学生”,教师通过其高精度的输出来指导学生的学习

然而,目前的知识蒸馏方法所得到的模型的效果仍有待提升


技术实现思路

[0003]本申请提出了一种模型蒸馏方法

装置

电子设备以及存储介质,以改善上述问题

[0004]第一方面,本申请实施例提供了一种模型蒸馏方法,可以应用于电子设备,所述方法包括:获取样本图像;获取教师模型基于所述样本图像输出得到的第一图像表示和第一文本表示,所述教师模型包括单流模型以及双流模型,所述第一图像表示和所述第一文本表示均为所述单流模型以及双流模型各自的输出结果进行融合后的结果;获取学生模型基于所述样本图像输出的第二图像表示和第二文本表示,所述学生模型为双流模型;基于所述第一图像表示和第一文本表示

所述第二图像表示和第二文本表示确定蒸馏损失函数;基于所述蒸馏损失函数更新所述学生模型的参数,并将所述损失函数收敛时的学生模型作为目标学生模型

[0005]第二方面,本申请实施例提供了一种模型蒸馏装置,可以运行于电子设备,所述装置包括:样本图像获取模块,用于获取样本图像;第一输出获取模块,用于获取教师模型基于所述样本图像输出得到的第一图像表示和第一文本表示,所述教师模型包括单流模型以及双流模型,所述第一图像表示和所述第一文本表示均为所述单流模型以及双流模型各自的输出结果进行融合后的结果;第二输出获取模块,用于获取学生模型基于所述样本图像输出的第二图像表示和第二文本表示,所述学生模型为双流模型;损失函数构建模块,用于基于所述第一图像表示和第一文本表示

所述第二图像表示和第二文本表示确定蒸馏损失函数;模型蒸馏模块,用于基于所述蒸馏损失函数更新所述学生模型的参数,并将所述损失函数收敛时的学生模型作为目标学生模型

[0006]第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面的方法

[0007]第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述第一方面的方法

[0008]本申请提供的一种模型蒸馏方法

装置

电子设备以及存储介质,本方法通过获取样本图像;获取教师模型基于所述样本图像输出得到的第一图像表示和第一文本表示,所述教师模型包括单流模型以及双流模型,所述第一图像表示和所述第一文本表示均为所述单流模型以及双流模型各自的输出结果进行融合后的结果;获取学生模型基于所述样本图像输出的第二图像表示和第二文本表示,所述学生模型为双流模型;基于所述第一图像表示和第一文本表示

所述第二图像表示和第二文本表示确定蒸馏损失函数;基于所述蒸馏损失函数更新所述学生模型的参数,并将所述损失函数收敛时的学生模型作为目标学生模型

从而通过上述方式实现了可以使用多模态的教师模型对双流模型进行蒸馏,使得能够充分利用多个教师模型的优点,让多个教师模型的优点更加有效的传输给学生模型,进而使得蒸馏得到的目标学生模型拥有更高的准确率

附图说明
[0009]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0010]图1示出了本申请一实施例提供的一种模型蒸馏方法的流程图

[0011]图2示出了本申请另一实施例提供的一种模型蒸馏方法的流程图

[0012]图3示出了本申请实施例提供的多教师模型跨模态对齐蒸馏学生模型的计算分布矩阵示意图

[0013]图4示出了本申请实施例提供的教师模型的整合模块的工作原理示意图

[0014]图5示出了本申请实施例提供的一种模型蒸馏装置的结构框图

[0015]图6示出了本申请实施例提供的电子设备的结构框图

[0016]图7示出了本申请实施例的用于保存或者携带实现根据本申请实施例的模型蒸馏方法的程序代码的存储单元

具体实施方式
[0017]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚

完整地描述

[0018]模型蒸馏是一种模型压缩技术,其能够把一个复杂的神经网络压缩成一个轻量级的小尺寸网络,进而得到轻量化的小模型,模型小型化在深度学习的发展中扮演着重要的角色和意义

目前的模型蒸馏方法通常是基于一个教师模型和一个学生模型的框架进行的,虽然也有模型蒸馏方法是基于多教室模型和一个学生模型的框架,但其没有用到不同教师模型网络结构的特长,且当教师模型的网络结构不同的时候,该框架难以复用

因而,目前的模型蒸馏方法所得到的模型的效果仍有待提升

[0019]专利技术人经过长期的研究发现,可以通过获取样本图像;获取教师模型基于所述样本图像输出得到的第一图像表示和第一文本表示,所述教师模型包括单流模型以及双流模
型,所述第一图像表示和所述第一文本表示均为所述单流模型以及双流模型各自的输出结果进行融合后的结果;获取学生模型基于所述样本图像输出的第二图像表示和第二文本表示,所述学生模型为双流模型;基于所述第一图像表示和第一文本表示

所述第二图像表示和第二文本表示确定蒸馏损失函数;基于所述蒸馏损失函数更新所述学生模型的参数,并将所述损失函数收敛时的学生模型作为目标学生模型

从而通过上述方式实现了可以使用多模态的教师模型对双流模型进行蒸馏,使得能够充分利用多个教师模型的优点,让多个教师模型的优点更加有效的传本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种模型蒸馏方法,其特征在于,所述方法包括:获取样本图像;获取教师模型基于所述样本图像输出得到的第一图像表示和第一文本表示,所述教师模型包括单流模型以及双流模型,所述第一图像表示和所述第一文本表示均为所述单流模型以及双流模型各自的输出结果进行融合后的结果;获取学生模型基于所述样本图像输出的第二图像表示和第二文本表示,所述学生模型为双流模型;基于所述第一图像表示和第一文本表示

所述第二图像表示和第二文本表示确定蒸馏损失函数;基于所述蒸馏损失函数更新所述学生模型的参数,并将所述损失函数收敛时的学生模型作为目标学生模型
。2.
根据权利要求1所述的方法,其特征在于,所述基于所述第一图像表示和第一文本表示

所述第二图像表示和第二文本表示确定蒸馏损失函数,包括:基于第二图像表示和第二文本表示获取第一
KL
散度;基于第一图像表示和第一文本表示获取第二
KL
散度;基于第一文本表示和第二图像表示获取第三
KL
散度;基于第二文本表示和第一图像表示获取第四
KL
散度;基于所述第一
KL
散度和所述第二
KL
散度获取目标分布蒸馏参数;基于所述第三
KL
散度和所述第四
KL
散度获取目标特征蒸馏参数;将所述目标分布蒸馏参数与所述目标特征蒸馏参数之和作为所述蒸馏损失函数
。3.
根据权利要求2所述的方法,其特征在于,所述基于第二图像表示和第二文本表示获取第一
KL
散度,包括:基于所述第二图像表示和第二文本表示获取由所述学生模型计算的图文相似度的第一分布矩阵,以及基于所述第二图像表示和第二文本表示获取由所述学生模型计算的文图相似度的第二分布矩阵,所述图文相似度表征图到文的相似度,所述文图相似度表征文到图的相似度;基于所述第一分布矩阵以及所述第二分布矩阵获取所述第一
KL
散度
。4.
根据权利要求2所述的方法,其特征在于,所述基于第一图像表示和第一文本表示获取第二
KL
散度,包括:基于第一图像表示和第一文本表示获取由所述教师模型计算的图文相似度的第三分布矩阵,以及基于第一图像表示和第一文本表示获取由所述教师模型计算的文图相似度的第四分布矩阵,所述图文相似度表征图到文的相似度,所述文图相似度表征文到图的相似度;基于所述第三分布矩阵以及所述第四分布矩阵获取所述第二
KL
散度
。5.
根据权利要求2所述的方法,其特征在于,所述基于第一文本表示和第二图像表示获取第三
KL
散度,包括:对所述第二图像表示进行对齐到所述第一文本表示的对齐操作,并获取对齐后表征图文相似度...

【专利技术属性】
技术研发人员:何斐斐陈宸鲁浩楠
申请(专利权)人:OPPO
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1