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,并将所述目标网络层的等效偏置值作为所述目标网络层的偏置值。优选的,确认所述目标网络层不是位于所述神经网络的最后一层,则将所述目标网络层的 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。