神经网络训练方法、装置、电子设备、存储介质及芯片制造方法及图纸

技术编号:38823042 阅读:12 留言:0更新日期:2023-09-15 20:02
本公开提供了一种神经网络训练方法、装置、电子设备、存储介质及芯片,该方法包括:在待训练神经网络的训练过程中,获取所述待训练神经网络中任一目标处理层对应的特征数据;对所述目标处理层的特征数据进行类型转换处理,得到转换后特征数据;其中,所述特征数据对应的第一数据类型的数据精度高于所述转换后特征数据对应的第二数据类型的数据精度;对所述目标处理层对应的所述转换后特征数据进行运算处理,生成所述目标处理层的输出特征数据。生成所述目标处理层的输出特征数据。生成所述目标处理层的输出特征数据。

【技术实现步骤摘要】
神经网络训练方法、装置、电子设备、存储介质及芯片


[0001]本公开涉及深度学习
,具体而言,涉及一种神经网络训练方法、装置、电子设备、存储介质及芯片。

技术介绍

[0002]随着深度学习的研究发展,神经网络的应用越来越广泛。在利用神经网络进行推理之前需要对神经网络进行训练,一般的,在神经网络的训练过程中采用单精度数据类型,比如float32数据类型,训练得到的神经网络精度较高,但是采用float32数据类型训练神经网络,使得训练过程中计算资源消耗较高、存储空间占用较大。
[0003]因此,亟需一种可以降低资源占用,提高计算速度,同时不损失神经网络精度的神经网络训练方法。

技术实现思路

[0004]有鉴于此,本公开至少提供一种神经网络训练方法、装置、电子设备、存储介质及芯片。
[0005]第一方面,本公开提供了一种神经网络训练方法,包括:
[0006]在待训练神经网络的训练过程中,获取所述待训练神经网络中任一目标处理层对应的特征数据;
[0007]对所述目标处理层的特征数据进行类型转换处理,得到转换后特征数据;其中,所述特征数据对应的第一数据类型的数据精度高于所述转换后特征数据对应的第二数据类型的数据精度;
[0008]对所述目标处理层对应的所述转换后特征数据进行运算处理,生成所述目标处理层的输出特征数据。
[0009]第二方面,本公开提供了一种芯片,所述芯片包括存储器和运算设备;
[0010]所述存储器,用于存储待训练神经网络中目标处理层对应的特征数据;
[0011]所述运算设备,用于从所述存储器中获取所述目标处理层对应的所述特征数据,并对所述目标处理层的特征数据进行类型转换处理,得到转换后特征数据;其中,所述特征数据对应的第一数据类型的数据精度高于所述转换后特征数据对应的第二数据类型的数据精度;以及对所述目标处理层对应的所述转换后特征数据进行运算处理,生成所述目标处理层的输出特征数据。
[0012]第三方面,本公开提供了一种神经网络训练装置,包括:
[0013]获取模块,用于在待训练神经网络的训练过程中,获取所述待训练神经网络中任一目标处理层对应的特征数据;
[0014]第一处理模块,用于对所述目标处理层的特征数据进行类型转换处理,得到转换后特征数据;其中,所述特征数据对应的第一数据类型的数据精度高于所述转换后特征数据对应的第二数据类型的数据精度;
[0015]第二处理模块,用于对所述目标处理层对应的所述转换后特征数据进行运算处理,生成所述目标处理层的输出特征数据。
[0016]第四方面,本公开提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述第一方面或任一实施方式所述的神经网络训练方法的步骤;或者如上述第二方面或任一实施方式所述的芯片。
[0017]第五方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面或任一实施方式所述的神经网络训练方法的步骤。
[0018]为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0019]为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0020]图1示出了本公开实施例所提供的一种神经网络训练方法的流程示意图;
[0021]图2示出了本公开实施例所提供的一种神经网络训练方法中,数据类型的示意图;
[0022]图3示出了本公开实施例所提供的一种芯片的结构示意图;
[0023]图4示出了本公开实施例所提供的另一种芯片的结构示意图;
[0024]图5示出了本公开实施例所提供的一种神经网络训练方法中,前向传播过程的示意图;
[0025]图6示出了本公开实施例所提供的另一种芯片的结构示意图;
[0026]图7a示出了本公开实施例所提供的一种神经网络训练方法中,反向传播过程得到输入特征梯度值的示意图;
[0027]图7b示出了本公开实施例所提供的一种神经网络训练方法中,反向传播过程得到权重特征梯度值的示意图;
[0028]图8示出了本公开实施例所提供的一种神经网络训练装置的架构示意图;
[0029]图9示出了本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
[0030]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的
所有其他实施例,都属于本公开保护的范围。
[0031]人工智能(Artificial Intelligence,AI)计算场景主要分为:训练和推理。针对不同的任务,AI芯片分为训练芯片和推理芯片;其中,训练芯片通过海量数据训练出具备特定功能的神经网络,训练芯片对精度和运算性能要求较高,训练时间相对较长。
[0032]一般的,在神经网络训练过程中,通常采用单精度数据类型(比如Float32),训练得到的神经网络精度较高,但是采用float32数据类型训练神经网络,使得训练过程对计算资源消耗较高、存储空间占用较大,需要性能较好的硬件进行支持;而AI推理芯片在空间容量、带宽以及功耗上的资源有限,使得AI推理芯片的应用受限。
[0033]为了缓解上述问题,本公开实施例提出一种神经网络训练方法、装置、电子设备、存储介质及芯片,在不损失神经网络精度的同时,通过降低数据精度来降低计算量,从而提高计算速度、节省计算资源、降低功耗。
[0034]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0035]为便于对本公开实施例进行理解,首先对本公开实施例所公开的一种神经网络训练方法进行详细介绍。本公开实施例所提供的神经网络训练方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器。在一些可能本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络训练方法,其特征在于,包括:在待训练神经网络的训练过程中,获取所述待训练神经网络中任一目标处理层对应的特征数据;对所述目标处理层的特征数据进行类型转换处理,得到转换后特征数据;其中,所述特征数据对应的第一数据类型的数据精度高于所述转换后特征数据对应的第二数据类型的数据精度;对所述目标处理层对应的所述转换后特征数据进行运算处理,生成所述目标处理层的输出特征数据。2.根据权利要求1所述的方法,其特征在于,所述特征数据包括权重特征数据和输入特征数据,所述转换后特征数据包括转换后权重特征数据和转换后输入特征数据;所述对所述目标处理层对应的所述转换后特征数据进行运算处理,生成所述目标处理层的输出特征数据,包括:针对所述转换后输入特征数据中任一窗口内的局部特征数据,将所述窗口内的局部特征数据与所述转换后权重特征数据进行点积运算处理,得到各个特征位置分别对应的中间特征值;将所述目标处理层对应的偏移量和所述各个特征位置分别对应的所述中间特征值进行累加运算处理,得到所述窗口对应的输出特征值;基于各个窗口分别对应的所述输出特征值,生成所述目标处理层的输出特征数据。3.根据权利要求2所述的方法,其特征在于,所述中间特征值的数据类型为第二数据类型,所述将所述目标处理层对应的偏移量和所述各个特征位置分别对应的所述中间特征值进行累加运算处理,得到所述窗口对应的输出特征值,包括:将所述各个特征位置分别对应的所述中间特征值进行类型转换处理,得到转换后中间特征值;将所述目标处理层对应的偏移量和所述各个特征位置分别对应的所述转换后中间特征值进行累加运算处理,得到所述窗口对应的输出特征值;其中,所述转换后中间特征值的数据类型及所述输出特征值的数据类型为所述第一数据类型。4.根据权利要求3所述的方法,其特征在于,所述将所述各个特征位置分别对应的所述中间特征值进行类型转换处理,得到转换后中间特征值,包括:基于所述待训练神经网络对应的网络任务和/或网络结构信息,确定所述目标处理层中累加运算对应的数据处理类型;响应于所述数据处理类型指示为所述第一数据类型,将所述各个特征位置分别对应的所述中间特征值进行类型转换处理,得到转换后中间特征值。5.根据权利要求2至4任一所述的方法,其特征在于,所述基于各个窗口分别对应的所述输出特征值,生成所述目标处理层的输出特征数据,包括:在所述输出特征值的数据类型为所述第二数据类型的情况下,将所述输出特征值进行类型转换处理,得到转换后输出特征值;其中,所述转换后输出特征值的数据类型为所述第一数据类型;基于各个窗口分别对应的所述转换后输出特征值,生成所述目标处理层的输出特征数
据。6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:基于所述目标处理层的输出特征数据,确定所述待训练神经网络的输出结果;基于所述输出结果和所述输出结果对应的真值数据,确定所述待训练神经网络的损失值;基于所述损失值,确定所述待训练神经网络中每个网络处理层对应的梯度值;基于各个网络处理层对应的梯度值,对所述网络处理层的网络参数进行调整,直至调整后的神经网络满足训练截止条件,生成目标神经网络。7.根据权利要求6所述的方法,其特征在于,所述待训练神经网络包括N个网络处理层,N为大于1的整数;所述基于所述损失值,确定所述待训练神经网络中每个网络处理层对应的梯度值,包括:基于所述损失值和所述第N个网络处理层对应的特征数据,生成所述第N个网络处理层对应的梯度值;根据下述步骤生成第i个网络处理层对应的梯度值:在所述第i个网络处理层不属于所述目标处理层的情况下,基于第i+1个网络处理层对应的梯度值和所述第i个网络处理层对应的特征数据,生成所述第i个网络处理层对应的梯度值;其中i为小于N、且大于或等于1的整数;在所述第i个网络处理层属于所述目标处理层的情况下,基于第i+1个网络处理层对应的梯度值、和所述第i个网络处理层对应的转换后特征数据,生成所述第i个网络处理层对应的梯度值。8.根据权利要求7所述的方法,其特征在于,所述基于第i+1个网络处理层对应的梯度值、和所述第i个网络处理层对应的转换后特征数据,生成所述第i个网络处理层对应的梯度值,包括:将所述第i+1个网络处理层对应的梯度值进行类型转换处理,得到所述第i+1个网络处理层对应的转换后梯度值;其中,所述转换后梯度值的数据类型为所述第二数据类型;将所述第i+1个网络处理层对应的所述转换后梯度值和所述第i个网络处理层对应的转换后特征数据进行点积运算处理,...

【专利技术属性】
技术研发人员:冯志芳
申请(专利权)人:上海阵量智能科技有限公司
类型:发明
国别省市:

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

1