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

深度学习应用的超参数优化方法、装置、设备及存储介质与流程

2022-02-20 00:14:49 来源:中国专利 TAG:


1.本发明涉及人工智能业务技术领域,更具体地说,涉及一种深度学习应用的超参数优化方法、装置、设备及存储介质。


背景技术:

2.随着计算力大幅提高,人工智能业务的广泛落地,数据中心中出现不同种类的高性能设备来满足人工智能业务的不同计算需求,如通用gpu来满足训练要求,专用计算卡(fpga、asic等)来满足各种不同业务类型的计算要求,针对专门网络模型的训练或针对线上推理业务,不同种类的存储、网络设施也能够针对性的提高分布式训练和数据业务的需求。这些新兴的基础设施扮演的角色越来越重要,可以说是除了传统深度学习意义上超参数之外的新型参数,这些新的超参数虽然在模型精度上不会有影响,但是对于训练速度、业务上线效率以及稳定性却起着至关重要的作用,另外也能够提高数据中心的计算资源利用率和合理分配。
3.针对不同任务(视觉、自然语言、语音等)的模型结构各有不同,其模型中所用的不同参数如batch size、learning rate、weight decay等称作超参数,这些传统的超参数影响模型的收敛速度、精度等;但是模型结构的差异、参数量的不同也带来了对计算量需求的不同,这些其实在模型训练时算法人员并不能真实感知,这里涉及到模型结构、训练框架、编程语言、计算资源配置等多方面因素,所以如何加速深度学习部署效率,是目前本领域技术人员亟待解决的问题。


技术实现要素:

4.本发明的目的是提供一种深度学习应用的超参数优化方法、装置、设备及存储介质,能够有效加速深度学习部署效率。
5.为了实现上述目的,本发明提供如下技术方案:
6.一种深度学习应用的超参数优化方法,包括:
7.获取多个粒子;单个粒子包含随机为参数组中各超参数进行随机赋值所得数值组,所述参数组包含深度学习应用需配置的各项超参数;
8.基于多目标优化函数计算各粒子在目标组上的适应度值,并删除适应度值小于适应度阈值的粒子;所述目标组包含深度学习应用需实现的加速深度学习部署效率对应各项性能目标;
9.如果当前粒子数量大于数量阈值,则删除势能最大的n个粒子,以使得粒子数量不大于数量阈值,否则,选择势能最小的粒子作为引导粒子,引导其他粒子移动;任意粒子的势能为基于该任意粒子的位置计算得到的;
10.基于粒子的移动更新各粒子的位置,并返回执行基于多目标优化函数计算各粒子在目标组上的适应度值的步骤,直至达到预设要求为止,确定最终保留的各粒子均为优化所得参数数值。
11.优选的,基于多目标优化函数计算各粒子在目标组上的适应度值,包括:
12.确定各粒子中任意粒子为当前粒子,基于各目标函数计算当前粒子在所述目标组中各性能目标上的适应度值,并对当前粒子在各性能目标上的适应度值进行加权求和计算,得到当前粒子在目标组上的适应度值。
13.优选的,确定当前是否达到预设要求,包括:
14.判断执行基于多目标优化函数计算各粒子在目标组上的适应度值的步骤的次数是否达到次数阈值,如果是,则确定当前达到预设要求,否则,确定当前未达到预设要求。
15.优选的,获取多个粒子之后还包括:
16.将获取的全部粒子均作为非支配解加入至外部解集中;
17.基于多目标优化函数计算各粒子在目标组上的适应度值,包括:
18.基于多目标优化函数计算所述外部解集中各粒子在目标组上的适应度值;
19.删除相应的粒子,包括:
20.从所述外部解集中删除相应的粒子;
21.确定当前粒子数量是否大于数量阈值,包括:
22.确定所述外部解集中粒子数量是否大于数量阈值。
23.优选的,获取参数组,包括:
24.获取深度学习应用的配置运行信息,对所述配置运行信息进行数据清洗及数据标准化处理,并从进行数据清洗及数据标准化处理所得的信息中抽取各项超参数组成所述参数组。
25.优选的,确定最终保留的各粒子均为优化所得参数数值之后,还包括:
26.将最终保留的各粒子输出至指定终端。
27.优选的,所述超参数包括算法模型种类、数据集种类、框架种类、训练方式、gpu数量、cpu数量、存储类型及网络类型,所述性能目标包括最短训练运行时间、最高资源利用率及最高网络带宽效率。
28.一种深度学习应用的超参数优化装置,包括:
29.获取模块,用于:获取多个粒子;单个粒子包含随机为参数组中各超参数进行随机赋值所得数值组,所述参数组包含深度学习应用需配置的各项超参数;
30.删除模块,用于:基于多目标优化函数计算各粒子在目标组上的适应度值,并删除适应度值小于适应度阈值的粒子;所述目标组包含深度学习应用需实现的加速深度学习部署效率对应各项性能目标;
31.判断模块,用于:如果当前粒子数量大于数量阈值,则删除势能最大的n个粒子,以使得粒子数量不大于数量阈值,否则,选择势能最小的粒子作为引导粒子,引导其他粒子移动;任意粒子的势能为基于该任意粒子的位置计算得到的;
32.迭代模块,用于:基于粒子的移动更新各粒子的位置,并指示所述删除模块执行基于多目标优化函数计算各粒子在目标组上的适应度值的步骤,直至达到预设要求为止,确定最终保留的各粒子均为优化所得参数数值。
33.一种深度学习应用的超参数优化设备,包括:
34.存储器,用于存储计算机程序;
35.处理器,用于执行所述计算机程序时实现如上任一项所述深度学习应用的超参数
优化方法的步骤。
36.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述深度学习应用的超参数优化方法的步骤。
37.本发明提供了一种深度学习应用的超参数优化方法、装置、设备及存储介质,该方法包括:获取多个粒子;基于多目标优化函数计算各粒子在目标组上的适应度值,并删除适应度值小于适应度阈值的粒子;如果当前粒子数量大于数量阈值,则删除势能最大的n个粒子,以使得粒子数量不大于数量阈值,否则,选择势能最小的粒子作为引导粒子,引导其他粒子移动;基于粒子的移动更新各粒子的位置,并返回执行基于多目标优化函数计算各粒子在目标组上的适应度值的步骤,直至达到预设要求为止,确定最终保留的各粒子均为优化所得参数数值;其中,单个粒子包含随机为参数组中各超参数进行随机赋值所得数值组,所述参数组包含深度学习应用需配置的各项超参数,所述目标组包含深度学习应用需实现的加速深度学习部署效率对应各项性能目标,任意粒子的势能为基于该任意粒子的位置计算得到的。本技术获取多个粒子,每个粒子包含随机为深度学习应用需配置的各超参数赋值所得的数值组;基于多目标优化函数计算各粒子在目标组上的适应度值,且仅保留表示在目标组上表现较好的适应度值对应粒子,目标组包含深度学习应用需实现的加速深度学习部署效率对应各性能目标;如果粒子数量较多,则删除势能最大的至少一个粒子,否则,利用势能最小的粒子引起其他粒子移动,势能为基于粒子的位置计算得到的;基于粒子的移动更新各粒子的位置,返回执行计算各粒子适应度值的步骤以实现迭代,直至达到预设要求则输出最终保留的粒子为最终解。可见,本技术利用基于数据场的多目标优化算法来寻求各项超参数与深度学习应用的最佳组合,进而在各项性能目标上具有较好的表现,有效加速深度学习部署效率。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
39.图1为本发明提供的一种深度学习应用的超参数优化方法的流程图;
40.图2为本发明提供的一种深度学习应用的超参数优化装置的结构示意图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.请参阅图1,其示出了本发明实施例提供的一种深度学习应用的超参数优化方法的流程图,可以包括:
43.s11:获取多个粒子;单个粒子包含随机为参数组中各超参数进行随机赋值所得数值组,所述参数组包含深度学习应用需配置的各项超参数。
44.本技术在实现深度学习应用的超参数优化时,需要先对数据势能中的粒子(数据点)属性初始化,将算法模型种类、框架种类、数据集种类及大小、训练方式(单机、分布式等)、gpu(graphics processing unit,图形处理器)数量要求、cpu(central processing unit,中央处理器)数量要求、存储类型、网络类型等作为属性映射到粒子中。其中,属性即为深度学习应用需要配置优化的超参数,多个超参数的组合则为参数组,如上所述本技术实施例中超参数可以包括算法模型种类、数据集种类、框架种类、训练方式、gpu数量、cpu数量、存储类型及网络类型;而将多个属性映射到粒子中,即为在为参数组中各超参数分别进行一次随机赋值后,则将此次为参数组中各超参数赋值后得到的数值组作为一个粒子。另外,上述粒子表示的数据点还可以来源于日常对用户的典型深度学习应用负载信息的收集和整理,当然根据实际需要进行的其他设定也均在本发明的保护范围之内。
45.s12:基于多目标优化函数计算各粒子在目标组上的适应度值,并删除适应度值小于适应度阈值的粒子;所述目标组包含深度学习应用需实现的加速深度学习部署效率对应各项性能目标。
46.本技术实现深度学习应用超参数优化的目的为用最少的时间获得最佳的运行效率组合或者实现数据中心计算资源最高利用率、最高数据网络带宽利用效率等这些性能目标,但是一个性能目标的优化可能造成另外一个性能目标的损失,因此本技术需要解决这种多目标优化问题。在数学表达方面,多目标优化问题通常被描述为:f(x)=[fi(x),i=1,2,

,m],其中f(x)是待求解的多目标优化问题,x表示一组备选解的集合,m是目标数,fi(x)是各预备解在第i个目标上的适应度值,适应度值即为在相应目标上的表现,适应度值越高表示表现越好,且适应度值的计算与现有技术中的对应技术方案实现原理一致,在此不再赘述。在本技术中备选解则为数据点,目标则为性能目标,而数据点在性能目标上的适应度值则为数据点在性能目标上的表现。
[0047]
需要说明的是,本技术在实现深度学习应用的超参数优化时,还需要进行算法初始化,算法初始化包括多目标优化参数初始化与种群的初始化。具体来说,首先设定多目标优化中性能目标的个数m(目标组包含多个深度学习应用需实现加速深度学习部署效率对应性能目标,性能目标可以包括最短训练运行时间、最高资源利用率及最高网络带宽效率,最高资源利用率具体可以为数据计算资源最高利用率,最高网络带宽效率具体可以为最高数据网络带宽效率,当然还可以根据实际需要进行其他设定),数据点总量n,搜索空间维度d(即数据点的属性数量),解空间范围分别为bl、tl(即上限、下限),外部非支配解的最大数目为maxr,适应度值最大计算次数为maxi;然后,基于上述参数设置在解空间内对每个粒子i的位置与速度进行初始化(可以是各粒子i的位置及速度赋予相应的默认值)。
[0048]
其中,适应度阈值可以根据实际需要进行设定;在实现算法初始化后,本技术计算各粒子在目标组上的适应度值,如果任意粒子的适应度值小于适应度阈值,则说明该任意粒子在目标组上的表现不够好,因为可以直接将该任意粒子删除,否则,说明该任意粒子在目标组上的表现比较好,因此保留该任意粒子,而任意粒子在目标组上的表现好说明该任意粒子比较能够达到目标组中各性能目标。
[0049]
s13:如果当前粒子数量大于数量阈值,则删除势能最大的n个粒子,以使得粒子数量不大于数量阈值,否则,选择势能最小的粒子作为引导粒子,引导其他粒子移动;任意粒子的势能为基于该任意粒子的位置计算得到的。
[0050]
需要说明的是,数据场是一种基于物理原理提出的数域空间,以基于重力场提出的引力衍生数据场为例,场内各个数据都能够独立的向外辐射并接受场内所有其它数据的辐射能量,类似于宇宙空间内的任意物体都通过万有引力对其它物体施加引力并同时被其它物体吸引。遵循场内辐射的规律,在引力衍生场定义的数域空间中,任意一个数据点受到其它数据点辐射能量的总和即为该数据点的势能,可以按照下列公式计算:
[0051][0052]
其中,ψ(xi)是数据点i的势能,n表示数域空间内数据点总数,ρj是数据点j的属性值,在gsa(gravitational search algorithm,引力搜索法)算法中可以表示为粒子质量;σ为影响因子,其作用类似于gsa算法中的万有引力常数;rij表示数据点i与数据点j之间的欧氏距离。由于多目标优化算法中要求得到尽量多分布均匀的非支配解,因而需要根据非支配解的拥挤程度选择引导粒子,数据场的势能可以描述数据的聚集特性和密度,在多目标优化领域中可以用来指导引导粒子的选择。并且,在计算外部解集中各粒子的势能时,可以随机选定或者按照其他预设规则选定外部解集中任意一个粒子为粒子j,然后外部解集中各粒子分别作为粒子i通过上述公式计算得到各粒子的势能。
[0053]
因为外部解集具有更好的收敛性,能够引导算法的收敛过程,因此本技术将粒子作为外部的非支配解,得到包含有所有粒子的外部解集;相应的,获取多个粒子之后还可以包括:将获取的全部粒子均作为非支配解加入至外部解集中;基于多目标优化函数计算各粒子在目标组上的适应度值可以包括:基于多目标优化函数计算外部解集中各粒子在目标组上的适应度值;删除相应的粒子可以包括:从所述外部解集中删除相应的粒子;确定当前粒子数量是否大于数量阈值可以包括:确定所述外部解集中粒子数量是否大于数量阈值。具体来说,需要设定固定大小的外部解集对超参数优化过程中的非支配解进行存储,从而将所有的非支配解存储到外部解集中。然后判断当前的外部解集内非支配解的数量是否超出容量限制maxr(即数量阈值,可以根据实际需要设定),如果超出,则计算外部解集中每个非支配解的势能,然后逐个删除势能最大的非支配解并在每删除一个非支配解后更新外部解集中各非支配解的势能,直至非支配解的数量减小为maxr为止;如果未超出,则计算外部解集中每个非支配解的势能,并从外部解集中选择势能最小的粒子作为引导粒子,吸引其他粒子向该引导粒子移动(也即吸引其他粒子向外部解集的低密度区域收敛),从而提高解分布的均匀性。另外,由于在计算粒子的势能时需要基于粒子的位置进行计算,因此本技术中在吸引其他粒子向引导粒子移动完成后,还需要基于各粒子的移动情况确定各粒子当前的位置,实现各粒子位置的更新。
[0054]
s14:基于粒子的移动更新各粒子的位置,并返回执行基于多目标优化函数计算各粒子在目标组上的适应度值的步骤,直至达到预设要求为止,确定最终保留的各粒子均为优化所得参数数值。
[0055]
在利用引导粒子吸引其他粒子移动并更新各粒子的位置后,返回计算各粒子在目标组上的适应度值的步骤以进行迭代,并在迭代结束后输出外部解集中所有的非支配解。其中,单次实现外部解集内全部非支配解适应度值的计算为单次实现适应度值的计算,预设要求可以为实现适应度计算的次数达到最大的maxi(即次数阈值,可以根据实际需要设定),而确定当前是否达到预设要求则可以包括:判断执行基于多目标优化函数计算各粒子
在目标组上的适应度值的步骤的次数是否达到次数阈值,如果是,则确定当前达到预设要求,否则,确定当前未达到预设要求;进一步的,如果当前未达到预设要求,则需要返回执行计算各粒子在目标组上的适应度值的步骤以继续进行迭代,否则终止循环,输出外部解集中所有的非支配解,以由这些非支配解构成算法的最终解集。
[0056]
本技术获取多个粒子,每个粒子包含随机为深度学习应用需配置的各超参数赋值所得的数值组;基于多目标优化函数计算各粒子在目标组上的适应度值,且仅保留表示在目标组上表现较好的适应度值对应粒子,目标组包含深度学习应用需实现的加速深度学习部署效率对应各性能目标;如果粒子数量较多,则删除势能最大的至少一个粒子,否则,利用势能最小的粒子引起其他粒子移动,势能为基于粒子的位置计算得到的;基于粒子的移动更新各粒子的位置,返回执行计算各粒子适应度值的步骤以实现迭代,直至达到预设要求则输出最终保留的粒子为最终解。可见,本技术利用基于数据场的多目标优化算法来寻求各项超参数与深度学习应用的最佳组合,进而在各项性能目标上具有较好的表现,有效加速深度学习部署效率。
[0057]
本发明实施例提供的一种深度学习应用的超参数优化方法,基于多目标优化函数计算各粒子在目标组上的适应度值,可以包括:
[0058]
确定各粒子中任意粒子为当前粒子,基于各目标函数计算当前粒子在所述目标组中各性能目标上的适应度值,并对当前粒子在各性能目标上的适应度值进行加权求和计算,得到当前粒子在目标组上的适应度值。
[0059]
本技术中在基于多目标优化函数计算各粒子在目标组上的适应度值时,可以先分别计算任意粒子在目标组中每个性能目标上的适应度值,然后在对该任意粒子在每个性能目标上的适应度值进行加权求和运算;其中,越重视的性能指标对应权重越大;从而通过这种方式计算出的适应度值,能够有效准确的表示相应粒子在目标组中各性能目标上的表现程度。
[0060]
本发明实施例提供的一种深度学习应用的超参数优化方法,获取参数组,可以包括:
[0061]
获取深度学习应用的配置运行信息,对所述配置运行信息进行数据清洗及数据标准化处理,并从进行数据清洗及数据标准化处理所得的信息中抽取各项超参数组成所述参数组。
[0062]
需要说明的是,本技术实施例可以预先收集用户的深度学习应用的配置信息、运行过程中的信息等,然后对收集到的这些信息进行数据清洗等工作,最后进行标准化工作达到可以进行分析标准的数据质量为止;在分析整理收集到的这些信息后,可以从中抽取出深度学习应用需要配置的各项超参数,然后由这些超参数组成相应的参数组。从而通过这种方式,能够有效方便的实现参数组的获取。
[0063]
另外,确定最终保留的各粒子均为优化所得参数数值之后,还可以包括:将最终保留的各粒子输出至指定终端。具体来说,指定终端可以根据实际需要进行设定,将最终保留的各粒子输出至指定终端,可以由指定终端从中选取中最合适的粒子,进而进一步达到优化超参数的目的。
[0064]
另外,本技术中超参数的构成可以进一步扩展,且超参数的值可以采用不同的算法策略来进行合理映射。并且,本技术在初始化时可以初始化每个粒子的位置和速度,在后
续每次更新粒子的位置时可以是获取粒子移动的速度信息,进而基于该速度信息计算出粒子的位置,因此每次更新粒子的位置时也可以同时更新粒子的速度,当然根据实际需要进行的其他设定也均在本发明的保护范围之内。
[0065]
本技术主要思想是将深度学习应用所使用的算法模型种类、框架种类、数据集种类大小、训练方式、gpu数量要求、cpu数量要求、存储类型、网络类型等应用属性映射到数据场中粒子的属性里,粒子的属性构建完成后进行构建数据势能场的构建,之后采用gsa方法进行对诸如最短的训练运行时间、数据计算资源最高利用率,数据网络带宽效率等进行多目标优化,经过预设的迭代要求后,gsa最后搜索的非支配解集作为最后优化结果来到达所以解决问题目的。从而通过不同深度学习应用的网络特点结合计算资源特性,利用基于数据场的多目标引力算法来寻求计算资源与深度学习应用的最佳组合,以实现加速深度学习部署效率(训练速度提升、稳定高效提供推理业务等)和提升数据中心资源利用率的目的。
[0066]
本发明实施例还提供了一种深度学习应用的超参数优化装置,如图2所示,可以包括:
[0067]
获取模块11,用于:获取多个粒子;单个粒子包含随机为参数组中各超参数进行随机赋值所得数值组,所述参数组包含深度学习应用需配置的各项超参数;
[0068]
删除模块12,用于:基于多目标优化函数计算各粒子在目标组上的适应度值,并删除适应度值小于适应度阈值的粒子;所述目标组包含深度学习应用需实现的加速深度学习部署效率对应各项性能目标;
[0069]
判断模块13,用于:如果当前粒子数量大于数量阈值,则删除势能最大的n个粒子,以使得粒子数量不大于数量阈值,否则,选择势能最小的粒子作为引导粒子,引导其他粒子移动;任意粒子的势能为基于该任意粒子的位置计算得到的;
[0070]
迭代模块14,用于:基于粒子的移动更新各粒子的位置,并指示所述删除模块执行基于多目标优化函数计算各粒子在目标组上的适应度值的步骤,直至达到预设要求为止,确定最终保留的各粒子均为优化所得参数数值。
[0071]
本发明实施例还提供了一种深度学习应用的超参数优化设备,可以包括:
[0072]
存储器,用于存储计算机程序;
[0073]
处理器,用于执行所述计算机程序时实现如上任一项所述深度学习应用的超参数优化方法的步骤。
[0074]
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可以实现如上任一项所述深度学习应用的超参数优化方法的步骤。
[0075]
需要说明的是,本发明实施例提供的一种深度学习应用的超参数优化装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种深度学习应用的超参数优化方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
[0076]
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的
范围。
再多了解一些

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

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

相关文献