超参数调整方法、装置以及程序制造方法及图纸

技术编号:28491888 阅读:16 留言:0更新日期:2021-05-19 22:16
本发明专利技术提供一种超参数调整方法,其发明专利技术了使用户的编程的便利性提高的超参数调整方式。本发明专利技术的一个方式涉及由通过一个或多个处理器执行的步骤组成的超参数调整方法,其具有:接收步骤,其接收按照用户程序中描述的超参数获取代码生成的超参数获取请求;以及提供步骤,其基于针对上述用户程序的超参数的应用历史,向上述用户程序提供上述超参数。史,向上述用户程序提供上述超参数。史,向上述用户程序提供上述超参数。

【技术实现步骤摘要】
【国外来华专利技术】超参数调整方法、装置以及程序


[0001]本专利技术涉及信息处理技术。

技术介绍

[0002]在执行程序时,用于规定程序的动作条件等的参数经常由外部设定。由于根据被设定为参数的值,程序的执行结果、性能受到影响,因此需要设定适当的参数。为了与在程序内部设定或更新的参数进行区別,有时这样由外部设定的参数也被称为超参数。
[0003]例如,在深度学习等的机器学习中,基于学习算法来学习表征学习对象的问题的机器学习模型的参数。另一方面,与这样的学习对象的参数分开地,超参数在机器学习模型的选择时、学习算法的执行时被设定。作为用于机器学习的超参数的具体例子,存在被特定的机器学习模型利用的参数(例如,在神经网络中,学习率、学习期间、噪声率、权重衰减系数等),另外,在利用若干个机器学习模型的情况下,存在机器学习模型的种类、用于构建各个种类的机器学习模型的参数(例如,神经网络中的层数、决策树中的树的深度等)等。通过设定适当的超参数,能够提高预测性能、泛化性能、学习效率等。
[0004]一般来说,超参数由用户手动设定,或者通过超参数调整软件等自动设定。例如,作为超参数调整软件,HyperOpt、SigOpt、Vizier、MOE、MetaOpt、SMAC、Spearmint等为人所知。
[0005]<现有技术文献>
[0006]<专利文献>
[0007]专利文献1:(日本)特开2017

49677号公报
[0008]专利文献2:(日本)特开2017

228068号公报

技术实现思路

[0009]<本专利技术要解决的问题>
[0010]根据上述既存的超参数调整软件,用户事先在超参数调整软件中定义调整对象的超参数以及各超参数的值的范围。超参数调整软件基于由用户定义的超参数以及各超参数的值的范围,在用于学习利用Chainer、TensorFlow等的机器学习库描述的机器学习模型的用户程序中,设定由超参数调整软件定义的超参数的值,并且按照设定的超参数来使机器学习模型进行学习。
[0011]但是,在既存的超参数调整软件中,调整对象的超参数在与用于进行机器学习模型的学习等的用户程序不同的位置被定义,并且设定的超参数被伴随机器学习模型的学习等的用户程序利用。即,定义超参数的程序与利用超参数的程序分离,有可能使基于用户的程序的维护困难。
[0012]另外,在神经网络、决策树等的机器学习模型的种类被超参数调整软件设定为超参数的情况下,其他的超参数需要根据设定的机器学习模型来设定。例如,权重衰减系数、丢码率等在设定神经网络的情况下作为超参数被利用,但是在设定决策树的情况下不作为
超参数被利用。如此,应设定的其他的超参数根据特定的超参数的设定值而改变,但是在既存的超参数调整软件中,不能处理基于使这样的条件分支成为可能的控制构造的超参数的设定。另外,根据既存的超参数调整软件,也不能使与超参数的调整相关的源代码模块化。
[0013]鉴于上述问题点,本专利技术的课题在于,提供一种提高基于用户的编程的便利性的超参数调整方式。
[0014]<用于解决问题的手段>
[0015]为了解决上述课题,本专利技术的一个方式涉及超参数调整方法,其为由通过一个或多个处理器执行的步骤组成的超参数调整方法,该超参数调整方法包括:接收步骤,其接收按照用户程序中描述的超参数获取代码生成的超参数获取请求;以及提供步骤,其基于针对上述用户程序的超参数的应用历史而向上述用户程序提供上述超参数。
附图说明
[0016]图1是示出本专利技术的define

by

run方式的超参数的设定的概略图。
[0017]图2是示出本专利技术的一个实施例的超参数调整装置的硬件构成的框图。
[0018]图3是示出本专利技术的一个实施例的超参数调整处理的流程图。
[0019]图4是示出本专利技术的一个实施例的超参数调整处理的时序图。
[0020]图5是示出本专利技术的一个实施例的超参数获取代码的图。
[0021]图6是示出本专利技术的其他的实施例的超参数获取代码的图。
具体实施方式
[0022]在以下的实施例中,专利技术了用于设定程序执行时所利用的超参数的超参数调整装置以及方法。
[0023]若概括本专利技术,则超参数调整装置通过超参数调整程序或软件实现,若自用户程序接收超参数获取请求,则基于针对该用户程序的超参数的应用历史而向用户程序提供超参数。在此,用户程序生成用于获取按照该用户程序内描述的超参数获取代码应获取的超参数的超参数获取请求,并且根据生成的超参数获取请求向超参数调整程序依次请求应获取的超参数。
[0024]以下的实施例着眼于机器学习模型的学习处理中利用的超参数,但是本专利技术的超参数不限于此,其可以是存在对用户程序的执行结果、性能产生影响的可能性的任意的超参数。
[0025]本专利技术的超参数获取代码能够通过if语句等的条件分支、for语句等能够执行重复处理的控制结构来描述。具体而言,如图1所示,用户程序10首先作为超参数向超参数调整程序20请求“机器学习模型的种类”,超参数调整程序20回应来自用户程序10的超参数获取请求而作为“机器学习模型的种类”返回例如“神经网络”。若作为“机器学习模型的种类”选择“神经网络”,则用户程序10按照超参数获取代码的控制结构请求“神经网络”中必要的各种超参数(例如,层数、学习率等)。如此,根据本专利技术,超参数由define

by

run方式设定。
[0026]若设定学习处理中必要的超参数的组合,则用户程序10应用获取的超参数的组合来使机器学习模型进行学习,并且将学习的机器学习模型的预测性能等的精度提供给超参数调整程序20。重复上述处理,直至满足规定的结束条件。
[0027]首先,参照图2~4,对本专利技术的一个实施例的超参数调整处理进行说明。在本实施例中,超参数调整装置100执行该处理,更详细而言,超参数调整装置100的处理器通过执行超参数调整程序20来执行该处理。
[0028]在此,如图2所示,超参数调整装置100可以具有例如基于CPU(Central Processing unit)、GPU(Graphics Processing Unit)等的处理器101、RAM(Random Access Memory)、闪存等的存储器102、硬盘103以及输入输出(I/O)接口104的硬件构成。
[0029]处理器101执行超参数调整装置100的各种处理,并且执行用户程序10和/或超参数调整程序20。
[0030]存储器102储存用户程序10和/或超参数调整程序20、以及用于超参数调整装置100的各种数据和程序,其特别是作为用于作业用数据、执行中的程序等的工作存储器起作用。具体而言,存储器1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种超参数调整方法,其为由通过一个或多个处理器执行的步骤组成的超参数调整方法,该超参数调整方法包括:接收步骤,其接收按照用户程序中描述的超参数获取代码生成的超参数获取请求;以及提供步骤,其基于针对上述用户程序的超参数的应用历史,向上述用户程序提供上述超参数。2.根据权利要求1所述的超参数调整方法,其中,上述超参数获取代码利用控制结构进行描述。3.根据权利要求2所述的超参数调整方法,其中,上述用户程序按照上述描述的控制结构确定上述提供的超参数的下一个要获取的超参数,并且针对上述确定的超参数生成超参数获取请求。4.根据权利要求1至3中任一项所述的超参数调整方法,其中,上述用户程序用于使机器学习模型进行学习。5.根据权利要求4所述的超参数调整方法,其中,上述超参数获取请求按照控制结构请求上述机器学习模型的种类、以及上述机器学习模型的各个种类中特有的超参数。6.根据权利要求4或5所述的超参数调整方法,其中,上述超参数获取代码包括:用于设定规定上述机器学习模型的结构的超参数的模块;以及用于设定规定上述机器学习模型的学习处理的超参数的模块。7.根据权利要求1至6中任一项所述的超参数调整方法,其中,上述提供超参数的步骤提供按照规定的超参数选择算法选择的超参数。8.根据权利要求7所述的超参数调整方法,其中,上述规定的超参数选择算法基于利用在上述超参数的应用历史下获取的机器学习模型的精度的贝叶斯优化。9.根据权利要求7所述的超参数调整方法,其中,上述规定的超参数选择算法基于随机搜索。10.根据权利要求1至9中任一项所述的超参数调整方法,其中,还包括获取应用了上述超参数的上述用户程序的评价结果的步骤。11.根据权利要求10所述的超参数调整方法,其中,上述用户程序的评价结果包括机器学习模型的精度。12....

【专利技术属性】
技术研发人员:秋叶拓哉
申请(专利权)人:首选网络株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1