一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种模型训练方法及装置

2022-06-22 18:46:34 来源:中国专利 TAG:


1.本发明涉及建模技术领域,具体涉及一种模型训练方法及装置。


背景技术:

2.深度学习是基于学习表征的人工神经网络算法,广义上属于机器学习。深度学习模型被广泛应用于计算机视觉、自然语言处理、生物信息学等领域。深度学习具有层次的结构,每层都由多个神经元组成,大量的神经元参数为模型提供了解决多种任务的能力。一般而言,在模型架构一致,越多的参数带来越高的性能表现,但同时也带来了过拟合的风险。
3.过拟合,是指模型在训练集上的表现非常好,而在验证集上表现很差。它是深度学习中常见的陷阱——模型的学习能力过强,以至于记住了训练集数据的完整模式,包括噪声和随机扰动等。过拟合会导致模型不能够泛化,即在未曾见过的数据场景中表现良好,因而使得模型训练失败。
4.在深度学习中,神经网络架构的层数非常多,复杂且需要大量时间训练,非常容易导致过拟合。


技术实现要素:

5.针对现有技术中的问题,本发明实施例提供一种模型训练方法及装置,能够至少部分地解决现有技术中存在的问题。
6.一方面,本发明提出一种模型训练方法,包括:
7.载入当前模型参数,并对回退前迭代次数进行清零;
8.若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;
9.若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;
10.若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
11.其中,所述模型训练方法还包括:
12.若确定所述回退前迭代次数小于所述预设回退前迭代次数,则继续执行所述若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1,以及后续步骤。
13.其中,所述模型训练方法还包括:
14.若确定所述损失指标参数小于等于所述模型的预设损失指标参数,则根据模型每训练一次得到的最新模型参数更新所述当前模型参数,以及根据所述损失指标参数更新所述预设损失指标参数;
15.继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
16.其中,获取模型训练终止条件;相应的,在所述载入当前模型参数,并对回退前迭
代次数进行清零的步骤之后,以及在所述若确定模型每训练一次,则获取所述模型的损失指标参数之前,所述模型训练方法还包括:
17.若确定模型训练未满足所述模型训练终止条件,则继续执行所述若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1,以及后续步骤。
18.其中,所述模型训练方法还包括:
19.若确定所述回退前迭代次数小于所述预设回退前迭代次数,则继续执行所述若确定模型训练未满足所述模型训练终止条件,以及后续步骤。
20.其中,所述模型训练终止条件包括模型训练迭代次数达到预设模型训练迭代次数。
21.一方面,本发明提出一种模型训练装置,包括:
22.载入单元,用于载入当前模型参数,并对回退前迭代次数进行清零;
23.获取单元,用于若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;
24.比较单元,用于若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;
25.回退单元,用于若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
26.其中,所述模型训练装置还用于:
27.若确定所述回退前迭代次数小于所述预设回退前迭代次数,则继续执行所述若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1,以及后续步骤。
28.再一方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
29.所述处理器和所述存储器通过所述总线完成相互间的通信;
30.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:
31.载入当前模型参数,并对回退前迭代次数进行清零;
32.若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;
33.若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;
34.若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
35.本发明实施例提供一种非暂态计算机可读存储介质,包括:
36.所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:
37.载入当前模型参数,并对回退前迭代次数进行清零;
38.若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;
39.若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;
40.若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
41.本发明实施例提供的模型训练方法及装置,载入当前模型参数,并对回退前迭代次数进行清零;若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤,能够防止模型过拟合,同时保证模型参数得到继续优化。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
43.图1是本发明一实施例提供的模型训练方法的流程示意图。
44.图2是本发明另一实施例提供的模型训练方法的流程示意图。
45.图3是本发明一实施例提供的模型训练装置的结构示意图。
46.图4为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
47.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。
48.图1是本发明一实施例提供的模型训练方法的流程示意图,如图1所示,本发明实施例提供的模型训练方法,包括:
49.步骤s1:载入当前模型参数,并对回退前迭代次数进行清零。
50.步骤s2:若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1。
51.步骤s3:若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较。
52.步骤s4:若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
53.在上述步骤s1中,装置载入当前模型参数,并对回退前迭代次数进行清零,装置可以是执行该方法的计算机设备,例如为服务器;模型可以是神经网络模型,如图2所示,当前模型记为s,当前模型参数即是模型的权重参数,可以理解的是,模型每训练一次得到的模型记为s,此时模型参数,即模型s的权重参数就更新一次,此时模型s的损失指标参数记为
l。
54.回退前迭代次数记为c,实现对回退迭代次数的计数功能,通过将c=0实现了对模型训练进行回退控制。所述回退前迭代次数的初始值为零。
55.如图2所示,在载入当前模型参数,并对回退前迭代次数进行清零的步骤之前,可以对相关参数进行初始化设置:
56.其中,l表示当前模型的预设损失指标参数,由于模型在训练时,可以将数据拆分成训练集和验证集,进一步地,l表示模型s在验证集的预设损失指标参数,即损失函数的损失值,损失函数的损失值可以根据预定义函数来进行计算,本发明实施例对预定义函数不作具体限定。
57.预设损失指标参数的初始值可以根据实际情况自主设置,可选较大数值,例如为10
13

58.模型s的损失指标参数l可以参照预设损失指标参数l的说明,不再赘述。
59.e表示预设模型训练迭代次数,即当模型训练次数达到e时,终止模型训练,表示模型训练完成,预设模型训练迭代次数可以根据实际情况自主设置。
60.c表示预设回退前迭代次数,可以根据实际情况自主设置,可选为4-10次。
61.其中,e表示模型训练迭代次数,模型每训练一次,则模型训练迭代次数加1。
62.上述初始化设置是模型第一次验证时的参数,通常情况下,前几个训练batch都会使模型效果优化,其中,batch是指使用训练集中的一小部分样本对模型参数进行一次反向传播的参数更新,这一小部分样本被称为“一批数据”。
63.图2中的虚线箭头表示不需要回退控制的模型训练过程,图2中的实线箭头表示需要回退控制的模型训练过程。
64.在上述步骤s2中,装置若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1。模型每训练一次,即模型经过一个epoch训练,其中,epoch是指使用训练集的全部数据对模型进行一次完整训练,被称之为“一代训练”。
65.可以通过计算损失函数的损失值的方式,实现获取模型的损失指标参数。
66.通过获取最新模型参数,实现了优化模型的权重参数。
67.在上述步骤s3中,装置若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较。说明如下:
68.即模型在训练中没有优化,那么就增加对回退前迭代次数进行一次计数,即令c的值增加1,这意味着模型使用了一次自由迭代变差机会。
69.在上述步骤s4中,装置若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。说明如下:
70.模型自由训练且连续变差的回退前迭代次数已经超过预设回退前迭代次数,需要将模型回退,即s=s、l=l、c=0。
71.这时模型连续c次迭代变差,可以认为再继续下去的训练效果不一定好,于是收回缰绳,让模型从上一个保存点重新开始训练。
72.在模型训练完成后,可以将模型应用于图像目标识别的场景,例如:
73.获取待识别图像;基于预设图像目标识别模型对所述待识别图像进行图像目标识
别,得到所述待识别图像中是否包含图像目标的识别结果;其中,预设图像目标识别模型是根据上述模型训练方法得到的完成训练的模型。图像目标可以具体包括人物和车辆等,不作具体限定。
74.本发明实施例提供的模型训练方法,载入当前模型参数,并对回退前迭代次数进行清零;若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤,能够防止模型过拟合,同时保证模型参数得到继续优化。
75.进一步地,所述模型训练方法还包括:
76.若确定所述回退前迭代次数小于所述预设回退前迭代次数,则继续执行所述若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1,以及后续步骤。说明如下:
77.模型暂时不需要干预,可以继续训练。设置的预设回退前迭代次数c就是为了不过分地将验证集的信息引入训练过程,让模型有机会自由迭代。
78.进一步地,所述模型训练方法还包括:
79.若确定所述损失指标参数小于等于所述模型的预设损失指标参数,则根据模型每训练一次得到的最新模型参数更新所述当前模型参数,以及根据所述损失指标参数更新所述预设损失指标参数;
80.继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。说明如下:
81.模型在训练中得到优化,对模型参数进行更新,令s=s,l=l,模型参数更新被确认,同时预设损失指标参数也更新为模型s在验证集的损失指标参数,限制模型向着更优的方向进行优化。
82.进一步地,获取模型训练终止条件;相应的,在所述载入当前模型参数,并对回退前迭代次数进行清零的步骤之后,以及在所述若确定模型每训练一次,则获取所述模型的损失指标参数之前,所述模型训练方法还包括:
83.若确定模型训练未满足所述模型训练终止条件,则继续执行所述若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1,以及后续步骤。模型训练终止条件可以包括模型训练迭代次数e达到预设模型训练迭代次数e,不作具体限定。如图2所示,若确定模型训练满足模型训练终止条件,则方法执行结束,表示模型训练完成。
84.进一步地,所述模型训练方法还包括:
85.若确定所述回退前迭代次数小于所述预设回退前迭代次数,则继续执行所述若确定模型训练未满足所述模型训练终止条件,以及后续步骤。如图2所示,该步骤对应e≥e?的判定步骤。
86.进一步地,所述模型训练终止条件包括模型训练迭代次数达到预设模型训练迭代次数。可参照上述说明,不再赘述。
87.图3是本发明一实施例提供的模型训练装置的结构示意图,如图3所示,本发明实
施例提供的模型训练装置,包括载入单元301、获取单元302、比较单元303和回退单元304,其中:
88.载入单元301用于载入当前模型参数,并对回退前迭代次数进行清零;获取单元302用于若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;比较单元303用于若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;回退单元304用于若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
89.具体的,装置中的载入单元301用于载入当前模型参数,并对回退前迭代次数进行清零;获取单元302用于若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;比较单元303用于若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;回退单元304用于若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
90.本发明实施例提供的模型训练装置,载入当前模型参数,并对回退前迭代次数进行清零;若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤,能够防止模型过拟合,同时保证模型参数得到继续优化。
91.进一步地,所述模型训练装置还用于:
92.若确定所述回退前迭代次数小于所述预设回退前迭代次数,则继续执行所述若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1,以及后续步骤。
93.本发明实施例提供模型训练装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
94.图4为本发明实施例提供的电子设备实体结构示意图,如图4所示,所述电子设备包括:处理器(processor)401、存储器(memory)402和总线403;
95.其中,所述处理器401、存储器402通过总线403完成相互间的通信;
96.所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:
97.载入当前模型参数,并对回退前迭代次数进行清零;
98.若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;
99.若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;
100.若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
101.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算
机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
102.载入当前模型参数,并对回退前迭代次数进行清零;
103.若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;
104.若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;
105.若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
106.本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:
107.载入当前模型参数,并对回退前迭代次数进行清零;
108.若确定模型每训练一次,则获取所述模型的损失指标参数和最新模型参数,并将回退前迭代次数加1;
109.若确定所述损失指标参数大于所述模型的预设损失指标参数,则将所述回退前迭代次数与预设回退前迭代次数进行比较;
110.若确定所述回退前迭代次数大于等于所述预设回退前迭代次数,则继续执行所述载入当前模型参数,并对回退前迭代次数进行清零,以及后续步骤。
111.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
112.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
113.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
114.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
115.在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的
具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
116.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献