模型训练方法、装置及计算机存储介质与流程

文档序号:32054006发布日期:2022-11-04 20:15阅读:41来源:国知局
模型训练方法、装置及计算机存储介质与流程

1.本技术实施例涉及人工智能技术领域,特别涉及一种模型训练方法、装置及计算机存储介质。


背景技术:

2.模型蒸馏目前作为人脸识别任务中主流的训练方法,特别是针对参数量少的小模型,具有收敛快、性能高的优点。
3.目前主流的人脸识别蒸馏方法主要包括,预先训练一个教师模型以固定模型参数,并在蒸馏阶段,利用训练好的教师模型进行特征提取,并由学生模型针对同一张图片样本进行特征提取,再使用欧式距离度量方式,计算教师模型和学生模型各自提取的特征之间的距离,借以提供学生模型学习教师模型中的知识,从而实现学生模型的训练。
4.然而,由于轻量型的学生模型具有参数量低的特点,往往无法学习到教师模型的所有知识。特别是针对教师模型都容易犯错的难样本,学生模型误识的概率会大幅提升。
5.另外,仅仅通过回归任务蒸馏获得的学生模型,没有类别的概念,此容易造成学习过程中,无法保证同一类别内的距离足够小,且不同类别间的距离足够大的训练需求,无法充分挖掘出识别模型的性能。
6.有鉴于此,需要一种改进的模型训练方案,以克服现有技术中存在的种种问题。


技术实现要素:

7.鉴于上述问题,本技术提供一种模型训练方法、装置及计算机存储介质,可提升模型训练效果,并提高模型预测精度。
8.本技术第一方面提供一种模型训练方法,包括:利用教师模型针对每一个训练样本执行特征提取,获得每一个训练样本的教师特征;根据每一个训练样本的教师特征和真实标签,确定每一个训练样本的难样本;利用每一个训练样本、每一个训练样本的难样本,训练所述学生模型。
9.本技术第二方面提供一种模型训练装置,包括:难样本确定模块,用于利用教师模型针对每一个训练样本执行特征提取,获得每一个训练样本的教师特征,并根据每一个训练样本的教师特征和真实标签,确定每一个训练样本的难样本;训练模块,用于利用每一个训练样本、每一个训练样本的难样本,训练所述学生模型。
10.本技术第三方面提供一种计算机存储介质,其特征在于,所述计算机存储介质中存储有用于执行上述方面所述的方法中各步骤的各指令。
11.综上所述,本技术各方面提供的模型训练方案,利用教师模型挖掘出各训练样本对应的难样本,以供学生模型基于难样本执行模型优化训练,不仅可提升模型训练效果,并可提升模型预测结果的准确性和可靠性。
附图说明
12.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
13.图1为本技术示例性实施例的模型训练方法的处理流程图。
14.图2为本技术另一示例性实施例的模型训练方法的处理流程图。
15.图3为本技术另一示例性实施例的模型训练方法的处理流程图。
16.图4为本技术另一示例性实施例的模型训练方法的处理流程图。
17.图5为本技术示例性实施例的模型训练装置的结构框图。
具体实施方式
18.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
19.以下将结合各附图详细描述本技术的各具体实施例。
20.图1为本技术示例性实施例的模型训练方法的处理流程图。如图所示,本实施例主要包括以下步骤:
21.步骤s102,利用教师模型针对每一个训练样本执行特征提取,获得每一个训练样本的教师特征。
22.可选地,教师模型可包括具有图像识别能力的检测模型。例如,人脸识别模型、对象识别模型等。
23.可选地,可预先针对教师模型进行训练,以固定教师模型的模型参数(例如权重参数等),并利用训练好的教师模型针对每一个训练样本执行特征提取,获得每一个训练样本的教师特征。
24.步骤s104,根据每一个训练样本的教师特征和真实标签,确定每一个训练样本的难样本。
25.可选地,可根据当前样本的真实标签,获取与当前样本具有同一类别的各训练样本,并进行相似度计算,以将相似度值最低的一个或多个样本确定为当前样本的正例难样本。
26.可选地,可根据当前样本的真实标签,获取与当前样本具有不同类别的各训练样本,并进行相似度计算,以将相似度值最高的一个或多个样本确定为当前样本的负例难样本。
27.步骤s106,利用每一个训练样本、每一个训练样本的难样本,训练学生模型。
28.可选地,学生模型与教师模型具有相同的图像识别能力。
29.可选地,可根据每一个训练样本的学生特征、每一个训练样本的正例难样本、负例难样本,分别执行度量学习和强化学习,以训练学生模型。
30.综上所述,本实施例的模型训练方法,利用教师模型挖掘出每一个训练样本的难
样本,以供学生模型基于每一个训练样本的难样本执行有针对性的训练,可以提高学生模型的训练效果,并提升学生模型预测结果的准确性与可靠性,尤其适用于轻量级模型的训练。
31.图2为本技术另一示例性实施例的模型训练方法的处理流程图。本实施例为上述步骤s104的具体实施方案,如图所示,本实施例主要包括以下步骤:
32.步骤s202,将训练集中的一个训练样本确定为当前样本。
33.具体地,可依次获取训练集中的一个训练样本,以作为当前样本。
34.步骤s204,根据每一个训练样本的真实标签,从训练集中获取与当前样本具有相同真实标签的所有训练样本,以作为正例候选样本,并从训练集中获取与当前样本具有不同真实标签的所有训练样本,以作为负例候选样本。
35.具体地,可根据当前样本的真实标签(例如,张三),从训练集中获取真实标签为“张三”的所有训练样本,以将其作为当前样本的正例候选样本,并将训练集中真实标签不是“张三”的所有训练样本,作为当前样本的负例候选样本。
36.步骤s206,根据当前样本的教师特征与每一个正例候选样本的教师特征执行相似度计算,以从各正例候选样本中确定当前样本的至少一个正例难样本,并根据当前样本的教师特征与每一个负例候选样本的教师特征执行相似度计算,以从各负例候选样本中确定当前样本的至少一个负例难样本。
37.可选地,可根据当前样本的教师特征与每一个正例候选样本的教师特征执行相似度计算,获得每一个正例候选样本的相似度值,并将相似度值低于预设低阈值的正例候选样本确定为正例难样本。
38.例如,可根据每一个正例候选样本的相似度值,将与当前样本之间的相似度值最低的n个正例候选样本确定为正例难样本。
39.可选地,可根据当前样本的教师特征与每一个负例候选样本的教师特征执行相似度计算,获得每一个负例候选样本的相似度值,并将相似度值高于预设高阈值的负例候选样本确定为负例难样本。
40.例如,可根据每一个负例候选样本的相似度值,将与当前样本之间的相似度值最高的n个负例候选样本确定为负例难样本。
41.步骤s208,判断是否所有训练样本均被确定为当前样本,若是,结束本流程,若否,返回步骤s202。
42.具体地,可判断是否训练集中的每一个训练样本均被确定为当前样本,若是,代表所有训练样本的难样本均已筛选完成,可退出本流程,若否,则返回步骤s202,以执行下一个训练样本的难样本筛选处理。
43.综上所述,本实施例利用已训练好的教师模型,通过全局且离线方式挖掘每一个训练样本的正负难样本,以供学生模型可直接基于这些具有代表性的难样本进行训练,以达到训练效果的最大化。
44.图3为本技术另一示例性实施例的模型训练方法的处理流程图。本实施例为上述步骤s106的具体实施方案。如图所示,本实施例主要包括以下技术方案:
45.步骤s302,根据每一个训练样本的正例难样本、负例难样本,构建每一个训练样本的三元组。
46.可选地,可根据每一个训练样本、每一个样本的一个正例难样本以及一个负例难样本,构建每一个样本的三元组。
47.可选地,可依次将一个训练样本中确定为当前样本,从当前样本的所有正例难样本中获得相似度值最低的一个正例难样本作为目标正例难样本,并从当前样本的所有负例难样本中获得相似度值最高的一个负例难样本作为目标负例难样本;并根据当前样本、当前样本的目标正例难样本、目标负例难样本,构建当前样本的三元组。
48.步骤s306,根据每一个训练样本的三元组,确定度量损失函数。
49.可选地,可利用学生模型针对每一个三元组中的训练样本、目标正例难样本、目标负例难样本执行特征提取,获得每一个三元组中的训练样本、目标正例难样本、目标负例难样本各自的学生特征,并利用预设度量损失函数换算公式,根据每一个三元组中的训练样本、目标正例难样本、目标负例难样本各自的学生特征,计算度量损失函数。
50.于本实施例中,预设度量损失函数换算公式表示为:
51.其中,i表示第i个训练样本,i为训练样本的总数量,表示第i个训练样本的学生特征,表示第i个训练样本的目标正例难样本的学生特征;表示第i个训练样本的目标负例难样本的学生特征;α表示预设最小间隔值;+表示当[]内的值大于0时,损失值为[]内的值,当[]内的值小于0时,损失值为零。
[0052]
步骤s306,判断度量损失函数是否满足预设收敛条件,若不满足,执行步骤s308,若满足,结束本流程。
[0053]
可选地,可当度量损失函数满足预设阈值时,获得度量损失函数满足预设收敛条件的判断结果。
[0054]
可选地,可当度量损失函数趋于稳定值时,获得度量损失函数满足预设收敛条件的判断结果。
[0055]
步骤s308,基于度量损失函数,优化学生模型,并返回步骤s304。
[0056]
具体地,可基于度量损失函数,针对学生模型的模型参数进行优化更新,并基于更新后的学生模型重新执行步骤s304。
[0057]
综上所述,本实施例在利用教师模型挖掘出的难样本,针对学生模型执行度量学习,使得学生模型的特征提取处理更加具有可分性,同一类别内的特征距离更近,不同类别间的特征距离更远,提升模型预测性能。
[0058]
图4为本技术另一示例性实施例的模型训练方法的处理流程图。本实施例为上述步骤s106的另一实施方案。如图所示,本实施例主要包括以下处理步骤:
[0059]
步骤s402,根据每一个训练样本的学生特征、每一个训练样本的正例难样本的教师特征,计算每一个训练样本的正例样本距离,并根据每一个训练样本的学生特征、每一个训练样本的所有负例难样本的教师特征,计算每一个训练样本的负例样本距离。
[0060]
可选地,可将一个训练样本确定为当前样本,获取当前样本的所有正例难样本,并根据当前样本的学生特征与每一个正例难样本的教师特征,计算当前样本相较于每一个正例难样本的正例样本距离。
[0061]
可选地,可将一个训练样本确定为当前样本,获取当前样本的所有负例难样本,并
根据当前样本的学生特征与每一个负例难样本的教师特征,计算当前样本相较于每一个负例难样本的负例样本距离。
[0062]
步骤s404,比对同一训练样本的正例样本距离和负例样本距离,获得每一个训练样本的距离比对结果。
[0063]
具体地,可将一个训练样本确定为当前样本,并将当前样本相较于每一个正例难样本的正例样本距离与当前样本相较于每一个负例难样本的负例样本距离进行比对,获得当前样本的距离比对结果。
[0064]
步骤s406,判断是否存在训练样本的正例样本距离大于负例样本距离的情况,若是,进行步骤s408,若否,结束本流程。
[0065]
于本实施例中,若有任意一个训练样本的正例样本距离大于负例样本距离,代表学生模型的训练未完成,进行步骤s408。
[0066]
具体地,针对各训练样本中的任意一个当前样本而言,当前样本相较于每一个正例难样本的正例样本距离,应当均大于当前样本相较于每一个负例难样本的负例样本距离,若当前样本的任意一个正例样本距离小于任意一个负例样本距离,则代表学生模型的训练未完成。
[0067]
步骤s408,优化学生模型,并利用优化后的学生模型更新每一个训练样本的学生特征,并返回步骤s402。
[0068]
具体地,可针对学生模型的模型参数进行优化更新,并基于更新后的学生模型重提提取每一个训练样本的样本特征,以更新每一个训练样本的学生特征,并返回步骤s402,以重新执行正例样本距离和负例样本距离的计算步骤。
[0069]
综上所述,本实施例利用每一个训练样本的学生特征和每一个训练样本的难样本的教师特征,针对学生模型执行强化学习,可针对教师模型挖掘出来的困难样本进行有针对性模型优化处理,使学生模型在困难样本上保持与教师模型同等的相似度,从而更有效的学习教师模型中更具代表性的知识。
[0070]
图5为本技术示例性实施例的模型训练装置的结构框图。如图所示,本实施例的模型训练装置500包括:难样本确定模块502、训练模块504。
[0071]
难样本确定模块502用于利用教师模型针对每一个训练样本执行特征提取,获得每一个训练样本的教师特征,并根据每一个训练样本的教师特征和真实标签,确定每一个训练样本的难样本。
[0072]
训练模块504用于利用每一个训练样本、每一个训练样本的难样本,训练所述学生模型。
[0073]
可选地,难样本确定模块502还用于:将训练集中的一个训练样本确定为当前样本;根据每一个训练样本的真实标签,从所述训练集中获取与所述当前样本具有相同真实标签的所有训练样本,以作为正例候选样本,并从所述训练集中获取与所述当前样本具有不同真实标签的所有训练样本,以作为负例候选样本;根据所述当前样本的教师特征与每一个正例候选样本的教师特征执行相似度计算,以从各正例候选样本中确定所述当前样本的至少一个正例难样本,并根据所述当前样本的教师特征与每一个负例候选样本的教师特征执行相似度计算,以从各负例候选样本中确定所述当前样本的至少一个负例难样本。
[0074]
可选地,难样本确定模块502还用于:根据所述当前样本的教师特征与每一个正例
候选样本的教师特征执行相似度计算,获得每一个正例候选样本的相似度值,并将相似度值低于预设低阈值的正例候选样本确定为正例难样本;根据所述当前样本的教师特征与每一个负例候选样本的教师特征执行相似度计算,获得每一个负例候选样本的相似度值,并将相似度值高于预设高阈值的负例候选样本确定为负例难样本。
[0075]
可选地,训练模块504还用于:根据每一个训练样本、每一个训练样本的正例难样本、负例难样本,分别执行度量学习和强化学习,以训练所述学生模型。
[0076]
可选地,训练模块504还用于:执行三元组构建步骤,根据所述每一个训练样本的正例难样本、负例难样本,构建每一个训练样本的三元组;损失计算步骤,根据每一个训练样本的三元组,确定度量损失函数;基于所述度量损失函数,优化所述学生模型,并基于优化后的学生模型返回执行所述损失计算步骤,直至所述度量损失函数满足预设收敛条件。
[0077]
可选地,训练模块504还用于:将一个训练样本作为当前样本:从所述当前样本的所有正例难样本中获得相似度值最低的一个正例难样本作为目标正例难样本,并从所述当前样本的所有负例难样本中获得相似度值最高的一个负例难样本作为目标负例难样本;根据所述当前样本、所述当前样本的目标正例难样本、目标负例难样本,构建所述当前样本的三元组。
[0078]
可选地,训练模块504还用于:利用所述学生模型针对每一个三元组中的训练样本、目标正例难样本、目标负例难样本执行特征提取,获得每一个三元组中的训练样本、目标正例难样本、目标负例难样本各自的学生特征;利用预设度量损失函数换算公式,根据每一个三元组中的训练样本、目标正例难样本、目标负例难样本各自的学生特征,计算所述学生模型的度量损失函数。
[0079]
可选地,所述预设度量损失函数换算公式表示为:
[0080]
其中,所述i表示第i个训练样本,所述i为所述训练样本的总数量,所述表示第i个训练样本的学生特征,所述表示第i个训练样本的目标正例难样本的学生特征;所述表示第i个训练样本的目标负例难样本的学生特征;所述α表示预设最小间隔值;所述+表示当[]内的值大于0时,损失值为[]内的值,当[]内的值小于0时,损失值为零。
[0081]
可选地,训练模块504还用于:执行距离计算步骤,根据每一个训练样本的学生特征、每一个训练样本的所有正例难样本的教师特征,计算每一个训练样本的正例样本距离,并根据每一个训练样本的学生特征、每一个训练样本的所有负例难样本的教师特征,计算每一个训练样本的负例样本距离;比对同一训练样本的正例样本距离和负例样本距离,若任意一个训练样本的正例样本距离大于负例样本距离,优化所述学生模型;利用优化后的学生模型更新每一个训练样本的学生特征,且返回执行所述距离计算步骤,直至所有训练样本的正例样本距离均不大于负例样本距离。
[0082]
本技术另一实施例还提供一种计算机存储介质,所述计算机存储介质中存储有用于执行上述各实施例所述的方法中各步骤的各指令。
[0083]
综上所述,本技术各实施例提供的模型训练方案,利用教师模型挖掘具有代表意义的困难样本,能够明显提升学生模型的识别精度,尤其适用于参数量少的小模型的训练。
[0084]
再者,本技术各实施例提供的模型训练方案,通过加入度量学习训练,可使得学生
模型所提取的特征更加具有可分性,即同一类别的特征会更加聚拢,不同类别的特征会更加远离,进一步提升了模型的识别精度。
[0085]
具体地,本技术在保留现有回归训练任务的同时,加入度量学习任务,使得学生模型提取的特征更加具有区分性,此外,本方案利用训练好的教师模型采用离线挖掘方式,挖掘出具有代表性的困难样本,可供学生模型直接基于困难样本进行优化训练,从而达到训练收益的最大化。
[0086]
另外,本技术各实施例提供的模型训练方案,通过引入强化学习,使学生模型在困难样本上保持与教师模型同等的相似度,从而更有效地学习教师模型中更具代表性的知识。
[0087]
最后应说明的是:以上实施例仅用以说明本技术实施例的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1