对神经网络进行训练的方法及更新神经网络参数的优化器技术

技术编号:37859523 阅读:12 留言:0更新日期:2023-06-15 20:49
公开了一种对神经网络进行训练的方法、更新神经网络参数的优化器、电子设备和计算机可读存储介质。本公开的各个实施例结合一阶动量信息和二阶动量信息的优势,在训练神经网络的过程中充分地利用了损失函数在各个时间步的导数信息和曲率信息,并在获取一阶动量信息之后释放了用于存储导数信息的内存,能够在提高神经网络的训练速度的同时降低内存的开销。神经网络的训练速度的同时降低内存的开销。神经网络的训练速度的同时降低内存的开销。

【技术实现步骤摘要】
对神经网络进行训练的方法及更新神经网络参数的优化器


[0001]本公开涉及人工智能服务领域,更具体地涉及一种对神经网络进行训练的方法、更新神经网络参数的优化器、电子设备和计算机可读存储介质。

技术介绍

[0002]深度学习(Deep Learni ng)是人工智能领域的一个重要分支,它通过多层神经网络模型,对复杂的数据进行建模和预测。随着深度学习应用的不断扩展,如何高效地训练深度神经网络模型,成为了深度学习领域中的一个热门研究方向。
[0003]目前工业界和学术界已经提出了各种优化器来更新神经网络中的参数以实现对神经网络进行训练。在训练期间,各种优化器通过计算损失函数的梯度来调整神经网络中的模型参数,以使得损失函数能够更快地收敛至极值,从而缩短神经网络训练所需的时间。
[0004]这些优化器可以应用于多个领域。例如,在计算机视觉领域,优化器可以用于图片分类、图像目标检测、图片生成等任务。在自然语言处理领域,优化器可以用于语言模型、文本翻译、文字生成、语音识别等任务。在推荐系统领域,优化器可以用于商品推荐、广告推荐等任务。此外,这个优化器也可以应用于人工智能科学计算领域,例如求解和模拟描述物理现象的偏微分方程(PDEs)。在强化学习领域,它可以用于下棋、遵循人类指令和价值观的聊天模型等任务。
[0005]然而,对于超大模型的神经网络而言,在训练过程中使用优化器需要较大的内存以及计算量。因此,仍需要对利用优化器来训练神经网络的技术进行进一步改进。

技术实现思路

[0006]本公开实施例提供了一种对神经网络进行训练的方法、更新神经网络参数的优化器、电子设备和计算机可读存储介质。
[0007]本公开实施例提供了一种对神经网络进行训练的方法,包括:在多个时间步中,利用损失函数对所述神经网络进行迭代地训练,其中,对于所述多个时间步中的每个时间步,基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息;基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息;以及基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
[0008]本公开实施例提供了一种更新神经网络参数的优化器,其中所述优化器用于在多个时间步中的每个时间步中,利用损失函数对所述神经网络进行更新,所述优化器包括:一阶动量信息计算电路,被配置为:基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息;二阶动量信息计算电路,被配置为:基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信
息;以及参数更新电路,被配置为:基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
[0009]本公开实施例提供了一种电子设备,包括:处理器;以及存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行上述的方法。
[0010]本公开实施例提供了一种设备,包括:处理器;存储器,存储器存储有计算机指令,该计算机指令被处理器执行时实现上述方法。
[0011]本公开实施例提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述方法。
[0012]根据本公开的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个方面或者上述各个方面的各种可选实现方式中提供的方法。
[0013]本公开的各个实施例结合一阶动量信息和二阶动量信息的优势,在训练神经网络的过程中充分地利用了损失函数在各个时间步的导数信息和曲率信息,并在获取一阶动量信息之后释放了用于存储导数信息的内存,能够在提高神经网络的训练速度的同时降低内存的开销。
附图说明
[0014]为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。下面描述中的附图仅仅是本公开的示例性实施例。
[0015]图1示出了根据本公开实施例的应用场景的示意图。
[0016]图2是示出根据本公开实施例的对神经网络进行训练的方法的流程图。
[0017]图3是示出根据本公开实施例的示例损失函数的示意图。
[0018]图4是示出根据本公开实施例的更新神经网络参数的优化器的示意图。
[0019]图5是示出实施根据本公开实施例的方法的效果图。
[0020]图6示出了根据本公开实施例的电子设备的示意图。
[0021]图7示出了根据本公开实施例的计算设备的架构图。
[0022]图8示出了根据本公开实施例的计算机可读存储介质的示意图。
具体实施方式
[0023]为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
[0024]在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
[0025]为便于描述本公开,以下介绍与本公开有关的概念。
[0026]可选地,本公开实施例涉及的各种模型都可以是人工智能模型,尤其是基于人工
智能的神经网络模型。通常,基于人工智能的神经网络模型被实现为无环图,其中神经元布置在不同的层中。通常,神经网络模型包括输入层和输出层,输入层和输出层通过至少一个隐藏层分开。隐藏层将由输入层接收到的输入变换为对在输出层中生成输出有用的表示。网络节点(也即神经元)经由边全连接至相邻层中的节点,并且每个层内的节点之间不存在边。在神经网络的输入层的节点处接收的数据经由隐藏层、激活层、池化层、卷积层等中的任意一项被传播至输出层的节点。神经网络模型的输入输出可以采用各种形式,本公开对此不作限制。
[0027]目前工业界和学术界已经提出了各种优化器来进行神经网络的训练。在训练期间,各种优化器通过计算损失函数的梯度来调整神经网络中的模型参数,以使得损失函数能够更快地收敛至极值,从而缩短神经网络训练所需的时间。
[0028]例如,工业界和学术界已提出了随机梯度下降(SGD,Stochastic Gradient Descent)优化器,其是一种基于梯度的优化器,通过计算损失函本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对神经网络进行训练的方法,包括:在多个时间步中,利用损失函数对所述神经网络进行迭代地训练,其中,对于所述多个时间步中的每个时间步,基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息;基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息;以及基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。2.如权利要求1所述的方法,其中,在所述确定所述时间步对应的一阶动量信息之后,释放用于存储所述损失函数在所述时间步的导数信息的内存。3.如权利要求1所述的方法,其中,所述损失函数是所述神经网络对目标标签的预测值和所述目标标签的真实值的函数。4.如权利要求1所述的方法,其中,所述基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息包括:获取所述神经网络在前一时间步对应的一阶动量信息以及所述神经网络在所述时间步的参数的值;以及基于所述损失函数在所述时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息的值,确定所述时间步对应的一阶动量信息。5.如权利要求4所述的方法,其中,所述基于所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息,确定当前时间步对应的一阶动量信息包括:获取预配置的一阶矩系数,并基于所述一阶矩系数,计算所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息的值的加权和,并将所述加权和确定为所述时间步对应的一阶动量信息。6.如权利要求1所述的方法,其中,所述基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息包括:生成随机向量,所述随机向量中的元素取值有50%概率为正一且有50%的概率为负一,并且所述随机向量的元素数量与神经网络的参数数量一致;以及基于所述随机向量、所述神经网络在所述时间步的参数的值、以及所述时间步对应的一阶动量信息,利用求导操作,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息。7.如权利要求6所述的方法,其中,所述利用求导操作,确定所述时间步对应的二阶动量信息包括:利用所述随机向量乘以所述一阶动量信息,以获取海森矩阵的对角线上的元素组成的向量;对所述时间步对应的海森矩阵的对角线上的元素组成的向量进行非线性变换,以获...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

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

1