模型训练方法、装置、计算机设备和存储介质与流程

文档序号:19830840发布日期:2020-02-04 12:24阅读:144来源:国知局
模型训练方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种模型训练方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,人工智能(artificialintelligence,ai)的理论和技术日益成熟,应用领域也不断扩大。机器学习(machinelearning,ml)是目前最主流的人工智能实现方法,而深度学习(deeplearning,dl)则是机器学习的一个分支,深度学习使得机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。深度学习的概念源于人工神经网络(artificialneuralnetwork,ann)的研究,而人工神经网络是从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络,简称为神经网络或类神经网络。因此,深度学习又叫深层神经网络(deepneuralnetworks,dnn)。

深度学习网络中的性能函数,即目标函数大多数为非凸的,即非严格单调的。目前直接基于梯度下降法训练网络模型,无法有效解决目标函数的非凸问题,对于非严格单调的目标函数,梯度下降容易陷入较小的局部最优问题,导致网络模型的训练效果有限。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高模型训练效果的模型训练方法、装置、计算机设备和存储介质。

一种模型训练方法,所述方法包括:

获取模型输出数据,模型输出数据通过将训练样本数据输入待训练模型中得到;

获取训练样本数据对应预设的基准结果数据;

当待训练模型不满足训练完成条件时,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度;

根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度;

根据更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,返回获取模型输出数据的步骤。

在其中一个实施例中,在获取训练样本数据对应预设的基准结果数据之后,还包括:

当根据模型输出数据和基准结果数据,确定待训练模型满足训练完成条件,或训练次数达到预设次数阈值时,结束训练,得到将待训练模型作为训练完成的目标模型。

在其中一个实施例中,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度包括:

获取预设的损失函数;

根据损失函数,确定模型输出数据的梯度函数;

根据梯度函数、模型输出数据和基准结果数据,得到模型输出数据的当前梯度。

在其中一个实施例中,根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度包括:

获取高斯随机数;

当高斯随机数满足预设的梯度更新条件时,通过预设的梯度更新参数对当前梯度进行梯度更新,得到模型输出数据的更新梯度。

在其中一个实施例中,高斯随机数在预设均值和预设标准差的条件下得到;梯度更新条件包括高斯随机数与预设均值的距离,超过3倍预设标准差;梯度更新参数取值范围为0~1。

在其中一个实施例中,根据更新梯度确定待训练模型的更新权值包括:

基于梯度下降法,根据更新梯度确定待训练模型的更新权值。

在其中一个实施例中,基于梯度下降法,根据更新梯度确定待训练模型的更新权值包括:

获取待训练模型的当前权值和学习速率;

根据当前权值、学习速率、更新梯度和训练样本数据,计算待训练模型的更新权值。

一种模型训练装置,所述装置包括:

模型输出获取模块,用于获取模型输出数据,模型输出数据通过将训练样本数据输入待训练模型中得到;

基准结果获取模块,用于获取训练样本数据对应预设的基准结果数据;

当前梯度确定模块,用于当待训练模型不满足训练完成条件时,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度;

梯度更新处理模块,用于根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度;

权值更新处理模块,用于根据更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,返回获取模型输出数据的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取模型输出数据,模型输出数据通过将训练样本数据输入待训练模型中得到;

获取训练样本数据对应预设的基准结果数据;

当待训练模型不满足训练完成条件时,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度;

根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度;

根据更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,返回获取模型输出数据的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取模型输出数据,模型输出数据通过将训练样本数据输入待训练模型中得到;

获取训练样本数据对应预设的基准结果数据;

当待训练模型不满足训练完成条件时,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度;

根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度;

根据更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,返回获取模型输出数据的步骤。

上述模型训练方法、装置、计算机设备和存储介质,在待训练模型不满足训练完成条件时,确定模型输出数据的当前梯度,并根据预设的高斯随机规则对当前梯度进行梯度更新,再基于得到的更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,并返回继续进行训练。在模型训练过程中,通过高斯随机规则进行梯度更新,可以小概率实现梯度上升,避免梯度过快达到0而陷入局部最优解,从而提高了模型训练的效果。

附图说明

图1为一个实施例中模型训练方法的应用场景图;

图2为一个实施例中模型训练方法的流程示意图;

图3为一个实施例中确定当前梯度的流程示意图;

图4为一个实施例中模型训练装置的结构框图;

图5为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的模型训练方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102向服务器104发送训练样本数据,服务器104将训练样本数据输入服务器104上存储的待训练模型中,得到模型输出数据,在待训练模型不满足训练完成条件时,确定模型输出数据的当前梯度,并根据预设的高斯随机规则对当前梯度进行梯度更新,再基于得到的更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,并返回继续进行训练。此外,也可以由服务器104从本地直接获取训练样本数据以进行模型训练,且待训练模型可以在当前服务器104构建,也可以从其他端获取,而本地服务器104仅进行模型训练处理。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种模型训练方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤s201:获取模型输出数据,模型输出数据通过将训练样本数据输入待训练模型中得到。

其中,训练样本数据为在进行网络模型训练时,根据训练样本集构建得到的模型训练输入数据,用于对网络模型进行训练。待训练模型即为需要进行训练的模型,如神经网络模型。模型输出数据为将训练样本数据输入待训练模型后,由待训练模型的输出得到。

步骤s203:获取训练样本数据对应预设的基准结果数据。

基准结果数据为训练样本数据对应预先设置,作为训练样本数据实际对应的结果,即为网络模型输出需要进行拟合的基准数据。

步骤s205:当待训练模型不满足训练完成条件时,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度。

在待训练模型不满足训练完成条件,即训练是否结束的条件时,例如待训练模型的训练次数不足,或待训练模型的输出精确度不满足要求时,认为该待训练模型不满足训练完成条件,即需要继续进行训练,则根据模型输出数据和基准结果数据之间的输出差异确定模型输出数据的当前梯度。其中,模型输出数据和基准结果数据之间的输出差异用于反映当前模型与目标所需模型之间的差距;梯度本意是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大,当前梯度则为模型输出数据该数据点的梯度值。具体地,在用损失函数表征模型输出数据和基准结果数据之间的输出差异时,可以根据该损失函数得到梯度函数,并进一步得到当前梯度。

步骤s207:根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度。

确定当前梯度后,基于预设的高斯随机规则对当前梯度进行梯度更新,得到模型输出数据的更新梯度。高斯随机规则可以为产生一高斯随机数,根据该高斯随机数判断是否需要对当前梯度进行更新,例如,根据该高斯随机数的大小是否满足预设阈值来判断是否需要对当前梯度进行更新,若是,则按照预设的梯度更新参数对当前梯度进行更新,得到模型输出数据的更新梯度。通过高斯随机数可以对当前梯度进行随机干扰,使得待训练模型在进入局部最优时,仍然可以以很小的概率通过梯度上升的方法,避免梯度太快达到0,从而陷入局部最优解,提高了模型训练的效果。

步骤s209:根据更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,返回获取模型输出数据的步骤。

得到模型输出数据的更新梯度后,根据该更新梯度确定待训练模型的更新权值。其中,权值为待训练模型中隐藏层的参数,通过调节权值可以控制待训练模型对输入进行不同处理以得到不同输出,从而对待训练模型进行调节。更新权值则为此次训练过程中,需要权值需要调整的目标值。得到待训练模型的更新权值后,根据该更新权值对待训练模型进行更新,如直接将该更新权值替换待训练模型中的当前权值,实现对待训练模型的更新,并返回获取模型输出数据的步骤,以进行下一次训练处理,直至待训练模型训练完成为止。

上述模型训练方法中,在待训练模型不满足训练完成条件时,确定模型输出数据的当前梯度,并根据预设的高斯随机规则对当前梯度进行梯度更新,再基于得到的更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,并返回继续进行训练。在模型训练过程中,通过高斯随机规则进行梯度更新,可以小概率实现梯度上升,避免梯度过快达到0而陷入局部最优解,从而提高了模型训练的效果。

在一个实施例中,在获取训练样本数据对应预设的基准结果数据之后,还包括:当根据模型输出数据和基准结果数据,确定待训练模型满足训练完成条件,或训练次数达到预设次数阈值时,结束训练,得到将待训练模型作为训练完成的目标模型。

本实施例中,当确定待训练模型已训练完成时,结束训练,得到训练完成的目标模型,如深度学习神经网络模型。具体地,在获取训练样本数据对应预设的基准结果数据之后,根据模型输出数据和基准结果数据,确定待训练模型是否满足训练完成条件,如根据模型输出数据和基准结果数据确定此次训练的输出精确度,若该输出精确度满足预设的模型精确度阈值,则可认为已满足训练完成条件,此时结束训练,将待训练模型作为训练完成的目标模型。另外,也可以在待训练模型的训练次数达到预设次数阈值时,如预设次数阈值为100次,而在检测到待训练模型的训练次数达到100次时,终止训练,得到训练完成的目标模型。

在一个实施例中,如图3所示,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度包括:

步骤s301:获取预设的损失函数。

损失函数用于表征模型输出数据和基准结果数据之间的输出差异,可以根据实际需求进行灵活设置。例如,对于实数域向量y1和y2,y1为n个输入为x的训练样本数据对应的因变量,即训练样本数据对应的基准结果数据,y2为以x作为待训练模型的输入时,该待训练模型的输出,即模型输出数据。则y1和y2之间的输出差异可以通过损失函数e(y1,y2)表征,具体地,损失函数可以为欧拉距离函数。

步骤s303:根据损失函数,确定模型输出数据的梯度函数。

得到损失函数后,根据该损失函数确定模型输出数据的梯度函数。如上例中模型输出数据y2的梯度函数可以为

步骤s305:根据梯度函数、模型输出数据和基准结果数据,得到模型输出数据的当前梯度。

得到模型输出数据的梯度函数后,根据梯度函数、模型输出数据和基准结果数据,得到模型输出数据的当前梯度,具体可以将模型输出数据和基准结果数据分别代入梯度函数中,得到模型输出数据的当前梯度。如上例中,将y1和y2的具体值代入中,得到模型输出数据的当前梯度。

在一个实施例中,根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度包括:获取高斯随机数;当高斯随机数满足预设的梯度更新条件时,通过预设的梯度更新参数对当前梯度进行梯度更新,得到模型输出数据的更新梯度。

本实施例中,通过产生的高斯随机数对当前梯度进行更新。具体地,对当前梯度进行梯度更新时,获取高斯随机数,高斯随机数可以在预设均值和预设标准差的条件下随机产生。获取预设的梯度更新条件,具体可以为针对高斯随机数构建的大小判定条件,当得到的高斯随机数满足该梯度更新条件时,通过预设的梯度更新参数对当前梯度进行梯度更新,得到模型输出数据的更新梯度。在一具体应用中,高斯随机数k的均值为μ,标准差为σ,而梯度更新条件为|k-μ|>3σ,即当获得的高斯随机数k满足|k-μ|>3σ时,表明满足梯度更新条件,可以通过预设的梯度更新参数,如取值为0~1的梯度更新参数θ对当前梯度进行梯度更新,得到模型输出数据的更新梯度。

在一个实施例中,高斯随机数在预设均值和预设标准差的条件下得到;梯度更新条件包括高斯随机数与预设均值的距离,超过3倍预设标准差;梯度更新参数取值范围为0~1。

本实施例中,高斯随机数在预设均值和预设标准差的条件下得到,如高斯随机数k的均值为μ,标准差为σ。梯度更新条件包括高斯随机数与预设均值的距离,超过3倍预设标准差,即梯度更新条件为|k-μ|>3σ。梯度更新参数θ取值范围为0~1。在对当前梯度进行梯度更新,得到模型输出数据的更新梯度,可以得到更新梯度为引入高斯随机数对当前梯度进行梯度更新,可以对梯度的更新产生随机干扰,避免梯度太快达到0,从而陷入局部最优解,提高模型训练的效果。

在一个实施例中,根据更新梯度确定待训练模型的更新权值包括:基于梯度下降法,根据更新梯度确定待训练模型的更新权值。

本实施例中,基于梯度下降法,根据更新梯度确定待训练模型的更新权值。梯度下降法的目的是找到目标函数的最小值,梯度是一个向量,目标函数在具体某点沿着梯度的相反方向下降最快,一个形象的比喻是想象下山的时候,只能走一步下山最快的方向即是梯度的相反方向,每走一步就相当于梯度下降法的一次迭代更新。而正因为深度学习网络模型中的性能函数,即目标函数几乎全都是非凸的,传统的直接通过梯度下降法难以得到目标函数的最优解,而多为局部最优。而本申请中,通过引入高斯随机数对梯度下降进行干扰,可以避免梯度太快达到0,从而陷入局部最优解,从而得到更好的更新权值,提高模型训练的效果。

在一个实施例中,基于梯度下降法,根据更新梯度确定待训练模型的更新权值包括:获取待训练模型的当前权值和学习速率;根据当前权值、学习速率、更新梯度和训练样本数据,计算待训练模型的更新权值。

具体通过梯度下降法确定待训练模型的更新权值时,获取待训练模型的当前权值和学习速率。当前权值可以根据待训练模型的隐藏层确定,学习速率由模型训练前预先设置。例如,当前权值w可以为初始值0.5,学习速率lr=0.01。根据当前权值、学习速率、更新梯度和训练样本数据,计算待训练模型的更新权值。如更新权值

在一个实施例中,待训练模型为图像识别模型,用于识别图像中对象的类别。训练样本数据x=[0.5,0.7,1.0],基准结果数据y1=[0.6,0.71,1.2],初始化的当前权值w=0.5,定义损失函数e(y1,y2)为欧拉距离函数,学习速率lr=0.01,迭代步数,即训练次数阈值为100次,梯度更新参数θ=0.2。在将训练样本数据x输入待训练模型后,可以得到待训练模型输出的模型输出数据y2=[0.25,0.35,0.5]。损失函数e(y1,y2)为欧拉距离函数,即e(y1,y2)=(y1-y2)2,y2对应的梯度为获取高斯随机数k,高斯随机数k的均值为0,标准差为1。若高斯随机数k>3.0,则根据梯度更新参数θ可以得到y2对应的梯度为否则保持当前梯度保持不变。因为对于待训练模型而言,模型输出y=x*w,所以所以更新权值w’的更新公式为从而得到待训练模型的更新权值,并根据该更新权值对待训练模型进行更新,返回获取模型输出数据的步骤,以进行下一次的更新,直至模型训练完成为止,即训练次数达到迭代步数100次为止。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种模型训练装置,包括:模型输出获取模块401、基准结果获取模块403、当前梯度确定模块405、梯度更新处理模块407和权值更新处理模块409,其中:

模型输出获取模块401,用于获取模型输出数据,模型输出数据通过将训练样本数据输入待训练模型中得到;

基准结果获取模块403,用于获取训练样本数据对应预设的基准结果数据;

当前梯度确定模块405,用于当待训练模型不满足训练完成条件时,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度;

梯度更新处理模块407,用于根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度;

权值更新处理模块409,用于根据更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,返回获取模型输出数据的步骤。

在一个实施例中,还包括结束训练模块,用于当根据模型输出数据和基准结果数据,确定待训练模型满足训练完成条件,或训练次数达到预设次数阈值时,结束训练,得到将待训练模型作为训练完成的目标模型。

在一个实施例中,当前梯度确定模块405包括损失函数单元、梯度函数单元和梯度确定单元;其中:损失函数单元,用于获取预设的损失函数;梯度函数单元,用于根据损失函数,确定模型输出数据的梯度函数;梯度确定单元,用于根据梯度函数、模型输出数据和基准结果数据,得到模型输出数据的当前梯度。

在一个实施例中,梯度更新处理模块407包括随机数获取单元和梯度更新单元;其中:随机数获取单元,用于获取高斯随机数;梯度更新单元,用于当高斯随机数满足预设的梯度更新条件时,通过预设的梯度更新参数对当前梯度进行梯度更新,得到模型输出数据的更新梯度。

在一个实施例中,高斯随机数在预设均值和预设标准差的条件下得到;梯度更新条件包括高斯随机数与预设均值的距离,超过3倍预设标准差;梯度更新参数取值范围为0~1。

在一个实施例中,权值更新处理模块409包括梯度下降处理单元,用于基于梯度下降法,根据更新梯度确定待训练模型的更新权值。

在一个实施例中,梯度下降处理单元包括参数获取子单元和权值更新子单元;其中:参数获取子单元,用于获取待训练模型的当前权值和学习速率;权值更新子单元,用于根据当前权值、学习速率、更新梯度和训练样本数据,计算待训练模型的更新权值。

关于模型训练装置的具体限定可以参见上文中对于模型训练方法的限定,在此不再赘述。上述模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种模型训练方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取模型输出数据,模型输出数据通过将训练样本数据输入待训练模型中得到;

获取训练样本数据对应预设的基准结果数据;

当待训练模型不满足训练完成条件时,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度;

根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度;

根据更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,返回获取模型输出数据的步骤。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当根据模型输出数据和基准结果数据,确定待训练模型满足训练完成条件,或训练次数达到预设次数阈值时,结束训练,得到将待训练模型作为训练完成的目标模型。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设的损失函数;根据损失函数,确定模型输出数据的梯度函数;根据梯度函数、模型输出数据和基准结果数据,得到模型输出数据的当前梯度。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取高斯随机数;当高斯随机数满足预设的梯度更新条件时,通过预设的梯度更新参数对当前梯度进行梯度更新,得到模型输出数据的更新梯度。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:高斯随机数在预设均值和预设标准差的条件下得到;梯度更新条件包括高斯随机数与预设均值的距离,超过3倍预设标准差;梯度更新参数取值范围为0~1。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于梯度下降法,根据更新梯度确定待训练模型的更新权值。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待训练模型的当前权值和学习速率;根据当前权值、学习速率、更新梯度和训练样本数据,计算待训练模型的更新权值。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取模型输出数据,模型输出数据通过将训练样本数据输入待训练模型中得到;

获取训练样本数据对应预设的基准结果数据;

当待训练模型不满足训练完成条件时,根据模型输出数据和基准结果数据之间的输出差异,确定模型输出数据的当前梯度;

根据预设的高斯随机规则,对当前梯度进行梯度更新,得到模型输出数据的更新梯度;

根据更新梯度确定待训练模型的更新权值,并根据更新权值对待训练模型进行更新,返回获取模型输出数据的步骤。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当根据模型输出数据和基准结果数据,确定待训练模型满足训练完成条件,或训练次数达到预设次数阈值时,结束训练,得到将待训练模型作为训练完成的目标模型。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预设的损失函数;根据损失函数,确定模型输出数据的梯度函数;根据梯度函数、模型输出数据和基准结果数据,得到模型输出数据的当前梯度。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取高斯随机数;当高斯随机数满足预设的梯度更新条件时,通过预设的梯度更新参数对当前梯度进行梯度更新,得到模型输出数据的更新梯度。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:高斯随机数在预设均值和预设标准差的条件下得到;梯度更新条件包括高斯随机数与预设均值的距离,超过3倍预设标准差;梯度更新参数取值范围为0~1。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于梯度下降法,根据更新梯度确定待训练模型的更新权值。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取待训练模型的当前权值和学习速率;根据当前权值、学习速率、更新梯度和训练样本数据,计算待训练模型的更新权值。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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