超参数优化方法、装置和电子设备
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种超参数优化方法、装置和电子设备。
背景技术
随着计算机技术的发展,数据处理模型获得了广泛的应用。数据处理模型的超参数是指在开始学习过程之前设置的参数,而不是在训练过程中学习到的参数。
超参数的优化对于数据处理模型的性能有重要的影响。如何减少超参数的优化成本是当前亟需解决的技术问题。
发明内容
本说明书实施例提供一种超参数优化方法、装置和电子设备,以减少超参数的优化成本。本说明书实施例的技术方案如下。
本说明书实施例的第一方面,提供了一种超参数优化方法,包括:利用以下步骤进行迭代处理,直至满足迭代结束条件:根据动作数据,调整超参数的当前取值,所述动作数据用于表示超参数取值的调整方向;根据超参数的调整后的取值,计算相应的性能指标,所述性能指标用于表示模型的性能;根据动作数据和性能指标,更新目标函数的代理模型,所述目标函数用于表示从动作数据到性能指标的映射关系;根据更新后的代理模型,确定新的动作数据;在迭代结束以后,将超参数的当前取值确定为优化取值。
本说明书实施例的第二方面,提供了一种超参数优化装置,包括:迭代模块,用于利用以下子模块进行迭代处理,直至满足迭代结束条件;调整子模块,用于根据动作数据,调整超参数的当前取值,所述动作数据用于表示超参数取值的调整方向;计算子模块,用于根据超参数的调整后的取值,计算相应的性能指标,所述性能指标用于表示模型的性能;更新子模块,用于根据动作数据和性能指标,更新目标函数的代理模型,所述目标函数用于表示从动作数据到性能指标的映射关系;确定子模块,用于根据更新后的代理模型,确定新的动作数据;确定模块,用于在迭代结束以后,将超参数的当前取值确定为优化取值。
本说明书实施例的第三方面,提供了一种电子设备,包括:至少一个处理器;存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如第一方面所述方法的指令。
本说明书实施例提供的技术方案,可以根据动作数据调整超参数的取值。动作数据由不断更新的代理模型确定得到。这样可以快速地获得超参数的优化取值,减少迭代次数,从而减少超参数的优化成本。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中超参数搜索树的结构示意图
图2为本说明书实施例中超参数优化过程的示意图;
图3为本说明书实施例中超参数优化场景示例的流程示意图;
图4为本说明书实施例中超参数优化方法的流程示意图;
图5为本说明书实施例中超参数优化装置的功能结构示意图;
图6为本说明书实施例中电子设备的功能结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
超参数是数据处理模型在开始学习过程之前设置的参数,而不是在训练过程中学习到的参数。例如,神经网络模型的超参数可以包括神经网络的层数和节点数。又例如,决策树模型的超参数可以包括决策树的深度。所述数据处理模型可以为一个独立的模型,例如可以为神经网络模型、逻辑回归模型、或决策树模型等。或者,所述数据处理模型还可以为由多个模型构成的系统。所述系统内的各个模型可以相同或不同。例如,所述数据处理模型可以为由多个神经网络模型构成的系统。值得说明的是,当所述数据处理模型为由多个模型构成的系统时,所述数据处理模型的超参数可以包括系统内各个模型的超参数。
超参数的优化是指为超参数选择优化取值,以使数据处理模型能够达到较好的性能。实现超参数优化的方法可以包括贝叶斯优化算法(Bayesian Optimization)和基于强化学习(Reinforcement Learning)的算法(例如神经网络架构搜索,Neural ArchitectureSearch,NAS)。超参数的优化过程可以包括多次迭代过程。在每次迭代过程中,贝叶斯优化算法可以将超参数的取值和模型的性能指标作为观测到的一个样本数据添加至样本数据集合中;利用样本数据集合不断地更新特定函数的概率分布,从而快速地获得超参数的优化取值,减少迭代次数。这里的特定函数可以用于表示从超参数的取值到模型的性能指标的映射关系。但贝叶斯优化算法所需的样本数据的数量较多。基于强化学习的算法所需的样本数据的数量较少。若将贝叶斯优化算法和基于强化学习的算法相结合,则可以在样本数据的数量较少的条件下,快速地获得超参数的优化取值,减少超参数的优化成本。
本说明书提供一种超参数优化方法的实施例。所述超参数优化方法可以应用于服务器。所述服务器可以为单个服务器、由多个服务器构成的服务器集群、或部署在云端的服务器。
以下介绍本说明书实施例中涉及的术语。
数据处理模型可以具有多种超参数。每种超参数可以对应有候选值集合,所述候选值集合可以包括至少一个候选值。在实际应用中,超参数的取值可以为一个连续的取值区间。通过将连续的取值区间离散化,便可以得到超参数的候选值集合。至于采用何种方式离散化,本说明书实施例不做具体限定。例如可以采用预设步长将连续的取值区间离散化。具体地,例如,某一超参数的取值区间可以为[0,1]。采用预设步长0.2将取值区间[0,1]离散化,便可以得到超参数的候选值集合[0 0.2 0.4 0.6 0.8 1]。或者,超参数的取值还可以包括离散的一个或多个数值,从而可以直接将离散的一个或多个数值作为候选值集合中的候选值。例如,某一超参数的取值可以包括离散的数值0、1和2,超参数的候选值集合可以为[0 1 2]。
数据处理模型的多种超参数可以形成超参数搜索空间。所述超参数搜索空间可以包括树形结构的超参数搜索树。所述超参数搜索树可以包括一棵树或者不相交的多棵树。所述超参数搜索树可以包括多个节点层。每个节点层可以包括至少一个节点。每个节点可以对应一种超参数。不同的节点对应的超参数可以相同或不同。在所述超参数搜索树中,节点之间的层次关系可以根据超参数之间的依存关系确定。具体地,若一种超参数取值的调整会直接影响到另一种超参数取值的调整,便认为这两种超参数之间存在依存关系。例如,超参数H0取值的调整会直接影响到超参数H2的取值,但不会影响到超参数H1的取值。那么,在所述超参数搜索树中,超参数H2所对应节点为超参数H0所对应节点的孩子节点,超参数H1所对应节点不是超参数H0所对应节点的孩子节点。值得说明的是,可以将超参数的候选值集合作为该超参数所对应节点的候选值集合。使得在所述超参数搜索树中,每个节点可以对应有候选值集合。或者,还可以将超参数的取值作为该超参数所对应节点的取值。使得在所述超参数搜索树中,每个节点还可以对应有取值。
请参阅图1。在一些场景示例中,所述超参数搜索树可以包括不相交的两棵树,即节点NodeA对应的树和节点NodeB对应的树。具体地,所述超参数搜索树可以包括节点层1、节点层2、和节点层3。所述节点层1可以包括节点NodeA和NodeB。节点NodeA对应超参数H0,节点NodeB对应超参数H1。节点层2可以包括节点NodeA.1、NodeA.2、NodeB.1、和NodeB.2。节点NodeA.1对应超参数H2,节点NodeA.2对应超参数H3,节点NodeB.1对应超参数H4,节点NodeB.2对应超参数H5。节点层3可以包括节点NodeA.1.1、NodeA.1.2、NodeA.2.1、NodeA.2.2、NodeB.1.1、NodeB.1.2、NodeB.2.1、NodeB.2.2、和NodeB.2.3。节点NodeA.1.1对应超参数H6,节点NodeA.1.2对应超参数H7,节点NodeA.2.1对应超参数H8,节点NodeA.2.2对应超参数H9,节点NodeB.1.1对应超参数H10,节点NodeB.1.2对应超参数H11,节点NodeB.2.1对应超参数H12,节点NodeB.2.2对应超参数H13,节点NodeB.2.3对应超参数H14。
节点NodeA、NodeB、NodeA.1、NodeA.2、NodeB.1、和NodeB.2对应的候选值集合均为[0 1]。节点NodeA.1.1、NodeA.1.2、NodeA.2.1、NodeA.2.2、NodeB.1.1、NodeB.1.2、NodeB.2.1、NodeB.2.2、和NodeB.2.3对应的候选值集合均为[0 0.2 0.4 0.6 0.8 1]。
所述超参数搜索树可以包括根节点、中间节点、和叶子节点中的至少一种。根节点具有0个父节点、和非0个孩子节点。中间节点具有非0个父节点、和非0个孩子节点。叶子节点具有非0个父节点、和0个孩子节点。以图1对应的超参数搜索树为例,根节点可以包括节点层1中的节点,中间节点可以包括节点层2中的节点,叶子节点可以包括节点层3中的节点。
通过超参数搜索树,可以减少数据处理模型的多种超参数的取值所形成的组合数量,有利于快速地获得所述多种超参数的一组优化取值,减少超参数的优化成本。例如,数据处理模型具有2种超参数。其中一种超参数的取值数量为m个,另一种超参数的取值数量为n个。这两种超参数的取值可以形成m×n种组合。若通过超参数搜索树便可以减少所述2种超参数的取值所形成的组合数量。另外,通过超参数搜索树,还可以将部分相对独立的超参数与其它超参数区分开来,有利于对这些超参数的取值独立优化,满足数据处理模型的个性化需求。
动作数据用于表示超参数取值的调整方向。所述服务器可以根据动作数据执行调整动作,实现对超参数的取值进行调整。所述动作数据可以包括多个方向数据。每个方向数据可以对应一种超参数,用于表示该超参数取值的调整方向。其中,所述动作数据中方向数据的数量可以等于数据处理模型的超参数数量。使得所述服务器可以对数据处理模型的全部超参数的取值进行调整。或者,所述动作数据中方向数据的数量还可以小于数据处理模型的超参数数量。使得所述服务器可以对数据处理模型的部分超参数的取值进行调整。例如,节点可以对应有超参数,超参数可以对应有方向数据,使得节点可以对应有方向数据。那么,所述动作数据可以包括超参数搜索树中叶子节点对应的方向数据。所述动作数据可以为向量。当然,所述动作数据还可以采用其它数据结构实现,例如数据表、线性表、或图等。
所述方向数据的取值可以为第一方向值或第二方向值。所述第一方向值用于表示将超参数的取值向变大的方向调整,所述第二方向值用于表示将超参数的取值向变小的方向调整。例如,所述第一方向值可以为0,所述第二方向值可以为1。当然,这里的0和1仅为示例。在实际应用中,所述第一方向值和所述第二方向值还可以为其它的数值或字符。或者,所述方向数据的取值可以为第一方向值、第二方向值或第三方向值。所述第一方向值用于表示将超参数的取值向变大的方向调整,所述第二方向值用于表示将超参数的取值向变小的方向调整,所述第三方向值用于表示保持超参数的取值不变。例如,所述第一方向值可以为0,所述第二方向值可以为1,所述第三方向值可以为2。
性能指标可以用于表示数据处理模型的性能,例如可以包括准确率(Accuracy)、召回率(Recall)、精确率(Precision)、F1分数(F1-Score)及其任意组合。
目标函数用于表示从动作数据到性能指标的映射关系。目标函数表达式的确定或求解是困难的。在实际应用中,可以使用代理模型来近似模拟目标函数。通过迭代过程对代理模型进行更新,来提高代理模型对动作数据和性能指标的拟合准确程度。所述代理模型可以包括目标函数的概率分布。所述概率分布可以包括高斯分布或其它类型的概率分布。
以下介绍本说明书实施例中的初始化过程。
(1)超参数的初始化过程。
所述服务器可以对数据处理模型的多种超参数进行初始化,以确定所述多种超参数的初始值。不同的超参数可以具有相同或不同的初始值。具体地,针对每种超参数,所述服务器可以随机从该超参数的候选者集合中选取一个候选值,作为该超参数的初始值。或者,针对每种超参数,所述服务器还可以根据经验从该超参数的候选者集合中选取一个候选值,作为该超参数的初始值。使得根据经验获得的多种超参数的初始值能够使数据处理模型达到较好的性能,例如能够达到较大的召回率和/或精确率,从而减少迭代次数。
以图1对应的超参数搜索树为例,所述服务器可以对超参数H0、H1、H2、H3、H4、H5、H6、H7、H8、H9、H10、H11、H12、H13、和H14进行初始化,得到H0、H1、H2、H3、H4、H5、H6、H7、H8、H9、H10、H11、H12、H13、和H14的初始值分别为0、0、0、0、0、0、0.2、0.4、0.6、0.2、0.2、0.4、0.2、0.4、0。
(2)动作数据的初始化过程。
所述服务器可以对动作数据进行初始化,以确定所述动作数据中方向数据的初始值。不同的方向数据可以具有相同或不同的初始值。具体地,方向数据的初始值可以是随机设定的;或者,还可以是根据经验设定的。例如,方向数据的初始值可以为第一方向值或第二方向值。又例如,方向数据的初始值还可以为第一方向值、第二方向值或第三方向值。
以图1对应的超参数搜索树为例,所述服务器可以对动作数据[VH0 VH1 VH2 VH3 VH4VH5 VH6 VH7 VH8 VH9 VH10 VH11 VH12 VH13 VH14]进行初始化。使得方向数据VH0、VH1、VH2、VH3、VH4、VH5、VH6、VH7、VH8、VH9、VH10、VH11、VH12、VH13、和VH14的初始值分别为0、0、0、0、0、0、0、0、0、0、0、1、1、1、0。其中,0表示第一方向值,1表示第二方向值。
请参阅图2和图3。所述超参数优化方法可以包括以下步骤。
步骤S302:根据动作数据,调整超参数的当前取值。
在一些实施例中,本次迭代过程可以为首次迭代过程。如此所述动作数据可以为初始化后的动作数据,超参数的当前取值可以为初始值。或者,本次迭代过程可以为非首次迭代过程。如此所述动作数据可以为上一次迭代过程中确定的动作数据,超参数的当前取值可以为上一次迭代过程中调整后的取值。
在一些实施例中,数据处理模型可以具有多种超参数。所述服务器可以对所述多种超参数的当前取值进行逐个调整。或者,所述服务器还可以对所述多种超参数的当前取值进行并行调整。这样可以提高超参数取值的调整速度。
在一些实施例中,所述服务器可以利用超参数搜索树对超参数的当前取值进行调整。具体地,所述服务器可以对超参数搜索树中部分或全部节点所对应超参数的当前取值进行调整,所述部分或全部节点的调整顺序可以是随机的。或者,所述服务器还可以从超参数搜索树的根节点开始,按照节点之间的层次关系,对超参数搜索树中部分或全部节点所对应超参数的当前取值进行调整。以图1对应的超参数搜索树为例,所述服务器可以对根节点NodeA和NodeB所对应超参数的当前取值进行并行调整;然后,可以对节点NodeA.1、NodeA.2、NodeB.1、NodeB.2所对应超参数的当前取值进行并行调整;然后,可以对叶子节点NodeA.1.1、NodeA.1.2、NodeA.2.1、A.2.2、NodeB.1.1、NodeB.1.2、NodeB.2.1、NodeB.2.2、NodeB.2.3所对应超参数的当前取值进行并行调整。当然,所述服务器还可以采用其它方式对超参数的当前取值进行调整,在此不再一一列举。
在实际应用中,所述服务器可以根据动作数据和超参数的当前取值,从超参数的候选值集合中选取候选值作为调整后的取值。具体地,针对每种超参数,所述服务器可以以该超参数的当前取值为参考标准;可以确定该超参数在动作数据中所对应的方向数据;可以根据方向数据的取值和参考标准,从该超参数的候选值集合中选取候选值作为调整后的取值。所述服务器可以从候选值集合中选取在大小关系上与参考标准相邻的候选值;或者,还可以从候选值集合中选取在大小关系上与参考标准相隔q个的候选值。q为正整数。
例如,若方向数据的取值为第一方向值,可以从候选值集合中选取大于参考标准的候选值。具体地,例如,若方向数据的取值为第一方向值,可以从候选值集合中选取在大小关系上与参考标准相邻、且大于参考标准的候选值。又例如,若方向数据的取值为第二方向值,可以从候选值集合中选取小于参考标准的候选值。具体地,例如,若方向数据的取值为第二方向值,可以从候选值集合中选取在大小关系上与参考标准相邻、且小于参考标准的候选值。值得说明的是,若候选值集合中不存在与参考标准相邻、且大于参考标准的候选值,所述服务器可以将超参数的当前取值作为调整后的取值。同理,若候选值集合中不存在与参考标准相邻、且小于参考标准的候选值,所述服务器可以将超参数的当前取值作为调整后的取值。
动作数据中方向数据的数量可以等于数据处理模型的超参数数量,使得服务器可以对数据处理模型的全部超参数的当前取值进行调整。或者,动作数据中方向数据的数量还可以小于数据处理模型的超参数数量,使得服务器可以对数据处理模型的部分超参数的当前取值进行调整。例如,所述动作数据可以包括超参数搜索树中叶子节点对应的方向数据,使得服务器可以对叶子节点所对应超参数的当前取值进行调整。
步骤S304:根据超参数的调整后的取值,计算相应的性能指标。
在一些实施例中,超参数的取值表征了数据处理模型的结构或属性。所述服务器可以根据超参数的调整后的取值,构建相应的数据处理模型;可以对数据处理模型的性能进行评估,得到性能指标。在实际应用中,所述服务器可以利用训练数据集合对数据处理模型进行训练;可以利用测试数据集合对数据处理模型的性能进行评估,得到性能指标。其中,所述训练数据集合可以包括至少一个训练数据,所述测试数据集合可以包括至少一个测试数据。
如前面所述,所述服务器可以对数据处理模型的全部超参数的当前取值进行调整。如此所述服务器可以根据全部超参数调整后的取值,计算性能指标。或者,如前面所述,所述服务器还可以对数据处理模型的部分超参数的当前取值进行调整。如此所述服务器可以根据部分超参数调整后的取值、以及另一部分超参数的初始值,计算性能指标。
步骤S306:根据动作数据和性能指标,更新目标函数的代理模型。
在一些实施例中,代理模型的更新可以基于贝叶斯规则实现。具体地,所述代理模型可以包括目标函数的概率分布。更新目标函数的代理模型可以包括:根据目标函数的先验概率分布,确定目标函数的后验概率分布。在实际应用中,本次迭代过程可以为首次迭代过程。如此目标函数的先验概率分布可以是预先设定的,例如可以为预先设定的高斯分布或其它类型的概率分布。或者,本次迭代过程可以为非首次迭代过程。如此目标函数的先验概率分布可以为上一次迭代过程中的目标函数的后验概率分布。
在一些实施例中,所述服务器可以将动作数据和性能指标作为观测到的一个样本数据添加到样本数据集合中。通过迭代过程实现对样本数据集合的更新。在实际应用中,所述服务器可以根据所述样本数据集合,对目标函数的先验概率分布进行更新,得到目标函数的后验概率分布。例如,目标函数的先验概率分布可以为高斯分布,所述服务器可以根据所述样本数据集合对高斯分布的均值和方程进行修正,实现对高斯分布的更新。值得说明的是,此处的样本数据与贝叶斯优化算法所涉及的样本数据不同。此处的样本数据包括动作数据和性能指标,贝叶斯优化算法所涉及的样本数据包括超参数的取值和性能指标。
步骤S308:根据更新后的代理模型,确定新的动作数据。
在一些实施例中,所述服务器可以根据更新后的代理模型,利用TPE算法(Tree-Structured Parzen Estimator,树形结构Parzen估计器)估计新的动作数据,从而实现在迭代过程中利用TPE算法结合贝叶斯规则对代理模型进行更新。
例如,所述服务器可以利用以下公式估计新的动作数据。
y
*表示期望达到的性能指标,
表示与y
*相对应的新的动作数据,∝表示成正比例运算符,γ表示在样本数据集合中性能指标的分位数,g(x)表示在样本数据集合中性能指标大于y
*的样本数据的概率分布,l(x)表示在样本数据集合中性能指标小于y
*的样本数据的概率分布。值得说明的是,以上的公式仅为示例,在实际应用中以上的公式还可以具有其它的变形或变化。
当然,所述服务器还可以利用其它方式确定新的动作数据。例如,所述服务器可以计算更新后的代理模型在取得极值时的动作数据作为新的动作数据。所述极值可以包括极大值、极小值等。计算动作数据时采用的算法包括但不限于梯度下降法、牛顿法等。
步骤S310:判断是否满足迭代结束条件。
在一些实施例中,所述迭代结束条件可以包括:迭代控制值小于或等于阈值。所述迭代控制值可以根据最近一次迭代过程或最近多次迭代过程的性能指标计算得到。
在一些实施例中,所述服务器可以根据最近一次迭代过程或最近多次迭代过程的性能指标计算迭代控制值;可以判断迭代控制值是否小于或等于阈值;若是,可以返回执行步骤S302;若否,可以执行步骤S312。例如,所述服务器可以计算本次迭代过程的性能指标与上一次迭代过程的性能指标的差值;可以判断差值是否小于或等于z;若是,可以返回执行步骤S302;若否,可以执行步骤S312。z可以为正数,例如可以为0.1、0.2、0.4等。
步骤S312:在迭代结束以后,将超参数的当前取值确定为优化取值。
在一些实施例中,在迭代结束以后,所述服务器可以将超参数的当前取值确定为优化取值。这样通过多次迭代过程,所述服务器可以获得多种超参数的一组优化取值。
本说明书实施例的超参数优化方法,可以根据动作数据对超参数的取值进行调整。动作数据由不断更新的代理模型确定得到。这样可以快速地获得超参数的优化取值,减少迭代次数,从而减少超参数的优化成本。另外,由于迭代次数较少,使得可以在少量的样本数据的条件下,快速地获得超参数的优化取值。
请参阅图4。以下介绍本说明书实施例的一个应用场景示例。
在金融风控领域,通常需要识别交易数据涉及的业务对象(为了便于描述,以下称为目标业务对象)是否位于制裁名单中。所述制裁名单可以包括至少一个受到制裁的业务对象(为了便于描述,以下称为异常业务对象)。所述异常业务对象可以包括企业和个人等。受到制裁的异常业务对象例如可以为涉嫌洗钱的企业或个人等。
在实际应用中,可以利用搜索模型将目标业务对象在所述制裁名单中进行匹配,以便识别所述目标业务对象是否位于所述制裁名单中。所述搜索模型可以包括分析子模型、匹配子模型和打分子模型。所述分析子模型用于根据交易数据获得目标业务对象。所述匹配子模型用于将目标业务对象在所述制裁名单中进行匹配。所述打分子模型用于对所述制裁名单中的异常业务对象进行打分。所述分值用于表示异常业务对象与目标业务对象之间的相似程度。
所述搜索模型的超参数数量较多,使得搜索空间较大。例如,所述搜索模型可以包括多个维度下超参数,每个维度下超参数的数量可以为多个。所述维度可以包括语种维度、语言习惯维度、分析子模型涉及的超参数、匹配子模型涉及的超参数、打分子模型涉及的超参数。另外,涉及异常业务对象的交易数据的数量也较少,很难满足大规模的超参数优化需求。
为此可以根据搜索模型的超参数构建超参数搜索树;可以对搜索模型的超参数进行初始化;可以对动作数据进行初始化。所述动作数据可以包括超参数搜索树中叶子节点对应的方向数据。可以根据动作数据,利用超参数搜索树对超参数的当前取值进行调整;可以根据超参数的调整后的取值,计算性能指标;可以根据动作数据和性能指标,更新目标函数的代理模型;可以根据更新后的代理模型,确定新的动作数据。可以利用以上步骤进行迭代处理,直至满足迭代结束条件。在满足迭代结束条件以后,可以将超参数的当前取值确定为优化取值。这样通过多次迭代过程,便可以获得搜索模型的多种超参数的一组优化取值。
请参阅图5。本说明书提供超参数优化装置的一个实施例。
所述超参数优化装置可以包括以下模块单元。
迭代模块52,用于利用以下子模块进行迭代处理,直至满足迭代结束条件;
调整子模块522,用于根据动作数据,调整超参数的当前取值,所述动作数据用于表示超参数取值的调整方向;
计算子模块524,用于根据超参数的调整后的取值,计算相应的性能指标,所述性能指标用于表示模型的性能;
更新子模块526,用于根据动作数据和性能指标,更新目标函数的代理模型,所述目标函数用于表示从动作数据到性能指标的映射关系;
确定子模块528,用于根据更新后的代理模型,确定新的动作数据;
确定模块54,用于在迭代结束以后,将超参数的当前取值确定为优化取值。
下面介绍本说明书电子设备的一个实施例。图6是该实施例中电子设备的硬件结构示意图。如图6所示,该电子设备可以包括一个或多个(图中仅示出一个)处理器、存储器和传输模块。当然,本领域普通技术人员可以理解,图6所示的硬件结构仅为示意,其并不对上述电子设备的硬件结构造成限定。在实际中该电子设备还可以包括比图6所示更多或者更少的组件单元;或者,具有与图6所示不同的配置。
所述存储器可以包括高速随机存储器;或者,还可以包括非易失性存储器,例如一个或者多个磁性存储装置、闪存或者其他非易失性固态存储器。当然,所述存储器还可以包括远程设置的网络存储器。所述远程设置的网络存储器可以通过诸如互联网、企业内部网、局域网、移动通信网等网络连接至所述电子设备。所述存储器可以用于存储应用软件的程序指令或模块,例如本说明书图3所对应实施例的程序指令或模块。
所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以读取并执行所述存储器中的程序指令或模块。
所述传输模块可以用于经由网络进行数据传输,例如经由诸如互联网、企业内部网、局域网、移动通信网等网络进行数据传输。
本说明书还提供计算机存储介质的一个实施例。所述计算机存储介质包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)、存储卡(Memory Card)等等。所述计算机存储介质存储有计算机程序指令。在所述计算机程序指令被执行时实现:本说明书图3所对应实施例的程序指令或模块。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例、电子设备实施例、以及计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。