基于深度学习的学习率确定方法和装置制造方法及图纸

技术编号:19635757 阅读:27 留言:0更新日期:2018-12-01 16:23
本公开提供一种基于深度学习的学习率确定方法。先根据预设的次数m,获取第t‑m+1次到第t次迭代所输出的m组目标损失值lst‑m+1,lst‑m+2……lst,再根据m组目标损失值确定第t+1次迭代的学习率,使第t+1次迭代的学习率与m组目标损失值的变化速率成正比。本公开将学习率与目标损失函数相关联,当目标损失值的变化速率较快时,将下一次参数迭代的学习率自动调整为一个相对较大的数值,当目标损失值的变化速率较慢时,将下一次参数迭代的学习率自动调整为一个相对较小的数值。本公开利用目标损失值的下降速率来自适应的调整学习率,在减少目标损失值震荡的同时,尽可能加快网络的收敛速率。

Method and Device for Determining Learning Rate Based on Deep Learning

The present disclosure provides a learning rate determination method based on in-depth learning. Firstly, according to the preset number m, the target loss values LST m + 1, LST m + 2, which are output from the first t m + 1 to the first t iteration, are obtained. Lst, then the learning rate of the T + 1 iteration is determined according to the target loss value of the m group, so that the learning rate of the T + 1 iteration is proportional to the change rate of the target loss value of the m group. This disclosure associates the learning rate with the objective loss function. When the change rate of the target loss value is fast, the learning rate of the next parameter iteration is automatically adjusted to a relatively large value. When the change rate of the target loss value is slow, the learning rate of the next parameter iteration is automatically adjusted to a relatively small one. Numerical value. The present disclosure utilizes the decline rate of the target loss value to adjust the learning rate adaptively so as to reduce the oscillation of the target loss value while speeding up the convergence rate of the network as much as possible.

【技术实现步骤摘要】
基于深度学习的学习率确定方法和装置
本公开涉及深度学习,尤其涉及基于深度学习的学习率确定方法和装置。
技术介绍
目前深度学习模型的求解具有多种优化方式,无论哪种优化方式都需要设置一个学习率来控制梯度移动步长。学习率设置太小会导致目标损失下降过慢,迭代次数过多,需要非常久的时间才能收敛;学习率设置太大很容易导致梯度爆炸(乘积趋向无穷大),使整个深度网络的学习无法继续下去。因此,合适的学习率对深度网络参数的求解非常重要。部分研究人员根据经验设定一个合适的固定值,然而这种固定值无法兼顾整个网络的学习过程,通常会导致网络后期的目标损失值出现震荡。考虑到网络学习过程中,前期梯度下降较快后期梯度下降较慢的特性,大多数研究人员将学习率设计成一个指数的衰减函数来进行参数优化。随着迭代次数的增加,指数衰减函数输出的学习率会越来越小导致网络后期参数更新微乎其微,难以快速收敛及越过一些局部极小值点。现有的学习率设置方法基本上都是根据经验人为设定一个固定值或固定函数来进行网络参数寻优。人为设定的学习率很难顾及到整个网络的学习过程,即使采用循环变化的学习率也有可能使目标损失函数值震荡导致寻优效率低下。
技术实现思路
为解决上述技术问题,本公开提供一种基于深度学习的学习率确定方法和装置,技术方案如下:一种基于深度学习的学习率确定方法,用于确定第t+1次迭代所使用的学习率,所述方法包括:根据预设的次数m,获取第t-m+1次到第t次迭代所输出的m组目标损失值lst-m+1,lst-m+2……lst;根据m组目标损失值确定第t+1次迭代的学习率,使所述学习率与m组目标损失值的变化速率成正比。一种基于深度学习的学习率确定装置,用于确定第t+1次迭代所使用的学习率,所述装置包括:参数获取模块:用于根据预设的次数m,获取第t-m+1次到第t次迭代所输出的m组目标损失值lst-m+1,lst-m+2……lst;学习率确定模块:用于根据m组目标损失值确定第t+1次迭代的学习率,使所述学习率与m组目标损失值的变化速率成正比。本公开将学习率与目标损失函数相关联,当目标损失值的变化速率较快时,将下一次参数迭代的学习率自动调整为一个相对较大的数值,当目标损失值的变化速率较慢时,将下一次参数迭代的学习率自动调整为一个相对较小的数值。本公开利用目标损失值的下降速率来自适应的调整学习率,在减少目标损失值震荡的同时,尽可能加快网络的收敛速率。附图说明此处的附图被并入说明书中并构成本公开的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是本公开一示例性实施例示出的基于深度学习的学习率确定方法的流程图;图2是本公开一示例性实施例示出的基于深度学习的学习率确定装置的结构示意图;图3是本公开一示例性实施例示出的一种计算机设备的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。目前来说,深度学习模型的求解需要设置一个学习率来控制梯度移动步长。学习率设置太小会导致目标损失下降过慢,迭代次数过多,需要非常久的时间才能收敛;学习率设置太大很容易导致梯度爆炸(乘积趋向无穷大),使整个深度网络的学习无法继续下去。因此,合适的学习率对深度网络参数的求解非常重要。部分研究人员根据经验设定一个合适的固定值,然而这种固定值无法兼顾整个网络的学习过程,通常会导致网络后期的目标损失值出现震荡。考虑到网络学习过程中,前期梯度下降较快后期梯度下降较慢的特性,还有部分研究人员将学习率设计成一个指数的衰减函数来进行参数优化。随着迭代次数的增加,指数衰减函数输出的学习率会越来越小导致网络后期参数更新微乎其微,难以快速收敛及越过一些局部极小值点。现有的学习率设置方法基本上都是根据经验人为设定一个固定值或固定函数来进行网络参数寻优。人为设定的学习率很难顾及到整个网络的学习过程,即使采用循环变化的学习率也有可能使目标损失函数值震荡导致寻优效率低下。针对上述问题,本公开提供了一种学习率的确定方法,将学习率与目标损失函数相关联,当目标损失值的变化速率较快时,将下一次参数迭代的学习率自动调整为一个相对较大的数值,当目标损失值的变化速率较慢时,将下一次参数迭代的学习率自动调整为一个相对较小的数值。本公开利用目标损失值的下降速率来自适应的调整学习率,在减少目标损失值震荡的同时,尽可能加快网络的收敛速率。请参考附图1,附图1为本公开实施例基于深度学习的学习率确定方法的一种流程图。如附图1所示,该流程可包括以下步骤:S101,根据预设的次数m,获取第t-m+1次到第t次迭代所输出的m组目标损失值lst-m+1,lst-m+2……lst;在深度学习的模型训练过程中,每一次迭代完成后,目标损失函数都会输出一个目标损失值。深度学习中的损失函数(lossfunction)是一个用于估量模型的预测值与真实值的不一致程度的函数,是一个非负实值函数。通常情况下,随着迭代次数的增加,预测值与真实值逐渐趋于一致,目标损失函数输出的目标损失值会逐渐减小。假设本次迭代为第t次迭代,需要确定的是第t+1次迭代的学习率。本实施例需要从第t次开始,获取第t次之前(包括第t次)的m组目标损失值。也就是:获取第t-m+1次迭代,第t-m+2次迭代……直到第t次迭代对应的m组目标损失值lst-m+1,lst-m+2……lst。其中,m是用户预设的数值,举例说明,假设本次是第15次迭代,需要确定第16次迭代的学习率。如果将次数m设定为3,则需要获取第13,14,15次迭代的3组目标损失值;如果将次数设定为5,则需要获取11,12,13,14,15次迭代的5组目标损失值。本实施例是以最近的m次迭代的目标损失值的变化速率来确定下一次迭代所使用的学习率。次数m可以根据经验直接设定,或反复调整以获得一个较佳的值,本实施例对此不作限定。S102,根据m组目标损失值确定第t+1次迭代的学习率,使所述学习率与m组目标损失值的变化速率成正比。学习率,也称为步长,该值决定了每次迭代时参数的更新幅度,如果学习率过小,可能导致梯度下降这一过程的速度缓慢,如果学习率过大,则可能导致overshoottheminimum现象,即无法令模型随更新进程而趋近拟合,因此,本实施例需本文档来自技高网...

【技术保护点】
1.一种基于深度学习的学习率确定方法,用于确定第t+1次迭代所使用的学习率,其特征在于,所述方法包括:根据预设的次数m,获取第t‑m+1次到第t次迭代所输出的m组目标损失值lst‑m+1,lst‑m+2……lst;根据m组目标损失值确定第t+1次迭代所使用的学习率,使所述学习率与m组目标损失值的变化速率成正比。

【技术特征摘要】
1.一种基于深度学习的学习率确定方法,用于确定第t+1次迭代所使用的学习率,其特征在于,所述方法包括:根据预设的次数m,获取第t-m+1次到第t次迭代所输出的m组目标损失值lst-m+1,lst-m+2……lst;根据m组目标损失值确定第t+1次迭代所使用的学习率,使所述学习率与m组目标损失值的变化速率成正比。2.根据权利要求1所述的方法,其特征在于,所述根据m组目标损失值确定第t+1次迭代所使用的学习率,使所述学习率与m组目标损失值的变化速率成正比,包括:计算lr't+1,根据lr't+1确定第t+1次迭代的学习率,使所述学习率与m组目标损失值的变化速率成正比;其中,gx为第x次迭代时目标损失值的变化量,gx=lsx-lsx-1,x为大于1的整数。3.根据权利要求1所述的方法,其特征在于,所述根据m组目标损失值确定第t+1次迭代所使用的学习率,使所述学习率与m组目标损失值的变化速率成正比,包括:计算lr't+1,根据lr't+1确定第t+1次迭代的学习率,使所述学习率与m组目标损失值的变化速率成正比;其中,gx为第x次迭代时目标损失值的变化量,gx=lsx-lsx-1,x为大于1的整数;λ为配置参数,用以确定目标损失值的变化速率与学习率的相关度,ε为修正参数,用以平滑数值。4.根据权利要求2或3所述的方法,其特征在于,所述根据lr't+1确定第t+1次迭代的学习率,包括:确定lr't+1是否小于lrmin;如果lr't+1小于lrmin,将第t+1次迭代的学习率lrt+1确定为lrmin;如果lr't+1不小于lrmin,将第t+1次迭代的学习率lrt+1确定为lr't+1;其中,lrmin为预设的最小学习率。5.根据权利要求2或3所述的方法,其特征在于,所述根据lr't+1确定第t+1次迭代的学习率,包括:确定lr't+1是否大于lrmax;如果lr't+1大于lrmax,将第t+1次迭代的学习率lrt+1确定为lrt+1;如果lr't+1不大于lrmax,将第...

【专利技术属性】
技术研发人员:贺永刚
申请(专利权)人:广州视源电子科技股份有限公司
类型:发明
国别省市:广东,44

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

1