[go: up one dir, main page]

CN116258196A - 对神经网络进行训练的方法及更新神经网络参数的优化器 - Google Patents

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

Info

Publication number
CN116258196A
CN116258196A CN202310246645.2A CN202310246645A CN116258196A CN 116258196 A CN116258196 A CN 116258196A CN 202310246645 A CN202310246645 A CN 202310246645A CN 116258196 A CN116258196 A CN 116258196A
Authority
CN
China
Prior art keywords
time step
neural network
order momentum
momentum information
information
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
CN202310246645.2A
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.)
Shanghai Biren Intelligent Technology Co Ltd
Original Assignee
Shanghai Biren Intelligent Technology 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 Shanghai Biren Intelligent Technology Co Ltd filed Critical Shanghai Biren Intelligent Technology Co Ltd
Priority to CN202310246645.2A priority Critical patent/CN116258196A/zh
Publication of CN116258196A publication Critical patent/CN116258196A/zh
Priority to PCT/CN2024/081693 priority patent/WO2024188311A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

对神经网络进行训练的方法及更新神经网络参数的优化器
技术领域
本公开涉及人工智能服务领域,更具体地涉及一种对神经网络进行训练的方法、更新神经网络参数的优化器、电子设备和计算机可读存储介质。
背景技术
深度学习(Deep Learni ng)是人工智能领域的一个重要分支,它通过多层神经网络模型,对复杂的数据进行建模和预测。随着深度学习应用的不断扩展,如何高效地训练深度神经网络模型,成为了深度学习领域中的一个热门研究方向。
目前工业界和学术界已经提出了各种优化器来更新神经网络中的参数以实现对神经网络进行训练。在训练期间,各种优化器通过计算损失函数的梯度来调整神经网络中的模型参数,以使得损失函数能够更快地收敛至极值,从而缩短神经网络训练所需的时间。
这些优化器可以应用于多个领域。例如,在计算机视觉领域,优化器可以用于图片分类、图像目标检测、图片生成等任务。在自然语言处理领域,优化器可以用于语言模型、文本翻译、文字生成、语音识别等任务。在推荐系统领域,优化器可以用于商品推荐、广告推荐等任务。此外,这个优化器也可以应用于人工智能科学计算领域,例如求解和模拟描述物理现象的偏微分方程(PDEs)。在强化学习领域,它可以用于下棋、遵循人类指令和价值观的聊天模型等任务。
然而,对于超大模型的神经网络而言,在训练过程中使用优化器需要较大的内存以及计算量。因此,仍需要对利用优化器来训练神经网络的技术进行进一步改进。
发明内容
本公开实施例提供了一种对神经网络进行训练的方法、更新神经网络参数的优化器、电子设备和计算机可读存储介质。
本公开实施例提供了一种对神经网络进行训练的方法,包括:在多个时间步中,利用损失函数对所述神经网络进行迭代地训练,其中,对于所述多个时间步中的每个时间步,基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息;基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息;以及基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
本公开实施例提供了一种更新神经网络参数的优化器,其中所述优化器用于在多个时间步中的每个时间步中,利用损失函数对所述神经网络进行更新,所述优化器包括:一阶动量信息计算电路,被配置为:基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息;二阶动量信息计算电路,被配置为:基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息;以及参数更新电路,被配置为:基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
本公开实施例提供了一种电子设备,包括:处理器;以及存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行上述的方法。
本公开实施例提供了一种设备,包括:处理器;存储器,存储器存储有计算机指令,该计算机指令被处理器执行时实现上述方法。
本公开实施例提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述方法。
根据本公开的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个方面或者上述各个方面的各种可选实现方式中提供的方法。
本公开的各个实施例结合一阶动量信息和二阶动量信息的优势,在训练神经网络的过程中充分地利用了损失函数在各个时间步的导数信息和曲率信息,并在获取一阶动量信息之后释放了用于存储导数信息的内存,能够在提高神经网络的训练速度的同时降低内存的开销。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。下面描述中的附图仅仅是本公开的示例性实施例。
图1示出了根据本公开实施例的应用场景的示意图。
图2是示出根据本公开实施例的对神经网络进行训练的方法的流程图。
图3是示出根据本公开实施例的示例损失函数的示意图。
图4是示出根据本公开实施例的更新神经网络参数的优化器的示意图。
图5是示出实施根据本公开实施例的方法的效果图。
图6示出了根据本公开实施例的电子设备的示意图。
图7示出了根据本公开实施例的计算设备的架构图。
图8示出了根据本公开实施例的计算机可读存储介质的示意图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
为便于描述本公开,以下介绍与本公开有关的概念。
可选地,本公开实施例涉及的各种模型都可以是人工智能模型,尤其是基于人工智能的神经网络模型。通常,基于人工智能的神经网络模型被实现为无环图,其中神经元布置在不同的层中。通常,神经网络模型包括输入层和输出层,输入层和输出层通过至少一个隐藏层分开。隐藏层将由输入层接收到的输入变换为对在输出层中生成输出有用的表示。网络节点(也即神经元)经由边全连接至相邻层中的节点,并且每个层内的节点之间不存在边。在神经网络的输入层的节点处接收的数据经由隐藏层、激活层、池化层、卷积层等中的任意一项被传播至输出层的节点。神经网络模型的输入输出可以采用各种形式,本公开对此不作限制。
目前工业界和学术界已经提出了各种优化器来进行神经网络的训练。在训练期间,各种优化器通过计算损失函数的梯度来调整神经网络中的模型参数,以使得损失函数能够更快地收敛至极值,从而缩短神经网络训练所需的时间。
例如,工业界和学术界已提出了随机梯度下降(SGD,Stochastic GradientDescent)优化器,其是一种基于梯度的优化器,通过计算损失函数对模型参数的梯度来更新参数。SGD优化器更新每个参数时使用相同的学习率,该学习率通常需要手动调整以使模型收敛。SGD优化器的仅利用了一阶动量信息,其收敛速度较慢,并且在处理具有高曲率的非凸优化问题时,可能会卡在局部极小值附近而无法收敛。
又例如,工业界和学术界还提出了自适应矩估计(Adam,Adaptive MomentEstimation)优化器,其是一种结合了动量梯度下降和自适应学习率的基于梯度的优化器。Adam优化器利用了一阶动量信息和二阶动量信息来提高损失函数的收敛速度,然而其使用的二阶动量信息里不包含损失函数曲率信息。在一些任务中收敛速度较慢,并且可能无法收敛至最佳点。
目前已经提出了利用一阶动量信息和二阶动量信息的传统二阶优化器,其需要大约六倍于神经网络的参数量的内存。这样的传统二阶优化器对于具有超大参数量的神经网络模型可能是不适用的。这些神经网络模型的参数量能达到百亿级、千亿级,甚至万亿级。在对这些神经网络模型进行训练时,传统二阶优化器往往需要根据神经网络模型的海量参数进行复杂的运算,才能更新神经网络模型中的参数。尤其对于传统的二阶优化器而言,由于其需要耗费大量的计算资源才能获得二阶动量信息(和/或损失函数曲率信息),并且在计算二阶动量信息(和/或损失函数曲率信息)的过程中无法及时的释放内存资源,其难以应用于深度学习领域中。
为此,本公开提供了一种改进的优化器,其不仅能以较少的计算量快速地获取一阶动量信息和包含损失函数曲率信息的二阶动量信息,还能在获得一阶动量信息之后及时释放部分内存,从而在提高神经网络的训练速度的同时降低内存的开销。
本公开的各个实施例具体通过如下各个附图进行说明。
首先参照图1描述根据本公开实施例的方法以及相应的装置等的应用场景。图1示出了根据本公开实施例的应用场景100的示意图,其中示意性地示出了服务器110和多个终端120。
本公开实施例的用于对神经网络进行训练的装置具体可以集成在各种电子设备中,例如,图1中的服务器110和多个终端120中的任意电子设备。比如,用于对神经网络进行训练的装置可以集成在终端120中。终端120可以是手机、平板电脑、笔记本电脑、台式计算机、个人计算机(PC,Personal Computer)、智能音箱或智能手表等,但并不局限于此。又比如,用于对神经网络进行训练的装置还可以集成在服务器110。服务器110可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。
可以理解的是,应用本公开实施例的对神经网络模型进行训练的方法来对各种可能的复杂神经网络模型进行推理的装置既可以是终端,也可以是服务器,还可以是由终端和服务器组成的系统。当然,本公开并不以此为限。
在对神经网络模型进行训练的过程中,终端和/或服务器可以基于存储于终端和/或服务器中的训练样本集对用于对神经网络进行训练。值得注意的是,本文中的神经网络模型可以是能够应用于各种场景的神经网络模型,尤其是在计算机视觉、自然语言处理、以及推荐系统中使用的神经网络模型。
本公开提供了一种对神经网络进行训练的方法,包括:在多个时间步中,利用损失函数对所述神经网络进行迭代地训练,其中,对于所述多个时间步中的每个时间步,基于所述神经网络在当前时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息;基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息;以及基于所述一阶动量信息和所述二阶动量信息,更新所述神经网络在下一时间步的参数。
本公开的各个实施例结合一阶动量信息和二阶动量信息的优势,在训练神经网络的过程中,从一阶动量信息中直接获得了融合有损失函数曲率的二阶动量信息,以便捷充分地利用损失函数在各个时间步的导数信息和曲率信息,能够显著的提高神经网络的训练速度。本公开的一些实施例还在获取一阶动量信息之后释放了用于存储导数信息的内存,能够在提高神经网络的训练速度的同时降低内存的开销。
以下结合图2至图8对根据本公开的全部或部分实施例进行更详细介绍。
图2是示出根据本公开实施例的对神经网络进行训练的方法20的流程图。图3是示出根据本公开实施例的示例损失函数的示意图。
根据本公开实施例的对神经网络进行训练的方法20可以应用于任何的电子设备中。可以理解,电子设备可以是不同种类的硬件设备,例如个人数字助理(PDA)、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上型计算机、服务器等等。例如,该电子设备可以是图1中的服务器和用户终端等等。以下,本公开以服务器为例进行说明,本领域技术人员应当理解本公开并不以此为限。
在训练某个神经网络之前,需要对神经网络中的各个参数进行初始化从而使得神经网络准备好进行训练。初始化的过程包括但不限于:为神经网络中的各个神经元设置其对应的权重和偏差的初始值。在本公开的一些实施例中,可以采用随机初始化的方式为神经网络模型中的各种参数设置随机的初始值,也可以将神经网络模型中的各种参数均设置为预设值(例如,0或1)等等。本公开并不以此为限。
在完成神经网络的初始化之后,可选地将利用多个时间步来对神经网络进行训练。例如,时间步是指在训练神经网络的过程中的离散的时间点,每个时间步对应于对神经网络的参数一次更新。为了更好地在每个时间步将神经网络的参数更新至能够使得该神经网络的损失函数收敛的状态,可以利用根据本公开实施例的优化器来求解在该时间步中神经网络的各个参数需要变化的量。所述损失函数是所述神经网络对目标标签的预测值和所述目标标签的真实值的函数,其包括但不限于:均方误差函数、交叉熵函数等等。根据本公开实施例的优化器能够从损失函数和神经网络在该时间步的参数的信息中提取出神经网络的各个参数需要变化的方向信息和大小信息。这些信息包括但不限于以下详述的一阶动量信息、二阶动量信息、导数信息和曲率信息。当然本公开并不以此为限。
例如,根据本公开实施例的方法20包括:在多个时间步中,利用损失函数对所述神经网络进行迭代地训练。在所述多个时间步结束后,所述损失函数的值收敛。可选地,在所述多个时间步中的每个时间步中,依次执行以下操作S201至操作S204,其中,操作S202为可选操作。
首先,在操作S201中,基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息。
例如,根据本公开实施例的一阶动量信息又可以被称为一阶矩信息,其指示根据本公开的实施例的优化器所估计的损失函数在所述时间步的梯度的方向信息。具体地,一阶动量信息可以融合有所述损失函数在所述时间步的导数信息。该导数信息包括但不限于在该时间步所述损失函数在所述神经网络中的各可训练参数处的偏导数的值。例如,假设损失函数为L,神经网络中的一个可训练参数为w,那么该参数对应的导数信息为
Figure BDA0004127758820000071
此外,一阶动量信息还可以融合有其他信息。例如,考虑到在训练过程中,各个时间步之间存在一定的依赖性,某个时间步的一阶动量信息还可以融合有前一时间步的一阶动量信息的值、或二阶动量信息的值等等。可选地,某个时间步的神经网络的参数、一阶动量信息和二阶动量信息都包含了其前一个时间步的信息并可以此递归至初始时间步。在每次完成一个时间步的神经网络的参数更新后,当前步的神经网络的参数、一阶动量信息和二阶动量信息的值将成为常数存储在内存中以方便后续调用,并清除用于计算当前步的神经网络的参数、一阶动量信息和二阶动量信息的计算图,以节省存储开销。
例如,在操作S201中,可以进一步获取所述神经网络在前一时间步对应的一阶动量信息以及所述神经网络在所述时间步的参数的值;以及基于所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息的值,确定所述时间步对应的一阶动量信息。当然本公开并不以此为限。
可选地,所述基于所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息,确定当前时间步对应的一阶动量信息包括:获取预配置的一阶矩系数,并基于所述一阶矩系数,计算所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息的值的加权和,并将所述加权和确定为所述时间步对应的一阶动量信息。
以图3为例,假设根据本公开实施例的损失函数的形式为y=4.0x2,y=x2,和y=0.1x2中的任意一项,其中,x为样本标签和神经网络的输出值之间的差异信息,y为损失函数的值。也即,x可能是以神经网络中的各个参数、样本数据、样本数据对应的标签三者为自变量的函数。其中,在x不等于0时,一阶动量信息即可指示梯度下降的方向信息。如图3所示,y=4.0x2对应的下降的方向较y=0.1x2对应的梯度下降的方向更抖,因此,在以y=4.0x2作为损失函数时,神经网络的参数的更新量应当小于以y=0.1x2作为损失函数的情况。当然本公开并不以此为限。
接着,在根据本公开的一些实施例中,可选地,在操作S202中,释放用于存储所述损失函数在所述时间步的导数信息的内存。
此时,用于训练神经网络的装置的内存中可能保存有该神经网络在该时间步的所有状态信息,其包括但不限于神经网络模型的各个参数经上一个时间步更新后对应的权重和偏置,上一个时间步对应的一阶动量信息,以及导数信息。此外,内存中还能包括上一个时间步对应的二阶动量信息。这些信息将消耗大量的存储资源。然而,经过操作S201,一阶动量信息中已经融合有所述损失函数在所述时间步的导数信息,根据本公开实施例的优化器此后将通过对一阶动量信息的使用来代替导数信息的使用,从而能够安全地释放用于存储所述损失函数在所述时间步的导数信息的内存。而如上所述,由于导数信息可能包括所述神经网络中所有可训练参数在该时间步的偏导数的值,其将消耗大量的内存资源。根据本公开的实施例通过释放用于存储所述损失函数在所述时间步的导数信息的内存,从而减少了根据本公开实施例的优化器所需的开销。
接着,在操作S203中,基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息。
例如,根据本公开实施例的二阶动量信息又可以被称为二阶矩信息,其指示根据本公开的实施例的优化器所估计的损失函数在所述时间步的梯度的步长幅度信息。具体地,二阶动量信息可以融合有所述损失函数在所述时间步的曲率信息。该曲率信息包括但不限于在该时间步所述损失函数在所述神经网络中的各可训练参数处的二阶偏导数的值。例如,假设损失函数为L,神经网络中的两个可训练参数分别为w1和w2,那么该参数w1对应的导数信息为
Figure BDA0004127758820000091
Figure BDA0004127758820000092
此外,二阶动量信息还可以融合有其他信息。例如,考虑到在训练过程中,各个时间步之间存在一定的依赖性,某个时间步的二阶动量信息还可以融合有前一时间步的二阶动量信息等等。
例如,在操作S203中,可以进一步生成随机向量,所述随机向量中的元素取值有50%概率为正一且有50%的概率为负一,并且所述随机向量的元素数量与神经网络的参数数量一致;基于所述随机向量、所述神经网络在所述时间步的参数的值、以及所述时间步对应的一阶动量信息,利用求导操作确定所述时间步对应的二阶动量信息。求导操作能够以较快的计算速度从一阶动量信息中提取所述损失函数在所述时间步的曲率信息,其在运算速度上超过了传统的二阶优化器。
可选地,所述利用求导操作,确定所述时间步对应的二阶动量信息包括:利用所述随机向量乘以所述一阶动量信息,以获取海森(Hessi an)矩阵的对角线上的元素组成的向量;对所述时间步对应的海森矩阵的对角线上的元素组成的向量进行非线性变换,以获取经非线性变换后的海森矩阵的对角线上的元素组成的向量;获取预配置的一阶矩系数和二阶矩系数,并基于所述一阶矩系数和二阶矩系数,计算所述经非线性变换后的海森矩阵的对角线上的元素组成的向量和所述神经网络在前一时间步对应的二阶动量信息的加权和,并将所述加权和确定为所述时间步对应的二阶动量信息。其中,海森矩阵的对角线元素包含了损失函数对于神经网络参数的曲率信息。利用所述随机向量乘以所述一阶动量信息可以方便快捷地求解出海森矩阵的对角线上的元素组成的向量,而无需显式地求解出海森矩阵中的每个元素的值。当然本公开并不以此为限。
继续以图3为例,假设根据本公开实施例的损失函数的形式为y=4.0x2,y=x2,和y=0.1x2中的任意一项,其中,x为样本标签和神经网络的输出值之间的差异信息,y为损失函数的值。其中,在x等于0时,三个损失函数的一阶动量信息是相同的,而由于二阶动量信息可指示梯度的变化信息(例如,梯度的步长幅度信息),其包含了更多的信息量,例如,其可以指示y=4.0x2对应的弯曲程度较y=0.1x2的弯曲程度更高。当然本公开并不以此为限。
在操作S204中,基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
正如上所述,一阶动量信息提供了损失函数在所述时间步的梯度的方向信息,二阶动量信息提供了损失函数在所述时间步的梯度的步长幅度信息,从这些信息中可以推导出神经网络的各个参数在该时间步的更新量。在本公开的一些实施例中,该更新量可以被看作是一阶动量信息和二阶动量信息的非线性转换。最终,神经网络的参数将根据该更新量被更新,以便在下一个时间步中更好地适应样本数据并提高输出数据的准确性。
具体地,从一阶动量信息中可以推导出神经网络的各个参数在该时间步的更新方向,从二阶动量信息中则可以推导出神经网络的各个参数在该时间步的步长的幅度纠正。在本公开的一些实施例中,该更新量可以被看作是一阶动量信息和二阶动量信息的函数。例如,在该函数中,一阶动量信息作为该该函数的分子部分以代表更新方向,二阶动量信息则作为分母部分以代表更新步长的幅度纠正。
又例如,在本公开的一些实施例中,在操作S204中,还包括对一阶动量信息和二阶动量信息进行去偏(de-bi as)操作。如上所述,不论是一阶动量信息还是二阶动量信息都可能是优化器估计的数据,该估计值可能是不准确的,从而需要对这些估计值进行修正。例如,有可能根据步长、上一时间步的一阶动量信息和/或二阶动量信息、损失函数的形式等等确定修正因子,来对当前时间步的一阶动量信息和二阶动量信息进行修正,并基于修正后的一阶动量信息和二阶动量信息,确定神经网络的各个参数在该时间步的更新量,从而确定用于下一时间步的神经网络的参数。当然本公开并不以此为限。
例如,在操作S204中,可以进一步获取预配置的一阶矩系数和二阶矩系数,基于所述一阶矩系数和所述二阶矩系数,对所述一阶动量信息和所述二阶动量信息进行去偏操作,以得到去偏后的一阶动量信息和二阶动量信息,基于所述去偏后的一阶动量信息和二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。当然本公开并不以此为限。
可选地,所述基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新包括:对所述一阶动量信息和所述二阶动量信息进行非线性变换,以获取对所述神经网络的参数进行更新的更新量;以及将所述更新量与所述神经网络在所述时间步的参数的值进行叠加,以对所述神经网络的参数进行更新。
由此,根据本公开实施例的对神经网络进行训练的方法20结合一阶动量信息和二阶动量信息的优势,在训练神经网络的过程中充分地利用了损失函数在各个时间步的导数信息和曲率信息,并在获取一阶动量信息之后释放了用于存储导数信息的内存,能够在提高神经网络的训练速度的同时降低内存的开销。
图4是示出根据本公开实施例的更新神经网络参数的优化器的优化器400的示意图。图5是示出实施根据本公开实施例的方法的效果图。
优化器400可以应用于多个领域。例如,在计算机视觉领域,优化器400可以用于图片分类、图像目标检测、图片生成等任务。在自然语言处理领域,优化器可以用于语言模型、文本翻译、文字生成、语音识别等任务。在推荐系统领域,优化器400可以用于商品推荐、广告推荐等任务。此外,优化器400也可以应用于人工智能科学计算领域,例如求解和模拟描述物理现象的偏微分方程(PDEs)。在强化学习领域,优化器400可以用于下棋、遵循人类指令和价值观的聊天模型等任务。
参考图4描述的优化器400用于在多个时间步中的每个时间步中,利用损失函数对所述神经网络进行更新,其包括:一阶动量信息计算电路、内存释放电路、二阶动量信息计算电路和参数更新电路。优化器400可以被配置为执行以上详述的方法20。优化器400在本文中又可以称为用于对神经网络进行训练的装置。此外,优化器400还可以包括更多或更少的电路,本公开并不以此为限。
假设神经网络包括N个参数,这些参数被表示为w=(w1,w2,…,wN)T。该神经网络对应的损失函数被表示为L(w)。在对该神经网络进行训练之前,可能需要对该神经网络进行初始化,也即将w0的值赋给w。w0又叫做初始网络参数。
进一步假设神经网络的训练过程中的学习率为ηt,以及学习率可根据学习率策略而变化。在实践中,优化器400还需要一阶矩系数β1和二阶矩系数β2用于后续计算。
在第一个时间步,优化器400将设定其前一个时间步对应的一阶动量信息m0和二阶动量信息v0均为零,也即,m0=0,v0=0。在其他时间步任意的时间步t,优化器400可以获取前一时间步(t-1)对应的一阶动量信息mt-1和二阶动量信息vt-1。其中,t为大于1的整数。当然本公开并不以此为限。
以下以时间步t为例进行说明优化器400执行的方法20中的各个操作的示例,本领域技术人员应当理解本公开并不依次为限。
首先,在时间步t,优化器400中的一阶动量信息计算电路被配置为执行操作S201:基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息。具体地,一阶动量信息计算电路可以执行操作:获取所述神经网络在前一时间步对应的一阶动量信息以及所述神经网络在所述时间步的参数的值;以及基于所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息,确定所述时间步对应的一阶动量信息。可选地,所述基于所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息,确定当前时间步对应的一阶动量信息包括:获取预配置的一阶矩系数,并基于所述一阶矩系数,计算所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息的值的加权和,并将所述加权和确定为所述时间步对应的一阶动量信息。当然本公开并不以此为限。
例如,假设所述损失函数在时间步t的导数信息为g,其可以按照公式(1)进行计算。在公式(1)中,N为神经网络的参数量。
Figure BDA0004127758820000121
接着,一阶动量信息计算电路按照公式(2)计算融合有前一时间步(t-1)对应的一阶动量信息mt-1和导数信息g的一阶动量信息mt,由此实现了使用g来更新一阶动量信息。
mt=β1mt-1+(1-β1)g (2)
然后,可选地,优化器400中的内存释放电路被配置为执行操作S202:释放用于存储所述损失函数在所述时间步的导数信息的内存。由于去除了导数信息g的储存,从而减少了内存消耗。
接着,优化器400中的二阶动量信息计算电路可以被配置为执行操作S203:基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息。二阶动量信息计算电路可以被配置为生成随机向量,所述随机向量中的元素取值有50%概率为正一且有50%的概率为负一,并且所述随机向量的元素数量与神经网络的参数数量一致;以及基于所述随机向量、所述神经网络在所述时间步的参数的值、以及所述时间步对应的一阶动量信息,利用求导操作,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息。所述利用求导操作,确定所述时间步对应的二阶动量信息包括:利用所述随机向量乘以所述一阶动量信息,以获取海森矩阵的对角线上的元素组成的向量;对所述时间步对应的海森矩阵的对角线上的元素组成的向量进行非线性变换,以获取经非线性变换后的海森矩阵的对角线上的元素组成的向量;获取预配置的一阶矩系数和二阶矩系数,并基于所述一阶矩系数和二阶矩系数,计算所述经非线性变换后的海森矩阵的对角线上的元素组成的向量和所述神经网络在前一时间步对应的二阶动量信息的加权和,并将所述加权和确定为所述时间步对应的二阶动量信息。
具体地,二阶动量信息计算电路可以自动生成随机向量z,z的维度与w一致,其元素的值要么为+1,要么为-1,且为+1和为-1的概率均为50%。然后二阶动量信息计算电路基于公式(3)和随机向量z使用自动微分来对一阶动量信息mt进行求导以得到所述损失函数在所述时间步的曲率信息。如公式(4)所示出的,对随机向量z与一阶动量信息mt的乘积进行求导,即可得到
Figure BDA0004127758820000131
而根据
Figure BDA0004127758820000132
可以求解得到海森矩阵的对角线上的元素组成的向量
Figure BDA0004127758820000133
Figure BDA0004127758820000134
Figure BDA0004127758820000135
其中,i为样本数据的索引,而
Figure BDA0004127758820000136
H为海森矩阵(大小为N2),也即
Figure BDA0004127758820000137
为(1-β1)Hzi的近似估计,大小仅为N。根据公式(3),可以在无需显式地求解出海森矩阵H的值的情况下,直接获得
Figure BDA0004127758820000138
缩减了计算量和内存量。
Figure BDA0004127758820000139
其中,
Figure BDA00041277588200001310
Figure BDA0004127758820000141
的期望值,diag{H}表示H中的对角线上的元素的集合,其可被进一步表示为
Figure BDA0004127758820000142
也即,
Figure BDA0004127758820000143
为(1-β1)diag{H}的近似值。基于以下公式(5)可以确定diag{H}与
Figure BDA0004127758820000144
近似。
Figure BDA0004127758820000145
其中,diag{H}的大小为N,其逆矩阵为简单的元素除法diag{H}-1=1/diag{H}。相比于传统的二阶优化器需要N2大小的H才能计算出二阶动量信息,优化器400大幅地减少了运算量。更具体地,根据公式(3)和公式(4),此时所求解出的
Figure BDA0004127758820000146
已经包括了曲率信息,并且整个求解过程中只涉及一阶动量信息mt而不涉及导数信息g,因此在前述步骤中释放用于存储所述损失函数在所述时间步的导数信息g的内存也并未对后续获取包括曲率信息的二阶动量信息的过程产生影响。可见,优化器400还可以大幅地减少内存需求。
在已知
Figure BDA0004127758820000147
的情况下,可以利用公式(6),基于前一时间步(t-1)对应的二阶动量信息vt-1和二阶矩系数β2确定时间步t对应的二阶动量信息vt。其中,公式(6)通过
Figure BDA0004127758820000148
实现了对海森矩阵的对角的元素组成的向量的平方的近似。
Figure BDA0004127758820000149
由公式(6)可知,二阶动量信息vt为所述经非线性变换后的海森矩阵的对角线上的元素组成的向量
Figure BDA00041277588200001410
和所述神经网络在前一时间步对应的二阶动量信息的值vt-1的加权和。
然后,优化器400中的参数更新电路被配置为执行操作S204:基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
可选地,参数更新电路被配置为获取预配置的一阶矩系数和二阶矩系数;基于所述一阶矩系数和所述二阶矩系数,对所述一阶动量信息和所述二阶动量信息进行去偏操作,以得到去偏后的一阶动量信息和二阶动量信息,基于所述去偏后的一阶动量信息和二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。可选地,所述基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新包括:对所述一阶动量信息和所述二阶动量信息进行非线性变换,以获取对所述神经网络的参数进行更新的更新量;以及将所述更新量与所述神经网络在所述时间步的参数的值进行叠加,以对所述神经网络的参数进行更新。
可选地,参数更新电路可以先利用公式(7)和公式(8)对一阶动量信息mt和二阶动量信息vt进行去偏操作,以得到去偏后的一阶动量信息mt和二阶动量信息vt
Figure BDA0004127758820000151
Figure BDA0004127758820000152
然后参数更新电路将对应地利用公式(9)将所述神经网络的参数由wt-1更新至wt
Figure BDA0004127758820000153
其中,ε为一个极小的浮点数用来保证不会发生mt除以零的情况,而ηt为学习率。公式(9)中的对所述神经网络的参数进行更新的更新量
Figure BDA0004127758820000154
实现了对一阶动量信息和所述二阶动量信息的非线性变换。
在上述的各个操作中,不论是一阶动量信息计算电路、内存释放电路、二阶动量信息计算电路还是参数更新电路,其至多需要同时使用神经网络的参数量N的5倍的内存。例如,在计算二阶动量信息时,二阶动量信息计算电路最多需要同时存储5个向量wt-1,mt,vt-1,zi,hi,占用5N的内存量。相较于至少需要6N的内存量的传统实现方法,本公开的优化器能够降低1/6的内存的开销。
如图5所示,在实际试验中,使用优化器400来对基于转换器(transformer)的翻译神经网络模型进行训练,不论是在训练过程中还是在验证过程中,其损失函数能够在8000个时间步左右收敛,与传统实现方法拥有类似收敛效果与训练时间的同时,降低了最大内存的占用量。
可见,本公开的各个优化器400结合了一阶动量信息和二阶动量信息的优势,在训练神经网络的过程中充分地利用了损失函数在各个时间步的导数信息和曲率信息,并在获取一阶动量信息之后释放了用于存储导数信息的内存,能够在提高神经网络的训练速度的同时降低内存的开销。
根据本公开的又一方面,还提供了一种电子设备,用于实施根据本公开实施例的方法20或搭载根据本公开实施例的优化器400。图6示出了根据本公开实施例的电子设备2000的示意图。
如图6所示,所述电子设备2000可以包括一个或多个处理器2010,和一个或多个存储器2020。其中,所述存储器2020中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器2010运行时,可以执行如上所述的方法。
本公开实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASI C)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、操作及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或ARM架构的。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
例如,根据本公开实施例的方法或装置也可以借助于图7所示的计算设备3000的架构来实现。如图7所示,计算设备3000可以包括总线3010、一个或多个CPU 3020、只读存储器(ROM)3030、随机存取存储器(RAM)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如ROM 3030或硬盘3070可以存储本公开提供的方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图7所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图7示出的计算设备中的一个或多个组件。
根据本公开的又一方面,还提供了一种计算机可读存储介质。图8示出了根据本公开的存储介质4000的示意图。
如图8所示,所述计算机存储介质4020上存储有计算机可读指令4010。当所述计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的方法。本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开实施例的方法。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。

Claims (13)

1.一种对神经网络进行训练的方法,包括:
在多个时间步中,利用损失函数对所述神经网络进行迭代地训练,其中,对于所述多个时间步中的每个时间步,
基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息;
基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息;以及
基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
2.如权利要求1所述的方法,其中,在所述确定所述时间步对应的一阶动量信息之后,释放用于存储所述损失函数在所述时间步的导数信息的内存。
3.如权利要求1所述的方法,其中,所述损失函数是所述神经网络对目标标签的预测值和所述目标标签的真实值的函数。
4.如权利要求1所述的方法,其中,所述基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息包括:
获取所述神经网络在前一时间步对应的一阶动量信息以及所述神经网络在所述时间步的参数的值;以及
基于所述损失函数在所述时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息的值,确定所述时间步对应的一阶动量信息。
5.如权利要求4所述的方法,其中,所述基于所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息,确定当前时间步对应的一阶动量信息包括:
获取预配置的一阶矩系数,并基于所述一阶矩系数,计算所述损失函数在当前时间步的导数信息和所述神经网络在前一时间步对应的一阶动量信息的值的加权和,并将所述加权和确定为所述时间步对应的一阶动量信息。
6.如权利要求1所述的方法,其中,所述基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息包括:
生成随机向量,所述随机向量中的元素取值有50%概率为正一且有50%的概率为负一,并且所述随机向量的元素数量与神经网络的参数数量一致;以及
基于所述随机向量、所述神经网络在所述时间步的参数的值、以及所述时间步对应的一阶动量信息,利用求导操作,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息。
7.如权利要求6所述的方法,其中,所述利用求导操作,确定所述时间步对应的二阶动量信息包括:
利用所述随机向量乘以所述一阶动量信息,以获取海森矩阵的对角线上的元素组成的向量;
对所述时间步对应的海森矩阵的对角线上的元素组成的向量进行非线性变换,以获取经非线性变换后的海森矩阵的对角线上的元素组成的向量;
获取预配置的一阶矩系数和二阶矩系数,并基于所述一阶矩系数和二阶矩系数,计算所述经非线性变换后的海森矩阵的对角线上的元素组成的向量和所述神经网络在前一时间步对应的二阶动量信息的值的加权和,并将所述加权和确定为所述时间步对应的二阶动量信息。
8.如权利要求1所述的方法,其中,所述基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新包括:
获取预配置的一阶矩系数和二阶矩系数;
基于所述一阶矩系数和所述二阶矩系数,对所述一阶动量信息和所述二阶动量信息进行去偏操作,以得到去偏后的一阶动量信息和二阶动量信息,
基于所述去偏后的一阶动量信息和二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
9.如权利要求1所述的方法,其中,所述基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新包括:
对所述一阶动量信息和所述二阶动量信息进行非线性变换,以获取对所述神经网络的参数进行更新的更新量;以及
将所述更新量与所述神经网络在所述时间步的参数的值进行叠加,以对所述神经网络的参数进行更新。
10.一种更新神经网络参数的优化器,其中所述优化器用于在多个时间步中的每个时间步中,利用损失函数对所述神经网络进行更新,所述优化器包括:
一阶动量信息计算电路,被配置为:基于所述神经网络在所述时间步的参数的值,确定所述时间步对应的一阶动量信息,所述一阶动量信息融合有所述损失函数在所述时间步的导数信息;
二阶动量信息计算电路,被配置为:基于所述时间步对应的一阶动量信息,确定所述时间步对应的二阶动量信息,所述二阶动量信息融合有所述损失函数在所述时间步的曲率信息;以及
参数更新电路,被配置为:基于所述一阶动量信息和所述二阶动量信息,对所述神经网络的参数进行更新,以得到用于下一时间步的神经网络的参数。
11.如权利要求10所述的优化器,还包括:
内存释放电路,被配置为:在所述确定所述时间步对应的一阶动量信息之后,释放用于存储所述损失函数在所述时间步的导数信息的内存。
12.一种电子设备,包括:
处理器;以及
存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行权利要求1-9中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-9中的任一项所述的方法。
CN202310246645.2A 2023-03-14 2023-03-14 对神经网络进行训练的方法及更新神经网络参数的优化器 Pending CN116258196A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310246645.2A CN116258196A (zh) 2023-03-14 2023-03-14 对神经网络进行训练的方法及更新神经网络参数的优化器
PCT/CN2024/081693 WO2024188311A1 (zh) 2023-03-14 2024-03-14 对神经网络进行训练的方法及更新神经网络参数的优化器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310246645.2A CN116258196A (zh) 2023-03-14 2023-03-14 对神经网络进行训练的方法及更新神经网络参数的优化器

Publications (1)

Publication Number Publication Date
CN116258196A true CN116258196A (zh) 2023-06-13

Family

ID=86679125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310246645.2A Pending CN116258196A (zh) 2023-03-14 2023-03-14 对神经网络进行训练的方法及更新神经网络参数的优化器

Country Status (2)

Country Link
CN (1) CN116258196A (zh)
WO (1) WO2024188311A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024188311A1 (zh) * 2023-03-14 2024-09-19 上海壁仞科技股份有限公司 对神经网络进行训练的方法及更新神经网络参数的优化器
CN118869130A (zh) * 2024-08-19 2024-10-29 上海凌泽信息科技有限公司 一种基于神经网络的智能芯片远程时间校正方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11321609B2 (en) * 2016-10-19 2022-05-03 Samsung Electronics Co., Ltd Method and apparatus for neural network quantization
CN112541916B (zh) * 2020-12-11 2023-06-23 华南理工大学 一种基于稠密连接的废旧塑料图像分割方法
CN112990958B (zh) * 2021-01-19 2024-10-18 腾讯科技(深圳)有限公司 数据处理方法、装置、存储介质及计算机设备
US20230359895A1 (en) * 2022-05-05 2023-11-09 Google Llc Training neural networks using sign and momentum based optimizers
CN115099397B (zh) * 2022-05-30 2025-04-25 清华大学 面向硬件的Adam算法二阶矩估计优化方法及系统
CN116258196A (zh) * 2023-03-14 2023-06-13 上海壁仞智能科技有限公司 对神经网络进行训练的方法及更新神经网络参数的优化器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024188311A1 (zh) * 2023-03-14 2024-09-19 上海壁仞科技股份有限公司 对神经网络进行训练的方法及更新神经网络参数的优化器
CN118869130A (zh) * 2024-08-19 2024-10-29 上海凌泽信息科技有限公司 一种基于神经网络的智能芯片远程时间校正方法及系统
CN118869130B (zh) * 2024-08-19 2025-02-11 上海凌泽信息科技有限公司 一种基于神经网络的智能芯片远程时间校正方法及系统

Also Published As

Publication number Publication date
WO2024188311A1 (zh) 2024-09-19

Similar Documents

Publication Publication Date Title
US11544573B2 (en) Projection neural networks
CN112955907B (zh) 用于量化训练的长短期记忆神经网络的方法和系统
CN114387486A (zh) 基于持续学习的图像分类方法以及装置
Ergen et al. Online training of LSTM networks in distributed systems for variable length data sequences
CN113095129B (zh) 姿态估计模型训练方法、姿态估计方法、装置和电子设备
JP6876814B2 (ja) バッチ再正規化層
JP6610278B2 (ja) 機械学習装置、機械学習方法及び機械学習プログラム
US20190034784A1 (en) Fixed-point training method for deep neural networks based on dynamic fixed-point conversion scheme
CN107679618A (zh) 一种静态策略定点化训练方法及装置
CN110428042A (zh) 往复地缩放神经元的连接权重和输入值来挫败硬件限制
CN110930996B (zh) 模型训练方法、语音识别方法、装置、存储介质及设备
WO2024188311A1 (zh) 对神经网络进行训练的方法及更新神经网络参数的优化器
CN114723989B (zh) 多任务学习方法、装置及电子设备
CN103544528A (zh) 一种基于Hadoop的BP神经网络分类方法
CN111630530B (zh) 数据处理系统、数据处理方法和计算机可读存储介质
CN110782030A (zh) 深度学习权值更新方法、系统、计算机设备及存储介质
JP2017016384A (ja) 混合係数パラメータ学習装置、混合生起確率算出装置、及び、これらのプログラム
CN118194954B (zh) 神经网络模型的训练方法及装置、电子设备和存储介质
CN113361719B (zh) 基于图像处理模型的增量学习方法和图像处理方法
CN108475346B (zh) 神经随机访问机器
CN115147680B (zh) 目标检测模型的预训练方法、装置以及设备
CN110889316B (zh) 一种目标对象识别方法、装置及存储介质
KR20230071719A (ko) 이미지 처리용 신경망 훈련 방법 및 전자 장치
WO2019208248A1 (ja) 学習装置、学習方法及び学習プログラム
CN115510731A (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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 201100 room 1302, 13 / F, building 16, No. 2388, Chenhang highway, Minhang District, Shanghai

Applicant after: Shanghai Bi Ren Technology Co.,Ltd.

Address before: 201100 room 1302, 13 / F, building 16, No. 2388, Chenhang highway, Minhang District, Shanghai

Applicant before: Shanghai Bilin Intelligent Technology Co.,Ltd.

Country or region before: China