模型训练的方法、系统、设备及存储介质与流程

文档序号:32130616发布日期:2022-11-09 09:42阅读:89来源:国知局
模型训练的方法、系统、设备及存储介质与流程

1.本技术属于计算机技术领域,具体涉及一种模型训练的方法、系统、设备及存储介质。


背景技术:

2.相关技术中,知识蒸馏是一种模型压缩的方法。其思想是通过使用一个较大的已经训练好的教师模型来教导一个较小的学生模型从而取得学生模型性能的提升。
3.一种方式中,知识蒸馏的目的是使学生模型的预测结果与教师模型的预测结果尽量接近。其中,传统的知识蒸馏方法认为教师模型的预测结果全部优于学生模型的预测结果,因此需要采用教师模型对待识别对象的所有识别结果来对学生模型进行蒸馏。
4.然而,相关技术中的方式存在一个问题,即当教师模型在某些识别结果中并不准确的情况下,依然采用上述方式对学生模型进行训练会导致训练结果不理想的问题。


技术实现要素:

5.本技术提出一种模型训练的方法、系统、设备及存储介质,可以解决相关技术中出现的,采用教师模型对待识别对象的所有识别结果来对学生模型进行蒸馏所导致的训练结果不理想的问题。
6.本技术第一方面实施例提出了一种模型训练的方法,所述方法包括:
7.利用教师模型对至少一个处理单元进行识别,得到每个处理单元对应的教师识别结果,以及,利用学生模型对所述至少一个处理单元进行识别,得到每个处理单元对应的学生识别结果;
8.将所述教师识别结果与所述学生识别结果中,与真值结果的差异值较小的教师训练识别结果作为训练识别结果;
9.基于训练识别结果对所述学生模型进行模型训练。
10.本技术第二方面实施例提出了一种模型训练的装置,所述装置包括:
11.识别模块,被配置为利用教师模型对至少一个处理单元进行识别,得到每个处理单元对应的教师识别结果,以及,利用学生模型对所述至少一个处理单元进行识别,得到每个处理单元对应的学生识别结果;
12.生成模块,被配置为将所述教师识别结果与所述学生识别结果中,与真值结果的差异值较小的教师训练识别结果作为训练识别结果;
13.训练模块,被配置为基于训练识别结果对所述学生模型进行模型训练。
14.本技术第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面所述的方法。
15.本技术第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述第一方面所述的方法。
16.本技术实施例中提供的技术方案,至少具有如下技术效果或优点:
17.在本技术实施例中,可以利用教师模型对至少一个处理单元进行识别,得到每个处理单元对应的教师识别结果,以及,利用学生模型对至少一个处理单元进行识别,得到每个处理单元对应的学生识别结果;将教师识别结果与学生识别结果中,与真值结果的差异值较小的教师训练识别结果作为训练识别结果;基于训练识别结果对学生模型进行模型训练。通过应用本技术的技术方案,需要首先确定针对同一处理单元的识别结果而言,教师模型的识别结果与学生模型的识别结果中,识别结果更优的教师识别结果。并在后续利用该识别结果更优的教师识别结果对学生模型进行模型训练,从而实现一种利用识别结果更准确的训练方式来对学生模型进行训练的目的。进而避免了相关技术中出现的,采用教师模型对处理单元的所有识别结果来对学生模型进行蒸馏所导致的训练结果不理想的问题。
18.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本技术的实践了解到。
附图说明
19.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
20.图1示出了本技术一实施例所提供的一种模型训练的方法的示意图;
21.图2示出了本技术一实施例所提供的一种模型训练的系统架构示意图;
22.图3示出了本技术一实施例所提供的一种对比掩膜图像的示意图;
23.图4示出了本技术一实施例所提供的一种模型训练的流程示意图;
24.图5示出了本技术一实施例所提供的一种模型训练的装置的结构示意图;
25.图6示出了本技术一实施例所提供的一种电子设备的结构示意图;
26.图7示出了本技术一实施例所提供的一种存储介质的示意图。
具体实施方式
27.下面将参照附图更详细地描述本技术的示例性实施方式。虽然附图中显示了本技术的示例性实施方式,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
28.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本技术所属领域技术人员所理解的通常意义。
29.下面结合附图来描述根据本技术实施例提出的一种模型训练的方法、系统、设备及存储介质。
30.本技术实施例提供了一种模型训练的方法,该方法可以利用教师模型对至少一个处理单元进行识别,得到每个处理单元对应的教师识别结果,以及,利用学生模型对至少一个处理单元进行识别,得到每个处理单元对应的学生识别结果;将教师识别结果与学生识别结果中,与真值结果的差异值较小的教师训练识别结果作为训练识别结果;基于训练识别结果对学生模型进行模型训练。
31.参见图1,该方法具体包括以下步骤:
32.步骤101:利用教师模型对至少一个处理单元进行识别,得到每个处理单元对应的教师识别结果,以及,利用学生模型对至少一个处理单元进行识别,得到每个处理单元对应的学生识别结果。
33.一种方式中,本技术不对处理单元进行具体限定,例如可以为图像数据中的某一个像素点、也可以为文本数据某一个字符、也可以为语音数据中的某一个语音字节等等。
34.一种方式中,如果处理单元对应于图像数据,则教师模型以及学生模型可以为图像分类模型,也即利用教师模型对处理单元进行识别,得到教师识别结果为利用教师分类模型对某个图像数据进行分类识别(例如为前景背景分类),得到每一像素点对应的识别结果(识别结果即为该像素点为前景还是背景等等)。
35.另一种方式中,如果处理单元对应于文字数据,则教师模型以及学生模型可以为文本分类模型,也即利用教师模型对处理单元进行识别,得到教师识别结果为利用教师分类模型对某个文本数据进行分类识别(例如为对文本所属领域进行分类),得到每一文本字段对应的识别结果(识别结果即为该字段为第一文本领域还是第二文本领域等等)。
36.再一种方式中,如果处理单元对应于语音数据,则教师模型以及学生模型可以为语音分类模型,也即利用教师模型对处理单元进行识别,得到教师识别结果为利用教师分类模型对某个语音数据进行分类识别(例如为对语音所属领域进行分类),得到每一语音特征对应的识别结果(识别结果即为该语音特征为人声还是设备声音等等)。
37.步骤102:将教师识别结果与学生识别结果中,与真值结果的差异值较小的教师训练识别结果作为训练识别结果。
38.其中,本技术实施例需要首先计算教师模型的识别结果和真值的差异,然后再计算学生模型的识别结果和真值的差异。然后再逐对象比较两者的差异大小后,只选择教师模型相比学生模型表现更优的识别结果进行蒸馏。可以理解的,最后得到的学生模型效果更优。
39.步骤103:基于训练识别结果对学生模型进行模型训练。
40.一种可能的实施方案中,以下以处理单元为图像数据,教师模型以及学生模型为图像分割模型为例进行说明。
41.其中,人像分割算法在泛娱乐场景得到了广泛的应用。例如视频会议类产品对虚拟背景功能有着强烈的需求。一般来说,越复杂的模型分割效果越好。但是考虑到实际产品的使用体验,只能采用轻量化的模型来满足实时处理的性能要求。知识蒸馏作为模型压缩的一类方法,可以使轻量化模型(学生模型)尽量达到与复杂模型(教师模型)一样的效果。
42.相关技术中,知识蒸馏的目的是使学生模型的预测结果与教师模型的预测结果尽量接近。传统的知识蒸馏方法认为教师模型的预测结果全部优于学生模型的预测结果,因此在所有的像素点上采用教师模型对学生模型进行蒸馏。这也会导致当教师模型在某些识别结果中并不准确的情况下,依然采用上述方式对学生模型进行训练会导致训练结果不理想的问题。
43.针对上述问题,本技术提出一种首先计算教师模型预测结果和真值的差异,然后再计算学生模型预测结果和真值的差异,逐像素比较两者的差异大小后,只选择教师模型相比学生模型表现更优的像素点对应的识别结果进行蒸馏,最后得到的学生模型效果更
好。该方法可以有效提高轻量级模型的人像分割精度,从而增加用户使用体验。
44.如图2所示,为本技术提出的一种模型训练方法的架构图,其中包括如下步骤实现:
45.步骤a1、利用教师模型对图像数据中的每个像素点进行识别,得到多个教师像素识别结果p
i-1
;以及,利用学生模型对图像数据中的每个像素点进行识别,得到多个学生像素识别结果p
i-2

46.步骤b1、获取该图像数据中的每个像素点对应的真值像素结果yi。
47.可以理解的,该真值像素结果即为该每个像素点实际的分类结果。可以由业务人员预先标出。
48.步骤c1、利用预设损失函数,计算每一个教师像素识别结果p
i-1
与对应的真值像素结果yi的第一像素差异值l
teai
;以及,利用预设损失函数,计算每一个学生像素识别结果p
i-2
与对应的真值像素结果yi的第二像素差异值l
stui

49.一种方式中,计算像素差异值的方式可以为基于下述公式得到:
50.li=-[yi*log(pi)+(1-yi)*log(1-pi)]
[0051]
其中,li代表第i个像素点的像素差异值,pi代表教师模型在第i个像素点进行识别得到的教师像素识别结果,或学生模型在第i个像素点进行识别得到的学生像素识别结果,yi代表第i个像素点的真值像素结果。
[0052]
步骤d1、逐像素对比第一像素差异值l
teai
与第二像素差异值l
stui

[0053]
例如,当图像数据中包含100个像素时,即需要从第1个像素开始,比较该像素由教师模型在该像素点进行识别得到的识别结果与真值的偏差大小(即第一像素差异值),与,该第1个像素由学生模型在该像素点进行识别得到的识别结果与真值的偏差大小(即第二像素差异值)。直至比较到第100个像素为止。
[0054]
步骤e1、确定每个目标像素对应的第一像素差异值l
teai
与第二像素差异值l
stui
中,数值较小的像素差异值li对应的目标像素识别结果,并将目标像素识别结果作为目标像素对应的待分类识别结果。
[0055]
同样以上述举例,本技术实施例中在比较第1个像素由教师模型在该像素点进行识别得到的识别结果与真值的偏差大小(即第一像素差异值),与,该第一个像素由学生模型在该像素点进行识别得到的识别结果与真值的偏差大小(即第二像素差异值)之后,若确定该第一像素差异值大于第二像素差异值,则说明在该第1个像素点上,学生模型的识别结果更准确。反之则认为教师模型的识别结果更准确。
[0056]
同样的,本技术实施例中需要依次对100个像素中的每一个像素进行上述比较。从而确定每个像素对应的最优识别结果(即待分类识别结果)。
[0057]
步骤f1、从待分类识别结果中,确定由教师模型生成的训练识别结果。
[0058]
具体来讲,本技术实施例可以首先将待分类识别结果与对应的模型生成对象关联后,将关联结果记录到预设记录对象中。
[0059]
同样以上述举例,本技术实施例中在确定每个像素对应的最优识别结果(即待分类识别结果)之后,需要将每个像素的最优识别结果与其对应的模型生成对象进行一一关联(即需要关联每个像素点的最优识别结果是教师模型生成的还是学生模型生成的)。从而找出其中由教师模型生成的训练识别结果。
[0060]
步骤g1、基于训练识别结果对学生模型进行模型训练。
[0061]
通过应用本技术的技术方案,需要首先确定针对同一图像数据的识别结果而言,教师模型的识别结果与学生模型的识别结果中,识别结果更优的教师识别结果。并在后续利用该识别结果更优的教师识别结果对学生模型进行模型训练,从而实现一种不将教师模型的所有预测结果当作软真值对学生模型进行蒸馏,而是通过比较与真值的差异,只选择教师模型相比学生模型差异更小(即预识别更准确)的像素点对学生模型进行蒸馏,从而得到一种更精确的学生模型。
[0062]
另一种可能的实施方案中,以下以处理单元为文本数据,教师模型以及学生模型为文本分类模型为例进行说明,其中包括如下步骤实现:
[0063]
步骤a2、利用教师模型对文本数据中的每个字段进行识别,得到多个教师字段识别结果pi-1;以及,利用学生模型对文本数据中的每个字段进行识别,得到多个学生字段识别结果pi-2。
[0064]
步骤b2、获取该文本数据中的每个字段对应的真值字段结果yi。
[0065]
可以理解的,该真值字段结果即为该每个字段实际的分类结果。可以由业务人员预先标出。
[0066]
步骤c2、利用预设损失函数,计算每一个教师字段识别结果pi-1与对应的真值字段结果yi的第一字段差异值lteai;以及,利用预设损失函数,计算每一个学生字段识别结果pi-2与对应的真值字段结果yi的第二字段差异值lstui。
[0067]
一种方式中,计算字段差异值的方式可以为基于下述公式得到:
[0068]
li=-[yi*log(pi)+(1-yi)*log(1-pi)]
[0069]
其中,li代表第i个字段的差异值,pi代表教师模型在第i个字段进行识别得到的教师字段识别结果,或学生模型在第i个字段进行识别得到的学生字段识别结果,yi代表第i个字段的真值像素结果。
[0070]
步骤d2、逐字段对比第一字段差异值lteai与第二字段差异值lstui。
[0071]
例如,当文本数据中包含100个字段时,即需要从第1个字段开始,比较该字段由教师模型在该字段进行识别得到的识别结果与真值的偏差大小(即第一字段差异值),与,该第1个字段由学生模型在该字段进行识别得到的识别结果与真值的偏差大小(即第二字段差异值)。直至比较到第100个字段为止。
[0072]
步骤e2、确定每个目标字段对应的第一字段差异值lteai与第二字段差异值lstui中,数值较小的字段差异值li对应的目标字段识别结果,并将目标字段识别结果作为目标字段对应的待分类识别结果。
[0073]
同样以上述举例,本技术实施例中在比较第1个字段由教师模型在该字段进行识别得到的识别结果与真值的偏差大小(即第一字段差异值),与,该第一个字段由学生模型在该字段进行识别得到的识别结果与真值的偏差大小(即第二字段差异值)之后,若确定该第一字段差异值大于第二字段差异值,则说明在该第1个字段上,学生模型的识别结果更准确。反之则认为教师模型的识别结果更准确。
[0074]
同样的,本技术实施例中需要依次对100个字段中的每一个字段进行上述比较。从而确定每个字段对应的最优识别结果(即待分类识别结果)。
[0075]
步骤f2、从待分类识别结果中,确定由教师模型生成的训练识别结果。
[0076]
具体来讲,本技术实施例可以首先将待分类识别结果与对应的模型生成对象关联后,将关联结果记录到预设记录对象中。
[0077]
同样以上述举例,本技术实施例中在确定每个字段对应的最优识别结果(即待分类识别结果)之后,需要将每个字段的最优识别结果与其对应的模型生成对象进行一一关联(即需要关联每个字段的最优识别结果是教师模型生成的还是学生模型生成的)。从而找出其中由教师模型生成的训练识别结果。
[0078]
步骤g2、基于训练识别结果对学生模型进行模型训练。
[0079]
通过应用本技术的技术方案,需要首先确定针对同一文本数据的识别结果而言,教师模型的识别结果与学生模型的识别结果中,识别结果更优的教师识别结果。并在后续利用该识别结果更优的教师识别结果对学生模型进行模型训练,从而实现一种不将教师模型的所有预测结果当作软真值对学生模型进行蒸馏,而是通过比较与真值的差异,只选择教师模型相比学生模型差异更小(即预识别更准确)的字段对学生模型进行蒸馏,从而得到一种更精确的文本学生模型。
[0080]
可选的一种实施例中,本技术在将教师识别结果与学生识别结果中,与真值结果的差异值较小的教师训练识别结果作为训练识别结果,包括:
[0081]
分别计算每个教师识别结果与对应真值结果的第一差异值;以及,分别计算每个学生识别结果与对应真值结果的第二差异值;
[0082]
将每个第一差异值与第二差异值中,数值较小的差异值对应的识别结果作为待分类识别结果;
[0083]
将对应于教师识别结果的待分类识别结果作为训练识别结果。
[0084]
一种方式中,教师模型生成的教师识别结果与真值结果的第一差异值越大,说明对于该识别对象(即处理单元)来说,教师模型的识别结果越不准确。反之则代表识别结果越准确。
[0085]
同样的,学生模型生成的学生识别结果与真值结果的第二差异值越大,说明对于该识别对象(即处理单元)来说,学生模型的识别结果越不准确。反之则代表识别结果越准确。
[0086]
因此,在对于同一处理单元来说(例如同一像素点或同一字段或同一音频特征),本技术实施例可以将第一差异值与第二差异值中,数值较小的差异值对应的识别结果(也即该处理单元的最优结果)作为该识别对象的待分类识别结果。
[0087]
一种方式中,本技术实施例在获取到针对某一处理单元(例如同一像素点或同一字段或同一音频特征)的最优识别结果(也即待分类识别结果)之后,还可以将该最优识别结果(也即待分类识别结果)与其对应的模型生成对象(也即教师模型或学生模型)进行关联并记录到某个预设记录对象中。以使后续在对学生模型进行训练的过程中,可以从中提取到由教师模型生成的待分类识别结果(即训练识别结果),来对学生模型进行模型训练。
[0088]
可选的一种实施例中,处理单元为像素点、文本字段或语音音符的其中一种。
[0089]
一种方式中,预设记录对象可以为数据表,文档,图像等等。作为示例的,本技术实施例可以根据处理单元的数据类型的不同,选择与之匹配的预设记录对象进行记录。
[0090]
可选的一种实施例中,本技术在基于训练识别结果对学生模型进行模型训练,包括:
[0091]
基于训练识别结果以及对应的真值结果,构建损失函数;
[0092]
利用处理单元以及损失函数,对学生模型进行模型训练。
[0093]
一种方式中,本技术实施例可以采取知识蒸馏损失函数来对学生模型进行模型训练。作为示例的,损失函数可以由下述公式构建得到:
[0094][0095][0096]
其中,maski代表训练识别结果,l
teai
代表第一差异值,l
stui
代表第二差异值,pi代表教师模型对应的教师识别结果,或学生模型在对应的学生识别结果,yi代表真值结果。
[0097]
可选的一种实施例中,本技术在利用教师模型对至少一个处理单元进行识别,得到每个处理单元对应的教师识别结果,以及,利用学生模型对至少一个处理单元进行识别,得到每个处理单元对应的学生识别结果,包括:
[0098]
若处理单元为像素点,利用教师模型对图像数据中的至少一个像素点进行识别,得到每一像素点对应的教师像素识别结果;以及,利用学生模型对图像数据中的至少一个像素点进行识别,得到每一像素点对应的学生像素识别结果。
[0099]
一种可能的实施例中,以处理单元为图像数据中的像素点为例,则需要利用教师模型以及学生模型分别对该图像数据中的每一个像素点(例如为3个)进行识别。从而得到教师模型识别得到的每一像素点对应的教师像素识别结果,分别记为a1、a2、a3。进一步的,还可以得到学生模型识别得到的每一像素点对应的学生像素识别结果,分别记为b1、b2、b3。
[0100]
可选的一种实施例中,本技术在得到每一像素点对应的学生像素识别结果之后,还包括:
[0101]
获取每一像素点对应的真值像素结果;
[0102]
利用预设损失函数,计算每一个教师像素识别结果与对应的真值像素结果的第一像素差异值;以及,利用预设损失函数,计算每一个学生像素识别结果与对应的真值像素结果的第二像素差异值;
[0103]
基于第一像素差异值以及第二像素差异值,生成训练识别结果。
[0104]
继续以上述举例,本技术实施例中还需要获取3个像素点中,每一像素点对应的真值像素结果分别记为y1、y2、y3。
[0105]
一种方式中,利用预设损失函数,计算a1与y1的第一像素差异值x1、计算a2与y2的第一像素差异值x2、计算a3与y3的第一像素差异值x3,从而得到多个第一像素差异值(x1、x2、x3)。
[0106]
另一种方式中,同样需要利用预设损失函数,计算b1与y1的第一像素差异值z1、计算b2与y2的第一像素差异值z2、计算b3与y3的第一像素差异值z3,从而得到多个第二像素差异值(z1、z2、z3)。
[0107]
可选的一种实施例中,本技术在基于第一像素差异值以及第二像素差异值,生成待分类识别结果,包括:
[0108]
逐像素对比第一像素差异值与第二像素差异值;
[0109]
确定目标像素对应的第一像素差异值与第二像素差异值中,数值较小的像素差异值对应的目标像素识别结果;
[0110]
将目标像素识别结果作为目标像素对应的待分类识别结果。
[0111]
一种方式中,本技术实施例需要基于第一像素差异值(x1、x2、x3)以及第二像素差异值(z1、z2、z3),生成每个像素(像素1、像素2、像素3)的待分类识别结果。
[0112]
具体的,首先针对像素1来说,需要计算该像素1对应的x1与z1的大小,从而确定其中数值较小的x1;且,需要计算该像素2对应的x2与z2的大小,从而确定其中数值较小的z2;需要计算该像素3对应的x3与z3的大小,从而确定其中数值较小的x3。
[0113]
综上,针对像素1来说,由于像素1对应的较小像素差异值为第一像素差异值x1,那么则可以确定像素1(即目标像素的识别结果)对应的待分类识别结果(即最优识别结果)为教师模型生成的a1。
[0114]
同样的,针对像素2来说,由于像素2对应的较小像素差异值为第二像素差异值z2,那么则可以确定像素2(即目标像素的识别结果)对应的待分类识别结果(即最优识别结果)为像素模型生成的b2。
[0115]
同样的,针对像素3来说,由于像素3对应的较小像素差异值为第一像素差异值x3,那么则可以确定像素3(即目标像素的识别结果)对应的待分类识别结果(即最优识别结果)为教师模型生成的a3。
[0116]
可选的一种实施例中,本技术在将目标像素识别结果作为目标像素对应的待分类识别结果之后,还包括:
[0117]
确定待分类识别结果中,对应于教师识别结果的第一识别结果;以及,确定待分类识别结果中,对应于学生识别结果的第二识别结果;
[0118]
在图像数据中确定出第一识别结果对应的每个目标像素的第一像素坐标,以及确定出第二识别结果对应的每个目标像素的第二像素坐标;
[0119]
在预设图像中将第一像素坐标处的像素点的像素值赋值为第一像素值,以及将第二像素坐标处的像素点的像素值赋值为第二像素值,得到对比掩膜图像,预设图像与图像数据的尺寸相同;
[0120]
基于对比掩膜图像,生成训练识别结果。
[0121]
从对比掩膜图像中提取第一像素坐标对应的第一像素,并将第一像素对应的待分类识别结果作为训练识别结果。
[0122]
一种方式中,本技术实施例在得到图像数据中,每个像素的最优识别结果(即待分类识别结果)之后,即可以由此构建一个对比掩膜图像。
[0123]
具体来说,即可将上述每个像素(像素1、像素2、像素3)分别赋予不同的像素值(例如某个像素的待分类结果为教师模型生成的,则赋予其256*256的像素值,而某个像素的待分类结果为学生模型生成的,则赋予其0*0的像素值)。再依据其原本在模型数据中的像素坐标位置,将赋予对应像素值的目标像素放置在预设图像对应的像素坐标处,从而即可得到对应的对比掩膜图像。
[0124]
需要注意的是,预设图像例如可以为空白图像,且该预设图像与图像数据的尺寸比例需要相同。
[0125]
另外,同一模型对象生成的像素需要赋予同一像素值,从而保证能够清晰直观的从对比掩膜图像中找出哪些像素点是对应于教师模型的,哪些像素点是对应于学生模型的。
[0126]
例如如图3所示,为图像数据与对应生成的对比掩膜图像的示意图。其中图3的左半部分为由多个处理单元所组成的原始图像数据),与之对应的右半边为对比掩膜图像。其中对于对比掩膜图像来说,白色部分的像素点即为被赋予0*0像素值的像素点(例如可以为对应于教师模型生成的待分类结果对应的像素值)。而黑色部分的像素点即为被赋予256*256像素值的像素点(例如可以为对应于学生模型生成的待分类结果对应的像素值)。
[0127]
如图4所示,为本技术提出的一种模型训练的方法的整体流程示意图,以处理单元为图像数据中的像素点为例进行说明:
[0128]
步骤1、利用教师模型对图像数据中的每一像素点进行识别;以及,利用学生模型对图像数据中的每一像素点进行识别。
[0129]
步骤2、得到每一像素点对应的教师像素识别结果;以及,得到每一像素点对应的学生像素识别结果。
[0130]
步骤3、利用预设损失函数,计算每一个教师像素识别结果与对应的真值像素结果的第一像素差异值;以及,利用预设损失函数,计算每一个学生像素识别结果与对应的真值像素结果的第二像素差异值。
[0131]
步骤4、确定目标像素对应的第一像素差异值与第二像素差异值中,数值较小的像素差异值对应的目标像素识别结果。
[0132]
步骤5、将目标像素识别结果作为目标像素对应的待分类识别结果。
[0133]
步骤6、获取每个目标像素在图像数据中的像素坐标。
[0134]
步骤7、在图像数据中确定出教师模型对应的每个目标像素的第一像素坐标;以及,确定出学生模型对应的每个目标像素的第二像素坐标。
[0135]
步骤8、在预设图像中将第一像素坐标处的像素点的像素值赋值为第一像素值,以及将第二像素坐标处的像素点的像素值赋值为第二像素值,得到对比掩膜图像。
[0136]
步骤9、从对比掩膜图像中提取第一像素坐标对应的第一像素,并将第一像素对应的待分类识别结果作为训练识别结果。
[0137]
步骤10、基于训练识别结果对学生模型进行模型训练。
[0138]
通过应用本技术的技术方案,需要首先确定针对同一处理单元的识别结果而言,教师模型的识别结果与学生模型的识别结果中,识别结果更优的教师识别结果。并在后续利用该识别结果更优的教师识别结果对学生模型进行模型训练,从而实现一种利用识别结果更准确的训练方式来对学生模型进行训练的目的。进而避免了相关技术中出现的,采用教师模型对处理单元的所有识别结果来对学生模型进行蒸馏所导致的训练结果不理想的问题。
[0139]
本技术实施例还提供一种模型训练的装置,该装置用于执行上述任一实施例提供的模型训练的方法中所执行的操作。如图5所示,该装置包括:
[0140]
识别模块201,被配置为利用教师模型对至少一个处理单元进行识别,得到每个处理单元对应的教师识别结果,以及,利用学生模型对所述至少一个处理单元进行识别,得到每个处理单元对应的学生识别结果;
[0141]
生成模块202,被配置为将所述教师识别结果与所述学生识别结果中,与真值结果的差异值较小的教师训练识别结果作为训练识别结果;
[0142]
训练模块203,被配置为基于训练识别结果对所述学生模型进行模型训练。
[0143]
在本技术的另外一种实施方式中,生成模块202,被配置执行的步骤包括:
[0144]
分别计算每个所述教师识别结果与对应真值结果的第一差异值;以及,分别计算每个所述学生识别结果与对应真值结果的第二差异值;
[0145]
将每个所述第一差异值与所述第二差异值中,数值较小的差异值对应的识别结果作为待分类识别结果;
[0146]
将对应于教师识别结果的所述待分类识别结果作为所述训练识别结果。
[0147]
在本技术的另外一种实施方式中,生成模块202,被配置执行的步骤包括:
[0148]
基于所述训练识别结果以及对应的所述真值结果,构建损失函数;
[0149]
利用所述处理单元以及所述损失函数,对所述学生模型进行模型训练。
[0150]
在本技术的另外一种实施方式中,生成模块202,被配置执行的步骤包括:
[0151]
若所述处理单元为像素点,利用所述教师模型对图像数据中的至少一个像素点进行识别,得到每一像素点对应的教师像素识别结果;以及,利用所述学生模型对所述图像数据中的至少一个像素点进行识别,得到每一像素点对应的学生像素识别结果。
[0152]
在本技术的另外一种实施方式中,生成模块202,被配置执行的步骤包括:
[0153]
获取每一像素点对应的真值像素结果;
[0154]
利用预设损失函数,计算每一个所述教师像素识别结果与对应的所述真值像素结果的第一像素差异值;以及,利用预设损失函数,计算每一个所述学生像素识别结果与对应的所述真值像素结果的第二像素差异值;
[0155]
基于所述第一像素差异值以及所述第二像素差异值,生成所述训练识别结果。
[0156]
在本技术的另外一种实施方式中,生成模块202,被配置执行的步骤包括:
[0157]
逐像素对比所述第一像素差异值与所述第二像素差异值,并将数值较小的像素差异值所对应的像素识别结果,确定为当前像素点对应的待分类识别结果;
[0158]
基于所述待分类识别结果,生成所述训练识别结果。
[0159]
在本技术的另外一种实施方式中,生成模块202,被配置执行的步骤包括:
[0160]
确定所述待分类识别结果中,对应于教师识别结果的第一识别结果;以及,确定所述待分类识别结果中,对应于学生识别结果的第二识别结果;
[0161]
在所述图像数据中确定出所述第一识别结果对应的每个目标像素的第一像素坐标,以及确定出所述第二识别结果对应的每个目标像素的第二像素坐标;
[0162]
在预设图像中将所述第一像素坐标处的像素点的像素值赋值为第一像素值,以及将所述第二像素坐标处的像素点的像素值赋值为第二像素值,得到对比掩膜图像,所述预设图像与所述图像数据的尺寸相同;
[0163]
基于所述对比掩膜图像,生成所述训练识别结果。
[0164]
在本技术的另外一种实施方式中,生成模块202,被配置执行的步骤包括:
[0165]
从所述对比掩膜图像中提取所述第一像素坐标对应的第一像素,并将所述第一像素对应的待分类识别结果作为所述训练识别结果。
[0166]
在本技术的另外一种实施方式中,生成模块202,被配置执行的步骤包括:
[0167]
处理单元为像素点、文本字段或语音音符的其中一种。
[0168]
本技术实施方式还提供一种电子设备,以执行上述模型训练的方法。请参考图6,其示出了本技术的一些实施方式所提供的一种电子设备的示意图。如图6所示,电子设备3包括:处理器300,存储器301,总线302和通信接口303,所述处理器300、通信接口303和存储器301通过总线302连接;所述存储器301中存储有可在所述处理器300上运行的计算机程序,所述处理器300运行所述计算机程序时执行本技术前述任一实施方式所提供的模型训练的方法。
[0169]
其中,存储器301可能包含高速随机存取存储器(ram:random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口303(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
[0170]
总线302可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器301用于存储程序,所述处理器300在接收到执行指令后,执行所述程序,前述本技术实施例任一实施方式揭示的所述模型训练的方法可以应用于处理器300中,或者由处理器300实现。
[0171]
处理器300可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器300可以是通用处理器,包括处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成上述方法的步骤。
[0172]
本技术实施例提供的电子设备与本技术实施例提供的模型训练的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
[0173]
本技术实施方式还提供一种与前述实施方式所提供的模型训练的方法对应的计算机可读存储介质,请参考图7,其示出的计算机可读存储介质为光盘40,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的模型训练的方法。
[0174]
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0175]
本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的模型训练的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0176]
需要说明的是:
[0177]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
[0178]
类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
[0179]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0180]
以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1