CN110472725A - 一种平衡二值化神经网络量化方法及*** - Google Patents
一种平衡二值化神经网络量化方法及*** Download PDFInfo
- Publication number
- CN110472725A CN110472725A CN201910599176.6A CN201910599176A CN110472725A CN 110472725 A CN110472725 A CN 110472725A CN 201910599176 A CN201910599176 A CN 201910599176A CN 110472725 A CN110472725 A CN 110472725A
- Authority
- CN
- China
- Prior art keywords
- binaryzation
- neural network
- weight
- network
- balance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种平衡二值化神经网络量化方法及***。该方法包括如下步骤:S1,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重;S2,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值;S3,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络。本发明使用平衡标准化的二值化网络权重和平衡二值化的网络激活值,使神经网络可以通过训练过程中最小化损失函数,达到激活值信息熵最大化和权重、激活量化损失最小化,从而减少量化损失,提高二值化神经网络的分类性能。
Description
技术领域
本发明涉及一种平衡二值化神经网络量化方法,同时涉及一种实现该方法的神经网络量化***,属于深度学习技术领域。
背景技术
深度神经网络(DNN),尤其是深度卷积神经网络(CNN),已在各种计算机视觉应用中得到充分证明,如图像分类,物体检测和视觉分割。传统的CNN通常具有大量参数和高性能计算要求,针对一个任务训练和推断过程需要耗费大量的时间。造成这一问题的主要原因是目前在各个任务上取得最好成绩的模型普遍采用具有极大的深度和广度的卷积神经网络,使得存储模型需要使用大量的存储资源,并且训练和推断过程中产生数量巨大的浮点数运算操作,需要占用大量计算资源。例如,AlexNet具有大约6.1E7个参数,并且需要多于0.7E9FLOP来处理224×224输入图像。随后,部署最先进的深度CNN模型需要昂贵的存储和计算资源,这在很大程度上限制了DNN在诸如移动电话,相机等便携式设备上的应用。近年来,已经提出了许多方法来学习便携式深度神经网络,包括权重量化,权值修剪,低秩分解,哈希映射,以及轻量级架构设计。
其中,基于量化的方法以非常低的精度表示网络中的权重和激活,可以产生较好的网络推断结果和高度紧凑的深度学习网络模型。因此,人们展开了大量的研究和探索,通过低精度表示网络中的权重和激活,以实现神经网络量化。但在这一过程中网络的表达能力不可避免地下降。
为了解决上述问题,在申请号为201810218916.2的中国专利申请中公开了一种级间激活值量化方法及装置,其中,该方法包括如下步骤:获取神经网络上一级激活层的激活值;采用卷积层预设权重对上一级激活层的激活值进行加权得到当前激活层的加权输入;在当前激活层对加权输入进行量化得到当前激活层的激活值。使得在对当前激活层加权输入进行量化时能够减少后续卷积层的乘法复杂度,相对于现有技术中复杂的卷积运算,能够对神经网络在进行激活值量化时之后减少卷积层乘法运算负担,从而提高了神经网络运行效率。
但是,对于模型的存储占用和模型的计算量引起的消耗并没有很好地处理。
发明内容
针对现有技术的不足,本发明所要解决的首要技术问题在于提供一种平衡二值化神经网络量化方法。
本发明所要解决的另一技术问题在于提供一种平衡二值化神经网络量化***。
为实现上述发明目的,本发明采用下述的技术方案:
根据本发明实施例的第一方面,提供一种平衡二值化神经网络量化方法,包括如下步骤:
S1,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重;
S2,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值;
S3,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络。
其中较优地,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重,包括如下步骤:对于神经网络中的原始权重,以卷积核为单位计算权重的均值;
对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重。
其中较优地,对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重,包括如下步骤:
对卷积核中的所有元素做减均值操作得到第一中间结果;
计算第一中间结果的标准差,并对中的所有元素做标准化操作得到第二中间结果;
对第二中间结果中的所有元素使用符号函数得到二值化权重。
其中较优地,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值,包括如下步骤:
对于神经网络中的激活值,对于每个通道,计算该通道的均值并对该通道中的所有元素做减均值操作;
对激活值中的所有元素使用符号函数得到二值化激活值。
其中较优地,二值化权重中的元素服从伯努利分布且方差为1;
二值化激活值中的元素服从伯努利分布。
其中较优地,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络,包括如下步骤:
在训练过程中,保存权重的全精度副本,在网络前向推断过程中对神经网络中的权重进行平衡标准二值化操作,对激活值进行平衡二值化操作,采用生成的二值化权重和二值化激活值进行神经网络推断;
在网络反向传播过程中,使用全精度梯度更新网络中权重的全精度副本,并通过最小化损失函数来迭代优化网络中的参数。
其中较优地,在网络反向传播过程中,使用全精度梯度更新网络中权重的全精度副本,包括如下步骤:
计算神经网络梯度;
更新网络中的权重v,采用如下公式:
其中,η代表网络训练时的学习率。
其中较优地,计算神经网络梯度,采用如下公式:
其中,L为损失函数;x为激活值;z为输出激活值;v为原始权重;w为全精度平衡标准化权重;Bw为平衡标准二值化权重;Bx为平衡二值化激活值。
其中较优地,通过最小化损失函数来迭代优化网络中的参数,采用如下公式:
s.t.Bw∈{-1,+1},Bw T1=0;
其中,Bw表示二值化权重;Qa(z)表示该层神经元输出的量化后的激活值;表示包含Bw的损失函数,f(I;Bw)为神经网络的推断值,I为样本的输入,y为样本的真实标签;D为样本输入和样本标签组成的键值对集合;表示量化后的激活值的信息熵,信息熵的计算公式可以表示为:
其中,p为Qa(z)取值为1的概率,0<p<1。
根据本发明实施例的第二方面,提供一种平衡二值化神经网络量化***,包括处理器和存储器;所述存储器上存储有可用在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时实现如下步骤:
S1,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重;
S2,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值;
S3,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络。
本发明提供的平衡二值化神经网络量化方法,使用平衡标准化的二值化网络权重和平衡二值化的网络激活值,使神经网络可以通过训练过程中最小化损失函数,达到激活值信息熵最大化和权重、激活量化损失最小化,从而减少量化损失,提高二值化神经网络的分类性能。
附图说明
图1为本发明所提供的平衡二值化神经网络量化方法的流程图;
图2为本发明所提供的平衡二值化神经网络量化***的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术内容进行详细具体的说明。
基于量化的神经网络压缩加速方法可以以非常低的精度表示网络中的权重和激活,将权重和激活量化为一位值的极端情况可以使神经网络通过逐位运算有效地实现传统的卷积运算,实现小型存储和快速推理。卷积神经网络模型的全二值化能够最大程度地降低模型的存储占用和模型的计算量,极大地节省了参数的存储空间,同时将原本参数的计算由浮点数运算转化为位运算,极大地加速了神经网络的推断过程并减小计算量。
近年来,DNN二值化的相关方法取得了很大进展,但与全精度模型相比,现有的量化方法仍然会导致精度大幅下降。在二值化网络中,之前的32位网络权重和网络激活值被量化为1位的二值化权重和二值化激活值,以便于降低网络存储空间并使用位运算加速网络推断。但在这一过程中网络的表达能力不可避免地下降,观察结果同样表明,当使用二进制表示时,通过二值卷积网络传播的信息大部分丢失。其中一个关键原因是由量化函数产生的偏差,如大多数先前方法中的二值化后,极端情况下权值会退化到全1或者全-1,与稳定和信息量训练的平衡激活分布不同。这就是为什么许多二值化网络模型仍然严重依赖批量标准化层以获得更好的收敛性。然而,如果没有适当的二值化策略设计,使用批量标准化可能仍会导致二值化偏差。因此,需要设计一种合理的网络二值量化方法,使得网络在得到二值量化压缩与加速的同时,使网络中的信息得到更好的保持,从而达到更好的推断准确率。
为了达到这个目的,在二值化网络中保留更多信息,本发明提出了权重和激活的平衡二值化,以便最大化激活值的信息熵。通过删除激活中的均值发现,本方法可以获得激活的最大熵,同时二值权重的简单保持平衡将有助于通过多个层维持激活的零均值属性。为了在深度网络中实现这一目标,本方法重新设置权重参数并设计线性变换以替换原始权重,这可以轻松实现并支持广泛的深度网络体系结构。本方法与按位运算完全兼容,具有快速推断量化神经网络的优点。事实表明,本方法在各种网络架构中的表现非常出色,在内存消耗,推理速度和准确性方面优于现有技术。
如图1所示,本发明所提供的平衡二值化神经网络量化方法,包括如下步骤:S1,对于神经网络中的权重,以卷积核的每个通道为单位计算权重的均值和标准差,对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重;S2,对于神经网络中的激活值,以通道为单位计算激活值的均值,对各通道的激活值做减均值操作,获得中心化激活值后使用符号函数获得二值化激活值;S3,在神经网络的迭代训练过程中对网络中的卷积层执行上述步骤,从而生成平衡二值化神经网络。在本发明所提供的实施例中,获得二值化权重和获得二值化激活值的过程并无先后顺序。下面对这一过程做详细具体的说明。
S1,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重;具体的,对于神经网络中的权重,以卷积核为单位计算权重的均值和标准差,对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重Bw。
在本发明所提供的实施例中,对于神经网络中的权重进行平衡标准二值化,对于网络中的激活值进行平衡二值化。在训练过程中,保存权重的全精度副本,在网络前向推断过程中实施计算网络中权重的标准差和均值与激活值的均值,并对权重和激活值进行平衡标准二值化和平衡二值化,采用二值化后的计算结果作为网络的推断结果,在网络反向传播过程中使用全精度梯度更新网络中权重的全精度副本,并通过最小化损失函数来迭代优化网络中的参数。在推断过程中,平衡二值化网络使用二值化的网络权重和激活值,在前向计算过程的卷积层中使用XNOR和Bitcount操作进行推断。
具体的,对于神经网络中的权重进行平衡标准二值化;具体包括如下步骤:
S11,对于神经网络中的原始权重,以卷积核为单位计算权重的均值。
具体的,对于神经网络中的原始权重V,对于每个卷积核,首先计算卷积核的权重的均值,其中,计算均值的方法为常规数学计算方法,在此便不再赘述了。
S12,对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重Bw;具体包括如下步骤:
S121,对卷积核中的所有元素做减均值操作得到第一中间结果w1。
S122,计算第一中间结果w1的标准差,并对w1中的所有元素做标准化操作(对w1中的所有元素做除标准差的操作)得到第二中间结果w2,即全精度平衡标准化权重。
S123,对第二中间结果w2中的所有元素使用符号函数得到二值化权重Bw。
具体的,得到各个卷积核的权重的均值和标准差之后,对卷积核中的所有元素做减均值操作和标准化操作,得到具有中心化和标准化属性的网络权重,即全精度平衡标准化权重w,具体采用如下公式获得:
其中,V为神经网络中卷积核的原始权重;δ()为标准差计算函数;dw为权重变量的维度。
之后,对w中的所有元素使用符号函数得到二值化权重Bw:
Bw=sign(w);
推断时使用量化后的二值化权重。根据所提出的权重量化方法,所得的二值化权重Bw应满足Bw∈{-1,+1}d,并粗略的满足均值为0(零均值)和方差为1(一方差)的条件,即Bw中的元素服从伯努利分布且方差为1。使用该方法所得的二值化权重,通过训练过程中最小化损失函数,可以使网络中激活值信息熵最大化和权重量化损失最小化。
S2,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值。具体的,对于神经网络中的激活值,以通道为单位计算激活值的均值,对各通道的激活值做减均值操作,获得中心化激活值后使用符号函数获得二值化激活值。
对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值,具体包括如下步骤:
S21,对于神经网络中的激活值X,对于每个通道,计算该通道的均值并对该通道中的所有元素做减均值操作;在本发明所提供的实施例中,对该通道中的所有元素做减均值操作采用如下公式:
其中,dx为激活的维度。
S22,对激活值X中的所有元素使用符号函数得到二值化激活值Bx。
根据所提出的权重量化方法,所得的二值化激活值Bx应满足二值化条件,即Bx∈{-1,+1}d,并粗略的满足均值为0(零均值)的条件,即Bx中的元素服从伯努利分布。使用该方法所得的二值化激活值,可以抵消神经网络中非线性层(Nonlinear)与批量标准化层(Batch Normalization)等对神经网络激活值带来的影响,使得卷积层中的激活值始终保持平衡分布。
S3,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络。
具体的,在神经网络的迭代训练过程中,对网络中的卷积层执行S1、S2中所述方法,使用对全精度权重和激活值进行了量化的二值化权重Bw和二值化激活值Bx进行神经网络推断,在反向传播时对神经网络中的全精度权重进行更新,从而生成平衡二值化神经网络。在使用神经网络进行推断时,仅使用训练好的二值化权重Bw和二值化激活值Bx进行推断。即在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络;包括如下步骤:
S31,在训练过程中,保存权重的全精度副本,在网络前向推断过程中对神经网络中的权重进行平衡标准二值化操作,对激活值进行平衡二值化操作,采用生成的二值化权重和二值化激活值进行神经网络推断;具体的,在网络前向推断过程中对神经网络中的权重进行平衡标准二值化操作,即计算平衡标准二值化权重Bw:以及计算平衡二值化激活值Bx:采用生成的二值化权重和二值化激活值进行神经网络推断,计算神经元输出z:z=Bw TBx。
S32,在网络反向传播过程中,使用全精度梯度更新网络中权重的全精度副本,并通过最小化损失函数来迭代优化网络中的参数。其中,在网络反向传播过程中,使用全精度梯度更新网络中权重的全精度副本,具体包括如下步骤:
S321,计算神经网络梯度;参见下表1,采用如下公式:
其中,L为损失函数;x为激活值;z为输出激活值;v为原始权重;w为全精度平衡标准化权重;Bw为平衡标准二值化权重;Bx为平衡二值化激活值。
S322,更新网络中的权重v,采用如下公式:
其中,η代表网络训练时的学习率。
然后,通过最小化损失函数来迭代优化网络中的参数。在本发明所提供的实施例中,通过最小化损失函数来迭代优化网络中的参数,采用如下公式:
s.t.Bw∈{-1,+1},Bw T1=0
其中,Bw表示二值化权重;Qa(z)表示该层神经元输出的量化后的激活值;表示包含Bw的损失函数,f(I;Bw)为神经网络的推断值,I为样本的输入,y为样本的真实标签;D为样本输入和样本标签组成的键值对集合;表示量化后的激活值的信息熵,信息熵的计算公式可以表示为:
即Qa(z)以概率p取值1,值-1取概率为1-p时的信息熵表示方法,其中0<p<1。使用平衡量化的二值化权重时,可以使激活值的信息熵最大化,在这一基础上,S3中可以迭代优化损失函数进行网络的优化。
如下表1所示,为平衡二值化神经网络算法流程。
表1训练过程中的BB-Nets中的每个过滤器的前馈和反向传播过程。
本发明实施例提供的平衡二值化神经网络量化方法,使用平衡标准化的二值化网络权重和平衡二值化的网络激活值,使神经网络可以通过训练过程中最小化损失函数,达到激活值信息熵最大化和权重、激活量化损失最小化,从而减少量化损失,提高二值化神经网络的分类性能。
综上所述,本发明所提供的平衡二值化神经网络量化方法,对于神经网络中的权重,以卷积核为单位计算权重的均值和标准差,对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重;对于神经网络中的激活值,以通道为单位计算激活值的均值,对各通道的激活值做减均值操作,获得中心化激活值后使用符号函数获得二值化激活值;在神经网络的迭代训练过程中对网络中的卷积层执行上述步骤,从而生成平衡二值化神经网络。该方法使用平衡标准化的二值化网络权重和平衡二值化的网络激活值,使神经网络可以通过训练过程中最小化损失函数,达到激活值信息熵最大化和权重、激活量化损失最小化,从而减少量化损失,提高二值化神经网络的分类性能。
本发明还提供了一种平衡二值化神经网络量化***。如图2所示,该***包括处理器22以及存储有处理器22可执行指令的存储器21;
其中,处理器22可以是通用处理器,例如中央处理器(CPU),还可以是数字信号处理器(DSP)、专用集成电路(ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,存储器21,用于存储程序代码,并将该程序代码传输给CPU。存储器21可以包括易失性存储器,例如随机存取存储器(RAM);存储器21也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器21还可以包括上述种类的存储器的组合。
具体地,本发明实施例所提供的一种基于FPGA的调度终端双接口快速倒换***,包括处理器22和存储器21;存储器21上存储有可用在处理器22上运行的计算机程序,当计算机程序被处理器22执行时实现如下步骤:
S1,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重;
S2,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值;
S3,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络。
其中,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重时,计算机程序被处理器22执行实现如下步骤;
对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重。
其中,对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重时,计算机程序被处理器22执行实现如下步骤;
对卷积核中的所有元素做减均值操作得到第一中间结果;
计算第一中间结果的标准差,并对中的所有元素做标准化操作得到第二中间结果;
对第二中间结果中的所有元素使用符号函数得到二值化权重。
其中,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值时,计算机程序被处理器22执行实现如下步骤;
对于神经网络中的激活值,对于每个通道,计算该通道的均值并对该通道中的所有元素做减均值操作;
对激活值中的所有元素使用符号函数得到二值化激活值。
其中,当计算机程序被处理器22执行时实现如下步骤;
二值化权重中的元素服从伯努利分布且方差为1;
二值化激活值中的元素服从伯努利分布。
其中,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络时,计算机程序被处理器22执行实现如下步骤;
在训练过程中,保存权重的全精度副本,在网络前向推断过程中对神经网络中的权重进行平衡标准二值化操作,对激活值进行平衡二值化操作,采用生成的二值化权重和二值化激活值进行神经网络推断;
在网络反向传播过程中,使用全精度梯度更新网络中权重的全精度副本,并通过最小化损失函数来迭代优化网络中的参数。
其中,在网络反向传播过程中,使用全精度梯度更新网络中权重的全精度副本时,计算机程序被处理器22执行实现如下步骤;
计算神经网络梯度;
更新网络中的权重v,采用如下公式:
其中,η代表网络训练时的学习率。
其中,当计算机程序被处理器22执行时实现如下步骤;
计算神经网络梯度,采用如下公式:
其中,L为损失函数;x为激活值;z为输出激活值;v为原始权重;w为全精度平衡标准化权重;Bw为平衡标准二值化权重;Bx为平衡二值化激活值。
其中,当计算机程序被处理器22执行时实现如下步骤;
通过最小化损失函数来迭代优化网络中的参数,采用如下公式:
s.t.Bw∈{-1,+1},Bw T1=0;
其中,Bw表示二值化权重;Qa(z)表示该层神经元输出的量化后的激活值;表示包含Bw的损失函数,f(I;Bw)为神经网络的推断值,I为样本的输入,y为样本的真实标签;D为样本输入和样本标签组成的键值对集合;表示量化后的激活值的信息熵,信息熵的计算公式可以表示为:
其中,p为Qa(z)取值为1的概率,0<p<1。
本发明实施例还提供了一种计算机可读存储介质。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
上面对本发明所提供的平衡二值化神经网络量化方法及***进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
Claims (10)
1.一种平衡二值化神经网络量化方法,其特征在于包括如下步骤:
S1,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重;
S2,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值;
S3,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络。
2.如权利要求1所述的平衡二值化神经网络量化方法,其特征在于对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重,包括如下步骤:对于神经网络中的原始权重,以卷积核为单位计算权重的均值;
对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重。
3.如权利要求2所述的平衡二值化神经网络量化方法,其特征在于对各卷积核中的权重做减均值和标准化操作,获得全精度平衡标准化权重后使用符号函数得到二值化权重,包括如下步骤:
对卷积核中的所有元素做减均值操作得到第一中间结果;
计算第一中间结果的标准差,并对中的所有元素做标准化操作得到第二中间结果;
对第二中间结果中的所有元素使用符号函数得到二值化权重。
4.如权利要求1所述的平衡二值化神经网络量化方法,其特征在于对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值,包括如下步骤:
对于神经网络中的激活值,对于每个通道,计算该通道的均值并对该通道中的所有元素做减均值操作;
对激活值中的所有元素使用符号函数得到二值化激活值。
5.如权利要求1所述的平衡二值化神经网络量化方法,其特征在于:
二值化权重中的元素服从伯努利分布且方差为1;
二值化激活值中的元素服从伯努利分布。
6.如权利要求1所述的平衡二值化神经网络量化方法,其特征在于在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络,包括如下步骤:
在训练过程中,保存权重的全精度副本,在网络前向推断过程中对神经网络中的权重进行平衡标准二值化操作,对激活值进行平衡二值化操作,采用生成的二值化权重和二值化激活值进行神经网络推断;
在网络反向传播过程中,使用全精度梯度更新网络中权重的全精度副本,并通过最小化损失函数来迭代优化网络中的参数。
7.如权利要求6所述的平衡二值化神经网络量化方法,其特征在于在网络反向传播过程中,使用全精度梯度更新网络中权重的全精度副本,包括如下步骤:
计算神经网络梯度;
更新网络中的权重v,采用如下公式:
其中,η代表网络训练时的学习率。
8.如权利要求7所述的平衡二值化神经网络量化方法,其特征在于计算神经网络梯度,采用如下公式:
其中,L为损失函数;x为激活值;z为输出激活值;v为原始权重;w为全精度平衡标准化权重;Bw为平衡标准二值化权重;Bx为平衡二值化激活值。
9.如权利要求6所述的平衡二值化神经网络量化方法,其特征在于通过最小化损失函数来迭代优化网络中的参数,采用如下公式:
其中,Bw表示二值化权重;Qa(z)表示该层神经元输出的量化后的激活值;表示包含Bw的损失函数,f(I;Bw)为神经网络的推断值,I为样本的输入,y为样本的真实标签;D为样本输入和样本标签组成的键值对集合;表示量化后的激活值的信息熵,信息熵的计算公式可以表示为:
其中,p为Qa(z)取值为1的概率,0<p<1。
10.一种平衡二值化神经网络量化***,其特征在于包括处理器和存储器;所述存储器上存储有可用在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时实现如下步骤:
S1,对于神经网络中的权重进行平衡标准二值化操作,得到二值化权重;
S2,对于神经网络中的激活值进行平衡二值化操作,得到二值化激活值;
S3,在神经网络的迭代训练过程中对网络中的卷积层执行步骤S1和S2,生成平衡二值化神经网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910599176.6A CN110472725A (zh) | 2019-07-04 | 2019-07-04 | 一种平衡二值化神经网络量化方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910599176.6A CN110472725A (zh) | 2019-07-04 | 2019-07-04 | 一种平衡二值化神经网络量化方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110472725A true CN110472725A (zh) | 2019-11-19 |
Family
ID=68506877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910599176.6A Pending CN110472725A (zh) | 2019-07-04 | 2019-07-04 | 一种平衡二值化神经网络量化方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110472725A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111105017A (zh) * | 2019-12-24 | 2020-05-05 | 北京旷视科技有限公司 | 神经网络量化方法、装置及电子设备 |
CN111340226A (zh) * | 2020-03-06 | 2020-06-26 | 北京市商汤科技开发有限公司 | 一种量化神经网络模型的训练及测试方法、装置及设备 |
CN111738403A (zh) * | 2020-04-26 | 2020-10-02 | 华为技术有限公司 | 一种神经网络的优化方法及相关设备 |
CN112115825A (zh) * | 2020-09-08 | 2020-12-22 | 广州小鹏自动驾驶科技有限公司 | 神经网络的量化方法、装置、服务器和存储介质 |
CN112233675A (zh) * | 2020-10-22 | 2021-01-15 | 中科院微电子研究所南京智能技术研究院 | 一种基于分离卷积神经网络的语音唤醒方法及*** |
WO2022077903A1 (zh) * | 2020-10-14 | 2022-04-21 | 浙江大学 | 基于二值神经网络的局部激活方法与*** |
-
2019
- 2019-07-04 CN CN201910599176.6A patent/CN110472725A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111105017A (zh) * | 2019-12-24 | 2020-05-05 | 北京旷视科技有限公司 | 神经网络量化方法、装置及电子设备 |
CN111105017B (zh) * | 2019-12-24 | 2023-05-16 | 北京旷视科技有限公司 | 神经网络量化方法、装置及电子设备 |
CN111340226A (zh) * | 2020-03-06 | 2020-06-26 | 北京市商汤科技开发有限公司 | 一种量化神经网络模型的训练及测试方法、装置及设备 |
CN111340226B (zh) * | 2020-03-06 | 2022-01-25 | 北京市商汤科技开发有限公司 | 一种量化神经网络模型的训练及测试方法、装置及设备 |
CN111738403A (zh) * | 2020-04-26 | 2020-10-02 | 华为技术有限公司 | 一种神经网络的优化方法及相关设备 |
CN111738403B (zh) * | 2020-04-26 | 2024-06-07 | 华为技术有限公司 | 一种神经网络的优化方法及相关设备 |
CN112115825A (zh) * | 2020-09-08 | 2020-12-22 | 广州小鹏自动驾驶科技有限公司 | 神经网络的量化方法、装置、服务器和存储介质 |
CN112115825B (zh) * | 2020-09-08 | 2024-04-19 | 广州小鹏自动驾驶科技有限公司 | 神经网络的量化方法、装置、服务器和存储介质 |
WO2022077903A1 (zh) * | 2020-10-14 | 2022-04-21 | 浙江大学 | 基于二值神经网络的局部激活方法与*** |
CN112233675A (zh) * | 2020-10-22 | 2021-01-15 | 中科院微电子研究所南京智能技术研究院 | 一种基于分离卷积神经网络的语音唤醒方法及*** |
CN112233675B (zh) * | 2020-10-22 | 2023-10-27 | 中科南京智能技术研究院 | 一种基于分离卷积神经网络的语音唤醒方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110472725A (zh) | 一种平衡二值化神经网络量化方法及*** | |
WO2020073951A1 (zh) | 用于图像识别的模型的训练方法、装置、网络设备和存储介质 | |
WO2022105714A1 (zh) | 数据处理方法、机器学习的训练方法及相关装置、设备 | |
CN107506828A (zh) | 计算装置和方法 | |
CN105975931A (zh) | 一种基于多尺度池化的卷积神经网络人脸识别方法 | |
CN111339818B (zh) | 一种人脸多属性识别*** | |
WO2021051987A1 (zh) | 神经网络模型训练的方法和装置 | |
CN113392919A (zh) | 基于客户端选择的联邦注意力dbn协同检测*** | |
CN109670927A (zh) | 信用额度的调整方法及其装置、设备、存储介质 | |
CN113158554A (zh) | 模型优化方法、装置、计算机设备及存储介质 | |
Zhang et al. | Summary of convolutional neural network compression technology | |
Hu et al. | Privacy-preserving personalized federated learning | |
Ren et al. | A novel deep learning method for application identification in wireless network | |
Zu et al. | Disease identification of Lentinus edodes sticks based on deep learning model | |
CN114723011A (zh) | 一种面向动态图链接预测的高阶时序超图卷积网络运行方法 | |
CN117078312B (zh) | 一种基于人工智能的广告投放管理方法及*** | |
CN116384127B (zh) | 用于气象生态环境的数值模拟预报方法及装置 | |
Yi et al. | pFedKT: Personalized federated learning with dual knowledge transfer | |
CN116958709A (zh) | 一种轻量级张量卷积长短时记忆网络的高光谱分类方法 | |
Peng et al. | FedGM: Heterogeneous federated learning via generative learning and mutual distillation | |
CN110544124A (zh) | 一种基于模糊神经网络的废旧手机定价方法 | |
CN116310691A (zh) | 一种融合密集网络的小样本目标检测方法 | |
Chen et al. | Privacy preserving federated learning for full heterogeneity | |
CN114444654A (zh) | 一种面向nas的免训练神经网络性能评估方法、装置和设备 | |
CN114494933A (zh) | 基于边缘智能的水文监测站图像识别监测*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |