一种确定学习率的方法和装置制造方法及图纸

技术编号:21659545 阅读:27 留言:0更新日期:2019-07-20 05:50
本申请提供了一种确定学习率的方法和装置,所述方法包括:获取用于间隔地计算深度学习模型中的目标层的学习率的间隔次数;在当前迭代次数小于所述间隔次数时,在对所述深度学习模型中的所述目标层进行当前次迭代的学习训练的过程中,继续使用前次迭代过程中的第一学习率进行所述目标层的学习训练。本申请提供的技术方案可以减小计算学习率的迭代次数,从而可以避免现有技术中每一次迭代训练中均需要对目标层计算一次学习率所造成的较长的训练迭代时间。

A Method and Device for Determining Learning Rate

【技术实现步骤摘要】
一种确定学习率的方法和装置
本申请涉及计算领域,并且更具体地,涉及一种确定学习率的方法、装置、服务器以及计算机可读存储介质。
技术介绍
深度学习模型是一种基于深层次的神经网络算法的学习技术,训练深度学习模型的过程也就是学习参数矩阵的过程,其最终的目的就是寻找一组最优值的过程。通过深度学习模型的输出层输出的预测值与训练数据的先验知识(priorknowledge)之间的误差对深度学习模型的每一层神经元的参数矩阵(每一层神经元的参数矩阵包括该层神经元包括的每个神经元对应的权重)进行修正和更新,使得在经过多次迭代训练之后,深度学习模型的输出层输出的预测值尽可能的接近训练数据的先验知识。在对每一层神经元的参数矩阵进行修正和更新的过程中,通过控制学习率来控制参数矩阵的更新速度。现有的分层自适应学习率(layer-wiseadaptiveratescaling,LARS)算法中,根据每一层神经元上对应的参数矩阵中的权重以及该权重的梯度,分别计算出每一层神经元对应的学习率,并根据每一层神经元对应的学习率分别对每一层神经元上的参数矩阵中的权重进行修正。由于在每一次迭代训练过程中,均需要对每一层神经元计算对应的学习率,导致深度学习模型的训练时间较长。因此,如何降低深度学习模型的迭代训练时间成为业界亟需要解决的问题。
技术实现思路
本申请提供一种确定学习率的方法和装置,可以减小计算学习率的迭代次数,使得计算学习率的次数小于深度学习模型的迭代次数,从而可以避免现有技术中每一次迭代训练中均需要计算一次学习率所造成的较长的训练迭代时间。第一方面,提供了一种确定学习率的方法,所述方法包括:获取用于间隔地计算深度学习模型中的目标层的学习率的间隔次数;在当前迭代次数小于所述间隔次数时,在对所述深度学习模型中的所述目标层进行当前次迭代的学习训练的过程中,继续使用前次迭代过程中的第一学习率进行所述目标层的学习训练。上述技术方案中,可以减小计算学习率的迭代次数,使得计算学习率的次数小于深度学习模型的迭代次数,从而可以避免现有技术中每一次迭代训练中均需要计算一次学习率所造成的较长的训练迭代时间。在一种可能的实现方式中,所述方法还包括:在当前迭代次数达到所述间隔次数时,计算所述目标层的新学习率。上述技术方案中,可以通过计算得到目标层的新学习率,使得目标层根据其计算出的新的学习率进行迭代训练,从而可以提高模型的训练精度。在另一种可能的实现方式中,使用分层自适应学习率LARS算法计算所述目标层的新学习率。在另一种可能的实现方式中,在所述新学习率大于或等于目标学习率时,更新所述第一学习率为所述目标学习率;在所述新学习率小于目标学习率时,更新所述第一学习率为所述新学习率。在另一种可能的实现方式中,所述方法还包括:根据所述新学习率与所述目标学习率的比较结果,调整所述间隔次数。在另一种可能的实现方式中,在波动曲线上当前的新学习率的导数大于零时,增大所述间隔次数,所述波动曲线为历史的多个所述新学习率按照时间顺序组成的曲线。应理解,波动曲线的历史的多个新学习率包括当前的新的学习率。上述技术方案中,可以在保证模型训练精度的同时,增大间隔次数,减小计算目标层的新的学习率,从而提高该模型的迭代训练时间。在另一种可能的实现方式中,在所述波动曲线上当前的新学习率的导数大于零、并且所述新学习率小于所述目标学习率时,以小于迭代阈值的值增大所述间隔次数。在另一种可能的实现方式中,在所述波动曲线上当前的新学习率的导数大于零、并且所述新学习率大于所述目标学习率时,以大于迭代阈值的值增大所述间隔次数。在另一种可能的实现方式中,在波动曲线上当前的新学习率的导数小于零时,减小所述间隔次数,所述波动曲线为历史的多个所述新学习率按照时间顺序组成的曲线。在另一种可能的实现方式中,在所述波动曲线上当前的新学习率的导数小于零、并且所述新学习率小于所述目标学习率时,以小于迭代阈值的值减小所述间隔次数。在另一种可能的实现方式中,在所述波动曲线上当前的新学习率的导数小于零、并且所述新学习率大于所述目标学习率时,以大于迭代阈值的值减小所述间隔次数。第二方面,本申请提供一种确定学习率的装置,所述装置包括:获取模块,获取用于间隔地计算深度学习模型中的目标层的学习率的间隔次数;训练模块,用于在当前迭代次数小于所述间隔次数时,在对所述深度学习模型中的所述目标层进行当前次迭代的学习训练的过程中,继续使用前次迭代过程中的第一学习率进行所述目标层的学习训练。在一种可能的实现方式中,所述装置还包括:计算模块,用于在当前迭代次数达到所述间隔次数时,计算所述目标层的新学习率。在另一种可能的实现方式中,所述计算模块具体用于:使用分层自适应学习率LARS算法计算所述目标层的新学习率。在另一种可能的实现方式中,所述装置还包括:更新模块,用于在所述新学习率大于或等于目标学习率时,更新所述第一学习率为所述目标学习率;所述更新模块,还用于在所述新学习率小于目标学习率时,更新所述第一学习率为所述新学习率。在另一种可能的实现方式中,所述装置还包括:调整模块,用于根据所述新学习率与所述目标学习率的比较结果,调整所述间隔次数。在另一种可能的实现方式中,所述调整模块具体用于:在波动曲线上当前的新学习率的导数大于零时,增大所述间隔次数,所述波动曲线为历史的多个所述新学习率按照时间顺序组成的曲线。在另一种可能的实现方式中,所述调整模块具体用于:在所述波动曲线上当前的新学习率的导数大于零、并且所述新学习率小于所述目标学习率时,以小于迭代阈值的值增大所述间隔次数。在另一种可能的实现方式中,所述调整模块具体用于:在所述波动曲线上当前的新学习率的导数大于零、并且所述新学习率大于所述目标学习率时,以大于迭代阈值的值增大所述间隔次数。在另一种可能的实现方式中,所述调整模块具体用于:在波动曲线上当前的新学习率的导数小于零时,减小所述间隔次数,所述波动曲线为历史的多个所述新学习率按照时间顺序组成的曲线。在另一种可能的实现方式中,所述调整模块具体用于:在所述波动曲线上当前的新学习率的导数小于零、并且所述新学习率小于所述目标学习率时,以小于迭代阈值的值减小所述间隔次数。在另一种可能的实现方式中,所述调整模块具体用于:在所述波动曲线上当前的新学习率的导数小于零、并且所述新学习率大于所述目标学习率时,以大于迭代阈值的值减小所述间隔次数。第三方面,本申请提供一种服务器,服务器包括处理器和存储器。所述存储器中用于存储计算机指令,所述服务器通过所述处理器执行所述存储器存储的计算机指令,以使得所述服务器执行第一方面或第一方面任一种可能实现方式中所述的方法。第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当其在计算机(例如服务器)上运行时,使得计算机执行第一方面或第一方面任一种可能实现方式中所述的方法。第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面任一种可能实现方式中所述的方法。附图说明图1是本申请实施例提供的一种深度学习模型100的示意性框图。图2是应用于本申请实施例的一种深度学习模型100的训练系统200的示意性结构图。图3是根据LARS算法得到的深度学习模型100中的本文档来自技高网...

【技术保护点】
1.一种确定学习率的方法,其特征在于,所述方法包括:获取用于间隔地计算深度学习模型中的目标层的学习率的间隔次数;在当前迭代次数小于所述间隔次数时,在对所述深度学习模型中的所述目标层进行当前次迭代的学习训练的过程中,继续使用前次迭代过程中的第一学习率进行所述目标层的学习训练。

【技术特征摘要】
1.一种确定学习率的方法,其特征在于,所述方法包括:获取用于间隔地计算深度学习模型中的目标层的学习率的间隔次数;在当前迭代次数小于所述间隔次数时,在对所述深度学习模型中的所述目标层进行当前次迭代的学习训练的过程中,继续使用前次迭代过程中的第一学习率进行所述目标层的学习训练。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在当前迭代次数达到所述间隔次数时,计算所述目标层的新学习率。3.根据权利要求2所述的方法,其特征在于,所述计算所述目标层的新学习率包括:使用分层自适应学习率LARS算法计算所述目标层的新学习率。4.根据权利要求2或3所述的方法,其特征在于,所述方法包括:在所述新学习率大于或等于目标学习率时,更新所述第一学习率为所述目标学习率;在所述新学习率小于目标学习率时,更新所述第一学习率为所述新学习率。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法包括:根据所述新学习率与所述目标学习率的比较结果,调整所述间隔次数。6.根据权利要求5所述的方法,其特征在于,所述根据所述新学习率与所述目标学习率的比较结果调整所述间隔次数,包括:在波动曲线上当前的新学习率的导数大于零时,增大所述间隔次数,所述波动曲线为历史的多个所述新学习率按照时间顺序组成的曲线。7.根据权利要求6所述的方法,其特征在于,所述在波动曲线上当前的新学习率的导数大于零时增大所述间隔次数包括:在所述波动曲线上当前的新学习率的导数大于零、并且所述新学习率小于所述目标学习率时,以小于迭代阈值的值增大所述间隔次数。8.根据权利要求6或7所述的方法,其特征在于,所述在波动曲线上当前的新学习率的导数大于零时增大所述间隔次数包括:在所述波动曲线上当前的新学习率的导数大于零、并且所述新学习率大于所述目标学习率时,以大于迭代阈值的值增大所述间隔次数。9.根据权利要求5至8任一项所述的方法,其特征在于,所述根据所述新学习率与所述目标学习率的比较结果调整所述间隔次数,包括:在波动曲线上当前的新学习率的导数小于零时,减小所述间隔次数,所述波动曲线为历史的多个所述新学习率按照时间顺序组成的曲线。10.根据权利要求9所述的方法,其特征在于,所述在波动曲线上当前的新学习率的导数小于零时减小所述间隔次数包括:在所述波动曲线上当前的新学习率的导数小于零、并且所述新学习率小于所述目标学习率时,以小于迭代阈值的值减小所述间隔次数。11.根据权利要求9或10所述的方法,其特征在于,所述在波动曲线上当前的新学习率的导数小于零时减小所述间隔次数包括:在所述波动曲线上当前的新学习率的导数小于零、并且所述新学习率大于所述目标学习率时,以大于迭代阈值的值减小所述间隔次数。12.一种确定学习率的装置,其特征在于,所述装置包括:获取模块,获取用于间隔地计算深度学习模型中的目...

【专利技术属性】
技术研发人员:周胜凯徐华周明耀
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1