首页 / 专利库 / 人工智能 / 机器学习 / 监督学习 / 一种搜索方法、装置及设备

一种搜索方法、装置及设备

阅读:318发布:2020-05-11

专利汇可以提供一种搜索方法、装置及设备专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种搜索方法、装置及设备,包括:利用循环神经网络在第一预设时长内搜索 机器学习 模型的 算法 结构,得到多个不同的算法结构;利用多个超参数搜索模型在第二预设时长内并行搜索多个不同的算法结构对应的超参数以及评价指标;根据各个算法结构对应的评价指标,从搜索得到的多个算法结构以及该算法结构对应的超参数中,确定出目标算法结构以及该目标算法结构对应的超参数。可见,通过对算法结构以及超参数进行分开搜索,在时间上实现对特征处理过程的二级控制,从而可以避免长时间无法搜索出较优的算法结构以及超参数的情况;而且,利用多个超参数搜索模型进行并行搜索,可以有效提高搜索效率。,下面是一种搜索方法、装置及设备专利的具体信息内容。

1.一种搜索方法,其特征在于,所述方法包括:
利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,所述多个不同的算法结构具有相同数量的节点,每个算法结构中的中间节点为算法集合中的特征处理算法,所述算法集合包括至少一种特征处理算法;
利用多个超参数搜索模型在第二预设时长内并行搜索所述多个不同的算法结构对应的超参数以及评价指标,所述算法结构对应的超参数包括所述算法结构中每个中间节点的超参数,每个算法结构对应的超参数以及评价指标由与所述算法结构对应的超参数搜索模型输出;
根据各个算法结构对应的评价指标,从所述多个算法结构以及每个算法结构对应的超参数中,确定出目标算法结构以及所述目标算法结构对应的超参数。
2.根据权利要求1所述的方法,其特征在于,所述算法结构至少包括第一算法结构以及第二算法结构,所述第一算法结构与所述第二算法结构中包含相同的目标特征处理算法,所述方法还包括:
获取所述第一算法结构中目标特征处理算法的目标超参数;
当利用所述超参数搜索模型搜索所述第二算法结构对应的超参数时,将所述目标超参数确定为所述第二算法结构中所述目标特征处理算法的初始化超参数,所述超参数搜索模型基于所述初始化超参数搜索所述第二算法结构中的目标特征处理算法的超参数。
3.根据权利要求1所述的方法,其特征在于,所述利用多个超参数搜索模型并行搜索所述多个不同的算法结构对应的超参数,包括:
利用目标超参数搜索模型迭代搜索所述算法结构对应的超参数,所述目标超参数搜索模型为所述多个超参数搜索模型中的任意一个超参数搜索模型;
当所述目标超参数搜索模型的迭代搜索次数达到预设次数,且,所述算法结构的评价指标不高于预设值时,停止对所述算法结构的迭代搜索。
4.根据权利要求1所述的方法,其特征在于,所述循环神经网络预先基于强化学习算法完成训练。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述多个算法结构对应的评价指标反馈至所述循环神经网络,以便利用所述循环神经网络在所述第一预设时长内搜索得到新的算法结构;
利用所述超参数搜索模型在所述第二预设时长内搜索所述新的算法结构对应的超参数以及评价指标。
6.根据权利要求1所述的方法,其特征在于,所述超参数搜索模型基于网格搜索算法、随机搜索算法、遗传算法、粒子群优化算法、贝叶斯优化算法、基于序列模型的配置算法、树形结构Parzen估计算法以及Hyperband算法中的任意一种算法完成构建。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述特征处理算法为基于树模型的特征选择算法、独立成分分析算法、特征融合算法、主成分分析算法、基于核函数的主成分分析算法、蒙特卡洛变换算法、多项式特征生成算法、非监督学习的数据转化算法、基于统计指标的特征提取算法以及奇异值分解算法中的任意一种。
8.一种搜索装置,其特征在于,所述搜索装置包括:
第一搜索模,用于利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,所述多个不同的算法结构具有相同数量的节点,每个算法结构中的中间节点为算法集合中的特征处理算法,所述算法集合包括至少一种特征处理算法;
第二搜索模块,用于利用多个超参数搜索模型在第二预设时长内并行搜索所述多个不同的算法结构对应的超参数以及评价指标,所述算法结构对应的超参数包括所述算法结构中每个中间节点的超参数,每个算法结构对应的超参数以及评价指标由与所述算法结构对应的超参数搜索模型输出;
第一确定模块,用于根据各个算法结构对应的评价指标,从所述多个算法结构以及每个算法结构对应的超参数中,确定出目标算法结构以及所述目标算法结构对应的超参数。
9.一种设备,其特征在于,所述设备包括处理器以及存储器
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1至7任一项所述的搜索方法。
10.一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行权利要求
1至7任一项所述的搜索方法。

说明书全文

一种搜索方法、装置及设备

技术领域

[0001] 本申请涉及自动化机器学习技术领域,特别是涉及一种搜索的方法、装置及设备。

背景技术

[0002] 在典型的自动化机器学习流程中,通常可以包括:数据预处理,例如可以是数据清洗、数据归一化处理以及数据均衡等预处理过程;特征处理,也即为搭建机器学习模型的网络结构,包括确定网络结构中每个节点算法以及该算法所对应的算法超参数;分类或者回归处理,即利用训练数据集对搭建的机器学习模型进行训练等。其中,特征处理过程中所搭建的机器学习模型的网络结构,通常直接决定着最终所得到的机器学习模型效果。
[0003] 该机器学习模型的网络结构,具体可以包括算法结构(即网络结构中各个节点所采用的特征处理算法)以及每个特征处理算法对应的超参数。因此,在构建机器学习模型的过程中,通常需要预先搜索出较优的算法结构以及在该算法结构下每个特征处理算法较优的超参数,以提高机器学习的性能和效果。具体的,在搭建机器学习模型的网络结构的过程中,先搜索算法结构中的当前节点采用何种特征处理算法,并进一步搜索出该节点所采用特征处理算法较优的超参数,然后再对该算法结构的下一个节点进行算法搜索以及算法的超参数搜索,重复该过程直至最终搜索出较优的算法结构以及该算法结构下每个特征处理算法较优的超参数。
[0004] 但是,搜索算法结构以及该算法结构下每个特征处理算法的超参数,所需执行的计算过程通常较为复杂,尤其是超参空间会成指数倍增长,从而可能导致长时间无法搜索出较优的算法结构以及相应的超参数。发明内容
[0005] 本申请实施例提供了一种搜索方法及装置,以限制自动化机器学习过程中对于算法结构以及相应超参数的搜索时长,提高搜索效率。
[0006] 第一方面,本申请实施例提供了一种搜索方法,所述方法包括:
[0007] 利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,所述多个不同的算法结构具有相同数量的节点,每个算法结构中的中间节点为算法集合中的特征处理算法,所述算法集合包括至少一种特征处理算法;
[0008] 利用多个超参数搜索模型在第二预设时长内并行搜索所述多个不同的算法结构对应的超参数以及评价指标,所述算法结构对应的超参数包括所述算法结构中每个中间节点的超参数,每个算法结构对应的超参数以及评价指标由与所述算法结构对应的超参数搜索模型输出;
[0009] 根据各个算法结构对应的评价指标,从所述多个算法结构以及每个算法结构对应的超参数中,确定出目标算法结构以及所述目标算法结构对应的超参数。
[0010] 在一种可能的实施方式中,所述算法结构至少包括第一算法结构以及第二算法结构,所述第一算法结构与所述第二算法结构中包含相同的目标特征处理算法,所述方法还包括:
[0011] 获取所述第一算法结构中目标特征处理算法的目标超参数;
[0012] 当利用所述超参数搜索模型搜索所述第二算法结构对应的超参数时,将所述目标超参数确定为所述第二算法结构中所述目标特征处理算法的初始化超参数,所述超参数搜索模型基于所述初始化超参数搜索所述第二算法结构中的目标特征处理算法的超参数。
[0013] 在一种可能的实施方式中,所述利用多个超参数搜索模型并行搜索所述多个不同的算法结构对应的超参数,包括:
[0014] 利用目标超参数搜索模型迭代搜索所述算法结构对应的超参数,所述目标超参数搜索模型为所述多个超参数搜索模型中的任意一个超参数搜索模型;
[0015] 当所述目标超参数搜索模型的迭代搜索次数达到预设次数,且,所述算法结构的评价指标不高于预设值时,停止对所述算法结构的迭代搜索。
[0016] 在一种可能的实施方式中,所述循环神经网络预先基于强化学习算法完成训练。
[0017] 在一种可能的实施方式中,所述方法还包括:
[0018] 将所述多个算法结构对应的评价指标反馈至所述循环神经网络,以便利用所述循环神经网络在所述第一预设时长内搜索得到新的算法结构;
[0019] 利用所述超参数搜索模型在所述第二预设时长内搜索所述新的算法结构对应的超参数以及评价指标。
[0020] 在一种可能的实施方式中,所述超参数搜索模型基于网格搜索算法、随机搜索算法、遗传算法、粒子群优化算法、贝叶斯优化算法、基于序列模型的配置算法、树形结构Parzen估计算法以及Hyperband算法中的任意一种算法完成构建。
[0021] 在一种可能的实施方式中,所述特征处理算法为基于树模型的特征选择算法、独立成分分析算法、特征融合算法、主成分分析算法、基于核函数的主成分分析算法、蒙特卡洛变换算法、多项式特征生成算法、非监督学习的数据转化算法、基于统计指标的特征提取算法以及奇异值分解算法中的任意一种。
[0022] 第二方面,本申请实施例还提供了一种搜索装置,包括:
[0023] 第一搜索模,用于利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,所述多个不同的算法结构具有相同数量的节点,每个算法结构中的中间节点为算法集合中的特征处理算法,所述算法集合包括至少一种特征处理算法;
[0024] 第二搜索模块,用于利用多个超参数搜索模型在第二预设时长内并行搜索所述多个不同的算法结构对应的超参数以及评价指标,所述算法结构对应的超参数包括所述算法结构中每个中间节点的超参数,每个算法结构对应的超参数以及评价指标由与所述算法结构对应的超参数搜索模型输出;
[0025] 第一确定模块,用于根据各个算法结构对应的评价指标,从所述多个算法结构以及每个算法结构对应的超参数中,确定出目标算法结构以及所述目标算法结构对应的超参数。
[0026] 在一种可能的实施方式中,所述算法结构至少包括第一算法结构以及第二算法结构,所述第一算法结构与所述第二算法结构中包含相同的目标特征处理算法,所述装置还包括:
[0027] 获取模块,用于获取所述第一算法结构中目标特征处理算法的目标超参数;
[0028] 第二确定模块,用于当利用所述超参数搜索模型搜索所述第二算法结构对应的超参数时,将所述目标超参数确定为所述第二算法结构中所述目标特征处理算法的初始化超参数,所述超参数搜索模型基于所述初始化超参数搜索所述第二算法结构中的目标特征处理算法的超参数。
[0029] 在一种可能的实施方式中,所述第二搜索模块,包括:
[0030] 搜索单元,用于利用目标超参数搜索模型迭代搜索所述算法结构对应的超参数,所述目标超参数搜索模型为所述多个超参数搜索模型中的任意一个超参数搜索模型;
[0031] 停止搜索单元,用于当所述目标超参数搜索模型的迭代搜索次数达到预设次数,且,所述算法结构的评价指标不高于预设值时,停止对所述算法结构的迭代搜索。
[0032] 在一种可能的实施方式中,所述循环神经网络预先基于强化学习算法完成训练。
[0033] 在一种可能的实施方式中,所述装置还包括:
[0034] 反馈模块,用于将所述多个算法结构对应的评价指标反馈至所述循环神经网络,以便利用所述循环神经网络在所述第一预设时长内搜索得到新的算法结构;
[0035] 第三搜索模块,用于利用所述超参数搜索模型在所述第二预设时长内搜索所述新的算法结构对应的超参数以及评价指标。
[0036] 在一种可能的实施方式中,所述超参数搜索模型基于网格搜索算法、随机搜索算法、遗传算法、粒子群优化算法、贝叶斯优化算法、基于序列模型的配置算法、树形结构Parzen估计算法以及Hyperband算法中的任意一种算法完成构建。
[0037] 在一种可能的实施方式中,所述特征处理算法为基于树模型的特征选择算法、独立成分分析算法、特征融合算法、主成分分析算法、基于核函数的主成分分析算法、蒙特卡洛变换算法、多项式特征生成算法、非监督学习的数据转化算法、基于统计指标的特征提取算法以及奇异值分解算法中的任意一种。
[0038] 第三方面,本申请实施例还提供了一种设备,所述设备包括处理器以及存储器
[0039] 所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0040] 所述处理器用于根据所述程序代码中的指令执行上述第一方面中任一种实施方式所述的搜索方法。
[0041] 第四方面,本申请实施例还提供了一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行上述第一方面中任一种实施方式所述的搜索方法。
[0042] 在本申请实施例的上述实现方式中,可以先利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,其中,多个不同的算法结构可以具有相同数量的节点,并且每个算法结构中的中间节点可以是算法集合中的特征处理算法,而该算法集合可以包括至少一种特征处理算法;然后,可以利用多个超参数搜索模型在第二预设时长内并行搜索多个不同的算法结构对应的超参数以及评价指标,该算法结构对应的超参数具体包括该算法结构中每个中间节点(即特征处理算法)的超参数,每个算法结构对应的超参数及评价指标可以由与该算法结构对应的超参数搜索模型输出得到;这样,根据各个算法结构对应的评价指标,可以从搜索得到的多个算法结构以及该算法结构对应的超参数中,确定出目标算法结构以及该目标算法结构对应的超参数。可见,在自动化机器学习流程的特征处理过程中,通过对算法结构以及超参数进行分开搜索,可以在时间上实现对特征处理过程的二级控制,即可以分别控制算法结构的搜索时长以及超参数的搜索时长,从而可以避免长时间无法搜索出较优的算法结构以及该算法结构中每个特征处理算法的超参数的情况;而且,利用多个超参数搜索模型可以并行搜索多个不同的算法结构的超参数,从而可以有效提高特征处理过程中搜索超参数的效率。附图说明
[0043] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0044] 图1为本申请实施例中一应用场景示意图;
[0045] 图2为本申请实施例中一种搜索方法的流程示意图;
[0046] 图3为包含5个节点的算法结构的初始状态图;
[0047] 图4为包含5个节点的算法结构的最终状态图;
[0048] 图5为RNN与多个超参数搜索模型的连接示意图;
[0049] 图6为本申请实施例中一种搜索装置的结构示意图;
[0050] 图7为本申请实施例中一种设备的硬件结构示意图。

具体实施方式

[0051] 在自动化机器学习过程中,搜索并确定机器学习模型的算法结构以及该算法结构下每个特征处理算法的超参数,通常会直接影响着最终得到的机器学习模型的任务执行效果。
[0052] 目前,为了简化对机器学习模型中的算法结构搜索,通常是预先设定算法结构中仅采用一种算法,比如,部分机器学习模型可以是采用auto_sklearn等开源的网络结构,这种方式虽然能够有效简化特征处理过程,但是由于其所采用的特征处理算法较为单一,最终所得到的机器学习模型的效果和性能很难满足实际应用的需求。但是,如果特征处理过程中采用多种特征处理算法,这不仅需要搜索算法结构,即搜索每个节点采用哪种特征处理算法,还需要搜索每个特征处理算法所对应的超参数,从而使得自动化机器学习模型的超参空间成指数倍增长,进而可能导致长时间无法搜索出较优的算法结构以及该算法结构下每个特征处理算法的超参数。
[0053] 基于此,本申请实施例提供了一种搜索方法,旨在限制自动化机器学习过程中对于算法结构以及相应超参数的搜索时长,提高搜索效率。具体的,在自动化机器学习流程的特征处理过程中,可以先利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,其中,多个不同的算法结构可以具有相同数量的节点,并且每个算法结构中的中间节点可以是算法集合中的特征处理算法,而该算法集合可以包括至少一种特征处理算法;然后,可以利用多个超参数搜索模型在第二预设时长内并行搜索多个不同的算法结构对应的超参数以及评价指标,该算法结构对应的超参数具体包括该算法结构中每个中间节点(即特征处理算法)的超参数,每个算法结构对应的超参数及评价指标可以由与该算法结构对应的超参数搜索模型输出得到;这样,根据各个算法结构对应的评价指标,可以从搜索得到的多个算法结构以及该算法结构对应的超参数中,确定出目标算法结构以及该目标算法结构对应的超参数。
[0054] 可见,在自动化机器学习流程的特征处理过程中,通过对算法结构以及超参数进行分开搜索,可以在时间上实现对特征处理过程的二级控制,即可以分别控制算法结构的搜索时长以及超参数的搜索时长,从而可以避免长时间无法搜索出较优的算法结构以及该算法结构中每个特征处理算法的超参数的情况;而且,利用多个超参数搜索模型可以并行搜索多个不同的算法结构的超参数,从而可以有效提高特征处理过程中搜索超参数的效率。
[0055] 作为一种示例,本申请实施例可以应用于如图1所示的示例性应用场景,在该场景中,用户101可以在终端102上触发自动化机器学习流程,并在终端102上输入算法结构的节点数量;终端102可以响应于用户101的触发操作,开始构建自动化机器学习模型。在机器学习流程的特征处理过程中,终端102可以先利用循环神经网络在第一预设时长内搜索该机器学习模型的算法结构,得到多个不同的算法结构,其中,每个算法结构的节点数量即为用户101所输入的节点数量,并且每个算法结构中的中间节点可以是算法集合中的特征处理算法,而该算法集合可以包括至少一种特征处理算法;然后,终端102可以利用多个超参数搜索模型在第二预设时长内并行搜索多个不同的算法结构对应的超参数以及评价指标,该算法结构对应的超参数具体包括该算法结构中每个中间节点(即特征处理算法)的超参数,每个算法结构对应的超参数及评价指标可以由与该算法结构对应的超参数搜索模型输出得到;最后,终端102可以根据各个算法结构对应的评价指标,可以从搜索得到的多个算法结构以及该算法结构对应的超参数中,确定出目标算法结构以及该目标算法结构对应的超参数,从而终端102可以基于该目标算法结构以及其对应的超参数构建机器学习模型,并利用相应的训练数据集完成对该机器学习模型的训练。
[0056] 可以理解的是,上述场景仅是本申请实施例提供的一个场景示例,本申请实施例并不限于此场景。比如,在其它可能的实施方式中,考虑到终端102的数据处理资源有限,上述搜索过程可以是由终端102转移至服务器上进行处理,并由服务器将搜索结果发送给终端102,由终端102从接收到的搜索结果中确定出目标算法结构以及对应超参数。总之,本申请实施例可以应用于任何可适用的场景中,而不局限于上述场景示例。
[0057] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合附图对本申请实施例中的各种非限定性实施方式进行示例性说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0058] 参阅图2,图2示出了本申请实施例中一种搜索方法的流程示意图,该方法可以应用于如图1所示的终端102,也可以应用于服务器,或者由终端102与服务器协同完成等。该方法具体可以包括:
[0059] S201:利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,其中,该多个不同的算法结构具有相同数量的节点,每个算法结构中的中间节点为算法集合中的特征处理算法,并且,该算法集合包括至少一种特征处理算法。
[0060] 本实施例中,在自动化机器学习流程的特征处理过程中,可以是将算法结构的搜索过程以及超参数的搜索过程分开,具体是先进行算法结构的搜索,在得到多个不同的算法结构后,再基于该算法结构进行超参数的搜索。
[0061] 在搜索算法结构时,具体可以是利用预先设定的循环神经网络(Recurrent Neural Network,RNN)完成对算法结构的搜索,其中,该预先设定的循环神经网络的具体类型以及网络结构,可以根据实际应用所需进行选取设定,而循环神经网络的结构(如输入序列长度等)还可以根据所要搜索的算法结构包含的节点数量进行设定。在一种示例性的具体实施方式中,可以预先确定所需搜索的算法结构所包含的节点数量N(N为大于3的正整数)以及生成算法结构所需的算法集合,其中,该算法集合中包含至少一种特征处理算法。作为一种示例,算法集合中所包含的特征处理算法具体可以是基于树模型的特征选择算法、独立成分分析算法(Independent Component Analysis,ICA)、特征融合算法、主成分分析算法(Principal Component Analysis,PCA)、基于核函数的主成分分析算法(Kernel Principal Component Analysis,KPCA)、蒙特卡洛变换算法(Monte Carlo method,MC)、多项式特征生成算法、非监督学习的数据转化算法、基于统计指标的特征提取算法以及奇异值分解算法(Singular Value Decomposition,SVD)中的任意一种或多种特征处理算法。相应的,每个算法结构可以包括输入节点、中间节点以及输出节点,其中,输入节点可以是自动化机器学习中上一层标准化或者归一化的输出结果,输出节点可以是该RNN的输出结果,而中间节点具体为算法集合中的特征处理算法。可以理解,实际应用中,中心节点所采用的特征处理算法还可以是除了上述算法以外的其它特征处理算法,本实施例中仅列举部分特征处理算法作为示例性说明,并不用于限定中间节点所采用的算法仅局限于上述列举的特征处理算法。
[0062] 然后,可以利用该RNN搜索出节点数量为N的多个不同的算法结构。其中,算法结构之间的不同,具体可以是算法结构中中间节点所采用的特征处理算法不同和/或各中间节点之间的连接关系不同。实际应用中,RNN搜索并输出的算法结构,可以是用序号进行表征。为便于理解,下面对利用RNN搜索出一个有向无环的算法结构的过程进行简要说明。
[0063] 首先,假设所需搜索的算法结构的节点数量为5个,包括输入节点、输出节点以及3个中间节点,并利用1至5依次对该5个节点进行编号,如图3所示。同时,算法集合中的特征处理算法可以包括10种特征处理算法,并利用0至9对其进行编号,分别为:
[0064] 0:extra_trees_preproc(基于树模型的特征选择);
[0065] 1:fast_ica(独立成分分析);
[0066] 2:feature_agglomeration(特征融合);
[0067] 3:kernel_pca(基于核函数之后的主成分分析);
[0068] 4:kitchen_sinks(蒙特卡洛变换);
[0069] 5:pca(主成分分析);
[0070] 6:polynomial(多项式特征生成);
[0071] 7:random_trees_embedding(非监督学习的数据转化);
[0072] 8:select_percentile(基于统计指标的特征提取);
[0073] 9:TruncatedSVD(奇异值分解)。
[0074] 则利用RNN可以搜索出如图4所示的节点数量为5的算法结构。如图4所示,节点1为输入节点,其通常为上一层标准化或归一化的输出,可以无需对其进行算法选择。
[0075] 对于节点2,其可以从算法集合中选择特征处理算法,假设选择pca(主成分分析算法,编号为5),并且其只能与在先编号的节点1连接,该节点2对应的序列可以为“5”,其中,“5”表征为节点2选择的特征处理算法的编号。
[0076] 对于节点3,其可以从算法集合中选择特征处理算法,假设选择ica(独立成分分析,编号为1),再为该节点3选择连接节点,由于在先编号的节点包括节点1与节点2,假设节点3与节点1连接,与节点2不连接,则,该节点3对应的序列可以为“110”,其中,序列“110”中第一位“1”表征为节点3选择的特征处理算法的编号,第二位“1”表征节点3与在先编号的节点1连接,第三位“0”表征节点3与在先编号的节点2不连接。
[0077] 对于节点4,假设从算法集合中选择的特征处理算法为polynomial(多项式特征生成,编号为6),再为该节点4选择连接节点,由于在先编号的节点包括节点1、节点2以及节点3,假设节点4分别与节点1和节点3连接,与节点2不连接,则该节点4对应的序列可以为“6101”,其中,序列“6101”中第一位“6”表征为节点4选择的特征处理算法的编号,第二位“1”表征节点4与在先编号的节点1连接,第三位“0”表征节点4与在先编号的节点2不连接,第四位“1”表征节点4与在先编号的节点3连接。
[0078] 对于节点5,其为输出节点,可以不对该节点进行算法选择,并且所有无后继的中间节点均作为该节点5的输入节点,本示例中,即节点2和节点4作为该节点5的输入节点。
[0079] 则按照节点编号的顺序,表征图4对应的算法结构的序列可以为51106101。
[0080] 当然,对于RNN搜索出的其它算法结构,其相对于图4所示的算法结构而言,中间节点之间的连接关系可以不同,如节点4可以与节点2连接,与节点3不连接等;和/或,中间节点所选择的特征处理算法可以不同,如节点3的特征处理算法可以是编号为4的kitchen_sinks(蒙特卡洛变换)算法等。
[0081] 值得注意的是,本实施例中,对于利用RNN搜索算法结构的搜索时长可以加以限制,具体可以是限制算法结构的搜索过程在第一预设时长内完成,这样,可以实现对算法结构的时间控制,以避免因为算法结构过长而导致这整个特征处理过程的耗时过长。
[0082] S202:利用多个超参数搜索模型在第二预设时长内并行搜索已搜索出的多个不同的算法结构所对应的超参数以及评价指标,其中,该算法结构对应的超参数包括该算法结构中每个中间节点的超参数,每个算法结构对应的超参数以及评价指标由与该算法结构对应的超参数搜索模型输出。
[0083] 本实施例中,在利用RNN搜索出多个不同算法结构后,可以利用多个超参数搜索模型并行搜索这些算法结构对应的超参数以及评价指标,并由该超参数搜索模型输出该算法结构的超参数以及评价指标。其中,每个超参数搜索模型可以搜索一个算法结构,不同超参数搜索模型之间可以并行搜索不同的算法结构,并且,彼此之间的搜索过程可以相互独立。比如,如图5所示,RNN搜索出的多个算法结构可以交由A、B以及C3个不同的超参数搜索模型进行并且搜索,并由相应的超参数搜索模型输出相应的算法结构的超参数以及评价指标,而A、B以及C之间相互独立,搜索算法结构的过程互不干扰。
[0084] 作为一种示例,该超参数搜索模型具体可以是基于网格搜索算法(Grid Search)、随机搜索算法(Random Searching)、遗传算法(Genetic Algorithm)、粒子群优化算法(Particle Swarm Optimization,PSO)、贝叶斯优化算法(Bayesian Optimization)、基于序列模型的配置算法(Sequential Model-based Algorithm Configuration,SMAC)、树形结构Parzen估计算法(Tree-structured Parzen Estimator,TPE)以及Hyperband算法中的任意一种算法完成构建。而该算法结构的评价指标,具体可以是分类准确率、误检率、精确率、召回率、平均精确率、均方差等指标中的任意一种或者多种。
[0085] 需要说明的是,超参数搜索模型搜索得到的算法结构对应的超参数,具体是指该算法结构中的每个中间节点的超参数。比如,超参数搜索模型在搜索如图4所示的算法结构时,具体是搜索该算法结构中节点2采用的主成分分析算法的超参数、节点3采用的独立成分分析算法的超参数以及节点4采用的多项式特征生成算法的超参数。而算法结构对应的评价指标,即为该算法结构的超参数使得该算法结构所具有的性能的度量。
[0086] 本实施例中,在超参数搜索模型搜索算法结构的超参数的过程中,可以通过超参数共享来进一步提高超参数搜索模型对于超参数的搜索效率。具体的,假设存在第一超参数搜索模型搜索第一算法结构,第二超参数搜索模型搜索第二算法结构,并且,第一算法结构的搜索过程早于第二算法结构的搜索过程,则,当第一算法结构与第二算法结构具有相同的特征处理算法(为便于描述,以下称之为目标特征处理算法)时,可以将搜索出的第一算法结构中的该目标特征处理算法的超参数(为便于描述,以下称之为目标超参数)共享给第二超参数搜索模型,用于对第二算法结构对应的超参数进行搜索,具体可以是先获取该第一算法结构中目标特征处理算法的目标超参数,然后,当第二超参数搜索模型开始搜索该第二算法结构对应的超参数时,可以将该目标超参数确定为该第二算法结构中同样存在的目标特征处理算法的初始化超参数,即利用该目标超参数对第二算法结构中的目标特征处理算法进行超参数的初始化,从而第二超参数搜索模型可以基于该初始化超参数搜索该第二算法结构中的目标特征处理算法的超参数。
[0087] 可以理解,当第一超参数搜索模型与第二超参数搜索模型之间不进行超参数共享时,针对于各自算法结构中出现的相同特征处理算法(即上述目标特征处理算法),第一超参数搜索模型与第二超参数搜索模型通常会选择相同的原始数据对该目标特征处理算法进行初始化;基于此,若利用第一超参数搜索模型所搜索出的目标特征处理算法的目标超参数对第二超参数搜索模型所要搜索的目标特征处理算法进行初始化,虽然目标超参数经过了若干步骤的特征处理,但是该目标超参数是基于原始数据演化得到,因此,两个超参数搜索模型仍然是基于原始数据对该目标特征处理算法进行超参数搜索,其数据本质是不变的,从而第一超参数搜索模型在第一算法结构所搜索出的目标特征处理算法的目标超参数,在第二算法结构的目标特征处理算法中同样适用。并且,经实测,利用第一超参数搜索模型所搜索出的目标超参数对第二超参数搜索模型所要搜索的目标特征处理算法进行超参数值的初始化,可以有效提高第二超参数搜索模型进行超参数搜索的效率。
[0088] 实际应用中,在超参数搜索模型搜索算法结构的超参数的过程中,除了上述通过共享超参数的方式来提高超参数搜索效率的实施方式以外,在其它可能的实施方式中,也可以是通过提前终止搜索的方式结束超参数的搜索。在一种可能的实施方式中,对于多个超参数搜索模型中的任意一个超参数搜索模型(为便于描述,以下称之为目标超参数搜索模型),在利用该目标超参数搜索模型迭代搜索算法结构的超参数的过程中,当该目标超参数搜索模型的迭代搜索次数达到预设次数,并且,该算法结构的评价指标始终不高于预设值时,表明该算法结构在经过若干次的迭代搜索后其评价指标始终无法提升,此时,可以停止对该算法结构的迭代搜索,并以当前搜索出的超参数作为该算法结构最终的超参数。这样,可以避免因该算法结构的评价指标始终较低而导致目标超参数搜索模型无时限的搜索能够满足预期评价指标的该算法结构的超参数,从而不仅可以缩短搜索该算法结构的超参数所需的搜索时长,而且,该目标超参数搜索模型在完成对该算法结构的超参数搜索后,还可以继续搜索其它算法结构的超参数。
[0089] 值得注意的是,本实施例中,利用RNN搜索出的算法结构个数,可能多于超参数搜索模型的个数,因此,在利用超参数搜索模型并行搜索算法结构的过程中,对于完成算法结构的超参数搜索的超参数搜索模型,可以继续搜索下一个未进行搜索的算法结构。举例来说,假设循环神经网络搜索得到的算法结构的个数为20个(为便于描述,分别用1至20对其进行编号区分),而超参数搜索模型的个数为5个,则可以利用这5个超参数搜索模型分别搜索编号为1至5的算法结构对应的超参数,当存在超参数搜索模型完成对当前算法结构的超参数搜索后,可以继续搜索编号为6至20中未完成超参数搜索的算法结构。
[0090] S203:根据各个算法结构对应的评价指标,从多个算法结构以及每个算法结构对应的超参数中,确定出目标算法结构以及该目标算法结构对应的超参数。
[0091] 在搜索得到多个算法结构以及该算法结构的超参数后,可以从中确定出部分(比如一个)算法结构的以及算法结构的超参数用于构建最终机器学习模型的网络架构,具体可以是根据各个算法结构对应的评价指标进行挑选。作为一种示例,可以从多个算法结构的评价指标中,确定出评价指标相对最高的算法结构,比如可以确定出分类准确率最高的算法结构等,然后将其作为用于构建机器学习模型的目标算法结构,进而在确定该目标算法结构后,可以进一步确定出该目标算法结构对应的超参数。
[0092] 需要说明的是,本实施例中用于搜索算法结构的RNN可以预先通过强化学习算法完成训练。其中,强化学习的思路是得到奖励的行为会被“强化”,受到惩罚的行为会被“弱化”,而确定是得到奖励还是受到惩罚的评判依据是算法结构的评价指标,该RNN可以基于该强化学习算法倾向于生成评价指标较高的序列。基于此,在进一步可能的实施方式中,可以将多个算法结构对应的评价指标反馈至循环神经网络,这样,循环神经网络可以基于该算法结构对应的节点序列作为输入,以该算法结构对应的评价指标作为强化学习的评判依据,从而可以基于该算法结构在第一预设时长内重新搜索得到新的算法结构;然后,对于新的算法结构,可以利用超参数搜索模型在第二预设时长内搜索出新的算法结构对应的超参数以及该算法结构的评价指标,以便可以从该新的算法结构中根据该新的算法结构的评价指标确定出目标算法结构,或者基于已有的算法结构以及该新的算法结构共同确定出目标算法结构等。
[0093] 本实施例中,可以先利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,其中,多个不同的算法结构可以具有相同数量的节点,并且每个算法结构中的中间节点可以是算法集合中的特征处理算法,而该算法集合可以包括至少一种特征处理算法;然后,可以利用多个超参数搜索模型在第二预设时长内并行搜索多个不同的算法结构对应的超参数以及评价指标,该算法结构对应的超参数具体包括该算法结构中每个中间节点的超参数,每个算法结构对应的超参数及评价指标可以由与该算法结构对应的超参数搜索模型输出得到;这样,根据各个算法结构对应的评价指标,可以从搜索得到的多个算法结构以及该算法结构对应的超参数中,确定出目标算法结构以及该目标算法结构对应的超参数。可见,在自动化机器学习流程的特征处理过程中,通过对算法结构以及超参数进行分开搜索,可以在时间上实现对特征处理过程的二级控制,即可以分别控制算法结构的搜索时长以及超参数的搜索时长,从而可以避免长时间无法搜索出较优的算法结构以及该算法结构中每个特征处理算法的超参数的情况;而且,利用多个超参数搜索模型可以并行搜索多个不同的算法结构的超参数,从而可以有效提高特征处理过程中搜索超参数的效率。
[0094] 此外,本申请实施例还提供了一种搜索装置。参阅图6,图6示出了本申请实施例中一种搜索装置的结构示意图,该装置600包括:
[0095] 第一搜索模块601,用于利用循环神经网络在第一预设时长内搜索机器学习模型的算法结构,得到多个不同的算法结构,所述多个不同的算法结构具有相同数量的节点,每个算法结构中的中间节点为算法集合中的特征处理算法,所述算法集合包括至少一种特征处理算法;
[0096] 第二搜索模块602,用于利用多个超参数搜索模型在第二预设时长内并行搜索所述多个不同的算法结构对应的超参数以及评价指标,所述算法结构对应的超参数包括所述算法结构中每个中间节点的超参数,每个算法结构对应的超参数以及评价指标由与所述算法结构对应的超参数搜索模型输出;
[0097] 第一确定模块603,用于根据各个算法结构对应的评价指标,从所述多个算法结构以及每个算法结构对应的超参数中,确定出目标算法结构以及所述目标算法结构对应的超参数。
[0098] 在一种可能的实施方式中,所述算法结构至少包括第一算法结构以及第二算法结构,所述第一算法结构与所述第二算法结构中包含相同的目标特征处理算法,所述装置600还包括:
[0099] 获取模块,用于获取所述第一算法结构中目标特征处理算法的目标超参数;
[0100] 第二确定模块,用于当利用所述超参数搜索模型搜索所述第二算法结构对应的超参数时,将所述目标超参数确定为所述第二算法结构中所述目标特征处理算法的初始化超参数,所述超参数搜索模型基于所述初始化超参数搜索所述第二算法结构中的目标特征处理算法的超参数。
[0101] 在一种可能的实施方式中,所述第二搜索模块602,包括:
[0102] 搜索单元,用于利用目标超参数搜索模型迭代搜索所述算法结构对应的超参数,所述目标超参数搜索模型为所述多个超参数搜索模型中的任意一个超参数搜索模型;
[0103] 停止搜索单元,用于当所述目标超参数搜索模型的迭代搜索次数达到预设次数,且,所述算法结构的评价指标不高于预设值时,停止对所述算法结构的迭代搜索。
[0104] 在一种可能的实施方式中,所述循环神经网络预先基于强化学习算法完成训练。
[0105] 在一种可能的实施方式中,所述装置600还包括:
[0106] 反馈模块,用于将所述多个算法结构对应的评价指标反馈至所述循环神经网络,以便利用所述循环神经网络在所述第一预设时长内搜索得到新的算法结构;
[0107] 第三搜索模块,用于利用所述超参数搜索模型在所述第二预设时长内搜索所述新的算法结构对应的超参数以及评价指标。
[0108] 在一种可能的实施方式中,所述超参数搜索模型基于网格搜索算法、随机搜索算法、遗传算法、粒子群优化算法、贝叶斯优化算法、基于序列模型的配置算法、树形结构Parzen估计算法以及Hyperband算法中的任意一种算法完成构建。
[0109] 在一种可能的实施方式中,所述特征处理算法为基于树模型的特征选择算法、独立成分分析算法、特征融合算法、主成分分析算法、基于核函数的主成分分析算法、蒙特卡洛变换算法、多项式特征生成算法、非监督学习的数据转化算法、基于统计指标的特征提取算法以及奇异值分解算法中的任意一种。
[0110] 值得注意的是,本实施例所述的搜索装置,对应于上述方法实施例中所述的搜索方法,本实施例中的各模块、单元的具体实施方式,可参见前述方法实施例中的相关之处描述即可,在此不做赘述。
[0111] 另外,本申请实施例还提供了一种设备。参阅图7,图7示出了本申请实施例中一种设备的硬件结构示意图,该设备700包括处理器701以及存储器702:
[0112] 所述存储器702用于存储程序代码,并将所述程序代码传输给所述处理器701;
[0113] 所述处理器701用于根据所述程序代码中的指令执行上述方法实施例中所述的搜索方法。
[0114] 此外,本申请实施例还提供了一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行上述方法实施例中所述的搜索方法。
[0115] 本申请实施例中提到的“第一搜索模块”、“第一超参数搜索模块”、“第一预设时长”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”等。
[0116] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0117] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0118] 以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈