CN109816116A - 机器学习模型中超参数的优化方法及装置 - Google Patents
机器学习模型中超参数的优化方法及装置 Download PDFInfo
- Publication number
- CN109816116A CN109816116A CN201910042801.7A CN201910042801A CN109816116A CN 109816116 A CN109816116 A CN 109816116A CN 201910042801 A CN201910042801 A CN 201910042801A CN 109816116 A CN109816116 A CN 109816116A
- Authority
- CN
- China
- Prior art keywords
- task
- hyper parameter
- configuration file
- parameter
- candidate value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本申请实施例提供了一种机器学习模型中超参数的优化方法,包括:发送任务配置文件至服务器,其中,所述任务配置文件包含超参数、第一算法类型、以及参数搜索范围,所述服务器运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;从所述服务器获取所述超参数的候选值;对所述超参数的候选值进行验证,并根据验证结果更新所述任务配置文件;将更新后的所述任务配置文件发送至所述服务器,其中,所述服务器根据所述更新后的任务配置文件,继续运行所述超参数优化任务,并得到新的候选值;当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种机器学习模型中超参数的优化方法及装置。
背景技术
在使用机器学习来完成图像识别、自然语言处理等任务时,需要先训练机器学习模型,训练的过程包括调整机器学习模型的参数的过程。机器学习模型的参数主要有超参数和普通参数两类,其中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。超参数定义了关于机器学习模型的更高层次的概念,如网络深度、学习率等等,而超参数的选择对于机器学习模型最终的效果有极大的影响。
在机器学习过程中需要对超参数进行优化,给机器学习模型选择一组最优的超参数组合,以提高机器学习的性能和效果。
为了寻找一组最优的超参数组合,可以采用网格搜索、随机搜索、贝叶斯优化等方法。例如,在网格搜索方法中,客户端可以先设置好搜索范围,然后提交给调参服务系统,调参服务系统根据该搜索范围进行搜索,待搜索完成后,将最终结果反馈给客户端。
对于上述的调参服务系统,通常只针对某种特定的机器学习模型或某种特定超参数优化算法。并且超参数的调优请求是单次的,用户预先设置好超参数的搜索范围和次数,这个调参过程中,用户无法与调参服务系统进行交互,来动态调整超参数的搜索范围,使得整个调参过程无法人为调整,效率较低,同时容易陷入局部最优。而且,每个调参任务都是重新开始,没有利用历史任务结果,耗费的时间较长。
发明内容
本申请实施例提供了一种机器学习模型中超参数的优化方法和装置,从而能够在机器学习模型的超参数优化过程中,对超参数的参数搜索范围进行动态调整,提高超参数优化的效率。
本申请的实施例提供了一种机器学习模型中超参数的优化方法,包括:
发送任务配置文件至服务器,其中,所述任务配置文件包含机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围,所述服务器运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
从所述服务器获取所述超参数的候选值;
对所述超参数的候选值进行验证,并根据验证结果更新所述任务配置文件;
将更新后的所述任务配置文件发送至所述服务器,其中,所述服务器根据所述更新后的任务配置文件,继续运行所述超参数优化任务,并得到新的候选值;
当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
本申请实施例还提供了一种机器学习模型中超参数的优化方法,包括:
接收终端设备发送的任务配置文件,所述任务配置文件中包括机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围;
运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
暂停所述超参数优化任务的运行,将所述超参数的候选值发送给所述终端设备,其中,所述终端设备对所述候选值进行验证,并根据验证结果更新所述任务配置文件;
接收所述终端设备发送的更新后的所述任务配置文件,根据更新后的所述任务配置文件,继续运行所述超参数优化任务,得到新的候选值,并将所述新的候选值发送给所述终端设备;其中,当所述超参数优化任务运行结束之后,所述终端设备根据各候选值的验证结果,确定所述超参数的最优值。
本申请的实施例提供了一种机器学习模型中超参数的优化装置,包括:
发送模块,用于发送任务配置文件至服务器,其中,所述任务配置文件包含机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围,所述服务器运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
获取模块,用于从所述服务器获取所述超参数的候选值;
验证更新模块,用于对所述超参数的候选值进行验证,并根据验证结果更新所述任务配置文件;
所述发送模块进一步用于将更新后的所述任务配置文件发送至所述服务器,其中,所述服务器根据所述更新后的任务配置文件,继续运行所述超参数优化任务,并得到新的候选值;
确定模块,用于当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
本申请的实施例提供了一种机器学习模型中超参数的优化装置,包括
接收模块,用于接收终端设备发送的任务配置文件,所述任务配置文件中包括待优化的超参数、第一算法类型、以及参数搜索范围;
运行模块,用于运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
发送模块,用于暂停所述超参数优化任务的运行,将所述超参数的候选值发送给所述终端设备,其中,所述终端设备对所述候选值进行验证,并根据验证结果更新所述任务配置文件;
所述接收模块进一步用于接收所述终端设备发送的更新后的所述任务配置文件;
所述运行模块进一步用于根据更新后的所述任务配置文件,继续运行所述超参数优化任务,得到新的候选值;
所述发送模块进一步用于将所述新的候选值发送给所述终端设备;其中,当所述超参数优化任务运行结束之后,所述终端设备根据各候选值的验证结果,确定所述超参数的最优值。
通过本申请实施例提供的技术方案,在机器学习模型中的超参数调优过程中,可以与服务器进行交互,从而实现超参数搜索范围的动态调整,提高了机器学习模型中超参数优化的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1为本申请一些实施例中的应用场景的结构示意图;
图2A为本申请一些实施例提供的机器学习模型中超参数的优化方法的流程图;
图2B为本申请一些实施例提供的机器学习模型中超参数的优化方法的流程图;
图3为本申请一些实施例提供的机器学习模型中超参数的优化方法的交互流程图;
图4为本申请一些实施例中验证结果的图形化展示的示意图;
图5为本申请一些实施例提供的机器学习模型中超参数的优化方法的交互流程图;
图6为本申请一些实施例提供的终端设备的结构示意图;
图7为本申请一些实施例提供的服务器的结构示意图;以及
图8为本申请一些实施例的计算设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本申请的方案进行阐述。实施例中大量的细节仅用于帮助理解本申请的方案。但是很明显,本申请的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本申请的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
超参数优化算法是用于获取超参数的最优值的算法。例如,为了进行超参数调优,一般会采用网格搜索、随机搜索以及贝叶斯等算法。
超参数优化算法一般包括以下几个要素:目标函数,即算法需要最大化/最小化的目标;搜索范围,一般通过上限和下限来确定;算法的其它参数,如搜索步长等。
本申请实施例提供了一种机器学习模型中超参数的优化方法,从而在超参数的优化过程中,能够动态调整参数搜索范围,同时提高了超参数优化的效率。此外,本申请实施例提供的超参数优化方法还可以切换不同的超参数算法以及不同的机器学习模型,进一步提高超参数优化的效率。
图1显示了本申请一些实施例的应用场景的结构示意图。如图1所示,各个终端设备11通过网络12连接到服务器13。
在一些实施例中,终端设备11可以向服务器13发送任务配置文件,所述任务配置文件中包括机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围。
服务器13中可以配置有多种不同的机器学习模型和多种不同的超参数优化算法。在接收到所述任务配置文件之后,执行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值。
在服务器13执行超参数优化任务的过程中,终端设备11可以从服务器获取已经计算出的超参数的候选值。此时,服务器13暂停所述超参数优化任务的运行,将已经计算出的超参数的候选值发送给终端设备11。
终端设备11接收服务器13发送的所述候选值,对所述超参数的候选值进行验证,并根据验证结果更新所述任务配置文件。之后,终端设备11可以将更新后的所述任务配置文件发送至服务器13。
服务器13接收终端设备11发送的更新后的所述任务配置文件,根据更新后的所述任务配置文件,继续执行所述超参数优化任务,得到新的候选值,并将所述新的候选值发送给终端设备11。
在所述服务器13执行所述超参数优化任务的过程中,终端设备11可以一次或多次从服务器13获取所述超参数的候选值,即服务器13可以多次暂停所述超参数优化任务的运行,等待终端设备11对任务配置文件进行更新。
当所述超参数优化任务运行结束之后,服务器13将最新得到的候选值发送给终端设备11,终端设备11可以根据各个候选值的验证结果,从全部的候选值中选择验证结果最佳的候选值作为所述超参数的最优值。
数据库101用于保存超参数优化任务运行得到的待优化的超参数的候选值、超参数优化任务的运行情况数据。
在本申请的一些实施例中,上述终端设备11可以是个人计算机(PC)、笔记本电脑等智能终端设备,也可以是智能手机、平板电脑等智能移动终端设备。
网络12可以是无线网络也可以是有线网络。如图1所示,在接入网一侧,终端设备11是可以有线的方式或无线的方式接入到网络12;而在核心网一侧,服务器13一般是通过有线的方式接入网络12。当然,服务器13也可以通过无线方式连接到网络12。
通过本申请实施例提供的技术方案,在机器学习模型中的超参数调优过程中,终端设备11可以与服务器13进行交互,从而实现超参数搜索范围的动态调整,提高了机器学习模型中超参数优化的效率。
下面通过实施例对本申请实施例提供的机器学习模型中超参数的优化方法进行说明。
图2A示出了本申请一些实施例提供的机器学习模型中超参数的优化方法的流程图。该方法可以由图1所示的终端设备11执行。如图2A所示,该机器学习模型中超参数的优化方法包括以下步骤:
步骤201:发送任务配置文件至服务器,其中,所述任务配置文件包含机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围,所述服务器运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值。
在一些实施例中,服务器中配置有多种不同的机器学习模型。例如,不同的机器学习模型可以位于服务器中不同的目录下。
对于终端设备当前需要进行优化的机器学习模型,终端设备可以响应于用户输入的命令,访问所述服务器中该机器学习模型所在的目录,并在该目录下,与所述服务器进行交互,例如向服务器发送任务配置文件等等。这样,通过访问不同机器学习模型所在的目录,可以实现不同机器学习模型之间的切换。
在一些实施例中,所述任务配置文件中的待优化的超参数可以是一个或多个。如果所述待优化的超参数的数量为多个,则服务器返回给终端设备的候选值为所述多个超参数的一组候选值(即各个超参数的候选值的组合),最终确定的最优值为所述多个超参数的一组最优值(即各个超参数的最优值的组合)。
在一些实施例中,所述第一算法类型,可以为用户指定的超参数优化算法类型,比如贝叶斯算法、网格搜索算法以及随机搜索算法等等。
所述参数搜索范围,可以为用户指定的初始的参数搜索范围,也可以是对所述初始的参数搜索范围进行调整之后得到的更新的参数搜索范围。
在一些实施例中,可以根据历史结果来确定参数搜索范围,例如:
获取与所述待优化的超参数对应的多个历史值;其中,所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的;根据所述多个历史值的分布确定所述参数搜索范围。
或者,也可以接收用户输入的所述参数搜索范围,将用户输入的参数搜索范围作为所述参数搜索范围。
在一些实施例中,在根据验证结果更新所述任务配置文件之前,所述方法进一步包括:接收图形化展示命令,根据验证结果取值范围与验证结果显示方式之间的对应关系,确定所述验证结果的显示方式;根据确定的所述验证结果的显示方式展示所述验证结果,并展示所述超参数的候选值。
此外,任务配置文件中还可以包括运行次数,该运行次数为用户指定的所述超参数优化算法的运行次数。
当超参数优化算法的运行次数达到上述任务配置文件中指定的运行次数时,服务器可以停止超参数优化任务的运行。
此外,在一些实施例中,除了发送任务配置文件,终端设备还可以进一步向服务器发送与所述待优化的超参数对应的一个或多个历史值,使得服务器根据所述一个或者多个历史值和所述参数搜索范围,确定所述超参数对应的多个参考值;然后根据所述参考值和所述第一超参数优化算法,计算得到所述超参数的候选值。
步骤203:从所述服务器获取所述超参数的候选值。
在一些实施例中,终端设备可以向服务器发送获取请求;服务器响应于所述获取请求,暂停当前的超参数优化任务,向终端设备返回对应的超参数的候选值。
在一些实施例中,在所述服务器进行所述超参数优化任务的过程中,也可以主动向终端设备发送所述超参数的候选值。此时,终端设备可以直接接收所述服务器定时发送的超参数的候选值。
步骤205:对所述超参数的候选值进行验证,并根据验证结果更新所述任务配置文件。
在一些实施例中,给定一组超参数的候选值,可以确定一个对应的机器学习模型,可以将验证集输入所述确定的机器学习模型,得到与该组超参数的候选值对应的验证结果。
其中,所述验证结果用户表征所述机器学习模型的准确率。比如,当上述机器学习模型为逻辑回归(Logistic Regression,LR)模型时,上述验证结果则为将得到的超参数的候选值赋予该LR模型时,该LR模型的分类的准确率,也即该LR模型的分类效果。
或者,也可以将验证集多次输入上述确定的机器学习模型中,得到对应的多份验证结果;将各个验证结果的平均值作为该机器学习模型输出的与该组超参数的候选值对应的验证结果。
在一些实施例中,可以根据验证结果,确定新的参数搜索范围;然后根据所述新的参数搜索范围,更新所述任务配置文件。然后,将更新后的任务配置文件发送给服务器,使得服务器继续执行所述超参数优化任务。
在一些实施例中,可以根据以下方法来确定新的参数搜索范围:根据所述机器学习模型的目标准确率,确定出所述验证结果中与所述目标准确率之差小于预设阈值的验证结果;根据所确定的验证结果所对应的所述超参数的候选值的分布情况,确定出所述新的参数搜索范围。
步骤207:将更新后的所述任务配置文件发送至所述服务器,其中,所述服务器根据所述更新后的任务配置文件,继续运行所述超参数优化任务,并得到新的候选值。
在一些实施例中,终端设备可以通过更新指令,将更新后的任务配置文件发送给服务器,其中该更新指令中携带有对应的超参数优化任务的任务标识、以及所述更新的任务配置文件。
服务器在接收到终端设备的更新指令后,根据该更新指令中携带的上述超参数优化任务的任务标识,确定对于该任务标识对应的超参数优化任务,并根据更新后的任务配置文件,继续运行所述超参数优化任务,得到新的候选值。
在一些实施例中,上述步骤203至207可以执行一次,或者重复执行多次,直至所述超参数优化任务的运行次数达到任务配置文件中指定的运行次数、或者终端设备发出结束指令。
步骤209,当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
在一些实施例中,当所述超参数优化任务的运行次数达到任务配置文件中的运行次数时或者终端设备发出结束指令,所述超参数优化任务结束,服务器可以把最新得到的候选值发送给终端设备。终端设备可以从全部的候选值中,选择验证结果最佳的一组超参数的候选值,作为所述机器学习模型的超参数的最优值。
或者,终端设备可以从所述各候选值中,选择验证结果与所述机器学习模型的目标准确率之差小于阈值的多个候选值;分别根据所述多个候选值和不同于步骤205的验证集运行所述机器学习模型,得到多个运行结果;从所述多个运行结果中,选择最优的运行结果对应的候选值作为所述超参数的最优值。
例如,在步骤205中,由于候选值的数量较多,所以为了提高操作效率,该步骤中使用的验证集的规模较小。而在步骤209中,由于只针对几组候选值进行再次验证,所以可以使用规模更大的验证集来进行验证,从而提高验证结果的准确性。
在一些实施例中,在服务器运行超参数优化任务的过程中,用户可以对超参数优化算法进行调整。例如,终端设备可以接收用户输入的第二算法类型,并根据所述第二算法类型,更新所述任务配置文件。
此时,终端设备可以向服务器发出暂停命令,以使所述服务器暂停运行所述超参数优化任务;终端设备向所述服务器发送更新命令,所述更新命令携带更新后的所述任务配置文件和所述超参数优化任务对应的任务标识,以使所述服务器根据所述任务标识确定所述超参数优化任务,并根据更新后的所述任务配置文件,继续运行所述超参数优化任务。
本申请实施例提供的技术方案,实现了针对不同机器学习模型中的超参数的自动调优以及超参数算法的切换,并且机器学习模型中的超参数调优过程中,能够与服务器进行交互,实现待优化的超参数的参数搜索范围的动态调整,进一步提高了机器学习模型中超参数优化的效率。
图2B示出了本申请一些实施例提供的机器学习模型中参数的优化方法的流程图,该方法可以由图1所示的服务器13执行。如图2B所示,该机器学习模型中参数的优化方法包括以下步骤:
步骤202:接收终端设备发送的任务配置文件,所述任务配置文件中包括待优化的超参数、第一算法类型、以及参数搜索范围。
在一些实施例中,除了接收任务配置文件之外,服务器还可以进一步接收终端设备发送的与所述超参数对应的一个或多个历史值;所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的。
在后续运行超参数优化任务时,所述服务器可以根据所述一个或多个历史值以及所述参数搜索范围,得到所述超参数的多个参考值;根据所述参考值和所述第一超参数优化算法,计算得到所述超参数的候选值。
步骤204:运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值。
在一些实施例中,服务器在接收到所述任务配置文件以后,可以创建一个线程来运行所述超参数优化任务,并为该超参数优化任务分配一个任务标识,从而根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值。
在一些实施例中,在运行所述超参数优化任务的过程中,服务器可以在数据库中记录所述超参数优化任务的运行状态和计算得到的超参数的候选值。例如,服务器每运行一次所述第一超参数优化算法,就更新一次当前的运行次数,例如当前的运行次数加1,并记录本次得到的超参数的候选值。
当运行次数达到任务配置文件中的运行次数时或者收到终端设备发送的结束指令时,所述超参数优化任务结束。
步骤206:暂停所述超参数优化任务的运行,将所述超参数的候选值发送给所述终端设备,其中,所述终端设备对所述候选值进行验证,并根据验证结果更新所述任务配置文件。
在一些实施例中,服务器可以响应于终端设备的获取请求,暂停正在运行的超参数优化任务,并记录该超参数优化任务的运行状态,比如当前的运行次数,并将已经运算得到的超参数的候选值发送给终端设备。
步骤208:接收所述终端设备发送的更新后的所述任务配置文件,根据更新后的所述任务配置文件,继续运行所述超参数优化任务,得到新的候选值,并将所述新的候选值发送给所述终端设备。
在一些实施例中,在将所述超参数的候选值发送给所述终端设备之后,当存在以下任意一种情况时,服务器可以向所述终端设备发送告警信息:
如果在预定时间内没有收到所述终端设备返回的所述更新后的任务配置文件;以及
如果在所述预定时间没有收到所述终端设备返回的验证结果。
在一些实施例中,步骤206和208可以执行一次,或者重复执行多次,直至所述超参数优化任务的运行次数达到任务配置文件中指定的运行次数、或者终端设备发出结束指令。
在一些实施例中,当所述超参数优化任务的运行次数达到任务配置文件中的运行次数时或者终端设备发出结束指令,所述超参数优化任务结束,服务器可以把最新得到的候选值发送给终端设备。终端设备可以从全部的候选值中,选择验证结果最佳的一组超参数的候选值,作为所述机器学习模型的超参数的最优值。
本申请实施例提供的技术方案,实现了针对不同机器学习模型中的超参数的自动调优以及超参数算法的切换,并且机器学习模型中的超参数调优过程中,能够与客户端进行交互,实现待优化的超参数的参数搜索范围的动态调整,进一步提高了机器学习模型中超参数优化的效率。
下面结合附图3介绍本申请实施例提供的机器学习模型中超参数的优化方法。
图3为本申请一些实施例提供的机器学习模型中超参数的优化方法的交互流程图。如图3所示,该机器学习模型中超参数的优化方法包括以下步骤:
步骤301:终端设备生成任务配置文件,所述任务配置文件中包括待优化的超参数、第一算法类型以及参数搜索范围。
在一些实施例中,所述任务配置文件中还包括运行次数,所述运行次数为用户指定的超参数优化算法的运行次数。
以下为本申请实施例提供的任务配置文件的一个示例,该任务配置文件的名称为svm_job_config.yml。
在上面的任务配置文件中,指定的算法类型为随机搜索(random search),待优化的超参数有4个,分别是:C、gamma、coef0和kernel。任务配置文件分别指定了各个超参数对应的搜索范围,例如超参数C对应的搜索范围是:[1,10]、超参数gamma对应的搜索范围是[0.001,0.01]。
在一些实施例中,在生成上述任务配置文件时,参数搜索范围可以是由用户指定的,或者,也可以是根据历史值来确定的。
具体的,终端设备可以从服务器获取与所述待优化的超参数对应的多个历史值;其中,所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的;根据所述多个历史值的分布确定所述参数搜索范围。
比如,终端设备从服务器获取了高斯模型的超参数lamda的4个历史值:0.4、0.3、0.5、0.8,因此,可以根据这四个历史值确定出超参数lamda的搜索范围为0.3~0.8。
步骤302:终端设备将所述任务配置文件发送至服务器。
在一些实施例中,终端设备可以通过命令行的方式来向服务器提交任务、查询任务状态等等。
例如,终端设备可以在命令行输入run命令来向服务器提交超参数优化任务。对于上述的任务配置文件svm_job_config.yml,可以在命令行输入run--svm_job_config.yml。
步骤303:服务器接收所述任务配置文件,运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值。
在一些实施例中,服务器在接收到所述任务配置文件以后,可以创建一个线程来运行所述超参数优化任务,并为该超参数优化任务分配一个任务标识,从而根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值。例如,针对上述任务配置文件svm_job_config.yml,服务器分配的任务标识(studyId)为automl-hyper-181107-FIjbmX。
在一些实施例中,在运行所述超参数优化任务的过程中,服务器可以在数据库中记录所述超参数优化任务的运行状态和计算得到的超参数的候选值。例如,服务器每运行一次所述第一超参数优化算法,就更新一次当前的运行次数,例如当前的运行次数加1,并记录本次得到的超参数的候选值。
当运行次数达到任务配置文件中的运行次数时或者收到终端设备发送的结束指令时,所述超参数优化任务结束。
在一些实施例中,服务器可以调用AutoML API封装的超参数学习算法来生成所述超参数的候选值。
步骤304,终端设备向服务器发送任务查询命令,查询正在运行的超参数优化任务,服务器将正在运行的超参数优化任务的运行情况反馈给终端设备。
在一些实施例中,终端设备可以对正在运行中的超参数优化任务进行查询,以获取各个正在运行的超参数优化任务的运行情况。其中,超参数优化任务的运行情况包括:任务标识、任务名称、已运行次数、超参数优化算法、待优化的超参数、各个待优化的超参数的候选值等等。
例如,终端设备可以在命令行输入show--detail命令,服务器在接收到该命令之后,将所述终端设备的全部超参数优化任务的运行情况反馈给终端设备。
步骤305:终端设备发送获取请求,以从服务器获取超参数的候选值。
在一些实施例中,在服务器运行所述超参数优化任务的过程中,终端设备可以发送获取请求,以便从服务器获取最新的运行结果、即所述服务器计算得到的候选值。
步骤306:服务器暂停所述超参数优化任务的运行,将所述超参数的候选值发送给终端设备。
这里,服务器可以仅将新得到的候选值发送给终端设备。
例如,假设终端设备第一次发送获取请求时,服务器第200次运行上述第一超参数优化算法,即服务器将1至200次运行得到候选值发送给终端设备。当终端设备第二次发送获取请求时,服务器第400次运行上述第一超参数优化算法,则服务器可以仅将第201次至400次运行得到的候选值返回给上述终端设备。
在一些实施例中,服务器响应于终端设备的获取请求,暂停正在运行的超参数优化任务,并记录该超参数优化任务的运行状态,比如当前的运行次数,并将运算得到的超参数的候选值、上述任务标识以及上述任务配置文件名称发送给终端设备,以便终端设备能够识别出当前接收到的候选值是哪个超参数优化任务对应的候选值。
步骤307:终端设备对上述超参数的候选值进行验证,展示验证结果,并根据验证结果更新上述任务配置文件。
在一些实施例中,所述对超参数的候选值进行验证是指:将所述超参数的候选值确定机器学习模型,根据验证集对机器学习模型进行验证,得到验证结果,该验证结果用户表征所述机器学习模型在当前候选值条件下的准确率。
这里,为了提高验证结果的准确率,针对同一组候选值,可以根据验证集对机器学习模型进行多次验证,得到多个验证结果,将这多个验证结果的平均值作为最终的验证结果。
在一些实施例中,终端设备可以在得到验证结果之后,将验证结果以图形化的形式展示给用户,从而方便用户调整超参数的参数搜索范围。
这里,可以由所述终端设备展示验证结果,或者,也可以由终端设备将验证结果发送给服务器,由服务器将该验证结果转发给另一个终端设备,由该另一个终端设备来展示所述验证结果。
在一些实施例中,在根据验证结果更新所述任务配置文件之前,终端设备可以接收用户输入的图形化展示命令,根据验证结果取值范围与验证结果显示方式之间的对应关系,确定所述验证结果的显示方式;根据确定的所述验证结果的显示方式展示所述验证结果,并展示所述超参数的候选值。
在一些实施例中,可以预先设定验证结果取值范围与验证结果显示方式的对应关系,不同的验证结果显示方式可以是通过不同的颜色或者形状来体现不同候选值组合对应的验证结果取值范围。
在一些实施例中,终端设备接收到用户输入的图形化展示命令比如Automl show命令后,会展示一个图形化展示的http链接,在浏览器打开该http连接后,就能看到该超参数优化任务的图形化展示结果。
图4为本申请实施例中验证结果的图形化展示的示意图。如图4所示,包括四个超参数:C、gamma、coef0以及kernel,这4个超参数具有6组不同的候选值,每一条折线代表一组超参数的候选值组合。例如,对于折线401,代表的超参数的候选值组合为:C=8,gamma=0.0014,coef0=0.14,kernel=linear。在一些实施例中,可以通过不同的颜色或者形状来体现不同候选值组合对应的验证结果。例如,如果验证结果越好,即准确率越高,则对应的折线图的颜色越偏向红色,验证结果越差,即准确率越低,则对应的折线图的颜色越偏向绿色。
这里,假设折线401对应的验证结果的值为0.8,折线402对应的验证结果的值为0.7,折线403对应的验证结果的值为0.65,折线404对应的验证结果的值为0.5,折线405对应的验证结果的值为0.45,折线506对应的验证结果的值为0.55,假设机器学习模型的目标准确率为0.9,阈值为0.3,则与该目标准确率之差小于上述阈值的验证结果为折线401、402和403对应的验证结果。
因此,根据这三个验证结果,可以确定出图4中四个超参数的值,并根据四个超参数分别的分布情况,确定出这四个超参数的新的参数搜索范围:超参数C的参数搜索范围为7~8,超参数gamma的参数搜索范围为0.001~0.002,超参数coef0的参数搜索范围为0.0~0.15,超参数kernel的参数搜索范围为linear或rbf。
这样,对于步骤301所示的任务配置文件,可以将超参数C的参数搜索范围从[1,10]修改为[7,8],将超参数gamma的搜索范围从[0.001,0.01]调整为[0.001,0.002],将超参数coef0的参数搜索范围从[0.0,0.5]调整为[0.0,0.15]。
步骤308:终端设备将更新后的所述任务配置文件发送至服务器。
在一些实施例中,终端设备向服务器发送更新命令,该更新命令携带有上述更新后的任务配置文件和上述超参数优化任务的任务标识。
例如,终端设备可以在命令行输入reset命令,仍然以上述任务配置文件svm_job_config.yml为例,假设用户对该任务配置文件进行修改,更新了其中的参数搜索范围,在更新完成之后,可以在命令行输入reset--automl-hyper-181107-FIjbmX--conf svm_job_config.yml,其中automl-hyper-181107-FIjbmX为服务器为该超参数优化任务分配的任务标识。
步骤309,如果在预定时间内没有收到所述终端设备返回的所述更新后的任务配置文件,或者在所述预定时间没有收到所述终端设备返回的验证结果,服务器向所述终端设备发送告警信息。
在一些实施例中,在将所述超参数的候选值发送给所述终端设备之后,服务器可以针对异常情况向终端设备发送告警通知。
例如,如果在步骤307中,由同一个终端设备执行验证和展示验证结果的操作,则服务器可以在预定时间内没有收到终端设备返回的更新后的任务配置文件的情况下,向终端设备发送告警信息。
如果在步骤307中,分别由不同的两个终端设备来完成验证和展示验证结果的操作,即服务器从一个终端设备接收验证结果,转发给另一个终端设备进行展示,则服务器可以在预定时间内没有收到验证结果的情况下,向第一个终端设备发送告警信息。
步骤310:服务器接收终端设备发送的更新后的所述任务配置文件,根据更新后的所述任务配置文件,继续运行所述任务,得到新的候选值。
在一些实施例中,终端设备可以通过在命令行输入restart指令,来通知服务器继续运行所述超参数优化任务。例如,可以在命令行输入restart--study automl-hyper-181107-FIjbmX。其中,automl-hyper-181107-FIjbmX为服务器为该超参数优化任务分配的任务标识。
服务器在接收到终端设备的restart指令后,确定任务标识automl-hyper-181107-FIjbmX对应的超参数优化任务及其运行状态,并根据上述运行状态以及更新后的任务配置文件,继续运行所述任务,得到新的候选值,上述运行状态包括上述超参数优化任务当前的运行次数。
在一些实施例中,步骤304至309可以重复执行,知道所述超参数任务的运行次数达到任务配置文件中指定的运行次数,或者终端设备向服务器发出结束指令。
步骤311,服务器接收所述终端设备发送的暂停指令和更新的任务配置文件,其中所述更新的配置文件中包含第二算法类型,并根据更新后的所述任务配置文件,继续运行所述超参数优化任务。
在一些实施例中,在服务器运行超参数优化任务的过程中,用户可以对超参数优化算法进行调整。例如,终端设备可以接收用户输入的第二算法类型,并根据所述第二算法类型,更新所述任务配置文件。
此时,终端设备可以向服务器发出暂停命令,以使所述服务器暂停运行所述超参数优化任务;终端设备向所述服务器发送更新命令,所述更新命令携带更新后的所述任务配置文件和所述超参数优化任务对应的任务标识,以使所述服务器根据所述任务标识确定所述超参数优化任务,并根据更新后的所述任务配置文件,继续运行所述超参数优化任务。
步骤312,当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
当所述超参数优化任务的运行次数达到任务配置文件中的运行次数时或者终端设备发出结束指令,所述超参数优化任务结束,服务器可以把最新得到的候选值发送给终端设备。终端设备可以从全部的候选值中,选择验证结果最佳的一组超参数的候选值,作为所述机器学习模型的超参数的最优值。
或者,终端设备可以从所述各候选值中,选择验证结果与所述机器学习模型的目标准确率之差小于阈值的多个候选值;分别根据所述多个候选值和不同于步骤307的验证集运行所述机器学习模型,得到多个运行结果;从所述多个运行结果中,选择最优的运行结果对应的候选值作为所述超参数的最优值。
通过以上技术方案,实现了针对不同机器学习模型中的超参数的自动调优以及超参数算法的切换,并且机器学习模型中的超参数调优过程中,能够与终端设备进行交互,实现待优化的超参数的参数搜索范围的动态调整,进一步提高了机器学习模型中超参数优化的效率。
在本申请的另一些实施例中,上述机器学习模型中超参数的优化方法还可以利用其他超参数优化任务得到的历史值。
图5为本申请的另一些实施例提供的机器学习模型中超参数的优化方法的交互流程图。如图5所示,该机器学习模型中超参数的优化方法包括以下步骤:
步骤501:终端设备生成任务配置文件,所述任务配置文件中包括待优化的超参数、第一算法类型以及参数搜索范围。
该步骤与步骤301类似,在此不再赘述。
步骤502:终端设备获取待优化的超参数一个或多个历史值,创建一个包含所述一个或多个历史的待优化的超参数的参考文件。
在一些实施例中,终端设备获取待优化的超参数一个或多个历史值包括:接收用户输入待优化的超参数一个或多个历史值,或者,从所述服务器运行其他超参数优化任务得到的候选值中选择。
这些历史值可以用户根据经验选择的,即这些值可能会有比较好的验证结果。
以下为本申请实施例提供的参考文件的示例。该参考文件中包括4个超参数:C、coef0、gamma以及kernel,每个超参数有4个历史值:
步骤503:终端设备将所述任务配置文件和所述参考文件发送至服务器。
在一些实施例中,假设上述参考文件的名称为search_file,上述任务配置文件名称为svm_job_config.yml,则终端设备可以在命令行输入run svm_job_config.yml-search search_file,以将上述任务配置文件和参考文件发送至服务器。
步骤504:服务器运行超参数优化任务,以根据所述一个或多个历史值、所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值。
在本实施例中,服务器可以根据所述一个或多个历史值以及所述参数搜索范围,得到所述超参数的多个参考值,并根据所述参考值和所述第一超参数优化算法,计算得到所述超参数的候选值。
在本实施例中,假设任务配置文件中的第一算法类型为贝叶斯优化算法。所述贝叶斯优化算法就是在函数方程不知的情况下根据已有的采样点预估函数最大值的一个算法。因此,贝叶斯优化算法会选取未知函数的一些已知点,利用这些已知点的信息来预测最大值。
这里,服务器可以将上述一个或多个历史值作为上述已知点,所述贝叶斯优化优化算法在寻找最大值时,会充分利用上述已知点的信息。
由于用户提供的历史值的数量通常比较少,而贝叶斯优化算法在参考值越多的情况下,得到的结果越准确,因此可以首先根据参数搜索范围得到一些候选值,例如,可以根据所述参数搜索范围,通过随机搜索或者网格搜索等方法,得到一些候选值,将这些候选值和所述历史值一起作为贝叶斯优化算法的参考值。
步骤505:终端设备发送获取请求,以从服务器获取超参数的候选值。
步骤506:服务器暂停所述超参数优化任务的运行,将所述超参数的候选值发送给终端设备。
步骤507:终端设备对上述超参数的候选值进行验证,展示验证结果,并根据验证结果更新上述任务配置文件。
步骤508:终端设备将更新后的所述任务配置文件发送至服务器。
步骤509:如果在预定时间内没有收到所述终端设备返回的所述更新后的任务配置文件,或者在所述预定时间没有收到所述终端设备返回的验证结果,服务器向所述终端设备发送告警信息。
步骤510:服务器接收终端设备发送的更新后的所述任务配置文件,根据更新后的所述任务配置文件,继续运行所述任务,得到新的候选值。
步骤511,服务器接收所述终端设备发送的暂停指令和更新的任务配置文件,其中所述更新的配置文件中包含第二算法类型,并根据更新后的所述任务配置文件,继续运行所述超参数优化任务。
步骤512,当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
上述步骤505至512与上述步骤305至312类似,在此不再赘述。
在上述实施例中,终端设备在服务器开始运行超参数优化任务之前,将历史值发送给服务器。在一些实施例中,终端设备也可以在服务器运行超参数优化任务的过程中,向服务器发送历史值,使得服务器根据所述历史值继续运行所述超参数优化算法。
例如,终端设备可以向服务器发送暂停命令比如stop命令,以使服务器暂停运行超参数优化任务,并记录该超参数优化任务的运行状态;然后向服务器13发送所述待优化的超参数对应的一个或多个历史值,服务器根据该历史值,继续运行上述超参数优化任务。
通过以上技术方案,实现了针对不同机器学习模型中的超参数的自动调优以及超参数算法的切换,并且机器学习模型中的超参数调优过程中,能够与终端设备进行交互,实现待优化的超参数的参数搜索范围的动态调整,同时还可以利用其它超参数优化任务的历史结果,大大提高了机器学习模型中超参数优化的效率。
对应以上机器学习模型中超参数的优化方法,本申请实施例还提供了一种机器学习模型中超参数的优化装置。
图6为本申请一些实施例提供的机器学习模型中超参数的优化装置600的结构示意图。该装置可以是图1所述的终端设备。如图6所示,该终端设备600包括:发送模块601、获取模块602、验证更新模块603和确定模块604,其中:
发送模块601,用于发送任务配置文件至服务器,其中,所述任务配置文件包含机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围,所述服务器运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
获取模块602,用于从所述服务器获取所述超参数的候选值;
验证更新模块603,用于对所述超参数的候选值进行验证,并根据验证结果更新所述任务配置文件;
所述发送模块601进一步用于将更新后的所述任务配置文件发送至所述服务器,其中,所述服务器根据所述更新后的任务配置文件,继续运行所述超参数优化任务,并得到新的候选值;
确定模块604,用于当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
在一些实施例中,所述发送模块601进一步用于:
获取与所述待优化的超参数对应的一个或多个历史值;其中,所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的;
将所述超参数的一个或多个历史值发送至所述服务器;其中,所述服务器进一步根据所述一个或多个历史值和所述参数搜索范围得到所述超参数的多个参考值,并根据所述参考值和所述第一超参数优化算法,计算得到所述超参数的候选值。
在一些实施例中,所述验证更新模块603进一步用于:
根据所述超参数的候选值和第一验证集多次运行所述机器学习模型,将多次运行所述机器模型得到的结果的平均值作为所述验证结果,所述验证结果用于表征所述机器学习模型的准确率。
在一些实施例中,所述验证更新模块603进一步用于:
根据所述机器学习模型的目标准确率,确定出所述验证结果中与所述目标准确率之差小于阈值的验证结果,
根据所确定的验证结果所对应的所述超参数的候选值的分布情况,确定出新的参数搜索范围;
根据所述新的参数搜索范围,更新所述任务配置文件。
在一些实施例中,所述发送模块601进一步用于:
向所述服务器发送暂停命令,以使所述服务器暂停运行所述超参数优化任务;
接收用户输入的第二算法类型,并根据所述第二算法类型,更新所述任务配置文件;
向所述服务器发送更新命令,所述更新命令携带更新后的所述任务配置文件和所述超参数优化任务对应的任务标识,以使所述服务器根据所述任务标识确定所述超参数优化任务,并根据更新后的所述任务配置文件,继续运行所述超参数优化任务。
在一些实施例中,所述发送模块601进一步用于:
根据以下方法中的至少一种确定所述参数搜索范围:
获取与所述待优化的超参数对应的多个历史值;其中,所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的;根据所述多个历史值的分布确定所述参数搜索范围;及
接收用户输入的所述参数搜索范围。
在一些实施例中,所述确定模块604进一步用于:
从所述各候选值中,选择验证结果与所述机器学习模型的目标准确率之差小于阈值的多个候选值;
分别根据所述多个候选值和第二验证集运行所述机器学习模型,得到多个运行结果;
从所述多个运行结果中,选择最优的运行结果对应的候选值作为所述超参数的最优值。
以上各个模块的具体功能和实现可以参见上述的方法实施例,在此不再赘述。
本申请实施例还提供了一种机器学习模型中超参数的优化装置。图7为本申请一些实施例提供的机器学习模型中超参数的优化装置700的结构示意图,该装置可以是图1所示的服务器。如图7所示,该装置700包括:接收模块701、运行模块702以及发送模块703,其中:
接收模块701,用于接收终端设备发送的任务配置文件,所述任务配置文件中包括待优化的超参数、第一算法类型、以及参数搜索范围;
运行模块702,用于运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
发送模块703,用于暂停所述超参数优化任务的运行,将所述超参数的候选值发送给所述终端设备,其中,所述终端设备对所述候选值进行验证,并根据验证结果更新所述任务配置文件;
所述接收模块701进一步用于接收所述终端设备发送的更新后的所述任务配置文件;
所述运行模块702进一步用于根据更新后的所述任务配置文件,继续运行所述超参数优化任务,得到新的候选值;
所述发送模块703进一步用于将所述新的候选值发送给所述终端设备;其中,当所述超参数优化任务运行结束之后,所述终端设备根据各候选值的验证结果,确定所述超参数的最优值。
在一些实施例中,所述接收模块701进一步用于:
接收与所述待优化的超参数对应的一个或多个历史值;所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的;
所述运行模块702进一步用于:
根据所述一个或多个历史值以及所述参数搜索范围,得到所述超参数的多个参考值;
根据所述参考值和所述第一超参数优化算法,计算得到所述超参数的候选值。
在一些实施例中,所述装置700进一步包括告警模块704,用于:
在将所述超参数的候选值发送给所述终端设备之后,当存在以下任意一种情况时,向所述终端设备发送告警信息:
如果在预定时间内没有收到所述终端设备返回的所述更新后的任务配置文件;以及
如果在所述预定时间没有收到所述终端设备返回的验证结果。
在一些实施例中,所述接收模块701进一步用于:
响应于所述终端设备发送的暂停命令,暂停运行所述超参数优化任务;
接收所述终端设备发送的更新命令,所述更新命令中包含更新后的所述任务配置文件和所述超参数优化任务对应的任务标识;所述更新后的任务配置文件中包含第二算法类型;
所述运行模块702进一步用于:响应于所述终端设备的继续运行命令,根据所述任务标识确定所述超参数优化任务,并根据更新后的所述任务配置文件,继续运行所述超参数优化任务。
以上各个模块的具体功能和实现可以参见上述的方法实施例,在此不再赘述。
图8示出了用于实现本申请实施例提供的机器学习模型中超参数的优化方法的计算设备的组成结构图。该计算设备可以是终端设备600也可以是服务器700。如图8所示,该计算设备包括一个或者多个处理器(CPU)802、通信模块804、存储器806、用户接口810,以及用于互联这些组件的通信总线808。
处理器802可通过通信模块804接收和发送数据以实现网络通信和/或本地通信。
用户接口810包括一个或多个输出设备812,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口810也包括一个或多个输入设备814,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器806可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器806存储处理器802可执行的指令集,包括:
操作系统816,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用818,包括用于实现信息处理方法各种应用程序,这种应用程序能够实现上述各实施例中的处理流程,比如可以包括图6所示的终端设备600中的部分或全部单元或可以包括图7所示的服务器700中的部分或全部单元。各单元或模块601-604或701-703中的至少一个模块可以存储有机器可执行指令。处理器802通过执行存储器806中各模块601-604或701-703中至少一个模块中的机器可执行指令,进而能够实现上述各模块601-604或701-703中的至少一个模块的功能。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端或网络节点,或者也可以分布到多个终端或网络节点上。
另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本申请实施例还提供了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种机器学习模型中超参数的优化方法,其特征在于,包括:
发送任务配置文件至服务器,其中,所述任务配置文件包含机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围,所述服务器运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
从所述服务器获取所述超参数的候选值;
对所述超参数的候选值进行验证,并根据验证结果更新所述任务配置文件;
将更新后的所述任务配置文件发送至所述服务器,其中,所述服务器根据所述更新后的任务配置文件,继续运行所述超参数优化任务,并得到新的候选值;
当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
获取与所述待优化的超参数对应的一个或多个历史值;其中,所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的;
将所述超参数的一个或多个历史值发送至所述服务器;其中,所述服务器进一步根据所述一个或多个历史值和所述参数搜索范围得到所述超参数的多个参考值,并根据所述参考值和所述第一超参数优化算法,计算得到所述超参数的候选值。
3.根据权利要求1所述的方法,其特征在于,所述对所述超参数的候选值进行验证,包括:
根据所述超参数的候选值和第一验证集多次运行所述机器学习模型,将多次运行所述机器模型得到的结果的平均值作为所述验证结果,所述验证结果用于表征所述机器学习模型的准确率。
4.根据权利要求1所述的方法,其特征在于,所述根据验证结果更新所述任务配置文件包括:
根据所述机器学习模型的目标准确率,确定出所述验证结果中与所述目标准确率之差小于阈值的验证结果,
根据所确定的验证结果所对应的所述超参数的候选值的分布情况,确定出新的参数搜索范围;
根据所述新的参数搜索范围,更新所述任务配置文件。
5.根据权利要求1所述的方法,其特征在于,在根据验证结果更新所述任务配置文件之前,所述方法进一步包括:
接收图形化展示命令,根据验证结果取值范围与验证结果显示方式之间的对应关系,确定所述验证结果的显示方式;
根据确定的所述验证结果的显示方式展示所述验证结果,并展示所述超参数的候选值。
6.根据权利要求1至5任一项所述的方法,其特征在于,进一步包括:
向所述服务器发送暂停命令,以使所述服务器暂停运行所述超参数优化任务;
接收用户输入的第二算法类型,并根据所述第二算法类型,更新所述任务配置文件;
向所述服务器发送更新命令,所述更新命令携带更新后的所述任务配置文件和所述超参数优化任务对应的任务标识,以使所述服务器根据所述任务标识确定所述超参数优化任务,并根据更新后的所述任务配置文件,继续运行所述超参数优化任务。
7.根据权利要求1所述的方法,其特征在于,进一步包括:根据以下方法中的至少一种确定所述参数搜索范围:
获取与所述待优化的超参数对应的多个历史值;其中,所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的;根据所述多个历史值的分布确定所述参数搜索范围;及
接收用户输入的所述参数搜索范围。
8.根据权利要求1所述的方法,其特征在于,所述根据各候选值的验证结果,确定所述超参数的最优值,包括:
从所述各候选值中,选择验证结果与所述机器学习模型的目标准确率之差小于阈值的多个候选值;
分别根据所述多个候选值和第二验证集运行所述机器学习模型,得到多个运行结果;
从所述多个运行结果中,选择最优的运行结果对应的候选值作为所述超参数的最优值。
9.一种机器学习模型中超参数的优化方法,其特征在于,包括:
接收终端设备发送的任务配置文件,所述任务配置文件中包括机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围;
运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
暂停所述超参数优化任务的运行,将所述超参数的候选值发送给所述终端设备,其中,所述终端设备对所述候选值进行验证,并根据验证结果更新所述任务配置文件;
接收所述终端设备发送的更新后的所述任务配置文件,根据更新后的所述任务配置文件,继续运行所述超参数优化任务,得到新的候选值,并将所述新的候选值发送给所述终端设备;其中,当所述超参数优化任务运行结束之后,所述终端设备根据各候选值的验证结果,确定所述超参数的最优值。
10.根据权利要求9所述的方法,其特征在于,进一步包括:
接收与所述待优化的超参数对应的一个或多个历史值;所述历史值是从所述服务器运行其他超参数优化任务得到的候选值中选择出来的;
所述运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值包括:
根据所述一个或多个历史值以及所述参数搜索范围,得到所述超参数的多个参考值;
根据所述参考值和所述第一超参数优化算法,计算得到所述超参数的候选值。
11.根据权利要求9所述的方法,其特征在于,进一步包括:
在将所述超参数的候选值发送给所述终端设备之后,当存在以下任意一种情况时,向所述终端设备发送告警信息:
如果在预定时间内没有收到所述终端设备返回的所述更新后的任务配置文件;以及
如果在所述预定时间没有收到所述终端设备返回的验证结果。
12.根据权利要求9所述的方法,其特征在于,进一步包括:
响应于所述终端设备发送的暂停命令,暂停运行所述超参数优化任务;
接收所述终端设备发送的更新命令,所述更新命令中包含更新后的所述任务配置文件和所述超参数优化任务对应的任务标识;所述更新后的任务配置文件中包含第二算法类型;
响应于所述终端设备的继续运行命令,根据所述任务标识确定所述超参数优化任务,并根据更新后的所述任务配置文件,继续运行所述超参数优化任务。
13.根据权利要求10所述的方法,其特征在于,所述方法进一步包括:
响应于所述终端设备的任务查询命令,查询正在运行的超参数优化任务;
将所述正在运行的超参数优化任务的运行情况反馈给所述终端设备。
14.一种机器学习模型中超参数的优化装置,其特征在于,包括:
发送模块,用于发送任务配置文件至服务器,其中,所述任务配置文件包含机器学习模型中待优化的超参数、第一算法类型、以及参数搜索范围,所述服务器运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
获取模块,用于从所述服务器获取所述超参数的候选值;
验证更新模块,用于对所述超参数的候选值进行验证,并根据验证结果更新所述任务配置文件;
所述发送模块进一步用于将更新后的所述任务配置文件发送至所述服务器,其中,所述服务器根据所述更新后的任务配置文件,继续运行所述超参数优化任务,并得到新的候选值;
确定模块,用于当所述超参数优化任务运行结束之后,根据各候选值的验证结果,确定所述超参数的最优值。
15.一种机器学习模型中超参数的优化装置,其特征在于,包括:
接收模块,用于接收终端设备发送的任务配置文件,所述任务配置文件中包括待优化的超参数、第一算法类型、以及参数搜索范围;
运行模块,用于运行超参数优化任务,以根据所述参数搜索范围和所述第一算法类型对应的第一超参数优化算法,计算得到所述超参数的候选值;
发送模块,用于暂停所述超参数优化任务的运行,将所述超参数的候选值发送给所述终端设备,其中,所述终端设备对所述候选值进行验证,并根据验证结果更新所述任务配置文件;
所述接收模块进一步用于接收所述终端设备发送的更新后的所述任务配置文件;
所述运行模块进一步用于根据更新后的所述任务配置文件,继续运行所述超参数优化任务,得到新的候选值;
所述发送模块进一步用于将所述新的候选值发送给所述终端设备;其中,当所述超参数优化任务运行结束之后,所述终端设备根据各候选值的验证结果,确定所述超参数的最优值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910042801.7A CN109816116B (zh) | 2019-01-17 | 2019-01-17 | 机器学习模型中超参数的优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910042801.7A CN109816116B (zh) | 2019-01-17 | 2019-01-17 | 机器学习模型中超参数的优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109816116A true CN109816116A (zh) | 2019-05-28 |
CN109816116B CN109816116B (zh) | 2021-01-29 |
Family
ID=66604349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910042801.7A Active CN109816116B (zh) | 2019-01-17 | 2019-01-17 | 机器学习模型中超参数的优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816116B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210609A (zh) * | 2019-06-12 | 2019-09-06 | 北京百度网讯科技有限公司 | 基于神经框架搜索的模型训练方法、装置以及终端 |
CN110298240A (zh) * | 2019-05-21 | 2019-10-01 | 北京迈格威科技有限公司 | 一种汽车用户识别方法、装置、系统及存储介质 |
CN110324185A (zh) * | 2019-06-28 | 2019-10-11 | 京东数字科技控股有限公司 | 超参数调优方法、装置、服务器、客户端及介质 |
CN110400022A (zh) * | 2019-07-31 | 2019-11-01 | 中国工商银行股份有限公司 | 自助柜员机现金用量预测方法及装置 |
CN110503208A (zh) * | 2019-08-26 | 2019-11-26 | 第四范式(北京)技术有限公司 | 多模型探索中的资源调度方法和资源调度装置 |
CN110727472A (zh) * | 2019-09-10 | 2020-01-24 | 平安普惠企业管理有限公司 | 应用服务器性能优化方法、装置、存储介质及电子设备 |
CN110782045A (zh) * | 2019-10-17 | 2020-02-11 | 成都四方伟业软件股份有限公司 | 一种运维告警系统动态阈值的生成方法及装置 |
CN111078665A (zh) * | 2019-12-09 | 2020-04-28 | 苏宁金融科技(南京)有限公司 | 确定hive任务的优化信息的方法、装置、计算机设备和介质 |
CN111222553A (zh) * | 2019-12-30 | 2020-06-02 | 广州华多网络科技有限公司 | 机器学习模型的训练数据处理方法、装置和计算机设备 |
CN111260073A (zh) * | 2020-01-09 | 2020-06-09 | 京东数字科技控股有限公司 | 数据处理方法、装置和计算机可读存储介质 |
CN111667056A (zh) * | 2020-06-05 | 2020-09-15 | 北京百度网讯科技有限公司 | 用于搜索模型结构的方法和装置 |
CN111709519A (zh) * | 2020-06-17 | 2020-09-25 | 湖南大学 | 一种深度学习并行计算架构方法及其超参数自动配置优化 |
CN111723939A (zh) * | 2020-05-15 | 2020-09-29 | 第四范式(北京)技术有限公司 | 机器学习模型的调参方法、装置、设备及系统 |
CN111931946A (zh) * | 2020-08-13 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
JPWO2020250843A1 (zh) * | 2019-06-12 | 2020-12-17 | ||
WO2020248440A1 (zh) * | 2019-06-13 | 2020-12-17 | 苏州浪潮智能科技有限公司 | 一种机器学习方法与装置 |
CN112529211A (zh) * | 2021-02-05 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 一种超参数确定方法、装置、计算机设备和存储介质 |
WO2021061798A1 (en) * | 2019-09-24 | 2021-04-01 | Intel Corporation | Methods and apparatus to train a machine learning model |
CN113438663A (zh) * | 2020-03-04 | 2021-09-24 | 诺基亚通信公司 | 基于机器学习的切换参数优化 |
CN114663662A (zh) * | 2022-05-23 | 2022-06-24 | 深圳思谋信息科技有限公司 | 超参数搜索方法、装置、计算机设备和存储介质 |
CN115827171A (zh) * | 2023-01-31 | 2023-03-21 | 阿里巴巴达摩院(杭州)科技有限公司 | 云端调参系统、调参方法及调参系统 |
US11823076B2 (en) | 2020-07-27 | 2023-11-21 | International Business Machines Corporation | Tuning classification hyperparameters |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017111548A (ja) * | 2015-12-15 | 2017-06-22 | 株式会社東芝 | サーバ、システム及び探索方法 |
CN107209873A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 用于深度卷积网络的超参数选择 |
CN107783998A (zh) * | 2016-08-26 | 2018-03-09 | 华为技术有限公司 | 一种数据处理的方法以及装置 |
CN107885967A (zh) * | 2017-10-24 | 2018-04-06 | 山西大学 | 一种回归模型超参数优化方法 |
CN108062587A (zh) * | 2017-12-15 | 2018-05-22 | 清华大学 | 一种无监督机器学习的超参数自动优化方法及系统 |
US20180349477A1 (en) * | 2017-06-06 | 2018-12-06 | Facebook, Inc. | Tensor-Based Deep Relevance Model for Search on Online Social Networks |
-
2019
- 2019-01-17 CN CN201910042801.7A patent/CN109816116B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209873A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 用于深度卷积网络的超参数选择 |
JP2017111548A (ja) * | 2015-12-15 | 2017-06-22 | 株式会社東芝 | サーバ、システム及び探索方法 |
CN107783998A (zh) * | 2016-08-26 | 2018-03-09 | 华为技术有限公司 | 一种数据处理的方法以及装置 |
US20180349477A1 (en) * | 2017-06-06 | 2018-12-06 | Facebook, Inc. | Tensor-Based Deep Relevance Model for Search on Online Social Networks |
CN107885967A (zh) * | 2017-10-24 | 2018-04-06 | 山西大学 | 一种回归模型超参数优化方法 |
CN108062587A (zh) * | 2017-12-15 | 2018-05-22 | 清华大学 | 一种无监督机器学习的超参数自动优化方法及系统 |
Non-Patent Citations (2)
Title |
---|
CSDN_ELSA: "参数、超参数以及调参问题整理总结", 《HTTPS://BLOG.CSDN.NET/CSDN_ELSA/ARTICLE/DETAILS/82494153》 * |
PHILIPP PROBST等: "Tunability: Importance of Hyperparameters of Machine", 《HTTPS://ARXIV.ORG/PDF/1802.09596.PDF》 * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298240A (zh) * | 2019-05-21 | 2019-10-01 | 北京迈格威科技有限公司 | 一种汽车用户识别方法、装置、系统及存储介质 |
CN110298240B (zh) * | 2019-05-21 | 2022-05-06 | 北京迈格威科技有限公司 | 一种汽车用户识别方法、装置、系统及存储介质 |
WO2020250843A1 (ja) * | 2019-06-12 | 2020-12-17 | 株式会社Preferred Networks | ハイパーパラメタチューニング方法、プログラム試行システム及びコンピュータプログラム |
JPWO2020250843A1 (zh) * | 2019-06-12 | 2020-12-17 | ||
CN110210609A (zh) * | 2019-06-12 | 2019-09-06 | 北京百度网讯科技有限公司 | 基于神经框架搜索的模型训练方法、装置以及终端 |
JP7303299B2 (ja) | 2019-06-12 | 2023-07-04 | 株式会社Preferred Networks | ハイパーパラメタチューニング方法、プログラム試行システム及びコンピュータプログラム |
WO2020248440A1 (zh) * | 2019-06-13 | 2020-12-17 | 苏州浪潮智能科技有限公司 | 一种机器学习方法与装置 |
CN110324185B (zh) * | 2019-06-28 | 2022-12-27 | 京东科技控股股份有限公司 | 超参数调优方法、装置、服务器、客户端及介质 |
CN110324185A (zh) * | 2019-06-28 | 2019-10-11 | 京东数字科技控股有限公司 | 超参数调优方法、装置、服务器、客户端及介质 |
CN110400022A (zh) * | 2019-07-31 | 2019-11-01 | 中国工商银行股份有限公司 | 自助柜员机现金用量预测方法及装置 |
CN110400022B (zh) * | 2019-07-31 | 2022-03-04 | 中国工商银行股份有限公司 | 自助柜员机现金用量预测方法及装置 |
CN110503208A (zh) * | 2019-08-26 | 2019-11-26 | 第四范式(北京)技术有限公司 | 多模型探索中的资源调度方法和资源调度装置 |
CN110503208B (zh) * | 2019-08-26 | 2022-05-17 | 第四范式(北京)技术有限公司 | 多模型探索中的资源调度方法和资源调度装置 |
CN110727472A (zh) * | 2019-09-10 | 2020-01-24 | 平安普惠企业管理有限公司 | 应用服务器性能优化方法、装置、存储介质及电子设备 |
WO2021061798A1 (en) * | 2019-09-24 | 2021-04-01 | Intel Corporation | Methods and apparatus to train a machine learning model |
CN110782045A (zh) * | 2019-10-17 | 2020-02-11 | 成都四方伟业软件股份有限公司 | 一种运维告警系统动态阈值的生成方法及装置 |
CN111078665B (zh) * | 2019-12-09 | 2023-04-11 | 苏宁金融科技(南京)有限公司 | 确定hive任务的优化信息的方法、装置、计算机设备和介质 |
CN111078665A (zh) * | 2019-12-09 | 2020-04-28 | 苏宁金融科技(南京)有限公司 | 确定hive任务的优化信息的方法、装置、计算机设备和介质 |
CN111222553A (zh) * | 2019-12-30 | 2020-06-02 | 广州华多网络科技有限公司 | 机器学习模型的训练数据处理方法、装置和计算机设备 |
CN111222553B (zh) * | 2019-12-30 | 2023-08-29 | 广州方硅信息技术有限公司 | 机器学习模型的训练数据处理方法、装置和计算机设备 |
CN111260073A (zh) * | 2020-01-09 | 2020-06-09 | 京东数字科技控股有限公司 | 数据处理方法、装置和计算机可读存储介质 |
CN113438663A (zh) * | 2020-03-04 | 2021-09-24 | 诺基亚通信公司 | 基于机器学习的切换参数优化 |
CN111723939A (zh) * | 2020-05-15 | 2020-09-29 | 第四范式(北京)技术有限公司 | 机器学习模型的调参方法、装置、设备及系统 |
CN111667056A (zh) * | 2020-06-05 | 2020-09-15 | 北京百度网讯科技有限公司 | 用于搜索模型结构的方法和装置 |
CN111667056B (zh) * | 2020-06-05 | 2023-09-26 | 北京百度网讯科技有限公司 | 用于搜索模型结构的方法和装置 |
CN111709519A (zh) * | 2020-06-17 | 2020-09-25 | 湖南大学 | 一种深度学习并行计算架构方法及其超参数自动配置优化 |
CN111709519B (zh) * | 2020-06-17 | 2024-02-06 | 湖南大学 | 一种深度学习并行计算架构方法及其超参数自动配置优化 |
US11823076B2 (en) | 2020-07-27 | 2023-11-21 | International Business Machines Corporation | Tuning classification hyperparameters |
CN111931946A (zh) * | 2020-08-13 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN111931946B (zh) * | 2020-08-13 | 2024-04-16 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN112529211B (zh) * | 2021-02-05 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 一种超参数确定方法、装置、计算机设备和存储介质 |
CN112529211A (zh) * | 2021-02-05 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 一种超参数确定方法、装置、计算机设备和存储介质 |
CN114663662A (zh) * | 2022-05-23 | 2022-06-24 | 深圳思谋信息科技有限公司 | 超参数搜索方法、装置、计算机设备和存储介质 |
CN115827171A (zh) * | 2023-01-31 | 2023-03-21 | 阿里巴巴达摩院(杭州)科技有限公司 | 云端调参系统、调参方法及调参系统 |
CN115827171B (zh) * | 2023-01-31 | 2023-05-23 | 阿里巴巴达摩院(杭州)科技有限公司 | 云端调参系统、调参方法及调参系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109816116B (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109816116A (zh) | 机器学习模型中超参数的优化方法及装置 | |
Yan et al. | Automatic virtual network embedding: A deep reinforcement learning approach with graph convolutional networks | |
US11757982B2 (en) | Performing load balancing self adjustment within an application environment | |
WO2020211722A1 (zh) | 模型的推送、模型的请求方法、装置、存储介质及电子装置 | |
CN104541247B (zh) | 用于调整云计算系统的系统和方法 | |
CN111414233A (zh) | 一种在线模型推理系统 | |
CN108809694B (zh) | 业务编排方法、系统、装置与计算机可读存储介质 | |
US8954978B1 (en) | Reputation-based mediation of virtual control planes | |
US11928583B2 (en) | Adaptation of deep learning models to resource constrained edge devices | |
Frömmgen et al. | Fossa: Learning ECA rules for adaptive distributed systems | |
US11392855B1 (en) | GUI for configuring machine-learning services | |
CN112990423A (zh) | 人工智能ai模型生成方法、系统及设备 | |
WO2016066438A1 (en) | Network management using adaptive policy | |
Li et al. | Rlops: Development life-cycle of reinforcement learning aided open ran | |
CN110011875A (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
Gand et al. | A fuzzy controller for self-adaptive lightweight edge container orchestration | |
US20200112612A1 (en) | System, apparatus and method for providing end to end solution for networks | |
TW202227965A (zh) | 用於服務等級遵循之有效率資源配置 | |
Mamatas et al. | Towards an information management overlay for emerging networks | |
WO2021135467A1 (zh) | 基于自动机器学习的以太坊燃料限制预测方法、装置、计算机设备及存储介质 | |
US10679162B2 (en) | Self-organizing workflow | |
da Silva et al. | Online machine learning for auto-scaling in the edge computing | |
WO2016032531A1 (en) | Improvement message based on element score | |
KR102407241B1 (ko) | 렌탈 마켓 시스템 | |
US20230318926A1 (en) | Semi-automated deployment for an intra-service communication infrastructure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |