一种神经网络的超参数处理的方法及装置与流程

文档序号:16883463发布日期:2019-02-15 22:24阅读:233来源:国知局
一种神经网络的超参数处理的方法及装置与流程

本发明涉及机器学习神经网络领域,尤指一种神经网络的超参数处理的方法及装置。



背景技术:

在机器学习和相关领域,神经网络(人工神经网络)的计算模型灵感来自动物的中枢神经系统(尤其是脑),并且被用于估计或可以依赖于大量的输入和一般的未知近似函数。人工神经网络通常呈现为相互连接的“神经元”,它可以从输入的计算值,并且能够机器学习以及模式识别由于它们的自适应性质的系统。人工神经网络也具有初步的自适应与自组织能力。在学习或训练过程中改变突触权重值,以适应周围环境的要求。同一网络因学习方式及内容不同可具有不同的功能。人工神经网络是一个具有学习能力的系统,可以发展知识,以致超过设计者原有的知识水平。通常,它的学习训练方式可分为两种,一种是有监督或称有导师的学习,这时利用给定的样本标准进行分类或模仿;另一种是无监督学习或称无为导师学习,这时,只规定学习方式或某些规则,则具体的学习内容随系统所处环境(即输入信号情况)而异,系统可以自动发现环境特征和规律性,具有更近似人脑的功能。

超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,在机器学习过程中需要对超参数进行优化,给学习器选择一组最优超参数,以提高学习的性能和效果。比如学习率,正则化参数,神经网络的层数,每一个隐藏层中神经元的个数,学习的回合数(epoch),批量数据的大小(minibatchsize),神经元的激活函数,cost函数的选择等都是超参数。

与超参数区别的概念是参数,它是模型训练过程中学习到的一部分,比如神经网络权重。参数是通过模型训练获得的,而超参数是人工配置参数(本质上是参数的参数,每次改变超参数,模型都要重新训练)。超参数是可以影响神经网络学习速度和最后分类结果,其中神经网络的学习速度主要根据训练集上代价函数下降的快慢有关,而最后的分类的结果主要跟在验证集上的分类正确率有关。

在以往的神经网络的模型训练中,超参数的设置往往依赖于设计人员的经验。在完成超参设置之后,进行模型训练、评估。之后根据模型训练、评估的结果,进行超参数的调整,之后再重新训练、评估。通常这个过程需要反复多次,直到找到一组较为合适的超参数。模型设计人员的工作量具大,且效率低下。



技术实现要素:

为了解决上述技术问题,本发明提供了一种处理神经网络的超参数的方法及装置,提高模型训练的速度和模型的精度。

为了达到本发明目的,本发明提供了一种神经网络的超参数处理的方法,包括:

将用于进行模型训练的数据中的第一数据分为k等份,为模型生成一个超参数字典;

每次训练时,对所述超参数字典中的参数的取值进行排列组合,针对每一种排列组合循环选取k-1份的数据进行训练,剩余一份数据进行验证,记录k次模型验证的模型得分均值和训练时间的平均值;

选择最优的模型得分均值及处于指定范围内的训练时间的平均值对应的参数组合,作为所述模型的超参数组合。

进一步地,所述选择最优的模型得分均值及处于指定范围内的训练时间的平均值对应的参数组合,作为所述模型的超参数组合后,还包括:

使用所选的超参数组合,应用所述用于进行模型训练的数据中除所述第一数据外的数据,进行模型评估。

进一步地,所述超参数字典中的参数至少包括以下参数:

学习率,学习的回合数,批量数据的大小。

一种神经网络的超参数处理的装置,包括:存储器和处理器;其中:

所述存储器,用于保存用于处理神经网络的超参数的程序;

所述处理器,用于读取执行所述用于处理神经网络的超参数的程序,执行如下操作:

将用于进行模型训练的数据中的第一数据分为k等份,为模型生成一个超参数字典;

每次训练时,对所述超参数字典中的参数的取值进行排列组合,针对每一种排列组合循环选取k-1份的数据进行训练,剩余一份数据进行验证,记录k次模型验证的模型得分均值和训练时间的平均值;

选择最优的模型得分均值及处于指定范围内的训练时间的平均值对应的参数组合,作为所述模型的超参数组合。

进一步地,所述处理器,还用于使用所选的超参数组合,应用所述用于进行模型训练的数据中除所述第一数据外的数据,进行模型评估。

进一步地,所述超参数字典中的参数至少包括以下参数:

学习率,学习的回合数,批量数据的大小。

本实施例的方案可以将超参数这种手动设置,转变为依赖于经验的过程自动化,极大减轻了模型设计人员的工作量,提高了工作效率。同时通过更适合的超参数设置,提高模型训练的速度和模型的精度。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例的一种神经网络的超参数处理的方法的流程图;

图2为本发明一应用示例的神经网络的超参数处理的方法的流程图;

图3为本发明应用示例的训练数据划分的示意图;

图4为本发明实施例的一种神经网络的超参数处理的装置的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1为本发明实施例的一种神经网络的超参数处理的方法的流程图,如图1所示,本实施例的方法包括:

步骤101、将用于进行模型训练的数据中的第一数据分为k等份,为模型生成一个超参数字典;

步骤102、每次训练时,对所述超参数字典中的参数的取值进行排列组合,针对每一种排列组合循环选取k-1份的数据进行训练,剩余一份数据进行验证,记录k次模型验证的模型得分均值和训练时间的平均值;

步骤103、选择最优的模型得分均值及处于指定范围内的训练时间的平均值对应的参数组合,作为所述模型的超参数组合。

本发明实施例提出的神经网络的超参数处理的方法,依赖于经验的过程自动化,极大减轻了模型设计人员的工作量,提高工作效率。同时通过更适合的超参数设置,提高模型训练的速度和模型的精度。

图2为本发明一应用示例的神经网络的超参数处理的方法的流程图,如图2所示,本示例的方法包括:

步骤201、首先系统对用于进行模型训练的数据进行自动的划分。

本示例中,原始的数据被自动划分为3份,分别为:训练集和测试集。其中训练集用来训练模型,测试集用来衡量模型表现的好坏。

步骤202、系统为模型自动生成一个超参数字典。

本示例中,超参数字典中包含若干个超参数以及对应超参数的取值。例如如下字典:{"learning_rate":(0.0001,0.0009,0.001,0.009,0.01,0.09,0.1,0.9),"batch_size":(1000,2000,3000,4000,5000,6000,7000,8000),"epoch_num":(1,5,9,15)}。该字典代表学习率的取值可为:0.0001,0.0009,0.001,0.009,0.01,0.09,0.1,0.9这8个值。batch_size的取值为:1000,2000,3000,4000,5000,6000,7000,8000这8个值。epoch_num的取值为:1,5,9,15这四个值。

步骤203、用户定义用于模型交叉验证的数据k折的数量,例如5。系统根据这个数字自动对训练集再次进行数据划分。例如将训练集划分为5等份。在每次训练时,循环选取其中4份用作训练集,剩余一份作为验证集,如图3所示,使用相同的数据进行5次模型训练,其中分别使用不同的训练集和验证集。

步骤204、系统会自动对字典中learning_rate,batch_size,epoch_num的参数取值进行排列组合。针对每一种排列组合,使用步骤203的数据,进行自动的模型训练和评估。

记录这5次模型评估之后的模型得分,选择得分平均值作为这一次排列组合的最终得分。记录这5次模型训练的时间,选择训练时间的平均值作为这一次排列组合的最终时间。

步骤205、在遍历完字典中参数的所有排列组合后,取各个得分均值的最优值和训练时间均值可接受的值对应的参数组合,作为此模型理想的超参数组合。

步骤206、使用选择的理想的超参数组合,应用测试数据集,进行模型的评估,得到最终模型的性能数据。

本示例的方法可以将超参数这种手动设置,转变为依赖于经验的过程自动化,极大减轻了模型设计人员的工作量,提高了工作效率。同时通过更适合的超参数设置,提高模型训练的速度和模型的精度。

图4为本发明实施例的一种神经网络的超参数处理的装置的示意图,如图4所示,本实施例的装置包括:存储器和处理器,其中,

所述存储器,用于保存用于处理神经网络的超参数的程序;

所述处理器,用于读取执行所述用于处理神经网络的超参数的程序,执行如下操作:

将用于进行模型训练的数据中的第一数据分为k等份,为模型生成一个超参数字典;

每次训练时,对所述超参数字典中的参数的取值进行排列组合,针对每一种排列组合循环选取k-1份的数据进行训练,剩余一份数据进行验证,记录k次模型验证的模型得分均值和训练时间的平均值;

选择最优的模型得分均值及处于指定范围内的训练时间的平均值对应的参数组合,作为所述模型的超参数组合。

可选地,所述处理器,还用于使用所选的超参数组合,应用所述用于进行模型训练的数据中除所述第一数据外的数据,进行模型评估。

可选地,所述超参数字典中的参数至少包括以下参数:

学习率,学习的回合数,批量数据的大小。

本实施例的装置可以自动完成超参数的匹配、评估和最终的模型测试。

本发明实施例还提供了一种计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令被执行时实现所述神经网络的超参数处理的方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1