一种模型训练方法、采样策略确定方法、装置及计算设备与流程

文档序号:37365504发布日期:2024-03-22 10:18阅读:9来源:国知局
一种模型训练方法、采样策略确定方法、装置及计算设备与流程

本技术涉及人工智能(artificial intelligence,ai),尤其涉及一种模型训练方法、采样策略确定方法、装置及计算设备。


背景技术:

1、近年来,在深度学习背景下,数据集的规模和深度神经网络模型的尺寸呈迅速增长的趋势。这一现象带来了性能的显著提升,在计算机视觉领域,大规模深度学习模型在图像识别、语义分割、目标检测、视频理解、3d场景分析等关键问题上已取得了突破性的进展。但是,由于预训练数据集具有较大的样本规模,加之用于训练的神经网络模型往往具有较大的参数量,因此在完成神经网络模型训练过程通常会引入大量计算和时间开销。因此,如何高效的进行神经网络模型训练,缩小训练开销是一个至关重要的技术痛点。


技术实现思路

1、本技术提供了一种模型训练方法、采样策略确定方法、模型训练装置、采样策略确定装置、计算设备、计算设备集群、计算机存储介质及计算机产品,能够高效的进行神经网络模型训练,并缩小训练开销。

2、第一方面,本技术提供一种模型训练方法,该方法可以包括:获取第一采样策略,第一采样策略中包括n个训练阶段中每个训练阶段所需数据的分辨率,且第(i-1)个训练阶段所需数据的分辨率小于第i个训练阶段所需数据的分辨率,2≤i≤n,其中,第一采样策略基于第一数据集并通过第一模型在第一预设分辨率区间内搜索得到,第一数据集中包括至少一个图像;利用n个训练阶段中各个训练阶段所需的数据的分辨率,分别对第二数据集进行处理,以得到n个数据集,其中,n个数据集中的每个数据集中数据的分辨率均与n个训练阶段中相应的训练阶段所需的数据的分辨率相同,第二数据集中包括至少一个图像;按照分辨率由小到大的顺序,依次利用n个数据集所包含的数据对第二模型进行训练。

3、由此,在模型训练过程中,将模型的训练过程划分为多个阶段,并依据训练阶段划分,先使用低频信息(即分辨率低的数据)再逐渐引入高频信息(即分辨率高的数据)的课程训练模式对模型进行训练,且每个训练阶段所需的数据的分辨率均是以某个数据集和一个神经网络模型为基础,在一个特定的分辨率区间中搜索得到,从而使得各个训练阶段所需数据的分辨率并不一定是线性的,而可能是非线性的,进而使得采样策略更能符合真实的模型训练环境,避免了因人工设定采样策略不适配模型训练环境的情况,提升了模型训练的准确度。另外,由于人工难以评价各个训练阶段的分辨率是否能够在保证训练效果的同时,最大限度的降低训练过程中的计算量,所以通过人工设定采样策略的方式并不能保证高效的进行神经网络模型训练和缩小训练开销。而本技术中以某个数据集为基础,并通过模型在特定的分辨率区间中搜索各个训练阶段的分辨率,可以在每个训练阶段均对多个分辨率进行对比,并从中选取出最优的一个分辨率,由此以在保证训练效果的同时,可以最大限度的降低训练过程中的计算量。

4、此外,在模型训练过程中,在不同的训练阶段,对业务数据的分辨率进行相应的调整即可,而不用评估业务数据的难易程度,降低了模型训练的开销,且每个训练阶段均是采用的全部的业务数据,只是不同阶段采用的业务数据的分辨率不同,提升了模型训练的精准度。另外,在模型训练过程中,通过对业务数据的分辨率进行调整,可以降低输入至模型中的数据的分辨率,而数据分辨率的降低,则会降低训练过程中的计算量,因此可以实现大规模业务数据的高效训练。

5、在一种可能的实现方式中,在利用n个训练阶段中各个训练阶段所需的数据的分辨率,分别对第二数据集进行处理之前,方法还包括:确定第一采样策略中第n个训练阶段所需数据的分辨率与第二数据集中数据的分辨率之间的第一比例;根据第一比例,对第一采样策略中各个训练阶段所需数据的分辨率进行调整。由此以避免当第n个训练阶段所需数据的分辨率小于第二数据集中数据的分辨率时,无法使用原始数据对第二模型进行训练的情况,以及,避免当第n个训练阶段所需数据的分辨率大于第二数据集中数据的分辨率时,需增大第二数据集中的数据的分辨率而导致增大对第二模型进行训练的开销的情况。

6、在一种可能的实现方式中,基于第一数据集并通过第一模型在第一预设分辨率区间内搜索得到第一采样策略,具体包括:针对获取n个训练阶段中的任意一个训练阶段所需数据的分辨率,获取任意一个训练阶段所需数据的分辨率的分辨率区间,分辨率区间的上限值为在任意一个训练阶段后的第一个训练阶段所需数据的分辨率,分辨率区间的上限值为第一预设分辨率区间中的一个分辨率值,分辨率区间的下限值为第一预设分辨率区间的下限值;从分辨率区间中选取m个分辨率分别对第一数据集进行处理,以得到m个数据集,m≥1;分别利用m个数据集中的每一个数据集对第一模型进行训练,以得到m个模型;基于m个模型中各个模型的精度和目标精度,从m个模型中筛选出目标模型,模型的精度用于表征模型的性能;目标模型的精度大于或等于目标精度,且距离目标精度最近,其中,目标精度为基于第一数据集对第一模型进行训练得到的模型的精度,或者,目标精度为预设值;将训练目标模型所需的数据集的分辨率作为任意一个训练阶段所需数据的分辨率。由此即实现基于第一数据集并通过第一模型在预设分辨率区间内搜索得到所需的分辨率。另外由于本技术中的采样策略是通过第一模型在预设的分辨率区间内搜索得到,所以n个训练阶段所需的数据的分辨率并不一定是线性的,而可能是非线性的,这使得采样策略更能符合真实的模型训练环境,提升模型的训练效果。

7、在一种可能的实现方式中,当任意一个训练阶段为第n个训练阶段时,分辨率区间与第一预设分辨率区间相同。

8、在一种可能的实现方式中,在完成对第二模型的训练之后,方法还包括:获取第二采样策略,第二采样策略中包括p个训练阶段中每个训练阶段所需数据的分辨率,且第(q-1)个训练阶段所需数据的分辨率小于第q个训练阶段所需数据的分辨率,2≤q≤p,其中,第二采样策略基于第三数据集并通过第三模型在第二预设分辨率区间内搜索得到,第三数据集中包括至少一个图像;利用p个训练阶段中各个训练阶段所需的数据的分辨率,分别对第四数据集进行处理,以得到p个数据集,其中,p个数据集中的每个数据集中数据的分辨率均与p个训练阶段中相应的训练阶段所需的数据的分辨率相同,第四数据集中包括与下游任务相关的至少一个图像;按照分辨率由小到大的顺序,依次利用p个数据集所包含的数据再次对第二模型进行训练,以得到与下游任务适配的模型。由此即实现将训练得到的第二模型迁移至下游任务,且在迁移过程中,同样先使用低频信息再逐渐引入高频信息的课程训练模式对模型进行训练。这样,在模型迁移训练过程中,在不同的训练阶段,对业务数据的分辨率进行相应的调整即可,而不用评估业务数据的难易程度,降低了模型训练的开销,且每个训练阶段均是采用的全部的业务数据,只是不同阶段采用的业务数据的分辨率不同,提升了模型训练的精准度。另外,在模型训练过程中,通过对业务数据的分辨率进行调整,可以降低输入至模型中的数据的分辨率,而数据分辨率的降低,则会降低训练过程中的计算量,因此可以实现大规模业务数据的高效训练。

9、第二方面,本技术提供一种采样策略确定方法,该采样策略用于模型训练。该方法可以包括:将第一模型的训练过程划分为n个训练阶段;按照从第n个训练阶段至第1个训练阶段的顺序,依次基于第一数据集并通过第一模型在每个训练阶段对应的分辨率区间内搜索,以得到每个训练阶段所需数据的分辨率;其中,第n个训练阶段对应的分辨率区间的上限值为第一数据集中数据的分辨率,第(i-1)个训练阶段对应的分辨率区间的上限值为第i个训练阶段所需数据的分辨率,每个训练阶段对应的分辨率区间的下限值均为预设分辨率值。由此即实现基于第一数据集并通过第一模型在预设分辨率区间内搜索得到所需的分辨率。另外由于本技术中的采样策略是通过第一模型在预设的分辨率区间内搜索得到,所以n个训练阶段所需的数据的分辨率并不一定是线性的,而可能是非线性的,这使得采样策略更能符合真实的模型训练环境,提升模型的训练效果。

10、在一种可能的实现方式中,按照从第n个训练阶段至第1个训练阶段的顺序,依次基于第一数据集并通过第一模型在每个训练阶段对应的分辨率区间内搜索,具体包括:针对n个训练阶段中的任意一个训练阶段,获取任意一个训练阶段对应的第一分辨率区间;从第一分辨率区间中选取m个分辨率分别对第一数据集进行处理,以得到m个数据集,m≥1;分别利用m个数据集中的每一个数据集对第一模型进行训练,以得到m个模型;基于m个模型中各个模型的精度和目标精度,从m个模型中筛选出目标模型,模型的精度用于表征模型的性能;目标模型的精度大于或等于目标精度,且距离目标精度最近,其中,目标精度为基于第一数据集对第一模型进行训练得到的模型的精度,或者,目标精度为预设值;将训练目标模型所需的数据集的分辨率作为任意一个训练阶段所需数据的分辨率。

11、第三方面,本技术提供一种模型训练装置,该装置包括:获取模块和处理模块。其中,获取模块用于获取第一采样策略,第一采样策略中包括n个训练阶段中每个训练阶段所需数据的分辨率,且第(i-1)个训练阶段所需数据的分辨率小于第i个训练阶段所需数据的分辨率,2≤i≤n,其中,第一采样策略基于第一数据集并通过第一模型在第一预设分辨率区间内搜索得到,第一数据集中包括至少一个图像。处理模块用于利用n个训练阶段中各个训练阶段所需的数据的分辨率,分别对第二数据集进行处理,以得到n个数据集,其中,n个数据集中的每个数据集中数据的分辨率均与n个训练阶段中相应的训练阶段所需的数据的分辨率相同,第二数据集中包括至少一个图像。处理模块还用于按照分辨率由小到大的顺序,依次利用n个数据集所包含的数据对第二模型进行训练。

12、在一种可能的实现方式中,处理模块在利用n个训练阶段中各个训练阶段所需的数据的分辨率,分别对第二数据集进行处理之前,还用于:确定第一采样策略中第n个训练阶段所需数据的分辨率与第二数据集中数据的分辨率之间的第一比例;根据第一比例,对第一采样策略中各个训练阶段所需数据的分辨率进行调整。

13、在一种可能的实现方式中,在基于第一数据集并通过第一模型在第一预设分辨率区间内搜索得到第一采样策略时,处理模块还用于:针对获取n个训练阶段中的任意一个训练阶段所需数据的分辨率,获取任意一个训练阶段所需数据的分辨率的分辨率区间,分辨率区间的上限值为在任意一个训练阶段后的第一个训练阶段所需数据的分辨率,分辨率区间的上限值为第一预设分辨率区间中的一个分辨率值,分辨率区间的下限值为第一预设分辨率区间的下限值;从分辨率区间中选取m个分辨率分别对第一数据集进行处理,以得到m个数据集,m≥1;分别利用m个数据集中的每一个数据集对第一模型进行训练,以得到m个模型;基于m个模型中各个模型的精度和目标精度,从m个模型中筛选出目标模型,模型的精度用于表征模型的性能;目标模型的精度大于或等于目标精度,且距离目标精度最近,其中,目标精度为基于第一数据集对第一模型进行训练得到的模型的精度,或者,目标精度为预设值;将训练目标模型所需的数据集的分辨率作为任意一个训练阶段所需数据的分辨率。

14、在一种可能的实现方式中,当该任意一个训练阶段为第n个训练阶段时,分辨率区间的上限值为第一数据集中数据的分辨率,分辨率区间的下限值为预设分辨率值,其中,第一预设分辨率区间与第n个训练阶段对应的分辨率区间相同。

15、在一种可能的实现方式中,在处理模块完成对第二模型的训练之后,获取模块,还用于获取第二采样策略,第二采样策略中包括p个训练阶段中每个训练阶段所需数据的分辨率,且第(q-1)个训练阶段所需数据的分辨率小于第q个训练阶段所需数据的分辨率,2≤q≤p,其中,第二采样策略基于第三数据集并通过第三模型在第二预设分辨率区间内搜索得到,第三数据集中包括至少一个图像。处理模块,还用于利用p个训练阶段中各个训练阶段所需的数据的分辨率,分别对第四数据集进行处理,以得到p个数据集,其中,p个数据集中的每个数据集中数据的分辨率均与p个训练阶段中相应的训练阶段所需的数据的分辨率相同,第四数据集中包括与下游任务相关的至少一个图像。处理模块,还用于按照分辨率由小到大的顺序,依次利用p个数据集所包含的数据再次对第二模型进行训练,以得到与下游任务适配的模型。

16、第四方面,本技术提供一种采样策略确定装置,该采样策略可以用于模型训练。该装置包括:阶段划分模块和处理模块。其中,阶段划分模块用于将第一模型的训练过程划分为n个训练阶段。处理模块用于按照从第n个训练阶段至第1个训练阶段的顺序,依次基于第一数据集并通过第一模型在每个训练阶段对应的分辨率区间内搜索,以得到每个训练阶段所需数据的分辨率。其中,第n个训练阶段对应的分辨率区间的上限值为第一数据集中数据的分辨率,第(i-1)个训练阶段对应的分辨率区间的上限值为第i个训练阶段所需数据的分辨率,每个训练阶段对应的分辨率区间的下限值均为预设分辨率值。

17、在一种可能的实现方式中,处理模块在按照从第n个训练阶段至第1个训练阶段的顺序,依次基于第一数据集并通过第一模型在每个训练阶段对应的分辨率区间内搜索时,具体用于:针对n个训练阶段中的任意一个训练阶段,获取任意一个训练阶段对应的第一分辨率区间;从第一分辨率区间中选取m个分辨率分别对第一数据集进行处理,以得到m个数据集,m≥1;分别利用m个数据集中的每一个数据集对第一模型进行训练,以得到m个模型;基于m个模型中各个模型的精度和目标精度,从m个模型中筛选出目标模型,模型的精度用于表征模型的性能;目标模型的精度大于或等于目标精度,且距离目标精度最近,其中,目标精度为基于第一数据集对第一模型进行训练得到的模型的精度,或者,目标精度为预设值;将训练目标模型所需的数据集的分辨率作为任意一个训练阶段所需数据的分辨率。

18、第五方面,本技术提供一种计算设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序;其中,当存储器存储的程序被执行时,处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法,或者,执行第二方面或第二方面的任一种可能的实现方式所描述的方法。

19、第六方面,本技术提供一种计算设备集群,包括至少一个计算设备,每个计算设备均包括处理器和存储器。至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行第一方面或第一方面的任一种可能的实现方式所描述的方法,或者,执行第二方面或第二方面的任一种可能的实现方式所描述的方法。

20、第七方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法,或者,执行第二方面或第二方面的任一种可能的实现方式所描述的方法。

21、第八方面,本技术提供一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法,或者,执行第二方面或第二方面的任一种可能的实现方式所描述的方法。

22、可以理解的是,上述第三方面至第八方面的有益效果可以参见上述第一方面或第二方面中的相关描述,在此不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1