归一化处理方法、装置和计算机设备制造方法及图纸

技术编号:31664098 阅读:16 留言:0更新日期:2022-01-01 10:02
本申请提供了一种归一化处理方法,涉及人工智能领域,该归一化处理方法包括:批归一化BN层获取卷积神经网络中的多个数据样本,该多个数据样本为卷积神经网络中卷积层的输出结果;该BN层在正向传播的计算过程中,根据该多个数据样本并行计算该多个数据样本对应的均值以及方差;该BN层根据该多个数据样本对应的均值以及方差,对该多个数据样本进行处理以得到BN层的处理结果。本申请能够降低卷积神经网络的执行时间,提高卷积神经网络的执行效率。提高卷积神经网络的执行效率。提高卷积神经网络的执行效率。

【技术实现步骤摘要】
归一化处理方法、装置和计算机设备


[0001]本申请涉及人工智能领域,并且更具体地,涉及一种归一化处理方法、装置和计算机设备。

技术介绍

[0002]人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
[0003]随着对卷积神经网络的深入研究,其执行效率或执行时间成为研究的热点。相关的技术方案中,对降低卷积层的执行时间研究较多,而对于降低卷积神经网络中的非卷积层(例如,批归一化(batch normalize,BN)层)的研究较少。
[0004]因此,如何降低卷积神经网络中的非卷积层(例如,BN层)的执行时间,提高非卷积层的执行效率成为当前亟需要解决的问题。

技术实现思路

[0005]本申请实施例提供了一种归一化处理方法、装置以及计算机设备,可以降低卷积神经网络的执行时间,提高卷积神经网络的执行效率。
[0006]第一方面,提供了一种归一化处理方法,包括:批归一化BN层获取卷积神经网络中的多个数据样本,所述多个数据样本为所述卷积神经网络中卷积层的输出结果;所述BN层在正向传播的计算过程中,根据所述多个数据样本并行计算所述多个数据样本对应的均值以及方差;所述BN层根据所述多个数据样本对应的均值以及方差,对所述多个数据样本进行处理以得到所述BN层的处理结果。
[0007]应理解,对上述归一化处理方法可以应用在神经网络的训练阶段,或者也可以应用在神经网络的推理阶段,本申请对此不做具体限定。
[0008]上述技术方案中,通过公式转换,解决BN层在计算过程中的数据依赖问题,使得数据可以同时并行计算。这样,可以降低卷积神经网络的执行时间,提高卷积神经网络的执行效率。
[0009]在一种可能的实现方式中,所述方法还包括:所述BN层确定所述卷积神经网络的损失,所述损失是根据目标值和所述卷积神经网络的预测值确定的,所述预测值是根据所述BN层的处理结果确定的;所述BN层在反向传播的计算过程中,并行计算所述损失对所述均值的偏导以及所述损失对所述方差的偏导。
[0010]在另一种可能的实现方式中,根据所述均值、所述方差、缩放参数以及平移参数对
所述多个数据样本进行处理,得到所述BN层的处理结果;所述BN层在反向传播的计算过程中,根据所述损失分别计算所述缩放参数的偏导和所述平移参数的偏导;所述BN层根据所述缩放参数的偏导和所述平移参数的偏导分别并行计算所述损失对所述均值的偏导以及所述损失对所述方差的偏导。
[0011]在另一种可能的实现方式中,所述多个数据样本存储在本地缓存中,所述BN层从所述本地缓存中获取所述多个数据样本。
[0012]在另一种可能的实现方式中,所述方法还包括:所述BN层将所述BN层的处理结果存储在本地缓存中,以便于所述BN层的下一层从所述本地缓存中获取所述BN层的处理结果。
[0013]在另一种可能的实现方式中,所述BN层的下一层为池化层和卷积层。
[0014]在另一种可能的实现方式中,所述BN层根据如下公式并行计算所述多个数据样本对应的均值和方差,
[0015][0016][0017]其中,m表示所述多个数据样本的数量,i表示所述m个中的第i个,x
i
表示所述多个数据样本中的第i个数据样本,μ
B
表示所述多个数据样本对应的均值,表示所述多个数据样本对应的方差。
[0018]在另一种可能的实现方式中,所述BN层根据如下公式并行计算所述损失对所述均值的偏导以及所述损失对所述方差的偏导,
[0019][0020][0021]其中,E表示所述损失,m表示所述多个数据样本的数量,i表示所述m个中的第i个,表示第i个数据样本归一化后的样本点,表示所述损失对所述均值的偏导,β表示所述平移参数,表示所述平移参数的偏导,α表示所述缩放参数,表示所述缩放参数的偏导,ε表示归一化参数,表示所述损失对所述方差的偏导。
[0022]第二方面,提供了一种归一化处理装置,包括:
[0023]获取模块,用于批归一化BN层获取卷积神经网络中的多个数据样本,所述多个数据样本为所述卷积神经网络中卷积层的输出结果;
[0024]计算模块,用于所述BN层在正向传播的计算过程中,根据所述多个数据样本并行计算所述多个数据样本对应的均值以及方差;
[0025]处理模块,用于所述BN层根据所述多个数据样本对应的均值以及方差,对所述多个数据样本进行处理以得到所述BN层的处理结果。
[0026]上述获取模块、计算模块和处理模块的进一步实现功能可以参考第一方面或者第一方面的任意一种实现方式,此处不再赘述。
[0027]第三方面,提供了一种归一化处理方法,包括:神经网络中的第一层对待处理的数据进行处理,得到第一处理结果;所述第一层将所述第一处理结果存储在本地缓存中;所述神经网络中的第二层从所述本地缓存中获取所述第一处理结果;所述第二层对所述第一处理结果进行处理,得到第二处理结果,所述第二层为所述第一层的下一层。
[0028]上述技术方案中,一个层的输入数据直接从本地缓存(local buffer)中获取,从而降低神经网络的执行时间,提高神经网络的执行效率,避免神经网络多次访问外存所造成的较长的执行时间。
[0029]在一种可能的实现方式中,所述第一层为第一卷积层,所述第二层为批归一化BN层。
[0030]在另一种可能的实现方式中,所述神经网络中的第一层对待处理的数据进行处理,得到第一处理结果,包括:所述第一卷积层对待处理的数据进行特征提取,得到多个数据样本;
[0031]所述第一层将所述第一处理结果存储在本地缓存中,包括:所述第一卷积层将所述多个数据样本存储在本地缓存中;
[0032]所述神经网络中的第二层从所述本地缓存中获取所述第一处理结果,包括:所述BN层从所述本地缓存中获取所述多个数据样本;
[0033]所述第二层对所述第一处理结果进行处理,得到第二处理结果,包括:所述BN层对所述多个数据样本进行处理,得到所述BN层的处理结果。
[0034]在另一种可能的实现方式中,在所述第一层将所述第一处理结果存储在本地缓存之前,所述方法还包括:重新划分指令映射,使得所述神经网络中的第一层和所述第二层融合为一层。
[0035]上述技术方案中,可以通过重新划分的指令映射,将神经网络中的至少两个层融合为一个层,实现卷积神经网络中层与层中间的融合,使得层与层之间是通过本地缓存(localb本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种归一化处理方法,其特征在于,所述方法包括:批归一化BN层获取卷积神经网络中的多个数据样本,所述多个数据样本为所述卷积神经网络中卷积层的输出结果;所述BN层在正向传播的计算过程中,根据所述多个数据样本并行计算所述多个数据样本对应的均值以及方差;所述BN层根据所述多个数据样本对应的均值以及方差,对所述多个数据样本进行处理以得到所述BN层的处理结果。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述BN层确定所述卷积神经网络的损失,所述损失是根据目标值和所述卷积神经网络的预测值确定的,所述预测值是根据所述BN层的处理结果确定的;所述BN层在反向传播的计算过程中,并行计算所述损失对所述均值的偏导以及所述损失对所述方差的偏导。3.根据权利要求2所述的方法,其特征在于,所述BN层根据所述多个数据样本对应的均值以及方差,对所述多个数据样本进行处理,得到所述BN层的处理结果,包括:根据所述均值、所述方差、缩放参数以及平移参数对所述多个数据样本进行处理,得到所述BN层的处理结果;所述BN层在反向传播的计算过程中,并行计算所述损失对所述均值的偏导以及所述损失对所述方差的偏导,包括:所述BN层在反向传播的计算过程中,根据所述损失分别计算所述缩放参数的偏导和所述平移参数的偏导;所述BN层根据所述缩放参数的偏导和所述平移参数的偏导,并行计算所述损失对所述均值的偏导以及所述损失对所述方差的偏导。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述多个数据样本存储在本地缓存中,所述批归一化BN层获取卷积神经网络中的多个数据样本,包括:所述BN层从所述本地缓存中获取所述多个数据样本。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:所述BN层将所述BN层的处理结果存储在本地缓存中。6.根据权利要求5所述的方法,其特征在于,所述BN层的下一层为池化层和卷积层。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述BN层根据如下公式并行计算所述多个数据样本对应的均值和方差,计算所述多个数据样本对应的均值和方差,其中,m表示所述多个数据样本的数量,i表示所述m个中的第i个,x
i
表示所述多个数据样本中的第i个数据样本,μ
B
表示所述多个数据样本对应的均值,表示所述多个数据样本对应的方差。
8.根据权利要求2至7中任一项所述的方法,其特征在于,所述BN层根据如下公式并行计算所述损失对所述均值的偏导以及所述损失对所述方差的偏导,计算所述损失对所述均值的偏导以及所述损失对所述方差的偏导,其中,E表示所述损失,m表示所述多个数据样本的数量,i表示所述m个中的第i个,表示第i个数据样本归一化后的样本点,表示所述损失对所述均值的偏导,β表示所述平移参数,表示所述平移参数的偏导,α表示所述缩放参数,表示所述缩放参数的偏导,ε表示归一化参数,表示所述损失对所述方差的偏导。9.一种归一化处理装置,其特征在于,包括:获取模块,用于批归一化BN层获取卷积神经网络中的多个数据样本,所述多个数据样本为所述卷积神...

【专利技术属性】
技术研发人员:余辉张敏仪
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1