一种用于轻量级网络的知识蒸馏热启动训练方法和系统与流程
未命名
10-08
阅读:89
评论:0

1.本说明书涉及人工智能技术领域,特别涉及一种用于轻量级网络的知识蒸馏热启动训练方法和系统。
背景技术:
2.图像超分辨率技术是从相应的低分辨率图像生成高分辨率图像的技术,而轻量化图像超分辨率模型具有较高的计算效率和较少的参数量,使得其在图像超分辨率技术上得到广泛应用,但同时存在图像超分辨率效果不足等问题。研究者们通常使用网络剪枝、网络量化和知识蒸馏等方法基于教师网络的监督,提高轻量化图像超分辨率模型的性能。但由于教师网络与学生网络之间的表示空间等差异,会阻碍学生网络的训练,使得训练效果不佳。
3.因此,为了解决以上问题,希望提出一种用于轻量级网络的知识蒸馏热启动训练方法和系统。
技术实现要素:
4.本说明书一个或多个实施例提供一种用于轻量级网络的知识蒸馏热启动训练方法。所述用于轻量级网络的知识蒸馏热启动训练方法包括:获取至少一个随机初始化的轻量级网络模型;将低分辨率图像和对应高分辨率图像作为一对训练样本,基于多个训练样本获取训练样本集合;将训练样本集合中的低分辨率图像输入所述轻量级网络模型,训练所述轻量级网络模型,获得第一预训练网络模型,基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值;将所述第一预训练网络模型的权重加载于所述轻量级网络模型,并保持训练的各项参数不变,基于所述训练样本集合,对所述轻量级网络模型进行一轮或多轮训练,获得第二预训练网络模型,基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值;将所述第二预训练网络模型的权重加载于所述轻量级网络模型,基于教师网络的监督,训练所述轻量级网络模型,获得第三预训练网络模型,基于混合损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据及教师网络输出的高分辨率图像数据的差距小于预设阈值。
5.本说明书一个或多个实施例提供一种用于轻量级网络的知识蒸馏热启动训练系统,所述系统包括:第一获取模块,用于获取至少一个随机初始化的轻量级网络模型;第二获取模块,用于将低分辨率图像和对应高分辨率图像作为一对训练样本,基于多个训练样本获取训练样本集合;第一训练模块,用于将训练样本集合中的低分辨率图像输入所述轻量级网络模型,训练所述轻量级网络模型,获得第一预训练网络模型;基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值;第二训练模块,用于将所述第一预训练网络模型的权重加载于所述轻量级网络模型,并保持训练的各项参数不变,基于所述训练样本集合,对所述轻量级网络模型进行一轮或多
轮训练,获得第二预训练网络模型,基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值;第三训练模块,用于将所述第二预训练网络模型的权重加载于所述轻量级网络模型,基于教师网络的监督,训练所述轻量级网络模型,获得第三预训练网络模型,基于混合损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据及教师网络模型输出的高分辨率图像数据的差距小于预设阈值。
6.本说明书一个或多个实施例提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行上述的任意一项的方法。
7.在本说明书的一些实施例中,处理器通过对初始轻量级网络模型进行热启动训练及知识蒸馏训练,得到更高性能的轻量级网络模型。通过这种方式,可以让轻量级网络模型保持较低的计算量和数据量,得到更高的性能。通过热启动训练可以降低模型的异构性,让学生模型可以更好的获得教师模型的监督,提高训练效果与稳定性,并且可以让训练方法有更广的应用范围。
附图说明
8.本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
9.图1是根据本说明书一些实施例所示的一种用于轻量级网络的知识蒸馏热启动训练系统的模块示意图;
10.图2是根据本说明书一些实施例所示的一种用于轻量级网络的知识蒸馏热启动训练方法的示例性流程图;
11.图3是根据本说明书一些实施例所示的第一预训练网络模型的示例性示意图;
12.图4是根据本说明书一些实施例所示的第二预训练网络模型的示例性示意图;
13.图5是根据本说明书一些实施例所示的第三预训练网络模型的示例性示意图。
具体实施方式
14.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
15.应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
16.如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
17.本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
18.图1是根据本说明书一些实施例所示的一种用于轻量级网络的知识蒸馏热启动训练系统的模块示意图。
19.在一些实施例中,所述一种用于轻量级网络的知识蒸馏热启动训练系统100可以包括第一获取模块110、第二获取模块120、第一训练模块130、第二训练模块140和第三训练模块150。
20.第一获取模块110可以用于获取至少一个随机初始化的轻量级网络模型。关于获取轻量级网络模型的更多细节可以参见图2及其相关描述。
21.第二获取模块120可以用于将低分辨率图像和对应高分辨率图像作为一对训练样本,基于多个训练样本获取训练样本集合。关于获取训练样本集合的更多细节可以参见图2及其相关描述。
22.第一训练模块130可以用于将训练样本集合中的低分辨率图像输入轻量级网络模型,训练轻量级网络模型,获得第一预训练网络模型;基于l1损失函数调整轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值。关于第一预训练网络模型的更多细节可以参见图2、图3及其相关描述。
23.第二训练模块140可以用于将第一预训练网络模型的权重加载于轻量级网络模型,并保持训练的各项参数不变,基于训练样本集合,对轻量级网络模型进行一轮或多轮训练,获得第二预训练网络模型,基于l1损失函数调整轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值。关于第二预训练网络模型的更多细节可以参见图2、图4及其相关描述。
24.在一些实施例中,处理器可以基于l1损失函数计算第二预训练网络模型输出的高分辨率图像与原始高分辨率图像的差距;基于差距调整第二预训练网络模型的各项参数,再进行训练;直到差距低于所述预设阈值,停止训练,得到训练好的第二预训练网络模型。
25.第三训练模块150可以用于将第二预训练网络模型的权重加载于轻量级网络模型,基于教师网络的监督,训练轻量级网络模型,获得第三预训练网络模型,基于混合损失函数调整轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据及教师网络模型输出的高分辨率图像数据的差距小于预设阈值。关于第三预训练网络模型的更多细节可以参见图2、图5及其相关描述。
26.应当理解,图1所示的系统及其模块可以利用各种方式来实现。
27.需要注意的是,以上对于一种用于轻量级网络的知识蒸馏热启动训练系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。在一些实施例中,图1中披露的第一获取模块110、第二获取模块120、第一训练模块130、第二训练模块140和第三训练模块150可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸
如此类的变形,均在本说明书的保护范围之内。
28.图2是根据本说明书一些实施例所示的一种用于轻量级网络的知识蒸馏热启动训练方法的示例性流程图。如图2所示,流程200包括下述步骤。在一些实施例中,流程200可以由处理器执行。
29.步骤210,处理器获取至少一个随机初始化的轻量级网络模型。
30.轻量级网络模型是模型的规模和参数量都相对较小且计算效率较高的模型。例如,利用蒸馏、剪枝、量化和权重共享等技术均可得到轻量级的神经网络模型。
31.在一些实施例中,处理器可以对轻量级网络模型进行随机初始化处理,获取初始轻量级网络模型。例如,处理器可以将模型的各项参数初始化为某一闭区间内的随机数,比如[0,1]区间内的随机数,便于后续对轻量级网络模型进行训练。
[0032]
步骤220,将低分辨率图像和对应高分辨率图像作为一对训练样本,基于多个训练样本获取训练样本集合。
[0033]
训练样本是用于轻量级网络模型训练的样本。例如,可以将样本中的低分辨率图像输入轻量级网络模型,对应高分辨率图像作为标签进行训练,从而实现模型优化。
[0034]
在一些实施例中,训练样本可以基于历史数据确定。例如,处理器可以将历史数据中评分较高的图像对作为一对训练样本。评分可以由专家评估确定。
[0035]
在一些实施例中,处理器可以将多对训练样本组合成训练样本集合用于模型的训练。
[0036]
步骤230,将训练样本集合中的低分辨率图像输入所述轻量级网络模型,训练所述轻量级网络模型,获得第一预训练网络模型;基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值。
[0037]
第一预训练网络模型是轻量级网络模型经过一轮训练后得到的稳定模型,具有稳定的参数和权重。
[0038]
l1损失函数是平均绝对误差,指模型预估值与真实值之间的距离的平均值。l1损失函数可以表示为:其中,p是一个像素点,p指图像块;n是块中像素p的数量,x(p)和y(p)分别表示模型输出的图像数据和原始高分辨率图像数据。
[0039]
在一些实施例中,处理器可以基于l1损失函数调整轻量级网络模型的参数。例如,处理器可以将历史数据中的样本模型参数的平均值作为第二预训练网络模型的参数。样本模型可以是模型相似度高且l1损失函数输出的差距值小于预设阈值的模型。
[0040]
在一些实施例中,处理器可以基于l1损失函数计算第二预训练网络模型输出的高分辨率图像与原始高分辨率图像的差距值;基于差距值调整第二预训练网络模型的各项参数,再进行训练;直到差距值低于预设阈值,停止训练,得到训练好的第二预训练网络模型。
[0041]
在一些实施例中,处理器使用l1损失函数对模型进行训练,可以让模型获得更高的初始学习率(5e-4),从而更快获取目标模型。
[0042]
关于第一预训练模型的更多细节可以参见图3及其相关描述。
[0043]
步骤240,将所述第一预训练网络模型的权重加载于所述轻量级网络模型,并保持训练的各项参数不变,基于所述训练样本集合,对所述轻量级网络模型进行一轮或多轮训练,获得第二预训练网络模型,基于l1损失函数调整所述轻量级网络模型的参数,直到输出
数据与原始高分辨率图像数据的差距小于预设阈值。
[0044]
第二预训练网络模型是结构更加泛用、具有更小的异构性的模型。
[0045]
在一些实施例中,处理器可以将第一预训练网络模型的权重及参数加载到轻量级网络模型中进行一轮或多轮训练得到第二预训练网络模型。
[0046]
关于第二预训练模型的更多细节可以参见图4及其相关描述。
[0047]
步骤250,将所述第二预训练网络模型的权重加载于所述轻量级网络模型,基于教师网络的监督,训练所述轻量级网络模型,获得第三预训练网络模型,基于混合损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据及教师网络输出的高分辨率图像数据的差距小于预设阈值。
[0048]
教师网络是具有较大计算量和参数量的网络模型,具有更优秀的性能。教师网络可以用于监督其他网络的学习。
[0049]
在一些实施例中,处理器可以将第二预训练模型中参数量和计算量最大的网络作为教师网络。
[0050]
第三预训练网络模型是具有更高分辨率性能并且计算量和参数量相对于初始轻量级网络模型保持不变的模型。
[0051]
在一些实施例中,处理器可以将第二预训练网络模型的权重及参数加载到轻量级网络模型,将该模型作为训练模型,将训练样本中的低分辨率图像同时输入到训练模型和教师模型中进行监督训练,得到第三预训练网络模型。
[0052]
混合损失函数是用于第三预训练网络模型训练的损失函数。混合损失函数可以包括第三预训练网络模型的输出数据与教师网络模型输出数据之间的损失函数以及第三预训练网络模型的输出数据与原始高分辨率图像数据之间的损失函数。
[0053]
在一些实施例中,处理器使用混合损失函数对模型进行训练,可以让模型具有较小的初始学习率(1e-4),从而在训练中让模型输出更好的结果。
[0054]
在一些实施例中,第三预训练网络模型的输出数据与教师网络模型输出数据之间的损失函数可以形式化表达为:其中,y
t
(p)表示教师网络模型输出的像素值。
[0055]
在一些实施例中,混合损失函数可以形式化表达为:l(p)=(1-αll1p+αlkd(p)其中α是平衡上述两个损失函数的超参数。α的值在[0,1]之间,α的值越大,训练模型受到教师模型的监督力度就越大。α的具体值可以由专家进行设置。
[0056]
关于第三预训练网络模型的更多细节可以参见图5及其相关描述。
[0057]
在本说明书的一些实施例中,处理器通过对随机初始化的轻量级网络模型进行热启动训练(第二次训练)和知识蒸馏训练(第三次训练)得到第三预训练网络模型。通过这种方式得到的第三预训练网络模型可以在参数量和计算量不变的情况下输出更精确的高分辨率图像,并且热启动训练可以有效降低模型的异构性,让训练方法具有更广阔的应用范围,让模型的性能也得到了更稳定的提升。
[0058]
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
[0059]
图3是根据本说明书一些实施例所示的第一预训练网络模型的示例性示意图。
[0060]
第一预训练网络模型320用于提高初始轻量级网络模型的稳定性。第一预训练网络模型的类型可以是多种。例如,第一预训练网络模型的类型可以包括神经网络模型、图神经网络模型等。
[0061]
在一些实施例中,第一预训练网络模型320的输入可以包括低分辨率图像310,第一预训练网络模型的输出可以包括第一重构高分辨率图像330。
[0062]
在一些实施例中,第一预训练网络模型可以通过多个有标签的第一训练样本训练得到。例如,可以将多个带有标签的第一训练样本输入初始第一预训练网络模型,通过标签和初始第一预训练网络模型的结果构建l1损失函数,基于l1损失函数通过梯度下降或其他方法迭代更新初始第一预训练网络模型的参数。当满足预设条件时模型训练完成,得到训练好的第一预训练网络模型。其中,预设条件可以是l1损失函数收敛、迭代的次数达到阈值等。
[0063]
在一些实施例中,第一训练样本至少可以包括样本低分辨率图像。标签可以是样本中对应的原始高分辨率图像。标签可以基于样本数据获取。
[0064]
在本说明书的一些实施例中,处理器通过对随机初始化的轻量级网络模型训练得到第一预训练网络模型。通过这种方式,可以获取权重和参数都更加稳定的模型,便于提高后续训练的稳定性。
[0065]
图4是根据本说明书一些实施例所示的第二预训练网络模型的示例性示意图。
[0066]
第二预训练网络模型420用于降低第一预训练网络模型的结构异构性。第二预训练网络模型的类型可以是多种。例如,第二预训练网络模型的类型可以包括神经网络模型、图神经网络模型等。
[0067]
在一些实施例中,第二预训练网络模型410的输入可以包括低分辨率图像310,第二预训练网络模型的输出可以包括第二重构高分辨率图像420。
[0068]
在一些实施例中,第二预训练网络模型可以通过多个有标签的第二训练样本训练得到。例如,可以将训练好的第一预训练网络模型的权重和参数加载到轻量级网络模型中获取初始第二预训练网络模型,将多个带有标签的第二训练样本输入初始第二预训练网络模型,通过标签和初始第二预训练网络模型的结果构建l1损失函数,基于l1损失函数通过梯度下降或其他方法迭代更新初始第二预训练网络模型的参数。当满足预设条件时模型训练完成,得到训练好的第二预训练网络模型。其中,预设条件可以是l1损失函数收敛、迭代的次数达到阈值等。
[0069]
在一些实施例中,第二训练样本至少可以包括样本低分辨率图像。标签可以是样本中对应的原始高分辨率图像。标签可以基于样本数据确定。
[0070]
在本说明书的一些实施例中,处理器通过将第一预训练网络模型的权重和参数加载到初始轻量级网络模型中进行训练,得到第二预训练网络模型。通过这种方式,可以有效降低模型之间的结构异构性,提高模型的优化效率。
[0071]
图5是根据本说明书一些实施例所示的第三预训练网络模型的示例性示意图。
[0072]
第三预训练网络模型520用于提高轻量级网络模型的性能。第三预训练网络模型的类型可以是多种。例如,第三预训练网络模型的类型可以包括神经网络模型、图神经网络模型等。
[0073]
在一些实施例中,第三预训练网络模型520的输入可以包括低分辨率图像310,第三预训练网络模型的输出可以包括第三重构高分辨率图像530。
[0074]
在一些实施例中,第三预训练网络模型可以通过多个有标签的第三训练样本训练得到。例如,可以将训练好的第二预训练网络模型的权重和参数加载到轻量级网络模型中获取初始第三预训练网络模型,将多个带有第一标签和第二标签的第三训练样本输入初始第三预训练网络模型,通过第一标签和初始第三预训练网络模型的结果、第二标签和初始第三预训练网络模型的结果构建混合损失函数,基于混合损失函数通过梯度下降或其他方法迭代更新初始第三预训练网络模型的参数。当满足预设条件时模型训练完成,得到训练好的第三预训练网络模型。其中,预设条件可以是混合损失函数收敛、迭代的次数达到阈值等。
[0075]
在一些实施例中,第三训练样本至少可以包括样本低分辨率图像。第一标签可以是样本中对应的原始高分辨率图像,第二标签可以是教师网络模型510输出的高分辨率图像。标签可以基于样本数据和教师网络输出数据确定。
[0076]
关于混合损失函数的更多细节可以参见图2及其相关描述。
[0077]
在本说明书的一些实施例中,处理器通过将第二预训练网络模型的权重和参数加载到初始轻量级网络模型中,基于教师网络监督进行训练,得到第三预训练网络模型。通过这种方式,可以有效在不增加模型参数量和计算量的情况下,大大增加模型的准确度,提高模型的性能。
[0078]
在一些实施例中,在一些实施例中,一种计算机可读存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机可以执行用于轻量级网络的知识蒸馏热启动训练方法。
[0079]
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
[0080]
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
[0081]
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
[0082]
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附
图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
[0083]
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
[0084]
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
[0085]
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
技术特征:
1.一种用于轻量级网络的知识蒸馏热启动训练方法,其特征在于,所述方法包括:获取至少一个随机初始化的轻量级网络模型;将低分辨率图像和对应高分辨率图像作为一对训练样本,基于多个训练样本获取训练样本集合;将训练样本集合中的低分辨率图像输入所述轻量级网络模型,训练所述轻量级网络模型,基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值,获得第一预训练网络模型;将所述第一预训练网络模型的权重加载于所述轻量级网络模型,并保持训练的各项参数不变,基于所述训练样本集合,对所述轻量级网络模型进行一轮或多轮训练,基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值,获得第二预训练网络模型;将所述第二预训练网络模型的权重加载于所述轻量级网络模型,基于教师网络的监督,训练所述轻量级网络模型,基于混合损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据及教师网络模型输出的高分辨率图像数据的差距小于预设阈值,获得第三预训练网络模型。2.根据权利要求1所述的方法,其特征在于,所述基于l1损失函数调整所述轻量级网络模型的参数包括:基于l1损失函数计算第二预训练网络模型输出的高分辨率图像与原始高分辨率图像的差距;基于所述差距调整第二预训练网络模型的各项参数,再进行训练;直到所述差距低于所述预设阈值,停止训练,得到训练好的第二预训练网络模型。3.根据权利要求1所述的方法,其特征在于,所述l1损失函数为:其中,p是一个像素点,p指图像块;n是块中像素p的数量,x(p)和y(p)分别表示模型输出的图像数据和原始高分辨率图像数据。4.根据权利要求1所述的方法,其特征在于,所述混合损失函数包括训练网络的输出数据与教师网络模型输出数据之间的损失函数以及训练网络模型的输出数据与原始高分辨率图像数据之间的损失函数。5.根据权利要求4所述的方法,其特征在于,所述训练网络的输出数据与教师网络模型输出数据之间的损失函数为:其中,y
t
(p)表示教师网络模型输出的像素值。6.根据权利要求4所述的方法,其特征在于,所述混合损失函数为:其中α是平衡上述两个损失函数的超参数。7.一种用于轻量级网络的知识蒸馏热启动训练系统,其特征在于,所述系统包括:第一获取模块,用于获取至少一个随机初始化的轻量级网络模型;第二获取模块,用于将低分辨率图像和对应高分辨率图像作为一对训练样本,基于多
个训练样本获取训练样本集合;第一训练模块,用于将训练样本集合中的低分辨率图像输入所述轻量级网络模型,训练所述轻量级网络模型,获得第一预训练网络模型;基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值;第二训练模块,用于将所述第一预训练网络模型的权重加载于所述轻量级网络模型,并保持训练的各项参数不变,基于所述训练样本集合,对所述轻量级网络模型进行一轮或多轮训练,获得第二预训练网络模型,基于l1损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据的差距小于预设阈值;第三训练模块,用于将所述第二预训练网络模型的权重加载于所述轻量级网络模型,基于教师网络的监督,训练所述轻量级网络模型,获得第三预训练网络模型,基于混合损失函数调整所述轻量级网络模型的参数,直到输出数据与原始高分辨率图像数据及教师网络模型输出的高分辨率图像数据的差距小于预设阈值。8.根据权利要求7所述的系统,其特征在于,所述基于l1损失函数调整所述轻量级网络模型的参数包括:基于l1损失函数计算第二预训练网络模型输出的高分辨率图像与原始高分辨率图像的差距;基于所述差距调整第二预训练网络模型的各项参数,再进行训练;直到所述差距低于所述预设阈值,停止训练,得到训练好的第二预训练网络模型。9.一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如权利要求1至6中任一项所述的方法。
技术总结
本发明提供一种用于轻量级网络的知识蒸馏热启动训练方法和系统,该方法包括获取至少一个随机初始化的轻量级网络模型;将低分辨率图像和对应高分辨率图像作为一对训练样本,基于多个训练样本获取训练样本集合;将训练样本集合中的低分辨率图像输入轻量级网络模型,训练轻量级网络模型,获得第一预训练网络模型;将第一预训练网络模型的权重加载于轻量级网络模型,并保持训练的各项参数不变,基于训练样本集合,对轻量级网络模型进行一轮或多轮训练,获得第二预训练网络模型;将第二预训练网络模型的权重加载于轻量级网络模型,基于教师网络的监督,训练轻量级网络模型,获得第三预训练网络模型。训练网络模型。训练网络模型。
技术研发人员:邵杰 雷敏 武鑫 梁爽 陈飞宇 许辉 赵磊
受保护的技术使用者:四川省人工智能研究院(宜宾)
技术研发日:2023.08.02
技术公布日:2023/10/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/