确定模型超参数及模型训练的方法和装置、存储介质转让专利

申请号 : CN201910384551.5

文献号 : CN110110861A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林宸李楚鸣

申请人 : 北京市商汤科技开发有限公司

摘要 :

本公开实施例提供一种确定模型超参数的技术和图像处理技术,有利于提升机器学习模型的图像处理性能,其中,确定模型超参数的方法包括:确定超参数的初始值;根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到所述每个路径的第一更新机器学习模型,基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值;基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,直至达到预设截止条件,获得所述超参数的最终数值。

权利要求 :

1.一种确定模型超参数的方法,其特征在于,所述方法包括:确定超参数的初始值;

根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到所述每个路径的第一更新机器学习模型,其中,所述多个路径中不同路径的训练参数具有基于所述超参数进行采样得到的不同数值,M1大于或等于

1且小于或等于第一数值;

基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值;

基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,直至达到预设截止条件,获得所述超参数的最终数值,其中,M2大于或等于1且小于或等于第一数值。

2.根据权利要求1所述的方法,其特征在于,所述基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值,包括:基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,确定所述每个路径的模型更新参数;

对所述多个路径的模型更新参数进行平均处理,得到平均更新参数;

根据所述平均更新参数,将所述超参数的数值更新为第一更新值。

3.根据权利要求1或2所述的方法,其特征在于,在所述基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值之前,所述方法还包括:对所述多个路径中每个路径的第一更新机器学习模型的性能参数进行归一化处理;

所述基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值,包括:基于所述归一化处理后得到的所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值。

4.根据权利要求1至3任一所述的方法,其特征在于,所述超参数包括用于对所述样本图像集进行图像增强处理的增强分布参数;

所述根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,包括:根据所述增强分布参数,确定增强概率分布,所述增强概率分布中包括多个图像增强操作的概率;

基于所述增强概率分布,由所述多个数据增强操作中采样所述并行的多个路径中每个路径的目标数据增强操作,对所述每个路径的至少一个样本图像进行图像增强处理,得到至少一个增强图像;

基于所述多个路径中每个路径的至少一个增强图像,对所述初始机器学习模型进行M1次迭代训练。

5.一种机器学习模型的训练方法,其特征在于,包括:

通过权利要求1至4中任一项所述的方法获得所述超参数的最终数值;

基于所述超参数的最终数值,训练具有初始模型参数的初始机器学习模型,得到目标机器学习模型。

6.一种确定模型超参数的装置,其特征在于,所述装置包括:初始化模块,用于确定超参数的初始值;

模型训练模块,用于根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到每个路径的第一更新机器学习模型,其中,所述多个路径中不同路径的训练参数具有基于所述超参数进行采样得到的不同数值,M1大于或等于1且小于或等于第一数值;

超参更新模块,用于基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值;

超参获取模块,用于基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,直至达到预设截止条件,获得所述超参数的最终数值,其中,M2大于或等于1且小于或等于第一数值。

7.根据权利要求6所述的装置,其特征在于,所述预设截止条件包括下列中的至少一项:对所述超参数的更新次数达到预设更新次数;

或者,所述多个路径得到的更新机器学习模型的性能达到目标性能。

8.一种机器学习模型的训练装置,其特征在于,包括:

超参获取模块,用于通过权利要求1至4中任一项所述的方法获得所述超参数的最终数值;

模型训练模块,用于基于所述超参数的最终数值,训练具有初始模型参数的初始机器学习模型,得到目标机器学习模型。

9.一种电子设备,其特征在于,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现权利要求1至4一所述的方法,或者实现权利要求5所述的方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至4任一所述的方法,或者实现权利要求5所述的方法。

说明书 :

确定模型超参数及模型训练的方法和装置、存储介质

技术领域

[0001] 本公开涉及机器学习技术,具体涉及确定模型超参数及模型训练的方法和装置、存储介质。

背景技术

[0002] 近年来,深度神经网络等机器学习模型在各种计算机视觉应用中取得了显著的成功。在大量标记数据的驱动下,网络的性能也达到了惊人的水平。然而,机器学习模型的超参数目前主要是采用人工设计,在人工设计好模型超参数后,保持该超参数不变,对机器学习模型进行训练,最终得到机器学习模型的模型参数,由于人工设计的局限性,最终得到的机器学习模型的性能还有待进一步优化。

发明内容

[0003] 有鉴于此,本公开至少提供一种确定模型超参数的技术及模型训练技术。
[0004] 第一方面,提供一种确定模型超参数的方法,所述方法包括:确定超参数的初始值;根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到所述每个路径的第一更新机器学习模型,其中,所述多个路径中不同路径的训练参数具有基于所述超参数进行采样得到的不同数值,M1大于或等于1且小于或等于第一数值;基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值;基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,直至达到预设截止条件,获得所述超参数的最终数值,其中,M2大于或等于1且小于或等于第一数值。
[0005] 在一种可能的实现方式中,在所述对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新之前,还包括:从多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型;将所述多个路径的第一更新机器学习模型的模型参数更新为所述第一目标更新机器学习模型的模型参数。
[0006] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述从所述多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型,包括:基于所述多个路径的第一更新机器学习模型的性能参数,从所述多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型。
[0007] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到所述每个路径的第一更新机器学习模型,包括:基于所述超参数的初始值和所述样本图像集中的至少一个第一样本图像,通过多个路径中每个路径对所述初始机器学习模型进行第一迭代训练,得到所述每个路径的第一内环更新机器学习模型;基于所述超参数的初始值和所述样本图像集中的至少一个第二样本图像,通过所述多个路径中每个路径对所述每个路径的第一内环更新机器学习模型进行第二迭代训练,得到所述每个路径的第二内环更新机器学习模型;基于所述多个路径中每个路径的第二内环更新机器学习模型,得到所述每个路径的第一更新机器学习模型。
[0008] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述基于所述超参数的初始值和所述样本图像集中的至少一个第一样本图像,通过多个路径中每个路径对所述初始机器学习模型进行第一迭代训练,得到所述每个路径的第一内环更新机器学习模型,包括:基于所述超参数的初始值进行多次采样,得到所述多个路径中每个路径的第一训练参数;基于所述多个路径中每个路径的第一训练参数和所述样本图像集中的至少一个第一样本图像,对所述初始机器学习模型进行第一迭代训练,得到每个路径的第一内环更新机器学习模型。
[0009] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述每个路径的第一迭代训练和第二迭代训练中采用的训练参数是基于所述超参数的初始值进行不同采样得到的。
[0010] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值,包括:基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,确定所述每个路径的模型更新参数;对所述多个路径的模型更新参数进行平均处理,得到平均更新参数;根据所述平均更新参数,将所述超参数的数值更新为第一更新值。
[0011] 结合本公开提供的任一实施方式,在一种可能的实现方式中,在所述基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值之前,所述方法还包括:对所述多个路径中每个路径的第一更新机器学习模型的性能参数进行归一化处理;所述基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值,包括:基于所述归一化处理后得到的所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值。
[0012] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述性能参数包括准确率。
[0013] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,包括:基于超参数的第一更新值和所述样本图像集,对所述多个路径中每个路径的第一更新机器学习模型进行M2次迭代训练,得到所述每个路径的第二更新机器学习模型;基于所述多个路径中每个路径的第二更新机器学习模型的性能参数,将所述超参数的数值更新为第二更新值。
[0014] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参数包括用于对所述样本图像集进行图像增强处理的增强分布参数;所述根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,包括:根据所述增强分布参数,确定增强概率分布,所述增强概率分布中包括多个图像增强操作的概率;基于所述增强概率分布,由所述多个数据增强操作中采样所述并行的多个路径中每个路径的目标数据增强操作,对所述每个路径的至少一个样本图像进行图像增强处理,得到至少一个增强图像;基于所述多个路径中每个路径的至少一个增强图像,对所述初始机器学习模型进行M1次迭代训练。
[0015] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述第一更新机器学习模型的性能参数的获取,包括如下处理:通过所述多个路径中每个路径的第一更新机器学习模型对测试图像集中的至少一个测试图像进行处理,得到图像处理结果;基于所述多个路径中每个路径对应的所述图像处理结果,得到每个路径的第一更新机器学习模型的性能参数。
[0016] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述预设截止条件包括下列中的至少一项:对所述超参数的更新次数达到预设更新次数;或者,所述多个路径得到的更新机器学习模型的性能达到目标性能。
[0017] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述方法还包括:从达到所述预设截止条件的情况下得到的多个路径的最终更新机器学习模型中选取目标机器学习模型,其中,所述目标机器学习模型为训练好的用于图像处理的机器学习模型。
[0018] 第二方面,提供一种确定模型超参数的装置,所述装置包括:初始化模块,用于确定超参数的初始值;模型训练模块,用于根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到每个路径的第一更新机器学习模型,其中,所述多个路径中不同路径的训练参数具有基于所述超参数进行采样得到的不同数值,M1大于或等于1且小于或等于第一数值;超参更新模块,用于基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值;超参获取模块,用于基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,直至达到预设截止条件,获得所述超参数的最终数值,其中,M2大于或等于1且小于或等于第一数值。
[0019] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参获取模块,还用于:在所述对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新之前,从所述多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型;将所述多个路径的第一更新机器学习模型的模型参数更新为所述第一目标更新机器学习模型的模型参数。
[0020] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参获取模块,在用于从所述多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型时,包括:基于所述多个路径的第一更新机器学习模型的性能参数,从多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型。
[0021] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述模型训练模块,具体用于:基于所述超参数的初始值和所述样本图像集中的至少一个第一样本图像,通过多个路径中每个路径对所述初始机器学习模型进行第一迭代训练,得到所述每个路径的第一内环更新机器学习模型;基于所述超参数的初始值和所述样本图像集中的至少一个第二样本图像,通过所述多个路径中每个路径对所述每个路径的第一内环更新机器学习模型进行第二迭代训练,得到所述每个路径的第二内环更新机器学习模型;基于所述多个路径中每个路径的第二内环更新机器学习模型,得到所述每个路径的第一更新机器学习模型。
[0022] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述模型训练模块,在用于得到所述每个路径的第一内环更新机器学习模型时,包括:基于所述超参数的初始值进行多次采样,得到所述多个路径中每个路径的第一训练参数;基于所述多个路径中每个路径的第一训练参数和所述样本图像集中的至少一个第一样本图像,对所述初始机器学习模型进行第一迭代训练,得到所述每个路径的第一内环更新机器学习模型。
[0023] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述每个路径的第一迭代训练和第二迭代训练中采用的训练参数是基于所述超参数的初始值进行不同采样得到的。
[0024] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参更新模块,具体用于:基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,确定所述每个路径的模型更新参数;对所述多个路径的网络更新参数进行平均处理,得到平均更新参数;根据所述平均更新参数,将所述超参数的数值更新为第一更新值。
[0025] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参更新模块,具体用于:对所述多个路径中每个路径的第一更新机器学习模型的性能参数进行归一化处理;基于归一化处理后得到的所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值。
[0026] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述性能参数包括准确率。
[0027] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参获取模块,具体用于:基于所述超参数的第一更新值和所述样本图像集,对所述多个路径中每个路径的第一更新机器学习模型进行M2次迭代训练,得到所述每个路径的第二更新机器学习模型;基于多个路径中每个路径的第二更新机器学习模型的性能参数,将所述超参数的数值更新为第二更新值。
[0028] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参数包括用于对所述样本图像集进行图像增强处理的增强分布参数;所述模型训练模块,具体用于:根据所述增强分布参数,确定增强概率分布,所述增强概率分布中包括多个图像增强操作的概率;基于所述增强概率分布,由所述多个数据增强操作中采样所述并行的多个路径中每个路径的目标数据增强操作,对所述每个路径的至少一个样本图像进行图像增强处理,得到至少一个增强图像;基于所述多个路径中每个路径的至少一个增强图像,对所述初始机器学习模型进行M1次迭代训练。
[0029] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参更新模块,还用于获取第一更新机器学习模型的性能参数的获取,包括如下处理:通过所述多个路径中每个路径的第一更新机器学习模型对测试图像集中的至少一个测试图像进行处理,得到图像处理结果;基于所述多个路径中每个路径对应的所述图像处理结果,得到每个路径的第一更新机器学习模型的性能参数。
[0030] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述预设截止条件包括下列中的至少一项:对所述超参数的更新次数达到预设更新次数;或者,所述多个路径得到的更新机器学习模型的性能达到目标性能。
[0031] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参获取模块,还用于从达到所述预设截止条件的情况下得到的所述多个路径的最终更新机器学习模型中选取目标机器学习模型,其中,所述目标机器学习模型为训练好的用于图像处理的机器学习模型。
[0032] 结合本公开提供的任一实施方式,在一种可能的实现方式中,所述超参获取模块,还用于在获得超参数的最终数值之后,基于所述超参数的最终数值,训练初始化模型参数的初始机器学习模型,得到训练完成的目标机器学习模型。
[0033] 第三方面,还提供了一种机器学习模型的训练方法,包括:基于上述任意实施方式中的确定机器学习模型的超参数的方法获得超参数的最终数值,并基于所述超参数的最终数值,训练具有初始模型参数的初始机器学习模型,得到目标机器学习模型。
[0034] 本公开实施例还提供了用于实现该训练方法的装置。
[0035] 第四方面,提供一种图像处理方法,所述方法包括:获取待处理图像;利用机器学习模型对所述待处理图像进行处理,得到图像处理结果,其中,所述机器学习模型的超参数是基于通过本公开任一实施例所述的确定模型超参数的方法确定的超参数训练得到的。
[0036] 第五方面,提供一种电子设备,所述电子设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施例所述的确定模型超参数的方法或者机器学习模型的训练方法。
[0037] 第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的确定模型超参数的方法或者机器学习模型的训练方法。
[0038] 第七方面,提供一种训练系统,包括:参数管理服务器和控制器,其中,参数管理服务器用于管理和更新超参数的数值。控制器用于对基于超参数的机器学习模型进行循环或迭代更新,并将作为超参数更新依据的性能参数反馈至参数管理服务器,以使得参数管理服务器据此进行超参数的更新。
[0039] 本公开实施例提供的确定模型超参数的技术,通过基于多个路径对机器学习模型进行迭代训练,在对模型进行了M1次迭代训练后更新该超参数,并基于更新后的超参数继续通过多个路径对模型进行迭代训练以及超参数数值的进一步更新,通过这种以数值更新-性能检验为循环单元的方式来确定机器学习模型的超参数,加快了超参数的优化效率,并且通过基于机器学习模型的性能参数更新超参数,使得超参数的搜索能够以机器学习模型的性能参数为优化方向,从而提升基于确定的超参数的机器学习模型的性能。

附图说明

[0040] 为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0041] 图1示出了本公开至少一个实施例提供的一种确定模型超参数的方法;
[0042] 图2示出了本公开至少一个实施例提供的另一种确定模型超参数的方法;
[0043] 图3示出了本公开至少一个实施例提供的确定模型超参数的方法的应用场景示例;
[0044] 图4示出了本公开至少一个实施例提供的又一种确定模型超参数的方法;
[0045] 图5示出了本公开至少一个实施例提供的一种模型训练流程;
[0046] 图6示出了本公开至少一个实施例提供的一种确定模型超参数的装置;
[0047] 图7示出了本公开至少一个实施例提供的一种图像处理方法的流程;
[0048] 图8示出了本公开至少一个实施例提供的一种机器学习模型的训练方法;
[0049] 图9示出了本公开至少一个实施例提供的一种机器学习模型的训练装置。

具体实施方式

[0050] 为了使本技术领域的人员更好地理解本公开一个或多个实施例中的技术方案,下面将结合本公开一个或多个实施例中的附图,对本公开一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
[0051] 本公开实施例提供的确定模型超参数的方法和模型训练方法,可以应用于机器学习模型的训练平台,例如云训练平台或端训练平台,其中,该训练平台可以包括一个或多个设备,相应地,上述方法可以由云端设备、网络设备或终端设备等执行,本公开实施例对此不做限定。为了便于理解,下面以该方法由训练设备为例进行描述。
[0052] 本公开实施例中,基于设计合理的搜索空间以及采用高效的搜索方式,自动化搜索合理的超参数,能够提高基于该超参数的机器学习模型的性能。
[0053] 在一些实施例中,超参数的确定流程包括多次循环,其中,在每次循环中,训练设备基于超参数的当前数值进行采样,得到多个路径中每个路径采用的训练参数,并基于该训练参数进行本次循环的初始机器学习模型的模型参数调整,得到更新后的机器学习模型,然后,基于多个路径中更新后的机器学习模型的性能参数,进行超参数的数值更新,更新后的超参数用于下一循环中多个路径的训练参数的确定。
[0054] 在本公开实施例中,机器学习模型可以是神经网络或其他基于超参数进行训练的模型,本公开实施例对此不做限定。
[0055] 在一些实施例中,超参数可以是用于得到损失函数的参数,或者包括用于数据增强的参数,等等,本公开实施例对此不做限定。
[0056] 本公开实施例提供了一种确定模型超参数的方法,该方法旨在快速的搜索到性能较好的超参数,并且该方法将超参数的搜索过程与模型的训练过程结合在一起同时进行。请参见图1,图1示出了本公开至少一个实施例提供的一种确定模型超参数的方法。
[0057] 在步骤100中,确定超参数的初始值。
[0058] 可选地,步骤100~104可以对应所有循环中的第一次循环流程,相应地,在步骤100中,可以初始化超参数,例如赋予该超参数初始值。或者,步骤100~104可以对应所有循环中的某一次中间循环流程,相应地,将上一次循环得到的超参数的数值作为本次循环的超参数的初始值,本公开实施例对此不做限定。
[0059] 在步骤102中,根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到所述每个路径的第一更新机器学习模型。
[0060] 可选地,可以通过多个路径并行地迭代训练机器学习模型,例如将同一机器学习模型分发到多个处理单元或线程,得到多个处理单元或线程中的多个机器学习模型,每个机器学习模型的处理对象可以是样本图像集中的至少一个样本图像。
[0061] 训练设备可以基于所述超参数进行采样,得到模型的训练参数,其中,该采样可以进行多次,以得到多个路径中每个路径采用的训练参数。多个路径中不同路径的训练参数可以是基于该超参数进行不同采样得到的,相应地,不同路径可以具有不同的训练参数数值。
[0062] 在得到训练参数之后,结合该训练参数和至少一个样本图像对机器学习模型进行迭代训练。
[0063] 为了便于理解,可以将本次循环中迭代训练之前的模型称为初始机器学习模型,并将迭代训练后得到的模型称为第一更新机器学习模型。模型的迭代训练次数可以是M1次,该M1可以是大于或等于1且小于或等于第一数值。具体地,该迭代训练的次数可以为一次或多次,例如,M1的数值为50或30或其他数值,该数值可以预先设置或基于机器学习模型的当前性能确定,或通过其他方式确定,相应地,不同循环中的迭代训练次数可以相同或不同,本公开实施例对此不做限定。
[0064] 此外,在一次循环中,多个路径可以对机器学习模型进行相同次数的迭代训练,或者,不同路径也可以对机器学习模型进行不同次数的迭代训练,本公开实施例对此不做限定。
[0065] 在一些实施例中,假设M1为大于1的整数,在每个路径中,处理单元或至少一个线程可以基于训练参数对初始机器学习模型进行一次迭代,得到网络参数调整后的机器学习模型,并以该网络参数调整后的机器学习模型作为下一迭代的输入,其中,在下一迭代中,可以基于超参数进行采样得到另一训练参数,以此往复进行M1次迭代,得到该路径的第一更新机器学习模型。
[0066] 此外,所述的并行的多个路径,本公开实施例并不限制路径的数量。经验实验,采取不同的路径数量,对模型训练的性能可能会有影响,在一定的数量范围内,路径数量的增加会提升模型的性能;路径数量达到一定数值之后,对模型训练的性能的影响也可能会降低。可以综合根据模型性能和计算资源的消耗考虑,确定所选取的路径数量。
[0067] 在步骤104中,基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值。
[0068] 超参数的更新可以是基于多个路径中的第一更新机器学习模型的性能参数,在一些实施例中,基于强化学习的方式进行超参数的更新,例如,更新超参数的目的是使得基于该超参数能训练得到性能参数更优的模型。
[0069] 训练设备可以将超参数更新后的数值称为第一更新值。这样,就完成了超参数更新的一次循环。
[0070] 在步骤106中,基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,直至达到预设截止条件,获得所述超参数的最终数值。
[0071] 可选地,在步骤104更新超参数之后,可以基于超参数的第一更新值和样本图像集,继续对多个路径中的机器学习模型进行迭代更新。例如,对第一更新机器学习模型的迭代训练次数可以是M2次,该M2可以是大于或等于1且小于或等于第一数值,且M2与M1可以相同,也可以不同。
[0072] 随着机器学习模型的继续迭代训练,超参数也将进一步更新数值,同样的,例如,可以基于继续迭代训练后的机器学习模型的性能参数,继续更新超参数的数值。可选地,当达到预设的截止条件时,可以获得超参数的最终数值,该最终数值是搜索到的较优的超参数数值。例如,该预设的截止条件可以是对所述超参数的更新次数达到预设更新次数,或者,所述多个路径得到的更新机器学习模型的性能达到目标性能。
[0073] 在一些实施例中的确定模型超参数的方法,通过基于多个路径对机器学习模型进行迭代训练,在对模型进行了M1次迭代训练后更新该超参数,并基于更新后的超参数继续通过多个路径对模型进行迭代训练以及超参数数值的进一步更新,通过这种以数值更新-性能检验为循环单元的方式来确定机器学习模型的超参数,加快了超参数的优化效率,并且通过基于机器学习模型的性能参数更新超参数,使得超参数的搜索能够以机器学习模型的性能参数为优化方向,从而提升基于确定的超参数的机器学习模型的性能。
[0074] 图2示出了本公开至少一个实施例提供的另一种确定模型超参数的方法,该实施例描述了更详细的搜索模型超参数的处理方式。如图2所示,该方法可以包括:
[0075] 在步骤100中,确定超参数的初始值。
[0076] 在步骤102中,根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到所述每个路径的第一更新机器学习模型。
[0077] 可选地,对每个路径的初始机器学习模型进行M1次迭代训练得到第一更新机器学习模型,可以包括如下过程:
[0078] 例如,可以将基于超参数的初始值和样本图像集中的至少一个第一样本图像对初始机器学习模型进行第一迭代训练后得到的模型,称为第一内环更新机器学习模型。在获得该第一内环更新机器学习模型的过程中,可以基于超参数的初始值进行多次采样,得到多个路径中每个路径的第一训练参数,然后基于该第一训练参数和样本图像集对初始机器学习模型进行第一迭代训练,得到所述每个路径的第一内环更新机器学习模型。
[0079] 接着,可以基于超参数的初始值和样本图像集中的至少一个第二样本图像,通过所述多个路径中每个路径对所述每个路径的第一内环更新机器学习模型进行第二迭代训练,得到的更新模型可以称为第二内环更新机器学习模型。
[0080] 基于所述多个路径中每个路径的第二内环更新机器学习模型,继续迭代更新,直至得到所述每个路径的第一更新机器学习模型。其中,所述的每个路径的第一迭代训练和第二迭代训练中采用的训练参数是基于所述超参数的初始值进行不同采样得到的。
[0081] 在步骤104中,基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值。
[0082] 在一些实施例中,基于模型的性能参数更新超参数,可以包括:基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,确定所述每个路径的模型更新参数。对所述多个路径的模型更新参数进行平均处理,得到平均更新参数。并根据所述平均更新参数,将所述超参数的数值更新为第一更新值。
[0083] 其中,模型的性能参数的获取,可以通过多个路径中每个路径的第一更新机器学习模型对测试图像集中的至少一个测试图像进行处理,得到图像处理结果;并基于所述的多个路径的图像处理结果,得到每个路径的第一更新机器学习模型的性能参数。例如,该性能参数可以是模型的准确率。
[0084] 此外,在将超参数的数值更新为第一更新值之前,还可以对多个路径中的每个路径的第一更新机器学习模型的性能参数进行归一化处理。并且基于所述归一化处理后得到的性能参数,将超参数的数值更新为第一更新值。
[0085] 在步骤S106中,从所述多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型,将所述多个路径的第一更新机器学习模型的模型参数更新为所述第一目标更新机器学习模型的模型参数。
[0086] 可选地,在进行下一次模型的迭代训练之前,可以统一多个路径的机器学习模型的模型参数。例如,可以基于该多个路径的第一更新机器学习模型的模型参数,从多个第一更新机器学习模型中选取一个模型作为第一目标更新机器学习模型,并将所述多个路径的模型的模型参数均更新为该第一目标更新机器学习模型的模型参数。示例性的,所述的模型性能参数包括但不限于模型在验证集上的准确率。
[0087] 在步骤106中,基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,直至达到预设截止条件,获得所述超参数的最终数值。
[0088] 例如,在对第一更新机器学习模型进一步迭代训练时,可以基于超参数的第一更新值和所述样本图像集,对所述多个路径中每个路径的第一更新机器学习模型进行M2次迭代训练,得到所述每个路径的第二更新机器学习模型。并且,同样的,基于多个路径中每个路径的第二更新机器学习模型的性能参数,将所述超参数的数值更新为第二更新值。
[0089] 如上,超参数的更新和模型参数的更新是同时进行的,在模型的训练过程中,执行了阶段性的反馈模型训练的性能参数,并基于该性能参数更新超参数。
[0090] 此外,在获得优化后的超参数后,可以存在两种情况:
[0091] 例如,可以同时得到训练好的模型。从达到所述预设截止条件的情况下得到的所述多个路径的最终更新机器学习模型中,选取目标机器学习模型,其中,该目标机器学习模型为训练好的用于图像处理的机器学习模型。
[0092] 又例如,可以利用最终优化的超参数,重新训练得到模型作为最终训练的机器学习模型。即基于所述超参数的最终数值,训练初始化模型参数的初始机器学习模型,得到训练完成的目标机器学习模型。
[0093] 在一些实施例中的确定模型超参数的方法,通过在对机器学习模型的训练过程中,同时更新超参数,加快了超参数的搜索效率;并且,该方法在更新超参数时是以机器学习模型的性能参数作为优化依据,从而保证了超参数的效果,实现了既快又好的搜索到较优的超参数。
[0094] 如上的确定模型超参数的方法,适用于任何机器学习的超参数的搜索优化。如下将以其中一种超参数为例,该超参数是用于对所述样本图像集进行图像增强处理的增强分布参数,以此说明该方法的执行过程,但可以理解的是,该方法不局限于增强分布参数的优化。
[0095] 数据增强策略可以应用于对网络的训练过程,通过使用数据增强策略对网络的输入数据进行数据增强,可以改善网络训练过程中的过拟合问题。例如,可以对输入的图像数据进行旋转、剪切、移动等数据增强,得到新的训练数据用于训练网络,有助于提高网络的泛化能力,提高网络预测的准确率。
[0096] 而使用的数据增强策略不同,网络的训练效果也不同。例如,使用某一种数据增强策略,训练的网络的泛化能力稍差,网络在验证集上的准确率也较低。而使用另一种数据增强策略,训练的网络的准确率能够得到提升。因此,搜索一种较优的数据增强策略,对于训练得到性能较好的网络有着重要作用。
[0097] 本公开实施例提供了一种数据增强策略的优化方法,该方法是一种自动化搜索较优的数据增强策略的方法,如下将详述该方法:
[0098] 首先,为了对该方法的描述更加清楚,说明一些基础内容:
[0099] 搜索空间(Search Space)和数据增强操作:在网络训练时,对网络输入数据进行哪些数据增强操作,可以是采用预设的一些数据增强操作,由这些预设的操作中选择使用,该预设的多个操作就可以称为“搜索空间”。
[0100] 例如,当网络的输入数据是图像时,可以对图像进行旋转、颜色调整、剪切、移动等多种处理,可以将“旋转”、“移动”等单个的处理称为数据增强元素(an augmentation element),本公开可以将两种数据增强元素的组合称为一个“数据增强操作”(an augmentation operation)。假设数据增强元素的数量有36个,那么可能的两两组合的数量即数据增强操作的数量K=362,即搜索空间中包括K个数据增强操作。对于网络输入的每一个图像,可以由该搜索空间中选择一个数据增强操作,应用到该图像中进行数据增强。
[0101] 其中,在一些实施例中,数据增强元素包括但不限于:水平剪切(HorizontalShear)、垂直剪切(VerticalShear)、水平移动(HorizontalTranslate)、垂直移动(VerticalTranslate)、旋转(Rotate)、色调调整(ColorAdjust)、色调分离(Posterize)、曝光处理(Solarize)、对比处理(Contrast)、锐化处理(Sharpness)、增亮处理(Brightness)、自动对比(AutoContrast)、色调均衡化(Equalize)、倒置处理(Invert)等。
[0102] 增强分布参数(augmentation distribution parameterθ)和概率分布(pθ):该增强分布参数可以是一个数值,每一个数据增强操作都可以对应一个增强分布参数的数值。而概率分布是根据该增强分布参数进行转换得到,概率分布是将每一个数据增强操作对应的增强分布参数数值都转换为0至1之间的数值,即转换为一个概率。并且,搜索空间内的所有的数据增强操作对应的概率之和为1。示例性的,概率分布可以是{0.1、0.08、0.32……},共有K个概率,这些概率之和等于1,其中的每一个概率可以表示对应的数据增强操作被采样使用的概率值。
[0103] 本公开的实施例中,上述增强分布参数可以作为网络训练时的一个超参数(hyper-parameter),并可以随着网络的训练过程,与网络参数同时优化。此外,上述的一种概率分布可以看做一种数据增强策略(an augmentation policy),因为对网络的训练数据进行数据增强时是基于该概率分布采样使用的数据增强操作,当概率分布改变时,采样的数据增强操作也随之变化。
[0104] 图3示出了本公开至少一个实施例提供的确定模型超参数的方法的应用场景示例。该应用场景提供了一种训练系统,该系统可以包括:参数管理服务器11和控制器12。其中,
[0105] 参数管理服务器11,用于管理和更新超参数的数值。
[0106] 控制器12,包括多个机器学习模型,所述多个机器学习模型基于超参数进行循环或迭代更新,并获得训练得到的模型的性能参数,控制器12将该性能参数反馈至参数管理服务器,以使得参数管理服务器据此进行超参数的更新。控制器12还可以基于参数管理服务器11更新后的超参数继续进行模型的训练。
[0107] 请参见图3,示例了一种该训练系统可以采用的架构形式,该系统采用的是一种在线优化的双层架构,通过该双层架构可以使得增强分布参数能够与网络参数同时进行优化。其中,所述的双层架构中包括参数管理服务器11和控制器12。参数管理服务器11负责存储和更新增强分布参数,并基于该增强分布参数得到数据增强操作的概率分布pθ,。控制器12中可以包括一组待训练的网络(Network),假设共有N个网络,例如,该N可以是4至16中的任一数值。所述网络的网络结构本公开不限制,例如可以是CNN(Convolutional Neural Networks,卷积神经网络)。
[0108] 可以将参数管理服务器11和控制器12的整体作为一个外环(Outer Loop),该外环以强化学习的方式运行。外环可以迭代T个时间步(time step)来更新参数管理服务器11维护的增强分布参数θ,该增强分布参数作为一个超参数,更新该增强分布参数可以作为参数管理服务器11在强化学习训练过程中的行为(action)。而将控制器12基于增强分布参数训练得到的网络在验证集上的准确率作为强化学习训练过程中的返回奖赏值(Reward),根据该Reward进行增强分布参数的更新,迭代T个时间步后以实现Reward的最优化,即准确率最高是强化学习的目标方向。所述的T=1,2,……Tmax。
[0109] 而控制器12中的N个待训练的网络,可以作为内环(Inner Loop),该N个网络可以并行运行。每一个网络的训练可以是基于参数管理服务器11在外环更新的增强分布参数采样使用的数据增强操作,并基于数据增强后的数据进行网络训练。网络参数的训练可以使用随机梯度下降法(SGD,Stochastic gradient descent)。每个网络可以迭代i次(i=1,2,….I),并将迭代i次的网络在验证集上的准确率作为上述的返回奖赏值Reward,用于更新增强分布参数。
[0110] 图4示出了本公开至少一个实施例提供的又一种确定模型超参数的方法,在如下的实施例描述中,并行的多个路径可以包括并行的多个网络,该网络可以是机器学习模型。并且,在该示例中,超参数是用于对样本图像集进行图像增强处理的增强分布参数。结合图
4所示,该方法可以包括如下的处理步骤:
[0111] 在步骤400中,并行的多个网络基于初始化的增强分布参数,各自进行增强操作采样,获得所述网络使用的数据增强操作。
[0112] 可选地,控制器12中包括的多个网络可以并行训练。
[0113] 每个所述网络具有初始化的网络参数,并可以基于参数管理服务器11维护的增强概率分布pθ,,采样应用于网络的输入数据的数据增强操作。不同的网络采样的数据增强操作可以是不同的。可以将采样得到的该数据增强操作称为目标数据增强操作。
[0114] 在步骤402中,所述多个网络中的每个网络根据所述数据增强操作,对所述网络的输入数据进行数据增强,并利用增强后的数据进行网络训练,得到更新后的网络参数。
[0115] 可选地,每个网络在进行数据增强后,利用增强后的数据进行网络训练,可以获得更新后的网络参数。本步骤的网络训练可以迭代预设次数。
[0116] 例如,数据增强操作可以包括对图像进行下述处理:旋转、颜色调整、水平剪切、垂直剪切、水平移动、垂直移动、色调分离、曝光处理等。可以利用这些目标数据增强操作对每个路径的至少一个样本图像进行图像增强处理,得到至少一个增强图像。并且,可以基于所述多个路径中每个路径的至少一个增强图像,对所述初始网络进行M1次迭代训练。
[0117] 在步骤404中,获取训练得到的所述多个网络各自在验证集上的准确率。
[0118] 可选地,模型的性能参数是以准确率为例。
[0119] 例如,可以通过验证数据集,验证步骤404中训练得到的网络的准确率(accuracy)。控制器12的N个网络中,不同网络采样使用的数据增强操作不同,相应的,训练得到的网络的效果也不同,各个网络的准确率可以存在差异。
[0120] 在步骤406中,通过强化学习算法,基于所述多个网络的准确率更新所述增强分布参数。
[0121] 可选地,基于训练得到的多个网络的准确率,按照强化学习算法更新参数管理服务器11维护的增强分布参数。准确率的最优化可以作为强化学习的目标方向,基于准确率作为Reward来更新action(即增强分布参数的更新)。
[0122] 在步骤408中,将所述准确率最高的网络的网络参数,应用至所述多个网络,得到下一轮迭代的新网络,完成强化学习的一个时间步的更新。
[0123] 可选地,可以确定控制器12的多个网络中在验证集上准确率最高的网络,并将该准确率最高的网络的网络参数同步至所有的网络,即控制器12中的所有网络的网络参数都应用该同步的网络参数。
[0124] 同步了网络参数之和,控制器12中的多个网络可以称为新网络,并且可以继续进入强化学习的下一个时间步的更新。
[0125] 在步骤410中,多个所述新网络基于所述更新后的增强分布参数,继续强化学习的下一个时间步的迭代更新。
[0126] 本步骤的迭代更新即重复执行前述的步骤400至408,例如,参数管理服务器11基于更新后的增强分布参数获得更新后的概率分布,控制器12中的各个网络可以基于该更新后的概率分布,采样要使用的数据增强操作。并基于增强后的数据训练网络、验证准确率、更新增强分布参数等操作,不再详述。
[0127] 在步骤412中,当达到预设的更新时间步时,将验证集上准确率最高的网络确定为最终训练得到的网络,并获得最后一个时间步更新的增强分布参数,以根据所述增强分布参数确定采取的数据增强操作。
[0128] 所述的达到预设更新时间步,是示例的一种预设的模型截止条件。
[0129] 强化学习的训练可以预设更新时间步的数量,例如,时间步最多是更新Tmax,那么当到达了Tmax时,可以将准确率最高的网络作为最终网络,并将最后更新的增强分布参数作为优化得到的超参数。基于该超参数可以获得概率分布,并可以根据该概率分布在网络训练过程中采样数据增强操作进行训练数据的增强。
[0130] 在一些实施例中的确定模型超参数的方法,通过将增强分布参数作为网络训练的超参数,并且在网络的训练过程中,采取了强化学习的阶段性反馈更新该超参数的方式,使得超参数的优化和网络参数的优化同时进行,显著提升了超参数的搜索效率;再者,该方法采取的强化学习的方式训练超参数,以网络的验证集准确率作为优化目标,超参数的更新以准确率最优为训练方向,使得得到的超参数也更加准确,效果更好。
[0131] 此外,需要说明的是,在传统的超参数优化方式中,网络(Network)的训练要一次性训练到底,类似于图3的框架图中,从初始化的网络到最后的Final Network是一次训练得到的,再基于训练的网络搜索较好的数据增强策略,整个搜索过程非常耗时,而且需要训练数量较多的网络才能获得最终的数据增强策略的搜索结果,时间成本和计算成本非常高。而本公开的优化方法,相当于将上述的网络的一次性训练过程打断,从“初始化的网络到最后的Final Network”的过程中增加了多个阶段性的反馈,网络迭代一定次数就反馈一次,利用强化学习的方式基于阶段性反馈来更新增强分布参数,这种方式将超参数优化和网络参数的优化同时进行,可以大大加快超参数的优化效率,时间成本显著降低,而且,超参数的优化是以网络的准确率为优化目标方向,效果较好,能够既快又好的搜索到较优的超参数,训练的网络数量相比传统方式也大大减少。
[0132] 如下再提供一个实施例的数据增强策略的优化方法,该实施例中,以对输入图像进行旋转、剪切、平移等数据增强操作为例,搜索对输入图像采取的较优的数据增强策略,以使得根据该较优的策略进行增强后的数据训练得到的网络的网络性能更好。
[0133] 首先,初始化图4所示的框架中,控制器12中包括N个网络(Network),该N个网络具有相同的初始化网络参数ω′,并且初始化搜索空间中的各个数据增强操作的增强分布参数θ。参数管理服务器11根据增强分布参数,可以得到数据增强操作的概率分布pθ。
[0134] 此外,还可以设定,在内环中对于每一个网络,在网络训练时,可以设定在强化学习的每一个时间步(at each time step)迭代更新I次,然后进行一次外环的增强分布参数的更新。外环的强化学习的迭代可以设定共迭代Tmax次,即迭代Tmax次后得到最终的优化网络和优化超参数。
[0135] 图5示例了其中一个网络的训练过程,其中,该网络训练时,每一次网络参数的迭代更新是通过一组B个输入图像为网络的输入数据,每一次迭代可以作为一个分组,即网络是通过多个分组进行迭代训练。
[0136] 在步骤500中,基于数据增强策略的增强概率分布,由多个数据增强操作中采样使用的目标数据增强操作。
[0137] 例如,在利用其中一组输入图像进行训练时,该组数据中包括B个输入图像。对于每个输入图像,都可以基于增强概率分布采样一个数据增强操作,该操作可以称为目标数据增强操作。并且,对于采样得到的这些数据增强操作可以看做是基于超参数采样得到的模型的训练参数,不同路径的网络采样得到的数据增强操作可以是不同的。
[0138] 示例性的,对于其中一个输入图像,采样的该数据增强操作可以包括两个数据增强元素“旋转”和“剪切”。对于所述的输入图像可以应用该数据增强操作进行增强,得到增强图像。
[0139] 在步骤502中,利用增强后的数据进行网络训练,得到更新后的网络参数。
[0140] 可选地,增强后的数据可以是增强图像。本步骤的网络训练可以迭代多次,最终得到更新后的网络参数。
[0141] 网络参数更新时,可以使用梯度下降法,以损失函数最小为原则优化网络参数。如下的公式(1)示例了一种网络参数的更新方式:
[0142]
[0143]
[0144] 如上公式(1),网络参数在更新时,与如下参数有关:
[0145] ηw是网络参数的学习率;
[0146] 是该分组迭代时的损失函数值,该损失函数值根据当前迭代采样的数据增强操作 当前网络参数 和当前迭代的输入数据xB,yB,确定。
[0147] 在步骤504中,判断网络的迭代次数是否达到预设迭代次数。
[0148] 如前所述,可以设定在强化学习的每一个时间步(at each time step),控制器中的每个网络迭代更新I次,即通过I个分组进行网络参数更新。
[0149] 可选地,若判断网络的迭代次数i小于预设迭代次数I,则返回步骤300中,通过下一个分组的B个输入图像,继续训练和迭代网络参数。
[0150] 若判断网络的迭代次数i等于预设迭代次数I,则继续步骤306。
[0151] 例如,本步骤的预设迭代次数可以是M1次。此外,在不同的时间步中,网络的迭代次数可以相同,也可以不同。
[0152] 此外,在网络的多次迭代训练中,第一次训练得到的可以称为第一内环更新机器学习模型,再次迭代后可以称为第二内环更新机器学习模型,以此类推。
[0153] 在步骤506中,获得训练得到的网络。
[0154] 每个网络Network都按照图3所示的流程进行训练,这里的训练指的是在强化学习的每一个时间步中的训练。这些N个网络可以是并行训练,最终得到如下参数:{ωT,n}n=1:N,即得到N个网络的每一个网络的网络参数。其中,ωT,n表示该网络参数是在强化学习的第T个时间步中的第n个网络的参数。
[0155] 接着,基于N个训练得到的网络,可以通过验证数据集去验证网络的准确率。可以参见图1的示意,每个网络都可以获得一个准确率Acc。在一些实施例中,以准确率作为网络的性能参数为例,当然在其他的例子中,还可以使用其他的参数作为性能参数的表示。
[0156] 该准确率的获得可以是通过训练得到的网络对测试图像集中的至少一个测试图像进行处理,得到图像处理结果,并基于该图像处理结果得到准确率。
[0157] 上述的准确率作为强化学习的奖赏值reward,基于该奖赏值reward可以通过强化学习算法对增强分布参数进行更新。本公开实施例可以使用强化学习策略梯度算法REINFORCE,基于各个网络的准确率更新增强分布参数。
[0158] 如下的公式(2)示例了REINFORCE算法:
[0159]
[0160] 如上的公式(2),acc(wT,n)是在强化学习的第T个时间步的第n个网络的验证集准确率, 是第n个网络的数据增强操作,该操作是根据概率分布采样得到的。因此,根据公式(2),是根据每个网络的准确率以及所述网络采样的数据增强操作,确定所述多个网络对所述增强分布参数的平均梯度。
[0161] 如上的公式(2)中,仍以性能参数为准确率为例,根据准确率可以得到每个路径的模型更新参数,该模型更新参数可以是该路径的网络的梯度,并将多个路径的梯度进行平均处理,得到上述的平均梯度(即平均更新参数)。
[0162] 此外,在执行公式(2)之前,可以先将多个路径的各个路径的准确率进行归一化处理,并基于归一化后的准确率进行计算。
[0163] 基于上述的平均梯度,可以更新增强分布参数,如下公式(3):
[0164]
[0165] 其中,ηθ是概率分布的学习率。根据该公式(3)更新后的超参数数值可以称为第一更新值,当然,在迭代更新多次后,可以得到超参数的第二更新值、第三更新值等。
[0166] 如上,在一个时间步中,基于网络在验证集的准确率,更新了增强分布参数,参数管理服务器11可以根据该更新后的增强分布参数,更新概率分布,以在下一个时间步根据更新后的概率分布继续采样数据增强操作。
[0167] 请继续结合参见图3,虚线箭头13表示将各个网络的准确率反馈给参数管理服务器11,参数管理服务器11按照上述的REINFORCE算法,可以更新概率分布pθ。实线箭头14表示基于更新后的概率分布继续执行下一个时间步的迭代。在一个实施例中,在下一次迭代开始前,可以将准确率最高的网络的网络参数同步至控制器的所有网络,如图3所示,准确率最高的网络的网络参数是参数15,通过同步箭头16表示将该参数应用于所有网络。在其他的例子中,也可以采用其他方式进行迭代开始前的网络参数统一化。
[0168] 更新后的网络基于更新后的概率分布继续采样,开始下一个时间步的迭代更新。在该下一个时间步的迭代更新中,得到的网络可以称为第二更新机器学习模型,并同样会根据该多个路径中每个路径的第二更新机器学习模型的性能参数,将所述超参数的数值更新为第二更新值。
[0169] 直至到达强化学习的预设更新时间步Tmax时,将准确率最高的网络作为Final Network,即训练得到的最优网络,也可以称为目标机器学习模型。同时,最后一个时间步使用的增强分布参数作为最终优化得到的超参数 即超参数的最终数值。
[0170] 本公开上述图4和图5所示的确定模型超参数的方法流程,可以用如下表1的流程表示,其中,在得到超参数 的同时得到模型权重参数。可以理解的是,也可以采用其他的流程形式,只要符合本公开任一实施例的确定模型超参数的方法思路即可。
[0171] 如下示例一种确定模型超参数的方法的流程:
[0172] 例如,初始化超参数为θ0,并初始化各个网络的网络参数为w0。
[0173] 对于强化学习的每一个时间步(共T=Tmax个时间步),都执行如下处理:
[0174] 控制器的每个网络共进行i=I次迭代更新,每一次迭代更新(若0≤i≤I)按照公式(1)更新网络参数 当I次迭代结束后,获得网络参数wT,n,该wT,n表示在强化学习的第T个时间步中第n个网络的网络参数,其中,共有N个网络。
[0175] 当获得了该N个网络各自的网络参数wT,n后,根据公式(2)计算多个网络对所述增强分布参数的平均梯度 并根据公式(3)更新超参数,在强化学习的第T个时间步使用的超参数可以表示为θT。
[0176] 在进入强化学习的下一个时间步进行网络训练之前,由所述N个网络中选择验证集上准确率最高的网络的网络参数wT,并将该网络参数同步应用至N个网络,以使得该N个网络具有相同的迭代训练起点。
[0177] 当达到预设的强化学习时间步Tmax时,获得最终的网络参数wTmax和超参数[0178] 此外,在一些实施例中是以达到强化学习的预设更新时间步Tmax作为超参数优化的截止条件,在其他的例子中,也可以采用其他的截止条件。并且,该例子是以超参数优化同时得到训练好的网络为例,也可以是最后尚未得到训练好的网络,而是利用最终优化得到的超参数重新训练一个初始化模型参数的初始机器学习模型,得到训练完成的目标机器学习模型。
[0179] 得到超参数以后,当一个网络要训练时,如果该网络采用的数据增强操作的搜索空间与超参数优化时的搜索空间相同,可以直接使用该超参数进行该网络训练时的数据增强,将使得网络得到较好的性能。如果训练的网络对应的数据增强操作的搜索空间有所变化,也可以重新使用本公开提供的优化方法搜索新的超参数,即重新搜索较优的数据增强策略。
[0180] 如下的表1,可以说明本公开任一实施例提供的确定模型超参数的方法的实验效果。请参见表1,左侧的ResNet-18、WideResNet-28-10等表示不同的网络结构,表格上方的Baseline、Cutout等表示不同的数据增强策略获得方法,其中,OHL-Auto-Aug表示利用本公开的方法。将各种不同的方法获得的数据增强策略应用于多种网络结构的训练,经试验证明,本公开的方法与其他各种方式相比能够降低错误率,其中,本公开的方法相对于Baseline方法,训练得到的网络的错误率降低了大约30%。使用本公开方法获得的超参数训练机器学习模型,能够提高得到的模型的准确率等性能。
[0181] 表1本公开方法与其他方法的效果比较
[0182]
[0183] 图6提供了一种确定模型超参数的装置,如图6所示,,该装置可以包括:初始化模块61、模型训练模块62、超参更新模块63和超参获取模块64。
[0184] 初始化模块61,用于确定超参数的初始值;
[0185] 模型训练模块62,用于根据所述超参数的初始值和样本图像集,通过并行的多个路径中每个路径对初始机器学习模型进行M1次迭代训练,得到每个路径的第一更新机器学习模型,其中,多个路径中不同路径的训练参数具有基于所述超参数进行采样得到的不同数值,M1大于或等于1且小于或等于第一数值;
[0186] 超参更新模块63,用于基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值;;
[0187] 超参获取模块64,用于基于所述超参数的第一更新值和所述样本图像集,对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新,直至达到预设截止条件,获得所述超参数的最终数值,其中,M2大于或等于1且小于或等于第一数值。
[0188] 在一些可选的实施例中,超参获取模块64,还用于:在所述对所述多个路径的第一更新机器学习模型进行M2次迭代训练和所述超参数的进一步数值更新之前,从所述多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型;将所述多个路径的第一更新机器学习模型的模型参数更新为所述第一目标更新机器学习模型的模型参数。
[0189] 在一些可选的实施例中,超参获取模块64,在用于从所述多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型时,包括:基于所述多个路径的第一更新机器学习模型的性能参数,从所述多个路径的第一更新机器学习模型中选取第一目标更新机器学习模型。
[0190] 在一些可选的实施例中,所述模型训练模块62,具体用于:基于所述超参数的初始值和所述样本图像集中的至少一个第一样本图像,通过多个路径中每个路径对所述初始机器学习模型进行第一迭代训练,得到所述每个路径的第一内环更新机器学习模型;基于所述超参数的初始值和所述样本图像集中的至少一个第二样本图像,通过所述多个路径中每个路径对所述每个路径的第一内环更新机器学习模型进行第二迭代训练,得到所述每个路径的第二内环更新机器学习模型;基于所述多个路径中每个路径的第二内环更新机器学习模型,得到所述每个路径的第一更新机器学习模型。
[0191] 在一些可选的实施例中,模型训练模块62,在用于得到所述每个路径的第一内环更新机器学习模型时,包括:基于所述超参数的初始值进行多次采样,得到所述多个路径中每个路径的第一训练参数;基于所述多个路径中每个路径的第一训练参数和所述样本图像集中的至少一个第一样本图像,对初始机器学习模型进行第一迭代训练,得到所述每个路径的第一内环更新机器学习模型。
[0192] 在一些可选的实施例中,所述每个路径的第一迭代训练和第二迭代训练中采用的训练参数是基于所述超参数的初始值进行不同采样得到的。
[0193] 在一些可选的实施例中,超参更新模块63,具体用于:基于所述多个路径中每个路径的第一更新机器学习模型的性能参数,确定所述每个路径的模型更新参数;对所述多个路径的网络更新参数进行平均处理,得到平均更新参数;根据所述平均更新参数,将所述超参数的数值更新为第一更新值。
[0194] 在一些可选的实施例中,超参更新模块63,具体用于:对所述多个路径中每个路径的第一更新机器学习模型的性能参数进行归一化处理;基于所述归一化处理后得到的所述多个路径中每个路径的第一更新机器学习模型的性能参数,将所述超参数的数值更新为第一更新值。
[0195] 在一些可选的实施例中,所述性能参数包括准确率。
[0196] 在一些可选的实施例中,超参获取模块64,具体用于:基于所述超参数的第一更新值和所述样本图像集,对所述多个路径中每个路径的第一更新机器学习模型进行M2次迭代训练,得到所述每个路径的第二更新机器学习模型;基于多个路径中每个路径的第二更新机器学习模型的性能参数,将所述超参数的数值更新为第二更新值。
[0197] 在一些可选的实施例中,所述超参数包括用于对所述样本图像集进行图像增强处理的增强分布参数;模型训练模块62,具体用于:根据所述增强分布参数,确定增强概率分布,所述增强概率分布中包括多个图像增强操作的概率;基于所述增强概率分布,由所述多个数据增强操作中采样所述并行的多个路径中每个路径的目标数据增强操作,对所述每个路径的至少一个样本图像进行图像增强处理,得到至少一个增强图像;基于所述多个路径中每个路径的至少一个增强图像,对所述初始机器学习模型进行M1次迭代训练。
[0198] 在一些可选的实施例中,超参更新模块63,还用于获取第一更新机器学习模型的性能参数的获取,包括如下处理:通过所述多个路径中每个路径的第一更新机器学习模型对测试图像集中的至少一个测试图像进行处理,得到图像处理结果;基于所述多个路径中每个路径对应的所述图像处理结果,得到每个路径的第一更新机器学习模型的性能参数。
[0199] 在一些可选的实施例中,所述预设截止条件包括下列中的至少一项:对所述超参数的更新次数达到预设更新次数;或者,所述多个路径得到的更新机器学习模型的性能达到目标性能。
[0200] 在一些可选的实施例中,超参获取模块64,还用于从达到所述预设截止条件的情况下得到的所述多个路径的最终更新机器学习模型中选取目标机器学习模型,其中,所述目标机器学习模型为训练好的用于图像处理的机器学习模型。
[0201] 在一些可选的实施例中,超参获取模块64,还用于在获得所述超参数的最终数值之后,基于所述超参数的最终数值,训练初始化模型参数的初始机器学习模型,得到训练完成的目标机器学习模型。
[0202] 本公开还提供了一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施例的确定模型超参数的方法或者机器学习模型的训练方法。
[0203] 本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例的确定模型超参数的方法或者机器学习模型的训练方法。
[0204] 图7提供了本公开一个实施例中的图像处理方法的流程示意图,如图7所示,该方法可以包括:
[0205] 在步骤700中,获取待处理图像。
[0206] 本步骤不限制输入模型的待处理图像是何种图像。
[0207] 在步骤702中,利用机器学习模型对所述待处理图像进行处理,得到图像处理结果,其中,所述机器学习模型的超参数是通过本公开任一实施例所述的确定模型超参数的方法确定的。
[0208] 在一些实施例中的图像处理方法,由于处理图像的机器学习模型的超参数是通过本公开上述的确定模型超参数的方法确定,该超参数具有较好的效果,所以利用该模型处理得到的图像处理结果也具有很好的性能。
[0209] 图8示出了本公开至少一个实施例提供的一种机器学习模型的训练方法,如图8所示,该方法可以包括:
[0210] 在步骤800中,获得所述超参数的最终数值。
[0211] 可选的,可以通过本公开任一实施例提供的确定模型超参数的方法,确定该超参数的最终数值。
[0212] 在步骤802中,基于所述超参数的最终数值,训练具有初始模型参数的初始机器学习模型,得到目标机器学习模型。
[0213] 由于超参数是通过本公开任一实施例的确定超参数的方法确定,超参数的效果较好,因此使用该超参数训练的机器学习模型也具有较好的性能。
[0214] 图9示出了本公开至少一个实施例提供的一种机器学习模型的训练装置,如图9所示,该装置包括:超参获取模块91和模型训练模块92。
[0215] 超参获取模块91,用于通过本公开任一实施例所述的确定模型超参数的方法,获得所述超参数的最终数值;
[0216] 模型训练模块92,用于基于所述超参数的最终数值,训练具有初始模型参数的初始机器学习模型,得到目标机器学习模型。
[0217] 本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的确定模型超参数的方法或者机器学习模型的训练方法。
[0218] 本公开还提供了一种电子设备,所述电子设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施例所述的确定模型超参数的方法或者机器学习模型的训练方法。
[0219] 本领域技术人员应明白,本公开一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本公开一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0220] 本公开实施例还提供一种计算机可读存储介质,该存储介质上可以存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例描述的用于文字识别的神经网络的训练方法的步骤,和/或,实现本公开任一实施例描述的文字识别方法的步骤。其中,所述的“和/或”表示至少具有两者中的其中一个,例如,“多和/或B”包括三种方案:多、B、以及“多和B”。
[0221] 本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0222] 上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0223] 本公开中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本公开中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本公开中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
[0224] 本公开中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPG多(现场可编程门阵列)或多SIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
[0225] 适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PD多)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
[0226] 适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
[0227] 虽然本公开包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本公开内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
[0228] 类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
[0229] 由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
[0230] 以上所述仅为本公开一个或多个实施例的较佳实施例而已,并不用以限制本公开一个或多个实施例,凡在本公开一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开一个或多个实施例保护的范围之内。