一种神经网络批归一化的优化方法及装置制造方法及图纸

技术编号:21201092 阅读:20 留言:0更新日期:2019-05-25 01:35
本申请实施例提供一种神经网络批归一化的优化方法,包括:将神经网络中第一个网络层设置为起始层;从所述起始层开始向后依次获取不同网络层的初始偏置值;计算所述不同网络层的等效偏置值;判断是否存在目标网络层,其中,所述目标网络层的前一层所对应的等效偏置值与所述目标网络层所对应的等效偏置值之间的比值不小于预设阈值;若存在所述目标网络层,则将所述起始层至所述目标网络层的前一层之间的不同网络层的偏置值均设为0,并将所述目标网络层的等效偏置值作为所述目标网络层的偏置值。采用本方案,能够有效减少网络定点化后的位宽,有利于网络在各种现有位宽受限的AI硬件平台上部署。

AN OPTIMIZATION METHOD AND DEVICE FOR BATCH NORMALIZATION OF NEURAL NETWORK

The embodiment of this application provides an optimization method for batch normalization of a neural network, including: setting the first network layer in the neural network as the starting layer; obtaining the initial offset values of different network layers from the starting layer to the back in turn; calculating the equivalent offset values of the different network layers; and determining whether there is a target network layer, in which the former layer of the target network layer is paired with each other. The ratio between the corresponding equivalent offset value and the corresponding equivalent offset value of the target network layer is not less than the preset threshold; if the target network layer exists, the offset values of the different network layers from the initial layer to the previous layer of the target network layer are set to 0, and the equivalent offset value of the target network layer is taken as the offset value of the target network layer. This scheme can effectively reduce the fixed-point bit width of the network, and is conducive to the deployment of the network on various AI hardware platforms with limited bit width.

【技术实现步骤摘要】
一种神经网络批归一化的优化方法及装置
本申请涉及神经网络领域,具体涉及一种神经网络批归一化的优化方法及装置。
技术介绍
近年来,随着深度学习技术的发展,深度神经网络成为人工智能的关键核心技术。批归一化(BatchNormalization(BatchNorm))是一种加速深度网络训练过程的一种方法,然而BatchNorm的处理过程需要人为引入偏置,在后续的网络处理过程中,如果人为引入的偏置没有及时消除就有可能会逐步放大。如果该偏置放大幅度过大,会导致网络的定点化实现困难。如果直接对网络每一层的输出数据进行量化截位,会导致大量位宽浪费在无效的数据偏移上,而真正需要比特量化的去除偏移后的数据只能得到剩下的低位量化比特,导致网络的定点位宽膨胀。
技术实现思路
本申请实施例提供一种神经网络批归一化的优化方法及装置,能够减少人为引入的偏置带来的影响,有效降低网络的定点位宽需求。本申请实施例的第一方面提供了一种神经网络批归一化的优化方法,包括:将神经网络中第一个网络层设置为起始层;从所述起始层开始向后依次获取不同网络层的初始偏置值;调用预设算法对所述不同网络层的初始偏置值分别进行处理,以得到所述不同网络层的等效偏置值;判断是否存在目标网络层,其中,所述目标网络层的前一层所对应的等效偏置值与所述目标网络层所对应的等效偏置值之间的比值不小于预设阈值;若存在所述目标网络层,则将所述起始层至所述目标网络层的前一层之间的不同网络层的偏置值均设为0,并将所述目标网络层的等效偏置值作为所述目标网络层的偏置值。优选的,确认所述目标网络层不是位于所述神经网络的最后一层,则将所述目标网络层的后一层设置为起始层,并执行所述调用预设算法对所述从所述起始层开始向后依次获取的不同网络层的初始偏置值分别进行处理,以得到所述不同网络层的等效偏置值。本申请实施例的第二方面提供了一种神经网络批归一化的优化装置,所述装置包括:起始层设置模块,用于将神经网络中第一个网络层设置为起始层;初始偏置值获取模块,用于从所述起始层开始向后依次获取不同网络层的初始偏置值;数据处理模块,用于调用预设算法对所述不同网络层的初始偏置值分别进行处理,以得到所述不同网络层的等效偏置值;判断模块,用于判断是否存在目标网络层,其中,所述目标网络层的前一层所对应的等效偏置值与所述目标网络层所对应的等效偏置值之间的比值不小于预设阈值;优化处理模块,用于在存在所述目标网络层时,将所述起始层至所述目标网络层的前一层之间的不同网络层的偏置值均设为0,并将所述目标网络层的等效偏置值作为所述目标网络层的偏置值。本申请实施例的第三方面提供一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第一方面的步骤指令。本申请实施例的第四方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。本申请实施例的第五方面提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。实施本申请实施例,至少具有如下有益效果:通过本申请实施例,将每一个网络层的初始偏置值进行处理,得到每一个网络层的等效偏置值,通过获取到目标网络层,其中,目标网络层的前一层所对应的等效偏置值与该目标网络层所对应的等效偏置值之间的比值不小于预设阈值,以便确定该目标网络层的等效偏置值为一定范围内较小的等效偏置值,则将目标网络层之前的各网络层的偏置值设为0,并将目标网络层的等效偏置值作为目标网络层的偏置值,则保障了非目标网络层的偏置值为0,目标网络层的偏置值为很小的偏置值,达到最终神经网络的不同网络层的偏置值均较小,解决了含批归一化操作的神经网络中人为引入的偏置过大,导致信息定点化时浪费高位信息比特的问题。采用本方案,能够有效减少网络定点化后的位宽,有利于网络在各种现有位宽受限的AI硬件平台上部署。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种神经网络批归一化的优化装置的交互示意图;图2为本申请实施例提供的一种神经网络批归一化的优化方法的流程示意图;图3为本申请实施例提供的一种神经网络批归一化的优化方法的流程示意图;图4为本申请实施例提供的一种终端的结构示意图;图5为本申请实施例提供的一种神经网络批归一化的优化装置的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。一般的,神经网络结构由若干网络层组成,其中,所述若干网络层可分为输入层、卷积层、激活层、全连接层、批归一化层等等。参照图1,图1为本申请实施例提供了一种神经网络批归一化的优化交互示意图。如图1所示,该交互包括终端101、预设算法数据库102,其中,终端101将神经网络中第一个网络层设置为起始层,所述终端101从预设算法数据库102调用预设算法计算所述起始层开始不同网络层的等效bias(偏置)值;所述终端101判断是否存在目标网络层,其中,所述目标网络层的前一层所对应的等效bias值与所述目标网络层所对应的等效bias值之间的比值不小于预设阈值;若存在,则所述终端101将所述起始层至所述目标网络层的前一层之间的不同网络层的偏置值均设为0,并将所述目标网络层的等效偏置值作为所述目标网络层的偏置值;若不存在目标网络层,则各网络层的初始偏置值不作处理;所述终端101确认所述目标网络层是否位于所述神经网络的最后一层;若不是,则所述终端101将所述目标网络层的后一层设置为起始层,并执行所述终端101从预设算法数据库102调用预设本文档来自技高网...

【技术保护点】
1.一种神经网络批归一化的优化方法,其特征在于,包括:将神经网络中第一个网络层设置为起始层;从所述起始层开始向后依次获取不同网络层的初始偏置值;调用预设算法对从所述起始层开始向后依次获取的不同网络层的初始偏置值分别进行处理,以得到所述不同网络层的等效偏置值;判断是否存在目标网络层,其中,所述目标网络层的前一层所对应的等效偏置值与所述目标网络层所对应的等效偏置值之间的比值不小于预设阈值;若存在所述目标网络层,则将所述起始层至所述目标网络层的前一层之间的不同网络层的偏置值均设为0,并将所述目标网络层的等效偏置值作为所述目标网络层的偏置值。

【技术特征摘要】
1.一种神经网络批归一化的优化方法,其特征在于,包括:将神经网络中第一个网络层设置为起始层;从所述起始层开始向后依次获取不同网络层的初始偏置值;调用预设算法对从所述起始层开始向后依次获取的不同网络层的初始偏置值分别进行处理,以得到所述不同网络层的等效偏置值;判断是否存在目标网络层,其中,所述目标网络层的前一层所对应的等效偏置值与所述目标网络层所对应的等效偏置值之间的比值不小于预设阈值;若存在所述目标网络层,则将所述起始层至所述目标网络层的前一层之间的不同网络层的偏置值均设为0,并将所述目标网络层的等效偏置值作为所述目标网络层的偏置值。2.根据权利要求1所述的方法,其特征在于,还包括:获取所述起始层至所述目标网络层之间的不同激活层的初始激活函数;获取所述起始层至所述目标网络层之间的不同激活层的等效偏置值;根据所述不同激活层的等效偏置值,对所述不同激活层的初始激活函数分别进行处理,以得到所述起始层至所述目标网络层之间的不同激活层的激活函数;对所述起始层至所述目标网络层之间的不同激活层按照其激活函数分别进行激活处理。3.根据权利要求2所述的方法,其特征在于,所述对所述起始层至所述目标网络层之间的不同激活层按照所述不同激活层的激活函数分别进行激活处理之后,包括:确认所述起始层至所述目标网络层之间存在第A个网络层,所述第A个网络层存在有初始填充值,其中,A为整数,且A不小于1;获取所述第A个网络层的等效偏置值;根据所述第A个网络层的等效偏置值,对所述第A个网络层的初始填充值进行处理,以得到所述第A个网络层的填充值。4.根据权利要求1至3任一项所述的方法,其特征在于,所述将神经网络中第一个网络层设置为起始层之前,还包括:获取所述神经网络中的P个批归一化层,其中,P为正整数;确认所述P个批归一化层中存在P’个批归一化层,其中,所述P’个批归一化层中的每个批归一化层的前一网络层均为卷积层/全连接层,1≤P’≤P;将所述P’个批归一化层中的每个批归一化层与其对应的前一网络层分别进行合并。5.根据权利要求4所述的方法,其特征在于,包括:当存在N个所述目标网络层时,则获取所述N个所述目标网络层分别对应的等效偏置值中最小的等效偏置值,其中,N为大于1的整数;将所述最小的等效偏置值所对应的网络层确定为目标网络层;或者,当存在N个所述目标网络层时,则将N个所述目标网络层中的最后一个网络层确定为目标网络层。6.一种神经网络批归一...

【专利技术属性】
技术研发人员:肖海勇
申请(专利权)人:深圳云天励飞技术有限公司
类型:发明
国别省市:广东,44

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

1