CN112183750A - 神经网络模型训练方法、装置、计算机设备及存储介质 - Google Patents

神经网络模型训练方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112183750A
CN112183750A CN202011225964.8A CN202011225964A CN112183750A CN 112183750 A CN112183750 A CN 112183750A CN 202011225964 A CN202011225964 A CN 202011225964A CN 112183750 A CN112183750 A CN 112183750A
Authority
CN
China
Prior art keywords
training
preset
moment
neural network
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011225964.8A
Other languages
English (en)
Inventor
李国安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202011225964.8A priority Critical patent/CN112183750A/zh
Publication of CN112183750A publication Critical patent/CN112183750A/zh
Priority to PCT/CN2021/097319 priority patent/WO2022095432A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例提供了一种神经网络模型训练方法。在对神经网络模型进行每一训练步数的训练后,根据当前步数的当前权重、样本数据、目标值及梯度算法计算梯度;根据第一参数、在上一步数的一阶矩估计、梯度、一阶矩估计公式及一阶矩估计修正公式计算修正一阶矩估计;根据第二参数、在上一步数的二阶矩估计、梯度、二矩估计公式、二阶矩估计修正公式计算修正二阶矩估计;根据修正一阶矩估计、修正二阶矩估计及系数修正公式计算修正系数;根据当前权重、修正系数、第三参数、当前学习率及学习率修正公式计算在下一步数的修正学习率;根据当前权重、修正学习率、修正系数、第三参数及权重公式计算得到模型更新后的权重。本实施例可以提高模型训练效率。

Description

神经网络模型训练方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及人工智能领域,尤其涉及一种神经网络模型训练方法、装置、计算机设备及存储介质。
背景技术
目前基于深度学习的文本分类模型是将词向量输入训练好的神经网络模型后得到词向量的分类结果。为了使分类结果更为贴合实际,需要在文本分类前对神经网络模型进行训练。随着神经网络的发展,尤其是深度学习技术的发展,神经元数量可能超过数千万,这种情况下梯度下降法的效率将远高于解析标准方程的逆矩阵,使得梯度下降法成为神经网络训练的主要方法。现代深度学习中,神经网络的训练周期通常在数小时到数天不等,如何提高梯度下降法的训练效率,以及在复杂大量的场景中可以稳定梯度下降,一直是深度学习研究人员的研究方向。
目前一些优化算法在实践取得了一些成绩,例如SGD,RMSProp,AdaDelta,Adam等梯度优化器,在不同领域都有应用。但是,随着训练数据量的增加和计算资源的增加,在大规模深度训练时,有时出现训练过程不收敛,无法得到预期结果的问题,使得训练过程变得愈加困难。
发明内容
有鉴于此,本发明实施例的目的是提供一种神经网络模型训练方法、装置、计算机设备及计算机可读存储介质,以解决现有技术中在对神经网络模型进行训练时,训练效果不好,且训练效率较低的问题。
为实现上述目的,本发明实施例提供了一种神经网络模型训练方法,包括:
获取训练样本集,所述训练样本集中包括多个训练样本数据;
将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,通过以下步骤更新所述神经网络模型中第l层的权重;
根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度;
根据预设的第一参数、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计;
根据预设的第二参数、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计;
根据所述修正一阶矩估计、所述修正二阶矩估计及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数;
根据所述当前权重、所述修正系数、预设的第三参数、在当前训练步数进行训练时的第一修正学习率及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率;
根据所述当前权重、所述第二修正学习率、所述修正系数、所述第三参数及预设的权重计算公式计算得到更新后的第l层的权重。
可选地,所述梯度算法具体为:
Figure BDA0002763664380000021
其中,
Figure BDA0002763664380000022
为所述损失函数在当前训练步数时的梯度,
Figure BDA0002763664380000023
为所述当前权重,
Figure BDA0002763664380000024
为所述训练样本数据,
Figure BDA0002763664380000025
为所述目标值,
Figure BDA0002763664380000026
为所述损失函数。
可选地,所述根据所述第一参数、所述第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计包括:
根据所述第一参数、所述第一一阶矩估计、所述梯度及预设的一阶矩估计计算公式计算在当前训练步数进行训练时的第二一阶矩估计,其中,所述一阶矩估计计算公式具体为:
Figure BDA0002763664380000027
Figure BDA0002763664380000028
为所述第二一阶矩估计,
Figure BDA0002763664380000029
为所述第一一阶矩估计,β1为所述第一参数;
根据所述第二一阶矩估计及所述一阶矩估计修正公式计算所述修正一阶矩估计,其中,所述一阶矩估计修正公式具体为:
Figure BDA00027636643800000210
Figure BDA00027636643800000211
为所述修正一阶矩估计,
Figure BDA00027636643800000212
为所述第一参数β1的t次幂,t为所述当前训练步数。
可选地,所述根据所述第二参数、所述第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计包括:
根据所述第二参数、所述第一二阶矩估计、所述梯度、预设的二矩估计计算公式计算在当前训练步数进行训练时的第二二阶矩估计,其中,所述二矩估计计算公式具体为:
Figure BDA0002763664380000031
Figure BDA0002763664380000032
为所述第二二阶矩估计,
Figure BDA0002763664380000033
为所述第一二阶矩估计,β2为所述第二参数;
根据所述第二二阶矩估计及二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计,其中,所述二阶矩估计修正公式具体为:
Figure BDA0002763664380000034
Figure BDA0002763664380000035
为所述修正二阶矩估计,
Figure BDA0002763664380000036
为所述第二参数β2的t次幂,t为所述当前训练步数。
可选地,所述系数修正计算公式具体为:
Figure BDA0002763664380000037
Figure BDA0002763664380000038
为所述修正系数,ε为预设的常数。
可选地,所述学习率修正计算公式具体为:
Figure BDA0002763664380000039
Figure BDA00027636643800000310
为所述第二修正学习率,β3为所述第三参数,
Figure BDA00027636643800000311
为在当前训练步数进行训练时的第一修正学习率。
可选地,所述权重计算公式具体为:
Figure BDA00027636643800000312
所述
Figure BDA00027636643800000313
为所述第二权重。
为实现上述目的,本发明实施例还提供了神经网络模型训练装置,包括:
获取模块,用于获取训练样本集,所述训练样本集中包括多个训练样本数据;
训练模块,用于将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,通过以下步骤更新所述神经网络模型中第l层的权重;
根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度;
根据预设的第一参数、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计;
根据预设的第二参数、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计;
根据所述修正一阶矩估计、所述修正二阶矩估计及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数;
根据所述当前权重、所述修正系数、预设的第三参数、在当前训练步数进行训练时的第一修正学习率及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率;
根据所述当前权重、所述第二修正学习率、所述修正系数、所述第三参数及预设的权重计算公式计算得到更新后的第l层的权重。
为实现上述目的,本发明实施例还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的神经网络模型训练方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的神经网络模型训练方法的步骤。
本发明实施例提供的神经网络模型训练方法、装置、计算机设备与计算机可读存储介质,本实施例通过获取训练样本集,所述训练样本集中包括多个训练样本数据;将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,通过以下步骤更新所述神经网络模型中第l层的权重,根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度;根据预设的第一参数、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中l层的第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计;根据预设的第二参数、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计;根据所述修正一阶矩估计、所述修正二阶矩估计及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数;根据所述当前权重、所述修正系数、预设的第三参数、在当前训练步数进行训练时的第一修正学习率及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率;根据所述当前权重、所述第二修正学习率、所述修正系数、所述第三参数及预设的权重计算公式计算得到更新后的第l层的权重。本实施通过在训练过程中,通过上述方式对学习率进行自适应更新,从而使得神经网络模型的权重相对应的进行自适应更新,进而可以在对神经网络模型的训练过程中无需调整其他超参数,降低训练调参难度,节省时间成本,提高训练效率。
附图说明
图1为本发明神经网络模型训练方法实施例一的流程图;
图2为本发明在对所述神经网络模型进行每一训练步数的训练后,对所述神经网络模型中第l层的权重进行更新的步骤细化流程示意图;
图3为本发明神经网络模型训练装置实施例二的程序模块示意图;
图4为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
参阅图1,示出了本发明实施例一之神经网络模型训练方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S10,获取训练样本集,所述训练样本集中包括多个训练样本数据。
具体地,所述训练样本集可以为文本集,图像集或者语音集等,在本实施例中,该训练样本集以文本集为例进行说明。文本集中包含有多个文本数据,每一个文本数据携带有文本标签,该文本标签用于表示该文本所属的类别。
步骤S11,将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,通过步骤S20-S26来更新所述神经网络模型中第l层的权重,其中,该第l层指代为神经网络模型中的每一层,即该神经网络模型中的每一层的权重都可以通过该步骤S20-S26来进行更新。
具体地,收敛指的是在神经网络训练的过程中,若loss值一直来回波动或者一直居高不下,无法进入到容忍范围内,则表示网络不收敛;若loss值最小,也即训练结果与真实结果更为接近,得到最优解,则表示网络收敛。
现有技术在对神经网络模型进行训练时,采用梯度下降法对神经网名模型的当前权重θt进行更新,在对当前权重θt进行更新时,通常采用全局学习率的方式进行更新,具体算法为:
Figure BDA0002763664380000061
其中,t表示当前的训练步数,θt表示训练步数为t时的当前权重,η表示学习率,该学习率是一个固定值,
Figure BDA0002763664380000062
表示损失函数L(θt)的梯度,θt+1表示训练步数为t+1时的权重。现有的方法中根据梯度下降方向不断迭代,优化权重参数,以减少损失函数的值。
需要说明的是,在进行神经网络训练过程中,学习率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习率太大,容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习率设置太小,则会导致收敛过慢耗时太长。
本实施例在将训练样本数据集中的训练样本数据输入至神经网络模型中进行迭代训练时,不是全局学习率的方式对模型的权重进行更新,而是在对进行每一训练步数的训练后,通过步骤S20-S26更新所述神经网络模型中第l层的权重。
其中,训练步数指的是将一个批尺寸(Batch Size)的训练样本数据输入至神经网络模型中进行一次迭代(Iteration)训练的过程,在完成对神经网络模型的一次迭代训练,会对神经网络模型中的各个层中的权重θt进行更新,即对模型进行一次优化。
需要说明的是,本实施例中的一次迭代指的是将一个批尺寸的样本数据输入至神经网络模型中完成该批次的训练样本数据训练的过程。
示例性的,参阅图2,所述在对所述神经网络模型进行每一训练步数的训练后,对所述神经网络模型中第l层的权重进行更新包括:
Figure BDA0002763664380000063
Figure BDA0002763664380000064
步骤S20,根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度
Figure BDA0002763664380000071
本实施例中,在对所述神经网络模型中第l层的权重进行更新之前,可以先获取预设的第一参数β1、第二参数β2、第三参数β3、损失函数L(θ)及当前的训练步数t、在当前训练步数t进行训练时采样的训练样本数据
Figure BDA0002763664380000072
所述训练样本数据相对应的目标值
Figure BDA0002763664380000073
在当前训练步数的上一个训练步数t-1进行训练时所述神经网络模型中第l层的第一一阶矩估计
Figure BDA0002763664380000074
在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计
Figure BDA0002763664380000075
在当前训练步数进行训练时的第一修正学习率
Figure BDA0002763664380000076
及在当前训练步数进行训练时所述神经网络模型中第l层的当前权重
Figure BDA0002763664380000077
其中,所述第一参数β1、第二参数β2、第三参数β3为预先设定的值,该第一参数β1的具体值优选为:0.9≤β1<1,该第二参数β2的具体值优选为:0.99≤β2<1,该第三参数的具体值优选为:0<β3≤0.1。
当前的训练步数t指的是对当前已完成对神经网络模型进行迭代训练的次数,也就是说,当前的训练步数t具体值根据当前完成对神经网络模型进行迭代训练的次数进行确定,比如,当前已迭代训练5次,则该当前的训练步数t=5。
第一一阶矩估计
Figure BDA0002763664380000078
为在上一次对神经网络模型进行迭代训练时所计算得到的一阶矩估计,比如,当前的训练步数t为对神经网络模型进行第5次迭代训练,则该第一一阶矩估计
Figure BDA0002763664380000079
则为在对对神经网络模型进行第4次迭代训练后所计算得到的一阶矩估计。
第一二阶矩估计
Figure BDA00027636643800000710
为在上一次对神经网络模型进行迭代训练时所计算得到的一阶矩估计,比如,当前的训练步数t为对神经网络模型进行第5次迭代训练,则该第一二阶矩估计
Figure BDA00027636643800000711
则为在对对神经网络模型进行第4次迭代训练后所计算得到的二阶矩估计。
第一修正学习率
Figure BDA00027636643800000712
为在上一次对神经网络模型进行迭代训练时所计算得到的学习率,比如,当前的训练步数t为对神经网络模型进行第5次迭代训练,则该第一修正学习率
Figure BDA00027636643800000713
则为在对对神经网络模型进行第4次迭代训练后所计算得到的学习率。
所述训练样本数据
Figure BDA00027636643800000714
指的是在进行训练步数为t的迭代训练过程时,从训练样本数据集中所采样的一个批尺寸(Batch Size)的训练样本数据,比如,该批尺寸为256,则该训练样本数据
Figure BDA00027636643800000715
具体为从训练样本集中采样的256个训练样本数据。
所述目标值
Figure BDA00027636643800000716
为该训练样本数据
Figure BDA00027636643800000717
对应的样本标签,该目标值的数量与批尺寸相同。
在一示例性的实施方式中,在开始对神经网络模型进行迭代训练之前,可以对训练步数t、一阶矩估计m0、二阶矩估计v0以及神经网络的权重θ0进行初始化,具体而言,可以初始化步数t=0,初始化一阶矩估计m0=0,初始化二阶矩估计v0=0,初始化神经网络的权重θ0∈Rd,其中,Rd为所述训练样本集。
在一示例性的实施方式中,梯度算法为:
Figure BDA0002763664380000081
其中,
Figure BDA0002763664380000082
为所述损失函数在当前训练步数时的梯度,
Figure BDA0002763664380000083
为所述当前权重,
Figure BDA0002763664380000084
为所述训练样本数据,
Figure BDA0002763664380000085
为所述目标值,
Figure BDA0002763664380000086
为所述损失函数。
步骤S21,根据预设的第一参数β1、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计
Figure BDA0002763664380000087
所述梯度
Figure BDA0002763664380000088
预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计
Figure BDA0002763664380000089
具体地,所述一阶矩估计计算公式具体为:
Figure BDA00027636643800000810
Figure BDA00027636643800000811
为所述第二一阶矩估计,
Figure BDA00027636643800000812
为所述第一一阶矩估计,β1为所述第一参数。
所述一阶矩估计修正公式具体为:
Figure BDA00027636643800000813
Figure BDA00027636643800000814
为所述修正一阶矩估计,
Figure BDA00027636643800000815
为所述第一参数β1的t次幂,t为所述当前训练步数。
本实施例中,在获取到所述第一参数β1、所述第一一阶矩估计
Figure BDA00027636643800000816
所述梯度
Figure BDA00027636643800000817
之后,可以根据这些获取到的值与该一阶矩估计计算公式先计算出在当前训练步数进行训练时的第二一阶矩估计
Figure BDA00027636643800000818
之后,可以根据计算出的第二一阶矩估计
Figure BDA00027636643800000819
与一阶矩估计修正公式计算出在当前训练步数进行训练时的修正一阶矩估计
Figure BDA00027636643800000820
其中,修正一阶矩估计
Figure BDA00027636643800000821
是对第二一阶矩估计
Figure BDA00027636643800000822
进行修正后所得到的一阶矩估计。
步骤S22,根据预设的第二参数β2、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计
Figure BDA00027636643800000823
所述梯度
Figure BDA00027636643800000824
预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计
Figure BDA00027636643800000825
具体地,所述二矩估计计算公式具体为:
Figure BDA00027636643800000826
Figure BDA00027636643800000827
为所述第二二阶矩估计,
Figure BDA00027636643800000828
为所述第一二阶矩估计,β2为所述第二参数。
所述二阶矩估计修正公式具体为:
Figure BDA00027636643800000829
Figure BDA00027636643800000830
为所述修正二阶矩估计,
Figure BDA00027636643800000831
为所述第二参数β2的t次幂,t为所述当前训练步数。
本实施例中,在获取到所述第二参数β2、所述第一二阶矩估计
Figure BDA00027636643800000832
所述梯度
Figure BDA00027636643800000833
之后,可以根据这些获取到的值与该二矩估计计算公式先计算出在当前训练步数进行训练时的第二二阶矩估计
Figure BDA00027636643800000834
之后,可以根据计算出的第二二阶矩估计
Figure BDA00027636643800000835
与该二阶矩估计修正公式计算出在当前训练步数进行训练时的修正二阶矩估计
Figure BDA00027636643800000836
其中,修正二阶矩估计
Figure BDA00027636643800000837
是对第二二阶矩估计
Figure BDA0002763664380000091
进行修正后所得到的二阶矩估计。
步骤S23,根据所述修正一阶矩估计
Figure BDA0002763664380000092
所述修正二阶矩估计
Figure BDA0002763664380000093
及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数
Figure BDA0002763664380000094
具体地,系数修正计算公式具体为:
Figure BDA0002763664380000095
Figure BDA0002763664380000096
为所述修正系数,ε为预设的常数。所述常数优选为一个非常小的值,比如为10-10
本实施例中,通过增加一个非常小的常数,可以避免除零操作。
步骤S24,根据所述当前权重
Figure BDA0002763664380000097
所述修正系数
Figure BDA0002763664380000098
预设的第三参数β3、在当前训练步数进行训练时的第一修正学习率
Figure BDA0002763664380000099
及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率
Figure BDA00027636643800000910
具体地,所述学习率修正计算公式具体为:
Figure BDA00027636643800000911
Figure BDA00027636643800000912
为所述第二修正学习率,β3为所述第三参数,
Figure BDA00027636643800000913
为在当前训练步数进行训练时的第一修正学习率。
相对于现有技术中的全局学习率,本实施例通过对神经网络中的每一层采用自适应的方式计算学习率,使得计算得到的学习率更为准确,从而可以促进权重更新的幅度,提高了训练的速度和精度以及收敛速度。
步骤S25,根据所述当前权重
Figure BDA00027636643800000914
所述第二修正学习率
Figure BDA00027636643800000915
所述修正系数
Figure BDA00027636643800000916
所述第三参数
Figure BDA00027636643800000917
及预设的权重计算公式计算得到更新后的第l层的权重
Figure BDA00027636643800000918
具体地,所述权重计算公式具体为:
Figure BDA00027636643800000919
所述
Figure BDA00027636643800000920
为更新后的第l层的权重。
本实施例通过获取训练样本集,所述训练样本集中包括多个训练样本数据;将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,通过以下步骤更新所述神经网络模型中第l层的权重,根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度;根据预设的第一参数、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计;根据预设的第二参数、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计;根据所述修正一阶矩估计、所述修正二阶矩估计及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数;根据所述当前权重、所述修正系数、预设的第三参数、在当前训练步数进行训练时的第一修正学习率及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率;根据所述当前权重、所述第二修正学习率、所述修正系数、所述第三参数及预设的权重计算公式计算得到更新后的第l层的权重。本实施通过在训练过程中,通过上述方式对学习率进行自适应更新,从而使得神经网络模型的权重相对应的进行自适应更新,进而可以在对神经网络模型的训练过程中无需调整其他超参数,降低训练调参难度,节省时间成本,提高训练效率。
请继续参阅图3,示出了本发明一实施例中的神经网络模型训练装置300的程序模块示意图。神经网络模型训练装置300可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tablet personal computer)、膝上型计算机(laptopcomputer)、服务器等具有数据传输功能的设备。在本实施例中,神经网络模型训练装置300可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述神经网络模型训练方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述神经网络模型训练方法在存储介质中的执行过程。在一示例性的实施方式中,神经网络模型训练装置300包括获取模块301、训练模块302。以下描述将具体介绍本实施例各程序模块的功能:
获取模块301,用于获取训练样本集,所述训练样本集中包括多个训练样本数据。
具体地,所述训练样本集可以为文本集,图像集或者语音集等,在本实施例中,该训练样本集以文本集为例进行说明。文本集中包含有多个文本数据,每一个文本数据携带有文本标签,该文本标签用于表示该文本所属的类别。
训练模块302,用于将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,训练模块302通过第一计算单元、第二计算单元、第三计算单元、第四计算单元、第五计算单元及第六计算单元来更新所述神经网络模型中第l层的权重,其中,该第l层指代为神经网络模型中的每一层,即该神经网络模型中的每一层的权重都可以通过该第一计算单元、第二计算单元、第三计算单元、第四计算单元、第五计算单元及第六计算单元来进行更新。
具体地,收敛指的是在神经网络训练的过程中,若loss值一直来回波动或者一直居高不下,无法进入到容忍范围内,则表示网络不收敛;若loss值最小,也即训练结果与真实结果更为接近,得到最优解,则表示网络收敛。
现有技术在对神经网络模型进行训练时,采用梯度下降法对神经网名模型的当前权重θt进行更新,在对权重当前θt进行更新时,通常采用全局学习率的方式进行更新,具体算法为:
Figure BDA0002763664380000111
其中,t表示当前的训练步数,θt表示训练步数为t时的当前权重,η表示学习率,该学习率是一个固定值,
Figure BDA0002763664380000112
表示损失函数L(θt)的梯度,θt+1表示训练步数为t+1时的权重。现有的方法中根据梯度下降方向不断迭代,优化权重参数,以减少损失函数的值。
需要说明的是,在进行神经网络训练过程中,学习率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习率太大,容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习率设置太小,则会导致收敛过慢耗时太长。
本实施例在将训练样本数据集中的训练样本数据输入至神经网络模型中进行迭代训练时,不是全局学习率的方式对模型的权重进行更新,而是在对进行每一训练步数的训练后,训练模块302通过第一计算单元、第二计算单元、第三计算单元、第四计算单元、第五计算单元及第六计算单元来实现对所述神经网络模型中第l层的权重的更新。
其中,训练步数指的是将一个批尺寸(Batch Size)的训练样本数据输入至神经网络模型中进行一次迭代(Iteration)训练的过程,在完成对神经网络模型的一次迭代训练,会对神经网络模型中的各个层中的权重θt进行更新,即对模型进行一次优化。
需要说明的是,本实施例中的一次迭代指的是将一个批尺寸的样本数据输入至神经网络模型中完成该批次的训练样本数据训练的过程。
第一计算单元,用于根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度。
本实施例中,在对所述神经网络模型中第l层的权重进行更新之前,可以先获取预设的第一参数β1、第二参数β2、第三参数β3、损失函数L(θ)及当前的训练步数t、在当前训练步数t进行训练时采样的训练样本数据
Figure BDA0002763664380000113
所述训练样本数据相对应的目标值
Figure BDA0002763664380000114
在当前训练步数的上一个训练步数t-1进行训练时所述神经网络模型中第l层的第一一阶矩估计
Figure BDA0002763664380000115
在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计
Figure BDA0002763664380000116
在当前训练步数进行训练时的第一修正学习率
Figure BDA0002763664380000117
及在当前训练步数进行训练时所述神经网络模型中第l层的当前权重
Figure BDA0002763664380000118
其中,所述第一参数β1、第二参数β2、第三参数β3为预先设定的值,该第一参数β1的具体值优选为:0.9≤β1<1,该第二参数β2的具体值优选为:0.99≤β2<1,该第三参数的具体值优选为:0<β3≤0.1。
当前的训练步数t指的是对当前已完成对神经网络模型进行迭代训练的次数,也就是说,当前的训练步数t具体值根据当前完成对神经网络模型进行迭代训练的次数进行确定,比如,当前已迭代训练5次,则该当前的训练步数t=5。
第一一阶矩估计
Figure BDA0002763664380000121
为在上一次对神经网络模型进行迭代训练时所计算得到的一阶矩估计,比如,当前的训练步数t为对神经网络模型进行第5次迭代训练,则该第一一阶矩估计
Figure BDA0002763664380000122
则为在对对神经网络模型进行第4次迭代训练后所计算得到的一阶矩估计。
第一二阶矩估计
Figure BDA0002763664380000123
为在上一次对神经网络模型进行迭代训练时所计算得到的一阶矩估计,比如,当前的训练步数t为对神经网络模型进行第5次迭代训练,则该第一二阶矩估计
Figure BDA0002763664380000124
则为在对对神经网络模型进行第4次迭代训练后所计算得到的二阶矩估计。
第一修正学习率
Figure BDA0002763664380000125
为在上一次对神经网络模型进行迭代训练时所计算得到的学习率,比如,当前的训练步数t为对神经网络模型进行第5次迭代训练,则该第一修正学习率
Figure BDA0002763664380000126
则为在对对神经网络模型进行第4次迭代训练后所计算得到的学习率。
所述训练样本数据
Figure BDA0002763664380000127
指的是在进行训练步数为t的迭代训练过程时,从训练样本数据集中所采样的一个批尺寸(Batch Size)的训练样本数据,比如,该批尺寸为256,则该训练样本数据
Figure BDA0002763664380000128
具体为从训练样本集中采样的256个训练样本数据。
所述目标值
Figure BDA0002763664380000129
为该训练样本数据
Figure BDA00027636643800001210
对应的样本标签,该目标值的数量与批尺寸相同。
在一示例性的实施方式中,在开始对神经网络模型进行迭代训练之前,可以对训练步数t、一阶矩估计m0、二阶矩估计v0以及神经网络的权重θ0进行初始化,具体而言,可以初始化步数t=0,初始化一阶矩估计m0=0,初始化二阶矩估计v0=0,初始化神经网络的权重θ0∈Rd,其中,Rd为所述训练样本集。
在一示例性的实施方式中,梯度算法为:
Figure BDA00027636643800001211
其中,
Figure BDA00027636643800001212
为所述损失函数在当前训练步数时的梯度,
Figure BDA00027636643800001213
为所述当前权重,
Figure BDA00027636643800001214
为所述训练样本数据,
Figure BDA00027636643800001215
为所述目标值,
Figure BDA00027636643800001216
为所述损失函数。
第二计算单元,用于根据预设的第一参数β1、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计
Figure BDA00027636643800001217
所述梯度
Figure BDA00027636643800001218
预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计
Figure BDA00027636643800001219
具体地,所述一阶矩估计计算公式具体为:
Figure BDA00027636643800001220
Figure BDA00027636643800001221
为所述第二一阶矩估计,
Figure BDA00027636643800001222
为所述第一一阶矩估计,β1为所述第一参数。
所述一阶矩估计修正公式具体为:
Figure BDA00027636643800001223
Figure BDA00027636643800001224
为所述修正一阶矩估计,
Figure BDA00027636643800001225
为所述第一参数β1的t次幂,t为所述当前训练步数。
本实施例中,在获取到所述第一参数β1、所述第一一阶矩估计
Figure BDA0002763664380000131
所述梯度
Figure BDA0002763664380000132
之后,可以根据这些获取到的值与该一阶矩估计计算公式先计算出在当前训练步数进行训练时的第二一阶矩估计
Figure BDA0002763664380000133
之后,可以根据计算出的第二一阶矩估计
Figure BDA0002763664380000134
与一阶矩估计修正公式计算出在当前训练步数进行训练时的修正一阶矩估计
Figure BDA0002763664380000135
其中,修正一阶矩估计
Figure BDA0002763664380000136
是对第二一阶矩估计
Figure BDA0002763664380000137
进行修正后所得到的一阶矩估计。
第三计算单元,用于根据预设的第二参数β2、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计
Figure BDA0002763664380000138
所述梯度
Figure BDA0002763664380000139
预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计
Figure BDA00027636643800001310
具体地,所述二矩估计计算公式具体为:
Figure BDA00027636643800001311
Figure BDA00027636643800001312
为所述第二二阶矩估计,
Figure BDA00027636643800001313
为所述第一二阶矩估计,β2为所述第二参数。
所述二阶矩估计修正公式具体为:
Figure BDA00027636643800001314
Figure BDA00027636643800001315
为所述修正二阶矩估计,
Figure BDA00027636643800001316
为所述第二参数β2的t次幂,t为所述当前训练步数。
本实施例中,在获取到所述第二参数β2、所述第一二阶矩估计
Figure BDA00027636643800001317
所述梯度
Figure BDA00027636643800001318
之后,可以根据这些获取到的值与该二矩估计计算公式先计算出在当前训练步数进行训练时的第二二阶矩估计
Figure BDA00027636643800001319
之后,可以根据计算出的第二二阶矩估计
Figure BDA00027636643800001320
与该二阶矩估计修正公式计算出在当前训练步数进行训练时的修正二阶矩估计
Figure BDA00027636643800001321
其中,修正二阶矩估计
Figure BDA00027636643800001322
是对第二二阶矩估计
Figure BDA00027636643800001323
进行修正后所得到的二阶矩估计。
第四计算单元,用于根据所述修正一阶矩估计
Figure BDA00027636643800001324
所述修正二阶矩估计
Figure BDA00027636643800001325
及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数
Figure BDA00027636643800001326
具体地,系数修正计算公式具体为:
Figure BDA00027636643800001327
Figure BDA00027636643800001328
为所述修正系数,ε为预设的常数。所述常数优选为一个非常小的值,比如为10-10
本实施例中,通过增加一个非常小的常数,可以避免除零操作。
第五计算单元,用于根据所述当前权重
Figure BDA00027636643800001329
所述修正系数
Figure BDA00027636643800001330
预设的第三参数β3、在当前训练步数进行训练时的第一修正学习率
Figure BDA00027636643800001331
及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率
Figure BDA00027636643800001332
具体地,所述学习率修正计算公式具体为:
Figure BDA00027636643800001333
Figure BDA00027636643800001334
为所述第二修正学习率,β3为所述第三参数,
Figure BDA00027636643800001335
为在当前训练步数进行训练时的第一修正学习率。
相对于现有技术中的全局学习率,本实施例通过对神经网络中的每一层采用自适应的方式计算学习率,使得计算得到的学习率更为准确,从而可以促进权重更新的幅度,提高了训练的速度和精度以及收敛速度。
第六计算单元,用于根据所述当前权重
Figure BDA0002763664380000141
所述第二修正学习率
Figure BDA0002763664380000142
所述修正系数
Figure BDA0002763664380000143
所述第三参数
Figure BDA0002763664380000144
及预设的权重计算公式计算得到更新后的第l层的权重
Figure BDA0002763664380000145
具体地,所述权重计算公式具体为:
Figure BDA0002763664380000146
所述
Figure BDA0002763664380000147
为所述第二权重。
本实施例通过获取训练样本集,所述训练样本集中包括多个训练样本数据;将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,通过以下步骤更新所述神经网络模型中第l层的权重,根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度;根据预设的第一参数、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计;根据预设的第二参数、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计;根据所述修正一阶矩估计、所述修正二阶矩估计及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数;根据所述当前权重、所述修正系数、预设的第三参数、在当前训练步数进行训练时的第一修正学习率及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率;根据所述当前权重、所述第二修正学习率、所述修正系数、所述第三参数及预设的权重计算公式计算得到更新后的第l层的权重。本实施通过在训练过程中,通过上述方式对学习率进行自适应更新,从而使得神经网络模型的权重相对应的进行自适应更新,进而可以在对神经网络模型的训练过程中无需调整其他超参数,降低训练调参难度,节省时间成本,提高训练效率。
参阅图4,是本发明实施例之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如所述计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如所述计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作装置和各类应用软件,例如神经网络模型训练装置300的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。所述处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行神经网络模型训练装置300,以实现上述各个实施例中的神经网络模型训练方法。
所述网络接口23可包括无线网络接口或有线网络接口,所述网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯装置(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图4仅示出了具有部件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述神经网络模型训练装置300还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明之神经网络模型训练方法。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质可以是非易失性,也可以是易失性,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储神经网络模型训练装置300,以被处理器执行时实现本发明之神经网络模型训练方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种神经网络模型训练方法,其特征在于,包括:
获取训练样本集,所述训练样本集中包括多个训练样本数据;
将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,通过以下步骤更新所述神经网络模型中第l层的权重:
根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度;
根据预设的第一参数、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计;
根据预设的第二参数、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计;
根据所述修正一阶矩估计、所述修正二阶矩估计及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数;
根据所述当前权重、所述修正系数、预设的第三参数、在当前训练步数进行训练时的第一修正学习率及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率;
根据所述当前权重、所述第二修正学习率、所述修正系数、所述第三参数及预设的权重计算公式计算得到更新后的第l层的权重。
2.根据权利要求1所述的神经网络模型训练方法,其特征在于,所述梯度算法具体为:
Figure FDA0002763664370000011
其中,
Figure FDA0002763664370000012
为所述损失函数在当前训练步数时的梯度,
Figure FDA0002763664370000013
为所述当前权重,
Figure FDA0002763664370000014
为所述训练样本数据,
Figure FDA0002763664370000015
为所述目标值,
Figure FDA0002763664370000016
为所述损失函数。
3.根据权利要求2所述的神经网络模型训练方法,其特征在于,所述根据预设的第一参数、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计包括:
根据所述第一参数、所述第一一阶矩估计、所述梯度及预设的一阶矩估计计算公式计算在当前训练步数进行训练时的第二一阶矩估计,其中,所述一阶矩估计计算公式具体为:
Figure FDA0002763664370000021
Figure FDA0002763664370000022
为所述第二一阶矩估计,
Figure FDA0002763664370000023
为所述第一一阶矩估计,β1为所述第一参数;
根据所述第二一阶矩估计及所述一阶矩估计修正公式计算所述修正一阶矩估计,其中,所述一阶矩估计修正公式具体为:
Figure FDA0002763664370000024
Figure FDA0002763664370000025
为所述修正一阶矩估计,
Figure FDA0002763664370000026
为所述第一参数β1的t次幂,t为所述当前训练步数。
4.根据权利要求3所述的神经网络模型训练方法,其特征在于,所述根据预设的第二参数、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计包括:
根据所述第二参数、所述第一二阶矩估计、所述梯度、预设的二矩估计计算公式计算在当前训练步数进行训练时的第二二阶矩估计,其中,所述二矩估计计算公式具体为:
Figure FDA0002763664370000027
Figure FDA0002763664370000028
为所述第二二阶矩估计,
Figure FDA0002763664370000029
为所述第一二阶矩估计,β2为所述第二参数;
根据所述第二二阶矩估计及二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计,其中,所述二阶矩估计修正公式具体为:
Figure FDA00027636643700000210
Figure FDA00027636643700000211
为所述修正二阶矩估计,
Figure FDA00027636643700000212
为所述第二参数β2的t次幂,t为所述当前训练步数。
5.根据权利要求4所述的神经网络模型训练方法,其特征在于,所述系数修正计算公式具体为:
Figure FDA00027636643700000213
Figure FDA00027636643700000214
为所述修正系数,ε为预设的常数。
6.根据权利要求5所述的神经网络模型训练方法,其特征在于,所述学习率修正计算公式具体为:
Figure FDA00027636643700000215
Figure FDA00027636643700000216
为所述第二修正学习率,β3为所述第三参数,
Figure FDA00027636643700000217
为在当前训练步数进行训练时的第一修正学习率。
7.根据权利要求6所述的神经网络模型训练方法,其特征在于,所述权重计算公式具体为:
Figure FDA00027636643700000218
所述
Figure FDA00027636643700000219
为更新后的权重。
8.一种神经网络模型训练装置,其特征在于,包括:
获取模块,用于获取训练样本集,所述训练样本集中包括多个训练样本数据;
训练模块,用于将所述训练样本集中的训练样本数据输入至预设的神经网络模型中进行迭代训练,直到所述神经网络模型收敛为止,其中,在对所述神经网络模型进行每一训练步数的训练后,通过以下步骤更新所述神经网络模型中第l层的权重:
根据所述神经网络模型在当前训练步数进行训练时的当前权重、在当前训练步数进行训练时采样的训练样本数据、所述训练样本数据对应的目标值及预设的梯度算法计算损失函数在当前训练步数时的梯度;
根据预设的第一参数、在当前训练步数的上一个训练步数进行训练时所述神经网络模型中第l层的第一一阶矩估计、所述梯度、预设的一阶矩估计计算公式、及预设的一阶矩估计修正公式计算在当前训练步数进行训练时的修正一阶矩估计;
根据预设的第二参数、在所述上一个训练步数进行训练时所述神经网络模型中第l层的第一二阶矩估计、所述梯度、预设的二矩估计计算公式、及预设的二阶矩估计修正公式计算在当前训练步数进行训练时的修正二阶矩估计;
根据所述修正一阶矩估计、所述修正二阶矩估计及预设的系数修正计算公式计算在当前训练步数进行训练时的修正系数;
根据所述当前权重、所述修正系数、预设的第三参数、在当前训练步数进行训练时的第一修正学习率及预设的学习率修正计算公式计算在当前训练步数的下一个训练步数进行训练时的第二修正学习率;
根据所述当前权重、所述第二修正学习率、所述修正系数、所述第三参数及预设的权重计算公式计算得到更新后的第l层的权重。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的神经网络模型训练方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的神经网络模型训练方法的步骤。
CN202011225964.8A 2020-11-05 2020-11-05 神经网络模型训练方法、装置、计算机设备及存储介质 Pending CN112183750A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011225964.8A CN112183750A (zh) 2020-11-05 2020-11-05 神经网络模型训练方法、装置、计算机设备及存储介质
PCT/CN2021/097319 WO2022095432A1 (zh) 2020-11-05 2021-05-31 神经网络模型训练方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011225964.8A CN112183750A (zh) 2020-11-05 2020-11-05 神经网络模型训练方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN112183750A true CN112183750A (zh) 2021-01-05

Family

ID=73917852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011225964.8A Pending CN112183750A (zh) 2020-11-05 2020-11-05 神经网络模型训练方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN112183750A (zh)
WO (1) WO2022095432A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112766493A (zh) * 2021-01-19 2021-05-07 北京市商汤科技开发有限公司 多任务神经网络的训练方法、装置、电子设备及存储介质
WO2022095432A1 (zh) * 2020-11-05 2022-05-12 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质
CN114841341A (zh) * 2022-04-25 2022-08-02 北京百度网讯科技有限公司 模型训练及数据处理方法、装置、设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936323B (zh) * 2022-06-07 2023-06-30 北京百度网讯科技有限公司 图表示模型的训练方法、装置及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909990A (zh) * 2017-03-01 2017-06-30 腾讯科技(深圳)有限公司 一种基于历史数据的预测方法及装置
CN107944386B (zh) * 2017-11-22 2019-11-22 天津大学 基于卷积神经网络的视觉场景识别方法
US10528867B1 (en) * 2018-10-08 2020-01-07 StradVision, Inc. Learning method and learning device for neural network at adaptive learning rate, and testing method and testing device using the same
CN110033081A (zh) * 2019-03-08 2019-07-19 华为技术有限公司 一种确定学习率的方法和装置
CN110942142B (zh) * 2019-11-29 2021-09-17 广州市百果园信息技术有限公司 神经网络的训练及人脸检测方法、装置、设备和存储介质
CN111738408A (zh) * 2020-05-14 2020-10-02 平安科技(深圳)有限公司 损失函数的优化方法、装置、设备及存储介质
CN112183750A (zh) * 2020-11-05 2021-01-05 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022095432A1 (zh) * 2020-11-05 2022-05-12 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质
CN112766493A (zh) * 2021-01-19 2021-05-07 北京市商汤科技开发有限公司 多任务神经网络的训练方法、装置、电子设备及存储介质
CN112766493B (zh) * 2021-01-19 2023-04-07 北京市商汤科技开发有限公司 多任务神经网络的训练方法、装置、电子设备及存储介质
CN114841341A (zh) * 2022-04-25 2022-08-02 北京百度网讯科技有限公司 模型训练及数据处理方法、装置、设备和存储介质
CN114841341B (zh) * 2022-04-25 2023-04-28 北京百度网讯科技有限公司 图像处理模型训练及图像处理方法、装置、设备和介质

Also Published As

Publication number Publication date
WO2022095432A1 (zh) 2022-05-12

Similar Documents

Publication Publication Date Title
CN112183750A (zh) 神经网络模型训练方法、装置、计算机设备及存储介质
CN111091199B (zh) 一种基于差分隐私的联邦学习方法、装置及存储介质
CN110309874B (zh) 负样本筛选模型训练方法、数据筛选方法和数据匹配方法
CN112101530B (zh) 神经网络训练方法、装置、设备及存储介质
WO2021129086A1 (zh) 流量预测方法、装置以及存储介质
CN112990312A (zh) 模型训练方法、图像识别方法、装置、设备及存储介质
CN117313789A (zh) 使用神经网络的黑盒优化
WO2021051556A1 (zh) 深度学习权值更新方法、系统、计算机设备及存储介质
CN110659667A (zh) 图片分类模型训练方法、系统和计算机设备
CN112990488B (zh) 一种基于机器异构性的联邦学习方法
CN113657668A (zh) 基于lstm网络的电力负荷预测方法及系统
CN112686383B (zh) 一种通信并行的分布式随机梯度下降的方法、系统及装置
CN112734033A (zh) 模型训练方法、装置、设备和存储介质
CN111612648B (zh) 光伏发电预测模型的训练方法、装置和计算机设备
CN113011532A (zh) 分类模型训练方法、装置、计算设备及存储介质
CN116070719B (zh) 一种跨计算节点分布式训练高效通信方法及系统
CN116128044A (zh) 一种模型剪枝方法、图像处理方法及相关装置
CN113361380B (zh) 人体关键点检测模型训练方法、检测方法及装置
CN110533158B (zh) 模型建构方法、系统及非易失性电脑可读取记录介质
CN110312272B (zh) 一种网络服务块资源分配方法及存储介质
CN111190800B (zh) 预测主机的批量运行时长的方法、系统、装置及存储介质
CN113449863A (zh) 一种基于查表的神经网络量化方法
CN114004623A (zh) 机器学习方法及系统
CN117057255B (zh) 一种用于数字孪生模型在线同步的预训练模型获取方法
CN113591398B (zh) 基于深度强化学习的智能作业分批方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210105