数据归一化方法、装置、电子设备及存储介质与流程
未命名
10-18
阅读:105
评论:0
1.本技术实施例涉及深度学习技术领域,特别涉及一种数据归一化方法、装置、电子设备及存储介质。
背景技术:
2.在神经网络中,归一化是非常常见且重要的一项技术。目前,常见的归一化方式有批量归一化(batch normalization,bn)方式、实例归一化(instance normalization,in)等,通常基于神经网络的功能采用不同的归一化方式。
3.现有技术中,bn经过量化感知训练(quantize-aware training)或者后量化(post-training quantization)后,能够将bn的参数融合进神经网络中卷积的卷积核(kernel)和偏置(bias)中。这样在推理过程中,不需要再根据输入的数据确定bn的计算平均值参数和标准差参数等参数。in的平均值参数和标准差参数需要根据每次推理的数据不同而进行实时计算。
4.然而,现有神经网络框架中,仅支持bn的量化融合,对于目前在一些任务中常用到的in,并没有相应的量化方案来支持,使得带有in的神经网络只能根据每次推理的数据实时计算平均值参数和标准差参数等参数,严重影响神经网络的推理速度。
技术实现要素:
5.本技术实施例提供了一种数据归一化方法、装置、电子设备及存储介质,能够提高神经网络模型的推理速度。所述技术方案如下:
6.一方面,提供了一种数据归一化方法,所述方法包括:
7.通过对目标神经网络进行训练,确定所述目标神经网络的归一化层的标准差参数;
8.响应于接收到待处理的特征数据,基于所述特征数据,确定所述目标神经网络的归一化层的平均值参数;
9.基于所述标准差参数和所述平均值参数,通过所述目标神经网络的归一化层对所述特征数据进行归一化处理。
10.另一方面,提供了一种数据归一化装置,所述装置包括:
11.第一确定模块,用于通过对目标神经网络进行训练,确定所述目标神经网络的归一化层的标准差参数;
12.第二确定模块,用于响应于接收到待处理的特征数据,基于所述特征数据,确定所述目标神经网络的归一化层的平均值参数;
13.归一化模块,用于基于所述标准差参数和所述平均值参数,通过所述目标神经网络的归一化层对所述特征数据进行归一化处理。
14.另一方面,提供了一种电子设备,所述电子设备包括处理器和存储器;所述存储器存储有至少一条程序代码,所述至少一条程序代码用于被所述处理器执行以实现如上述方
面所述的数据归一化方法。
15.另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一条程序代码,所述至少一条程序代码用于被处理器执行以实现如上述方面所述的数据归一化方法。
16.另一方面,提供了一种计算机程序产品,所述计算机程序产品存储有至少一条程序代码,所述至少一条程序代码用于被处理器执行以实现如上述方面所述的数据归一化方法。
17.在本技术实施例中,通过神经网络训练得到固定的标准差参数,通过输入的特征数据,实时确定特征数据的平均值参数,这样在进行归一化处理时,由于采用了实时确定平均值参数的方法,使得归一化结果能够进一步保持特征数据的特点,同时将神经网络中的运算复杂的标准差参数固定,从而减小了归一化过程的计算量,进而提高了神经网络的推理速度。
附图说明
18.图1示出了本技术一个示例性实施例所提供的数据归一化方法所涉及的实施环境的示意图;
19.图2示出了本技术一个示例性实施例示出的数据归一化方法的流程图;
20.图3示出了本技术一个示例性实施例示出的数据读取范围的示意图;
21.图4示出了本技术一个示例性实施例示出的数据归一化方法的流程图;
22.图5示出了本技术一个示例性实施例示出的数据读取范围的示意图;
23.图6示出了本技术一个示例性实施例示出的数据归一化方法的流程图;
24.图7示出了本技术一个示例性实施例示出的数据归一化装置的结构框图;
25.图8示出了本技术一个示例性实施例示出的终端的结构框图;
26.图9示出了本技术一个示例性实施例示出的服务器的结构框图。
具体实施方式
27.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
28.在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
29.需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的样本数据、特征数据等都是在充分授权的情况下获取的。
30.图1是本技术实施例提供的一种数据归一化方法的实施环境的示意图,参见图1,该实施环境包括:电子设备,该电子设备可以提供为终端101,可以提供为服务器102,对此不作具体限定。
31.若电子设备提供为终端101,则由终端101对神经网络进行训练,训练完成后的神经网络可以被部署并运行在终端101上。该神经网络可以为人脸识别模型,在训练完成后,终端101通过该人脸识别模型进行人脸识别。该神经网络可以为图像语义分割模型,在训练完成后,终端101通过该图像语义分割模型对图像进行区域划分。在本技术实施例中,对神经网络不作具体限定。
32.若电子设备提供为服务器102,则由服务器102对神经网络进行训练。训练完成后的神经网络可以被部署并运行在终端101上,相应的,该实施环境还包括:终端101,终端101和服务器102通过无线或有线网络连接。终端101通过训练完成后的神经网络进行人脸识别、图像区域划分等。
33.终端101为手机、平板电脑和pc(personal computer)设备等设备中的至少一种。服务器102可以为一台服务器、由多台服务器组成的服务器集群、云服务器、云计算平台和虚拟化中心中的至少一种。
34.图2是本技术实施例提供的一种数据归一化方法的流程图,参见图2,该方法包括:
35.步骤s201:电子设备通过对目标神经网络进行训练,确定该目标神经网络的归一化层的标准差参数。
36.目标神经网络包括多种网络层,例如,卷积层、全连接层、激活层和归一化层等。归一化层包括多种参数,例如,标准差参数、平均值参数、再缩放参数或再平移参数等。其中,再缩放参数和再平移参数为可训练参数。
37.在本技术实施例中,该目标神经网络层中的归一化层的标准差参数设置为可通过训练得到的标准差参数。在一些实施例中,电子设备采用批量归一化方式(batch normalization,bn)对应的标准差参数确定方法,确定该目标神经网络中归一化层的标准差参数。该平均值参数设置为通过特征数据实时获取的平均值参数。在一些实施例中,电子设备采用实例归一化方式(instance normalization,in)对应的平均值参数确定方法,确定该目标神经网络中归一化层的平均值参数。
38.步骤s202:响应于接收到待处理的特征数据,电子设备基于该特征数据,确定该目标神经网络的归一化层的平均值参数。
39.在本技术实施例中,该平均值参数设置为通过特征数据实时获取的平均值参数。在一些实施例中,电子设备采用实例归一化方式(instance normalization,in)对应的平均值参数确定方法,确定该目标神经网络中归一化层的平均值参数。
40.在一些实施例中,该特征数据x的维度为[n,h,w,c],其中,n,h,w,c分别代表特征数据x的数量(batch)、数据高度(height)、数据宽度(width)和信道(channel)。参见图3,其示出了其示出了一种归一化层通过in方式在确定每组特征数据的平均值参数和标准差参数时对应的特征数据的统计的数据范围。在本技术实施例中,归一化层的均值参数需要根据每次推理时的特征数据的不同进行实时计算。在一些实施例中,电子设备在h
×
w的数据范围上确定该平均值参数,能够作用于单个实例。相应地,电子设备通过以下公式一确定该平均值参数。
[0041]
公式一:
[0042]
其中,μ
nc
(x)表示特征数据的平均值参数,h,q分别代表特征数据x的数据高度(height)、数据宽度(width),x为输入的特征数据。
[0043]
需要说明的一点是,电子设备还可以采用群体归一化(group normalization,gn)或层归一化(layer normalizaiton,ln)对应的平均值参数确定方法确定本技术实施例中,每组特征数据的平均值参数,这样在进行归一化时,由于采用了实时计算平均值参数的方法,使得归一化时能够保持in、gn或ln的归一化特征,还能提高归一化的计算速度。
[0044]
步骤s203:电子设备基于该标准差参数和该平均值参数,通过该目标神经网络的归一化层对该特征数据进行归一化处理。
[0045]
在本技术实施例中,电子设备基于该标准差参数和该平均值参数,结合再缩放参数,再平移参数等参数,对特征数据进行归一化处理,得到归一化后的特征数据,以便进行后续操作。
[0046]
在本技术实施例中,通过神经网络训练得到固定的标准差参数,通过输入的特征数据,实时确定特征数据的平均值参数,这样在进行归一化处理时,由于采用了实时确定平均值参数的方法,使得归一化结果能够进一步保持特征数据的特点,同时将神经网络中的运算复杂的标准差参数固定,从而减小了归一化过程的计算量,进而提高了神经网络的推理速度。
[0047]
图4是本技术实施例提供的一种数据归一化方法的流程图,参见图4,该方法包括:
[0048]
步骤s401:电子设备基于批量归一化方式,读取该批量归一化方式对应的数据范围内的一组样本数据。
[0049]
在一些实施例中,该样本数据与特征数据的维度相同,均为[n,h,w,c],其中,n,h,w,c分别代表样本数据的数量(batch)、数据高度(height)、数据宽度(width)和信道(channel)。参见图5,其示出了一种归一化层通过bn方式在确定单个平均值参数和标准差参数时对应的特征数据的统计的数据范围。在本技术实施例中,电子设备在对目标神经网络进行训练的过程中,采用bn确定单个平均值参数和标准差参数时对应的样本数据的统计的数据范围,来确定每组样本数据对应的标准差参数。相应地,电子设备在n
×h×
w的数据范围上确定每组样本数据的标准差参数,这样能够解决内部协变量偏移的问题,由于主要作用于batch维度上,对n
×h×
w的范围内的特征数据进行归一化处理,能够使神经网络的收敛速度加快。
[0050]
步骤s402:电子设备通过多组该样本数据对该目标神经网络进行训练,得到该标准差参数。
[0051]
在一些实施例中,每组样本数据的标准差参数通过以下公式二确定。
[0052]
公式二:
[0053]
其中,σc(x)表示通道c的标准差参数,c代表通道的索引值,x为输入的特征数据,∈为一个为销量,用于防止除零,n,h,w分别代表特征数据x的数量(batch)、数据高度(height)、数据宽度(width),μc(x)表示bn对应的特征数据的平均值参数。
[0054]
在本技术实施例中,电子设备通过样本数据分别确定每个通道的特征数据对应的标准差参数,基于每个特征数据的标准差参数,确定训练完成的标准差参数。在一些实施例
中,电子设备通过滑动平均的方式对训练过程中获取到的每个标准差参数进行加权求和,确定该标准差参数。相应地,电子设备确定每组样本数据的标准差参数;对多个标准差参数进行滑动平均,得到该标准差参数。该滑动平均的过程可以参见公式三实现。
[0055]
公式三:σ
mov
=momentum*σ
mov
+(1-momentum)*σ
cw
[0056]
其中,σ
mov
为当前的标准差参数,momentum为当前标准差参数的权重,其大小可以根据需要进行设置,在本技术实施例中,对此不作具体限定。例如,momentum可以为0.99、0.98等。σ
cw
为本次计算确定的标准差参数。
[0057]
在本技术实施例中,电子设备每基于样本数据中的一组数据确定出一个标准差参数,就基于对应的权重与当前的标准差参数进行加权求和,直到根据最后一组样本数据确定出标准差参数后,将该标准差参数与当前标准差参数加权求和,得到标准差参数。这样电子设备在神经网络训练的过程中,通过滑动平均将多组样本数据的标准差参数进行加权求和,得到该标准差参数,从而在后续处理过程中标准差参数为固定值,无需再进行复杂计算获取该标准差参数,进而提高了神经网络的运算速度。
[0058]
在一些实施例中,电子设备样本数据对应的标准差参数的平均值作为标准差参数。在一些实施例中,电子设备对训练过程中得到的标准差参数进行滑动平均,得到该标准差参数。在一些实施例中,电子设备将样本数据对应的标准差参数中目标取值范围内的标准差参数的平均值作为该标准差参数。其中,该目标取值范围根据需要进行设置,在本技术实施例中,对此不作具体限定。例如,电子设备根据训练过程中标准差参数的分布情况,确定标准差参数的取值范围。
[0059]
需要说明的一点是,为了保证样本数据为同一范围的样本数据,在计算标准差参数时使用的平均值参数为基于bn确定的平均值参数,即μc(x)表示bn对应的特征数据的平均值参数。在一些实施例中,该平均值参数通过bn对应的平均值参数确定方式确定,相应地,电子设备通过以下公式四确定该平均值参数。
[0060]
公式四:
[0061]
其中,μc(x)表示bn对应的特征数据的平均值参数,n,h,w分别代表特征数据x的数量(batch)、数据高度(height)、数据宽度(width),x为输入的特征数据。
[0062]
步骤s403:响应于接收到待处理的特征数据,电子设备基于该特征数据,确定该目标神经网络的归一化层的平均值参数。
[0063]
本步骤与步骤s202的原理相同,在此不再赘述。
[0064]
步骤s404:电子设备基于该标准差参数和该平均值参数,通过该目标神经网络的归一化层对该特征数据进行归一化处理。
[0065]
本步骤与步骤s203的原理相同,在此不再赘述。
[0066]
在本技术实施例中,通过神经网络训练得到固定的标准差参数,通过输入的特征数据,实时确定特征数据的平均值参数,这样在进行归一化处理时,由于采用了实时确定平均值参数的方法,使得归一化结果能够进一步保持特征数据的特点,同时将神经网络中的运算复杂的标准差参数固定,从而减小了归一化过程的计算量,进而提高了神经网络的推理速度。
[0067]
需要说明的一点是,神经网络在训练时都会通过浮点运算进行训练的,因此,训练得到的模型参数也都是浮点数据。而浮点类型的神经网络的运算量通常比较大,为了减小神经网络的运算量,通常要对神经网络进行量化。请参考图6,图6是本技术实施例提供的一种数据归一化方法的流程图,参见图6,该方法包括:
[0068]
步骤s601:电子设备通过对目标神经网络进行训练,确定该目标神经网络的归一化层的标准差参数,该标准差参数为基于训练得到的固定值。
[0069]
本步骤与步骤s201的原理相同,在此不再赘述。
[0070]
步骤s602:响应于接收到待处理的特征数据,电子设备基于该特征数据,确定该目标神经网络的归一化层的平均值参数。
[0071]
本步骤与步骤s202的原理相同,在此不再赘述。
[0072]
步骤s603:电子设备对该标准差参数和该平均值参数进行量化,得到定点类型的平均值参数和定点类型的标准差参数。
[0073]
在本步骤中,电子设备分别对该标准差参数和平均值参数进行量化。其中,标准差参数为固定值,电子设备用过量化将该标准差参数融合至该目标神经网络参数中,相应地,电子设备对该标准差参数进行量化,得到定点类型的标准差参数。其中,电子设备通过量化感知训练(quantize-aware training)或者后量化(post-training quantization)的方式将标准差参数融合到神经网络中。电子设备分别确定归一化过程中定点类型的输入数据x转换成浮点类型的输入数据的第一量化参数,以及浮点类型的输出数据o转换成定点类型的输出数据的第二量化参数,基于第一量化参数和第二量化参数确定定点类型的输入与顶点类型的输出之间的量化映射关系,基于该量化映射关系,确定该定点类型的标准差参数。相应地,该过程通过以下步骤(1)-(3)实现,包括:
[0074]
(1)电子设备通过量化感知训练,分别确定第一量化参数和第二量化参数,该第一量化参数用于目标神经网络的归一化层将浮点类型的输入数据量化为定点类型的输入数据,该第二量化参数用于目标神经网络的归一化层将浮点类型的输出数据量化为定点类型的输出数据。
[0075]
其中,电子设备可以通过样本数据,分别确定第一量化参数和第二量化参数,相应地,电子设备基于该标准差参数和该平均值参数,对定点类型的样本输入数据进行归一化处理,得到浮点类型的输出数据;基于该标准差参数和该平均值参数,确定该浮点类型的输出数据对应的浮点类型的输入数据;基于该浮点类型的输入数据和该定点类型的样本输入数据,确定第一量化参数;基于该定点类型的样本输入数据对应的定点类型的样本输出数据和该浮点类型的输出数据,确定第二量化参数。
[0076]
(2)电子设备基于该第一量化参数和该第二量化参数,确定该量化映射关系。
[0077]
在本步骤中,电子设备基于第一量化参数和第二量化参数,确定定点类型的输入数据与定点类型的输出数据之间的量化映射关系。
[0078]
(3)电子设备基于该量化映射关系,对该标准差参数进行量化,得到该定点类型的标准差参数。
[0079]
通过对标准差参数和平均值参数进行量化,使得神经网络的计算量进一步减小,进而提高了神经网络额推理速度。
[0080]
步骤s604:电子设备基于该定点类型的平均值参数和该定点类型的标准差参数,通过该目标神经网络的归一化层对该特征数据进行归一化处理。
[0081]
在进行定点推理时,电子设备通过量化后的参数对特征数据进行归一化处理。参见公式五。
[0082]
公式五:
[0083]
其中,qo为量化后的输出特征,x为输入的特征数据,round(
·
)表示取整函数,例如,四舍五入取整函数或向上取整函数等。μ
x
表示基于特征数据确定的平均值参数,inta、intb和z均为整数,用于表示浮点数据与定点数据之间的映射关系,其中,intb为2的幂次数,这样除以intb的计算能够通过移位来实现,在npu中得以方便实现,进而提高网络处理器(neural-network processing unit,npu)的运算速度,进一步提高神经网络的推理速度。
[0084]
在本技术实施例中,由于通过在训练过程中确定归一化层的标准差参数,从而标准差参数为固定值,避免了在通过归一化层对特征数据进行归一化是对标准差参数的相关复杂计算,使得神经网络可以被量化,进一步降低了目标神经网络的运算量,提高了目标神经网络的运算速度。
[0085]
在本技术实施例中,通过神经网络训练得到固定的标准差参数,通过输入的特征数据,实时确定特征数据的平均值参数,这样在进行归一化处理时,由于采用了实时确定平均值参数的方法,使得归一化结果能够进一步保持特征数据的特点,同时将神经网络中的运算复杂的标准差参数固定,从而减小了归一化过程的计算量,进而提高了神经网络的推理速度。
[0086]
请参考图7,其示出了本技术一个实施例提供的数据归一化装置的结构框图。该数据归一化装置可以通过软件、硬件或者两者的结合实现成为处理器的全部或一部分。该装置包括:
[0087]
第一确定模块701,用于通过对目标神经网络进行训练,确定所述目标神经网络的归一化层的标准差参数;
[0088]
第二确定模块702,用于响应于接收到待处理的特征数据,基于所述特征数据,确定所述目标神经网络的归一化层的平均值参数;
[0089]
归一化模块703,用于基于所述标准差参数和所述平均值参数,通过所述目标神经网络的归一化层对所述特征数据进行归一化处理。
[0090]
在一些实施例中,所述归一化模块703,包括:
[0091]
量化单元,用于对所述标准差参数和所述平均值参数进行量化,得到定点类型的平均值参数和定点类型的标准差参数;
[0092]
归一化单元,用于基于所述定点类型的平均值参数和所述定点类型的标准差参数,通过所述目标神经网络的归一化层对所述特征数据进行归一化处理。
[0093]
在一些实施例中,所述量化单元,用于对所述标准差参数进行量化感知训练,得到所述定点类型的标准差参数;对所述平均值参数进行求整处理,得到所述定点类型的平均值参数。
[0094]
在一些实施例中,所述量化单元,用于通过量化感知训练,分别确定第一量化参数和第二量化参数,所述第一量化参数用于目标神经网络的归一化层将浮点类型的输入数据
量化为定点类型的输入数据,所述第二量化参数用于目标神经网络的归一化层将浮点类型的输出数据量化为定点类型的输出数据;基于所述第一量化参数和所述第二量化参数,确定所述量化映射关系;基于所述量化映射关系,对所述标准差参数进行量化,得到所述定点类型的标准差参数。
[0095]
在一些实施例中,所述量化单元,用于基于所述标准差参数和所述平均值参数,对定点类型的样本输入数据进行归一化处理,得到浮点类型的输出数据;基于所述标准差参数和所述平均值参数,确定所述浮点类型的输出数据对应的浮点类型的输入数据;基于所述浮点类型的输入数据和所述定点类型的样本输入数据,确定第一量化参数;基于所述定点类型的样本输入数据对应的定点类型的样本输出数据和所述浮点类型的输出数据,确定第二量化参数。
[0096]
在一些实施例中,所述第一确定模块701,包括:
[0097]
读取单元,用于基于批量归一化方式,读取所述批量归一化方式对应的数据范围内的一组样本数据;
[0098]
训练单元,用于通过多组所述样本数据对所述目标神经网络进行训练,得到所述标准差参数。
[0099]
在一些实施例中,所述训练单元,用于确定每组样本数据的标准差参数;对多个标准差参数进行滑动平均,得到所述归一化层的标准差参数。
[0100]
在本技术实施例中,通过神经网络训练得到固定的标准差参数,通过输入的特征数据,实时确定特征数据的平均值参数,这样在进行归一化处理时,由于采用了实时确定平均值参数的方法,使得归一化结果能够进一步保持特征数据的特点,同时将神经网络中的运算复杂的标准差参数固定,从而减小了归一化过程的计算量,进而提高了神经网络的推理速度。
[0101]
在本技术实施例中,电子设备提供为终端或服务器。请参考图8,其示出了本技术一个示例性实施例提供的终端800的结构方框图。终端800可以是智能手机、平板电脑、笔记本电脑或可穿戴设备等终端。本技术中的终端800可以包括一个或多个如下部件:处理器810和存储器820。
[0102]
处理器810可以包括一个或者多个处理核心。处理器810利用各种接口和线路连接整个终端800内的各个部分,通过运行或执行存储在存储器820内的至少一条指令,以及调用存储在存储器820内的数据,执行终端800的各种功能和处理数据。可选地,处理器810可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器810可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)、神经网络处理器(neural-network processing unit,npu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;npu用于实现人工智能(artificial intelligence,ai)功能;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器810中,单独通过一块芯片进行实现。
[0103]
存储器820可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory,rom)。可选地,该存储器820包括非瞬时性计算机可读介质
(non-transitory computer-readable storage medium)。存储器820可用于存储至少一条指令。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个实施例的指令等;存储数据区可存储根据终端800的使用所创建的数据(比如音频数据、电话本)等。
[0104]
在一些实施例中,该终端800还包括显示屏,显示屏是用于显示用户界面的显示组件。可选的,该显示屏为具有触控功能的显示屏,通过触控功能,用户可以使用手指、触摸笔等任何适合的物体在显示屏上进行触控操作。显示屏通常设置在终端800的前面板。显示屏可被设计成为全面屏、曲面屏、异型屏、双面屏或折叠屏。显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合等,本实施例对此不加以限定。
[0105]
除此之外,本领域技术人员可以理解,上述附图所示出的终端800的结构并不构成对终端800的限定,终端800可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端800中还包括麦克风、扬声器、射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,wi-fi)模块、电源、蓝牙模块等部件,在此不再赘述。
[0106]
在该服务管理器可以供为服务器,请参考图9,其示出了本技术一个示例性实施例提供的服务器900的结构方框图。该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)910和一个或一个以上的存储器920,其中,所述存储器920中存储有至少一条指令,所述至少一条指令由所述处理器910加载并执行以实现上述各个方法实施例提供的服务调用方法。当然,该服务器900还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器900还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0107]
本技术实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,该至少一条指令由该处理器加载并执行以实现如上各个实施例示出的数据归一化方法。
[0108]
本技术实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,该至少一条指令由该处理器加载并执行以实现如上各个实施例示出的数据归一化方法。
[0109]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本技术实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0110]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种数据归一化方法,其特征在于,所述方法包括:通过对目标神经网络进行训练,确定所述目标神经网络的归一化层的标准差参数;响应于接收到待处理的特征数据,基于所述特征数据,确定所述目标神经网络的归一化层的平均值参数;基于所述标准差参数和所述平均值参数,通过所述目标神经网络的归一化层对所述特征数据进行归一化处理。2.根据权利要求1所述的方法,其特征在于,所述基于所述标准差参数和所述平均值参数,通过所述目标神经网络的归一化层对所述特征数据进行归一化处理,包括:对所述标准差参数和所述平均值参数进行量化,得到定点类型的平均值参数和定点类型的标准差参数;基于所述定点类型的平均值参数和所述定点类型的标准差参数,通过所述目标神经网络的归一化层对所述特征数据进行归一化处理。3.根据权利要求2所述的方法,其特征在于,所述对所述标准差参数和所述平均值参数进行量化,得到定点类型的平均值参数和定点类型的标准差参数,包括:对所述标准差参数进行量化感知训练,得到所述定点类型的标准差参数;对所述平均值参数进行求整处理,得到所述定点类型的平均值参数。4.根据权利要求3所述的方法,其特征在于,所述对所述标准差参数进行量化感知训练,得到所述定点类型的标准差参数,包括:通过量化感知训练,分别确定第一量化参数和第二量化参数,所述第一量化参数用于目标神经网络的归一化层将浮点类型的输入数据量化为定点类型的输入数据,所述第二量化参数用于目标神经网络的归一化层将浮点类型的输出数据量化为定点类型的输出数据;基于所述第一量化参数和所述第二量化参数,确定所述量化映射关系;基于所述量化映射关系,对所述标准差参数进行量化,得到所述定点类型的标准差参数。5.根据权利要求4所述的方法,其特征在于,所述通过量化感知训练,分别确定第一量化参数和第二量化参数,包括:基于所述标准差参数和所述平均值参数,对定点类型的样本输入数据进行归一化处理,得到浮点类型的输出数据;基于所述标准差参数和所述平均值参数,确定所述浮点类型的输出数据对应的浮点类型的输入数据;基于所述浮点类型的输入数据和所述定点类型的样本输入数据,确定第一量化参数;基于所述定点类型的样本输入数据对应的定点类型的样本输出数据和所述浮点类型的输出数据,确定第二量化参数。6.根据权利要求1所述的方法,其特征在于,所述通过对目标神经网络进行训练,确定所述目标神经网络的归一化层的标准差参数,包括:基于批量归一化方式,读取所述批量归一化方式对应的数据范围内的一组样本数据;通过多组所述样本数据对所述目标神经网络进行训练,得到所述标准差参数。7.根据权利要求6所述的方法,其特征在于,所述通过多组所述样本数据对所述目标神经网络进行训练,得到所述标准差参数,包括:
确定每组样本数据的标准差参数;对多个标准差参数进行滑动平均,得到所述归一化层的标准差参数。8.一种数据归一化装置,其特征在于,所述装置包括:第一确定模块,用于通过对目标神经网络进行训练,确定所述目标神经网络的归一化层的标准差参数;第二确定模块,用于响应于接收到待处理的特征数据,基于所述特征数据,确定所述目标神经网络的归一化层的平均值参数;归一化模块,用于基于所述标准差参数和所述平均值参数,通过所述目标神经网络的归一化层对所述特征数据进行归一化处理。9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;所述存储器存储有至少一条程序代码,所述至少一条程序代码用于被所述处理器执行以实现如权利要求1至7任一项所述的数据归一化方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一条程序代码,所述至少一条程序代码用于被处理器执行以实现如权利要求1至7任一项所述的数据归一化方法。
技术总结
本申请涉及一种数据归一化方法、装置、电子设备及存储介质,属于深度学习技术领域。方法包括:通过对目标神经网络进行训练,确定目标神经网络的归一化层的标准差参数;响应于接收到待处理的特征数据,基于特征数据,确定目标神经网络的归一化层的平均值参数;基于标准差参数和平均值参数,通过目标神经网络的归一化层对特征数据进行归一化处理。通过本方案,在进行归一化处理时,由于采用了实时确定平均值参数的方法,使得归一化结果能够进一步保持特征数据的特点,同时将神经网络中的运算复杂的标准差参数固定,从而减小了归一化过程的计算量,进而提高了神经网络的推理速度。进而提高了神经网络的推理速度。进而提高了神经网络的推理速度。
技术研发人员:郭烈强
受保护的技术使用者:OPPO广东移动通信有限公司
技术研发日:2022.03.25
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
