公开了一种用于人工智能(AI)网络引擎中的模型推断的批量归一化(BN)层融合和量化方法。一种用于神经网络(NN)的方法包括合并批量归一化(BN)层参数与NN层参数,以及使用合并的BN和NN层参数计算合并的BN层和NN层函数。修正线性单元(RELU)函数可以与BN和NN层函数合并。
【技术实现步骤摘要】
人工智能神经网络引擎中模型推断的批量归一化层融合和量化方法
本专利技术的实施方式总体涉及数据和计算处理,包括神经网络(NN)硬件和软件,以用于提高推断性能。更具体地,本专利技术的实施方式涉及用于人工智能(AI)网络引擎中模型推断的批量归一化层融合和量化方法。
技术介绍
神经网络(NN)是一种模仿人脑的机器学习。例如,NN接收输入(向量),并通过由节点(神经元)构成的一系列隐藏层,使用权重或过滤器来变换输入。每个节点可以连接到前一层中的节点以接收输入,最后一个输出层或完全连接层可以提供分类或类别分数。一种常用于图像分类的NN是卷积神经网络(CNN)—例如,使用CNN来确定输入图像是否显示车辆。CNN包括具有可学习的权重和偏差的节点(神经元)的卷积层。每个节点可以接收输入,并使用权重对每个输入执行点积(内核计算),该权重在每一层的不同输入之间求和。权重和可以被馈送到另一节点卷积层中,这在输出层产生可微分分数—即,一端的原始图像像素输入到用于对图像进行分类的输出端的类别分数。可用于CNN的其他层包括对CNN层的结果进行归一化的批量归一化层(BN)和为CNN提供正值的修正线性单元(RELU)层。通常,CNN架构支持使用8位乘积累加(MAC)单元的整数运算。因此,实现CNN层、BN层和RELU层的计算可以是广泛的,特别是如果有大量的层和节点。此外,在每一层由MAC计算的计算结果被存储在存储器中,这些结果必须被检索以供后续层处理来执行计算。从存储器中检索结果因此会降低CNN的计算效率。在需要基本上实时获得输入数据或图像分类的系统中,例如自动驾驶,需要高效和快速地处理每一层的计算。
技术实现思路
本申请的一个方面提供了一种用于训练神经网络(NN)的方法,所述方法包括:对于所述NN的多个NN层中的每一层:合并批量归一化(BN)层参数与卷积(CONV)层参数,其中,所述BN层参数与对应NN层的BN层相关联,并且所述CONV层参数与对应NN层的CONV层相关联;以及形成合并的BN和CONV(BN/CONV)层,以使用合并的BN和CONV层参数计算合并的BN层和CONV层函数。本申请的另一方面提供了一种其中存储有指令的非暂时性机器可读介质,当由处理器执行时,所述指令使得所述处理器执行用于训练神经网络(NN)的操作,所述操作包括:对于所述NN的多个NN层中的每一层,合并批量归一化(BN)层参数与卷积(CONV)层参数,其中,所述BN层参数与对应NN层的BN层相关联,并且所述CONV层参数与对应NN层的CONV层相关联;以及形成合并的BN和CONV(BN/CONV)层,以使用合并的BN和CONV层参数计算合并的BN层和CONV层函数。本申请的另一方面提供了一种数据处理器,其包括:一个或多个存储器,用于接收和存储输入数据;以及处理核心,其联接至所述一个或多个存储器,以使用具有多个神经网络(NN)层的NN对所述输入数据进行分类。其中,所述NN层中的每一层包括使用一组合并的批量归一化(BN)和卷积(CONV)参数合并的BN变换和CONV内核计算层。附图说明附图示出了示例和实施方式,因此是示例性的,而不被认为是范围上的限制。图1示出了神经网络(NN)的一个示例,其示出了具有内核的卷积层、批量归一化层和修正线性单元层。图2A示出了卷积层的内核计算的一个示例图。图2B示出了用于计算批次均值和批次方差的一个示例图。图2C示出了用于用标度和移位参数变换批量归一化的批量归一化层的一个示例图。图3A示出了NN的合并卷积层、批量归一化层和修正线性单元层的一个示例图。图3B示出了用于训练和优化以获得用于合并NN层的参数的NN层的一个示例图。图4示出了获得用于合并NN层的融合参数的操作的一个示例流程图。图5示出了使用融合参数实现推断性能的NN的合并NN层的一个示例。图6示出了具有NN核心以实现合并NN层函数的NN系统的一个示例框图。图7示出了实现合并NN层函数的NN核心的一个示例框图。图8示出了在NN中实现合并NN层的操作的一个示例流程图。具体实施方式以下具体实施方式提供了在人工智能(AI)网络引擎中用于模型推断的批量归一化(BN)层融合和量化方法的实施方式和示例。对神经网络(NN)的引用包括可用于AI网络引擎的任何类型的神经网络,包括深度神经网络(DNN)和卷积神经网络(CNN)。例如,NN可以是机器学习算法或过程的实例,并且可以被训练来执行给定任务,例如对输入数据(例如,输入图像)进行分类。训练NN可以包括为通过NN的数据确定权重和偏差,包括为NN的推断性能确定批量归一化(BN)参数。一旦训练完成,NN就可以通过使用任意数量的层的参数、权重和偏差计算输出来执行任务,以产生激活,从而确定输入数据的分类或分数。因此,用这些最终确定输出(例如,类分数)的参数、权重和偏差运行或实现NN可以被称为推断。在以下实施方式和示例中,NN推断可以在嵌入式设备、系统或硬件上执行,包括集成电路、片上系统(SOC)、处理器、中央处理单元(CPU)或图形处理单元(GPU)。举例来说,用于NN的方法包括将批量归一化(BN)层参数与卷积内核计算层(CONV层)参数合并,并使用合并的BN和CONV层参数计算合并的BN层和CONV层函数。修正线性单元(RELU)函数可以与合并的BN和CONV层函数合并,以提供正值。通过合并至少BN层和CONV层函数,可以为合并的计算适当地存取和检索存储器中的数据,从而加速NN推断性能。例如,BN计算可以与CONV内核计算一起执行,因此可以最小化对存储器数据存取,从而提高计算效率。具体实施方式中对“一个实施方式”或“一个示例”的引用意味着结合该实施方式或示例描述的特定特征、结构或特性可以被包括在本公开的至少一个实施方式或示例中。在具体实施方式中,短语“在一个实施方式中”或“在一个示例中”在不同地方的出现不一定指相同的实施方式或示例。如本文所述,将参考下面讨论的细节来描述各种实施方式、示例和方面,并且附图将示出各种实施方式和示例。以下描述和附图是说明性的,而不应被认为是限制性的。描述了许多具体细节以提供对各种实施方式和示例的透彻理解。然而,在某些情况下,没有描述众所周知的或常规的细节,以便于简明地论述实施方式和示例。示例性神经网络层(NN)和各自的函数图1示出了神经网络(NN)100的一个示例,该神经网络100具有带有内核101的卷积(CONV)层102、批量归一化(BN)层103和修正线性单元(RELU)层103,该修正线性单位层103可用于分类输入数据,例如输入图像。出于解释的目的,NN100中仅涉及三个层102、103和104,如下所述,它们被合并以提高NN推断性能。CONV层102对输入数据Xi至Xn执行内核计算,以生成结果Zi至Zn。BN层103对来自CONV层102的结果Zi至Zm执行BN变换,以生成归一化结果Yi至Ym,并且RELU层104执行元素激活函本文档来自技高网...
【技术保护点】
1.一种用于训练神经网络(NN)的方法,所述方法包括:/n对于所述NN的多个NN层中的每一层,/n合并批量归一化(BN)层参数与卷积(CONV)层参数,/n其中,所述BN层参数与对应NN层的BN层相关联,并且所述CONV层参数与对应NN层的CONV层相关联;以及/n形成合并的BN和CONV(BN/CONV)层,以使用合并的BN和CONV层参数计算合并的BN层和CONV层函数。/n
【技术特征摘要】
20190624 US 16/450,7161.一种用于训练神经网络(NN)的方法,所述方法包括:
对于所述NN的多个NN层中的每一层,
合并批量归一化(BN)层参数与卷积(CONV)层参数,
其中,所述BN层参数与对应NN层的BN层相关联,并且所述CONV层参数与对应NN层的CONV层相关联;以及
形成合并的BN和CONV(BN/CONV)层,以使用合并的BN和CONV层参数计算合并的BN层和CONV层函数。
2.根据权利要求1所述的方法,还包括:
合并批量归一化变换函数与卷积内核计算函数。
3.根据权利要求2所述的方法,其中,计算所述合并的BN层和CONV层函数包括计算合并的批量归一化变换函数和卷积内核计算函数。
4.根据权利要求2所述的方法,其中,合并BN层参数与CONV层参数包括合并批量归一化常数与所述卷积内核计算函数的权重。
5.根据权利要求2所述的方法,其中,合并BN层参数与CONV层参数包括合并批量归一化偏差与所述卷积内核计算函数的偏差。
6.根据权利要求1所述的方法,还包括:
合并修正线性单元(RELU)层函数与所述合并的BN层和CONV层函数,以形成合并的BN/CONV/RELU层。
7.根据权利要求1所述的方法,还包括将所述合并的BN和CONV层参数作为元数据存储在元文件中,所述元文件随后能够由所述合并的BN/CONV层在推断期间使用。
8.一种其中存储有指令的非暂时性机器可读介质,当由处理器执行时,所述指令使得所述处理器执行用于训练神经网络(NN)的操作,所述操作包括:
对于所述NN的多个NN层中的每一层,
合并批量归一化(BN)层参数与卷积(CONV)层参数,其中,所述BN层参数与对应NN层的BN层相关联,并且
所述CONV层参数与对应NN层的CONV层相关联;以及形成合并的BN和CONV(BN/CONV)层,以使用合并的BN和CONV层参数计算合并的BN层和CONV层函数。
9.根据权利要求8所述的机器可读介质,其中,所述操作还包括:<...
【专利技术属性】
技术研发人员:郭敏,
申请(专利权)人:百度美国有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。