一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于二值神经网络的人脸信息识别方法、装置、设备与流程

2022-10-13 06:11:24 来源:中国专利 TAG:


1.本发明涉及神经网络技术领域,具体涉及一种基于二值神经网络的人脸信息识别方法、装置、设备。


背景技术:

2.人脸信息识别被大量应用到信息加密、系统安全、身份认证等系统中。基于深度神经网络的人脸识别系统面临着高计算复杂度的需求。
3.二值神经网络是一种采用二值量化的神经网络。其中,二值量化,指的是将神经网络的权重以及特征图,离散化为只包含-1和1(或者0和1)两种状态。因此,为了降低深度神经网络的计算复杂度,可以基于二值神经网络来进行人脸信息识别。
4.当神经网络中的权重和特征值进行二值量化后,对于很多神经网络来说,精度损失很大。如何降低二值神经网络在训练时的精度损失,从而提升二值神经网络的性能,是将二值神经网络在人脸信息识别的实际应用中得到部署的先决条件。


技术实现要素:

5.本技术提供了一种基于二值神经网络的人脸信息识别方法、装置、设备,通过提高二值神经网络的训练精度,从而提升训练完成后的二值神经网络对图像中的人脸信息的识别精度。该技术方案如下。
6.一方面,提供了一种基于二值神经网络的人脸信息识别方法,所述方法包括:获取目标图像,提取所述目标图像的图像特征值,将所述图像特征值输入二值神经网络;对所述图像特征值进行二值量化处理,得到所述图像特征值的量化值;根据所述图像特征值的量化值,确定梯度调节系数的数值,所述梯度调节系数用于控制所述二值神经网络中的权重在训练过程中发生二值翻转的概率,所述二值翻转指的是所述权重在单次迭代前后对应于不同的量化值;使用所述梯度调节系数对所述权重进行梯度更新,以得到训练完成后的所述权重,所述权重用于构成训练完成后的所述二值神经网络;将待识别图像输入训练完成后的所述二值神经网络,识别所述待识别图像中的人脸信息。
7.又一方面,提供了一种基于二值神经网络的人脸信息识别装置,所述装置包括:特征值输入模块,用于获取目标图像,提取所述目标图像的图像特征值,将所述图像特征值输入二值神经网络;二值量化模块,用于对所述图像特征值进行二值量化处理,得到所述图像特征值的量化值;数值确定模块,用于根据所述图像特征值的量化值,确定梯度调节系数的数值,所述梯度调节系数用于控制所述二值神经网络中的权重在训练过程中发生二值翻转的概率,
所述二值翻转指的是所述权重在单次迭代前后对应于不同的量化值;第一梯度更新模块,用于使用所述梯度调节系数对所述权重进行梯度更新,以得到训练完成后的所述权重,所述权重用于构成训练完成后的所述二值神经网络;人脸信息识别模块,用于将待识别图像输入训练完成后的所述二值神经网络,识别所述待识别图像中的人脸信息。
8.在一种可能的实现方式中,所述数值确定模块,还用于:在所述图像特征值的量化值为第一量化值的情况下,确定所述梯度调节系数的数值为第一梯度调节系数值;在所述图像特征值的量化值为第二量化值的情况下,确定所述梯度调节系数的数值为第二梯度调节系数值;其中,所述第一梯度调节系数值与所述第二梯度调节系数值不同。
9.在一种可能的实现方式中,所述第一梯度更新模块,还用于:使用如下公式,对所述二值神经网络中的权重进行梯度更新:;其中,为所述权重,为所述权重的量化值,为所述图像特征值,为所述图像特征值的量化值,为所述梯度调节系数,为所述二值神经网络的层数,为训练迭代的次数,为所述二值神经网络的损失函数,为学习率。
10.在一种可能的实现方式中,所述装置还包括:第二梯度更新模块;所述第二梯度更新模块,用于对所述梯度调节系数进行梯度更新,以得到训练完成后的所述梯度调节系数。
11.在一种可能的实现方式中,所述第二梯度更新模块,还用于:获取梯度量级同步系数,所述梯度量级同步系数用于保障所述梯度调节系数的梯度的量级与所述权重的梯度的量级相同步;使用所述梯度量级同步系数对所述梯度调节系数进行梯度更新,以得到训练完成后的所述梯度调节系数。
12.在一种可能的实现方式中,所述第二梯度更新模块,还用于:使用如下公式,确定所述梯度量级同步系数:;
其中,为所述梯度量级同步系数,为所述二值神经网络当前层中的权重的个数。
13.再一方面,提供了一种计算机设备,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的基于二值神经网络的人脸信息识别方法。
14.又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的基于二值神经网络的人脸信息识别方法。
15.再一方面,提供了一种计算机程序产品还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的基于二值神经网络的人脸信息识别方法。
16.本技术提供的技术方案可以包括以下有益效果:在二值神经网络中,二值量化后的数据和原数据的差别较大,造成了梯度计算时具有很大的误差,这种误差造成在训练中,权重会频繁发生二值翻转,即在单次迭代前后对应于不同的量化值,使得神经网络的优化方向很难收敛到正确的方向,导致神经网络训练的精度降低。基于本技术方案,在二值神经网络的训练过程中,引入梯度调节系数,梯度调节系数的数值与训练过程所使用的图像特征值的量化值有关,在通过梯度更新的方式进行权重的训练时,由于梯度调节系数可以控制权重在训练过程中发生二值翻转的概率,因此可以提升神经网络训练的精度,从而提升训练完成后的二值神经网络对图像中的人脸信息的识别精度。
附图说明
17.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是根据一示例性实施例示出的一种二值神经网络的训练的示意图。
19.图2是根据一示例性实施例示出的基于二值神经网络的人脸信息识别方法的方法流程图。
20.图3是根据一示例性实施例示出的不同层学习出的梯度调节系数的示意图。
21.图4是根据一示例性实施例示出的二值神经网络训练过程中权重翻转概率的示意图。
22.图5是根据一示例性实施例示出的不同训练方式下的训练精度对比的示意图。
23.图6是根据一示例性实施例示出的不同训练方式下的训练精度对比的示意图。
24.图7是根据一示例性实施例示出的一种基于二值神经网络的人脸信息识别装置的结构方框图。
25.图8是根据本技术一示例性实施例提供的一种计算机设备的示意图。
具体实施方式
26.下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.应理解,在本技术的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,a指示b,可以表示a直接指示b,例如b可以通过a获取;也可以表示a间接指示b,例如a指示c,b可以通过c获取;还可以表示a和b之间具有关联关系。
28.在本技术实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
29.本技术实施例中,“预定义”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本技术对于其具体的实现方式不做限定。
[0030] 在对本技术所示的各个实施例进行说明之前,首先对本技术涉及到的几个概念进行介绍。
[0031]
1)神经网络神经网络,是一种模仿生物神经网络结构和功能的数学模型,比如深度神经网络(deep neural networks,dnn)、卷积神经网络(convolutional neural network,cnn)和循环神经网络(recurrent neural network,rnn)等。
[0032]
2)二值量化近年来,神经网络在计算机视觉,自然语言处理等领域取得了显著的性能提升,被广泛应用于自动驾驶,智能手机等实际应用。然而,神经网络的高计算量对其在移动端的部署造成了极大的挑战。二值量化作为一种有效极致的模型压缩手段,可以降低神经网络的复杂度,从而引发了广泛的关注。
[0033]
二值量化,即将神经网络的权重(weight)或者特征值(feature map),离散化为只包含-1和1(或者0和1)两种状态,从而达到提升网络计算效率和降低能量消耗的目的。
[0034]
特别的是,当神经网络中的权重和特征值同时被二值量化后,神经网络的计算(卷积操作或者全连接操作)可以使用位操作计算(如果只量化权重,则网络计算全部使用加减操作而避免了乘法操作)。使用位操作的计算方式,相对其原本的基于数值计算的方式,非常适合于计算机系统,能带来计算速度和能量消耗等多方面的收益。
[0035]
将进行二值量化的神经网络称为二值神经网络,二值神经网络在精度损失方面面临着巨大的挑战。
[0036]
二值神经网络能够承载的信息量非常受限。当神经网络中的权重和特征值进行二值量化后,对于很多神经网络,精度损失到了一种无法接受的地步。提升二值神经网络的性能,降低任务的精度损失,是二值神经网络能在实际应用中得到部署的先决条件。
[0037]
为了解决上述问题,已知的二值神经网络的相关工作,一些是针对了专用的场景,对二值量化的量化算法进行了单独的设计,使得该量化算法对特定场景更加适合;另外一些是使用了额外的损失函数进行约束。
[0038]
在上述相关工作所提供的技术方案中,均没有从二值神经网络优化的角度分析二值神经网络的精度下降的原因。
[0039]
基于如上情况,在本技术实施例中,提出了一种基于状态感知的二值神经网络的训练策略,该训练策略从理论上分析了二值神经网络训练的精度下降的原因:造成二值量化训练不稳定的原因之一是训练过程中数据的二值状态的频繁翻转。
[0040]
示例性的,结合参考图1,图1指出了二值神经网络在训练中面临的问题。其中,w 和 l分别代表权重和网络损失函数,t代表训练的迭代次数。
[0041]
在二值神经网络中,w会被二值量化,根据数据的符号位(正数或者负数),来决定其被量化为1还是-1。由于二值神经网络中仅有-1和1这两个状态,信息损失较大,进而造成梯度计算不准确(计算梯度时,使用的是量化后的值,和实际优化方向有较大不同)。
[0042]
例如,在图1所示的第t次迭代中,权重w本来的梯度方向(虚线头101),是希望下次权重w向负方向更新(数值减小),然而经过量化后,量化值为-1,此处的梯度(虚线头102)方向却是希望权重w下次迭代向正方向更新。于是第t 1次迭代中,权重w被更新成了正数(实箭头103)。同样的,在图1所示的t 1次迭代中,权重w的实际梯度和其量化后的梯度方向也有可能不一致,权重w本来的梯度方向(虚线头104),是希望下次权重w向正方向更新(数值增大),然而经过量化后,量化值为1,此处的梯度(虚线头105)方向却是希望权重w下次迭代向负方向更新,导致其有概率再次被更新成负数(实箭头106)。这种实际优化方向和量化后优化方向不一致的问题,造成了二值神经网络训练的不稳定性。有大量的计算资源被浪费在了错误的更新方向,造成了最终训练精度的降低。
[0043]
因此,根据上述二值神经网络在训练中面临的问题可见,二值神经网络中,由于表达能力有限,二值量化后的数据和原数据差别较大,造成了梯度计算时具有很大的误差。这种误差造成网络的优化方向很难收敛到正确的方向,在实践中表现出的症状是二值数据的频繁反复翻转。这些反复的翻转中,有相当一部分是因为量化后计算误差造成的,属于无效翻转,降低了网络训练的效率。
[0044]
相应地,本技术实施例提出对于不同的二值状态使用不同的梯度调节系数的技术方案,从而减少无效翻转,达到稳定训练,提升任务精度的目的,且训练好的二值神经网络可以应用于图像的人脸信息识别。
[0045]
下面,结合如下实施例对本技术提供的技术方案进行进一步说明。
[0046]
图2是根据一示例性实施例示出的基于二值神经网络的人脸信息识别方法的方法流程图。该方法由计算机设备执行。如图2所示,该基于二值神经网络的人脸信息识别方法可以包括如下步骤:步骤201,获取目标图像,提取目标图像的图像特征值,将图像特征值输入二值神经网络。
[0047]
其中,图像特征值指的是对目标图像的图像数据提取得到的特征值。其中,目标图像是包含人脸信息的图像。
[0048]
在本技术实施例中,以输入二值神经网络的是图像特征值,二值神经网络应用于计算机视觉领域中的人脸信息识别进行示例性的说明,可以理解的是,二值神经网络还可以应用于自然语言处理等其他领域,特征值相应的为其他类型的特征值。
[0049]
步骤202,对图像特征值进行二值量化处理,得到图像特征值的量化值。
[0050]
二值量化处理指的是将图像特征值量化为第一量化值、第二量化值中的一种的处理方式。比如:取图像特征值的符号,若其符号为正,则图像特征值的量化值为第一量化值“1”,若其符号为负,则图像特征值的量化值为第二量化值
“‑
1”。
[0051]
可以理解的是,本技术实施例仅以二值神经网络进行示例性的说明,其技术方案也可以类似地运用于其他的多值量化网络中。
[0052]
步骤203,根据图像特征值的量化值,确定梯度调节系数的数值,梯度调节系数用于控制二值神经网络中的权重在训练过程中发生二值翻转的概率,二值翻转指的是权重在单次迭代前后对应于不同的量化值。
[0053]
在计算机设备中,预存储有图像特征值的量化值与梯度调节系数的数值之间的对应关系,则在得到图像特征值的量化值之后,基于上述对应关系,根据当前得到的图像特征值的量化值,确定与之对应的梯度调节系数的数值。
[0054]
步骤204,使用梯度调节系数对权重进行梯度更新,以得到训练完成后的权重,权重用于构成训练完成后的二值神经网络。
[0055]
从数学上的角度来看,梯度的方向是函数增长速度最快的方向,那么梯度的反方向就是函数减少最快的方向。因此,为了最小化神经网络(包括二值神经网络)的损失函数,从而得到最优的神经网络的权重,需要对权重进行梯度更新,不断地将权重往梯度的反方向进行优化。
[0056]
在对权重进行梯度更新时,可能会发生单次迭代前后的权重对应于不同的量化值的情况,导致权重发生二值翻转,这种二值翻转很大可能性是由于量化后的梯度计算的误差造成的,属于无效翻转。
[0057]
在本技术实施例中,引入了梯度调节系数这一新的参数,该参数应用于权重的梯度更新的过程中,使用梯度调节系数对量化后的梯度计算进行调节,以基于调节后的梯度,控制权重发生发生二值翻转的概率。
[0058]
步骤205,将待识别图像输入训练完成后的二值神经网络,识别待识别图像中的人脸信息。
[0059]
在本技术实施例中,训练完成后的二值神经网络可以用于图像中的人脸信息的识别。
[0060]
综上所述,在二值神经网络中,二值量化后的数据和原数据的差别较大,造成了梯度计算时具有很大的误差,这种误差造成在训练中,权重会频繁发生二值翻转,即在单次迭代前后对应于不同的量化值,使得神经网络的优化方向很难收敛到正确的方向,导致神经网络训练的精度降低。基于本技术方案,在二值神经网络的训练过程中,引入梯度调节系数,梯度调节系数的数值与训练过程所使用的图像特征值的量化值有关,在通过梯度更新的方式进行权重的训练时,由于梯度调节系数可以控制权重在训练过程中发生二值翻转的概率,因此可以提升神经网络训练的精度,从而提升训练完成后的二值神经网络对图像中的人脸信息的识别精度。
[0061]
由于梯度调节系数的数值与图像特征值的量化值相关,而不同的量化值可以理解为是不同的状态,因此,本技术在进行二值神经网络训练时,所提供的技术方案可以称为是一种基于状态感知的二值神经网络训练。
[0062]
下面,对这种基于状态感知的二值神经网络训练进行说明。
[0063]
给定一个待量化的图像特征值,在计算它的梯度时,在图像特征值的量化值为第一量化值的情况下,确定梯度调节系数的数值为第一梯度调节系数值;在图像特征值的量化值为第二量化值的情况下,确定梯度调节系数的数值为第二梯度调节系数值;其中,第一梯度调节系数值与第二梯度调节系数值不同。
[0064]
也即,若将图像特征值记为,根据不同的状态(1或者-1),设置不同的梯度调节系数τ
−1和τ1。如公式1所示:(公式1)其中,为图像特征值,为图像特征值的量化值,为梯度调节系数,为二值神经网络的损失函数。应理解,当τ
−1等于τ1,则公式1退化为传统的二值神经网络优化算法。
[0065]
相应的,使用公式2,对所述二值神经网络中的权重进行梯度更新:(公式2)其中,为权重,为权重的量化值,为二值神经网络的层数,为训练迭代的次数,为学习率。
[0066]
下面,对这种基于状态感知的二值神经网络训练,相较于传统实现,即基于状态一致的二值神经网络训练,能够抑制二值神经网络中由于梯度计算误差造成的频繁无效翻转进行证明。
[0067]
若设置公式3:(公式3)则公式2可以简化为。
[0068]
根据简化后的公式2可知,权重发生二值翻转只发生在公式4成立的时候:
(公式4)假设图像特征值的初始状态为-1,对权重发生二值翻转的概率的分析如下。
[0069]
a.当 |τ

1| = |τ1|时,从第t次迭代到t 1次迭代的权重发生二值翻转的概率如公式5所示:(公式5)其中,n为所有的权重数量,而为满足公式6的权重数量。
[0070]
(公式6)公式4和公式6意味着如果梯度学习率乘积的绝对值,相比当前权重绝对值更大时,量化值翻转的概率更大。由于公式4和公式6中,当前次的权重w
t
在该次更新中是固定的,下一次的权重的量化值是否翻转主要取决于当前次的梯度更新量b
t
(即梯度大小和学习率的乘积)。在本技术所提供的技术方案中,人为地在梯度更新量b
t
之外,额外增加了一种基于状态感知的因子。 的大小能够影响二值量化中量化值的翻转概率。
[0071]
通过调节不同状态量化值(-1和1)所使用的梯度调节系数τ的值,可以调节权重的量化值翻转的难易程度,来达到抑制二值神经网络中权重的量化值连续翻转的概率。可以理解的是,在本技术技术方案中,允许权重的量化值发生二值翻转,因为这是正常的训练过程,但是需要抑制无意义的连续翻转。
[0072]
可推理,从第t次迭代到t 2次迭代连续反复翻转的概率如公式7所示:(公式7)b.当 |τ
−1| ≠ |τ1|时,基于状态感知的二值神经网络训练相比于基于状态感知的二值神经网络训练的连续翻转概率更小,参见如下公式8和公式9:(公式8)(公式9)其中,a指当前次迭代(a
t
代表第t次迭代)量化值翻转的集合。如,在上述公式中,取第t次和第t 1次迭代发生翻转的集合的并集来代表连续两个迭代中连续翻转的情况。
[0073]
上述两个公式的含义在于,对于网络优化过程中,非常明确其量化值为1和-1的数据,额外的梯度调节因子不会影响其更新值,这部分参数受网络梯度下降的影响,总会优化到正确的位置;而对于由于梯度方向不明,量化值在1和-1之间随机摆动的权重,通过设置
梯度调节系数τ,改变不同量化值的翻转难度,主动将这部分的权重引导到一个偏向值(1或者-1)。如此,可在二值神经网络优化过程中,抑制权重的量化值频繁的无效翻转,稳定了训练过程,提高了训练效率。
[0074]
下面,通过实验,对本技术中的基于状态感知的二值神经网络训练的有效性进行证明。
[0075]
首先,固定 τ1=1,通过网络训练寻找最优的τ
−1,图3为resnet-18不同层的学习出来的τ
−1的分布图。在图3中,纵坐标代表不同的信道(channel),横坐标为τ
−1的大小分布;图3中的a、b、c、d子图分别是resnet-18第14、15、16、17层的统计值。从图3,可以看出最优的 |τ
−1| 不等于|τ1|,即基于状态感知的二值神经网络训练能更加贴近实际数据。
[0076]
其次,跟踪了实际二值神经网络训练过程中权重翻转概率,图4为resnet-18第10层权重的量化值的翻转率的统计。在图4中,纵坐标代表翻转概率,横坐标代表训练的时期(epoch)数。m指连续翻转的次数,例如m=2代表连续翻转了2次(上文理论证明过程中只分析了连续两次翻转的情况);m=3代表连续翻转了3次。连续翻转的概率一定程度上表达了无效训练出现的概率。从图4,可以看出基于状态感知的二值神经网络训练(图例中的sa),相较于基于状态一致的二值神经网络训练,其翻转概率更低。
[0077]
之后,比较了基于状态感知的二值神经网络训练,相对基于状态一致的二值神经网络训练的训练精度,参见图5。在图5中,base sa表示基于状态感知的二值神经网络训练,base表示基于状态一致的二值神经网络训练,top-1表示准确值为预测值第一名,top-5表示准确值属于预测值前五名。从图5,可以看出基于状态感知的二值神经网络训练,相对基于状态一致的二值神经网络训练的训练精度存在提升。
[0078]
最后,比较了基于状态感知的二值神经网络训练,和其他的为了提升二值神经网络的精度的相关工作的精度对比,参见图6。在图6中,sa-bnn这一列代表基于状态感知的二值神经网络训练的效果,fp这一列代表全精度网络的性能,其他列为其他的相关工作取得的精度。从图6,可以看出,基于状态感知的二值神经网络训练,和其他的为了提升二值神经网络的精度的相关工作相比,精度更高。
[0079]
在示例性实施例中,梯度调节系数是可学习的参数,通过网络的训练学习得到。
[0080]
也即,在将该二值神经网络实际应用于人脸信息识别之前,该二值神经网络的训练方法还可以包括如下步骤:对梯度调节系数进行梯度更新,以得到训练完成后的梯度调节系数。
[0081]
在一种可能的实现方式中,获取梯度量级同步系数,梯度量级同步系数用于保障梯度调节系数的梯度的量级与权重的梯度的量级相同步;使用梯度量级同步系数对梯度调节系数进行梯度更新,以得到训练完成后的梯度调节系数。
[0082]
深度学习领域大量的实践和理论分析表明,当深度学习网络中每层梯度的量级近似时,神经网络能收敛到更好的局部最优点。根据这个理论,对公式1中引入的梯度调节系数(τ
−1和τ1)进行优化学习的时候,控制其梯度更新的量级,能使得整个二值神经网络收敛到更好的状态。
[0083]
形式化地,通过公式10来表示二值神经网络中对原本的权重w的梯度和对新引入的梯度调节系数τ的梯度的量级关系:
(公式10)根据前面的理论分析,要求||r|| =1,来使得梯度调节系数τ的梯度的量级和二值神经网络中其他参数的梯度的量级相似。
[0084]
可选的,使用如下公式11,确定梯度量级同步系数:(公式11)其中,为梯度量级同步系数,为二值神经网络当前层中的权重的个数。
[0085]
按照公式1的实现方式,梯度调节系数τ与该层的每个量化值都有关,其梯度是该层所有量化值的一个汇总,因此其梯度量化比每个单独的权重的量化值要高。为了矫正使得||r||=1,在梯度调节系数τ更新时,额外乘以一个固定的梯度量级同步系数g。
[0086]
综上所述,由于在神经网络优化过程中,对每个可学习参数的梯度下降优化,当其量级近似时,能收敛到更好的局部最优点,因此,为了配合基于状态感知的二值神经网络训练,还提出了一种梯度量级同步系数,该梯度量级同步系数能调节算法中新引入的梯度调节系数的梯度的量级,从而达到训练更稳定的目的。
[0087]
需要说明的是,上述方法实施例可以单独实施例,也可以组合实施,本技术对此不加以限制。
[0088]
图7是根据一示例性实施例示出的一种基于二值神经网络的人脸信息识别装置的结构方框图。所述装置包括:特征值输入模块701,用于获取目标图像,提取所述目标图像的图像特征值,将所述图像特征值输入二值神经网络;二值量化模块702,用于对所述图像特征值进行二值量化处理,得到所述图像特征值的量化值;数值确定模块703,用于根据所述图像特征值的量化值,确定梯度调节系数的数值,所述梯度调节系数用于控制所述二值神经网络中的权重在训练过程中发生二值翻转的概率,所述二值翻转指的是所述权重在单次迭代前后对应于不同的量化值;第一梯度更新模块704,用于使用所述梯度调节系数对所述权重进行梯度更新,以得到训练完成后的所述权重,所述权重用于构成训练完成后的所述二值神经网络;人脸信息识别模块705,用于将待识别图像输入训练完成后的所述二值神经网络,识别所述待识别图像中的人脸信息。
[0089]
在一种可能的实现方式中,所述数值确定模块703,还用于:在所述图像特征值的量化值为第一量化值的情况下,确定所述梯度调节系数的数值为第一梯度调节系数值;在所述图像特征值的量化值为第二量化值的情况下,确定所述梯度调节系数的数值为第二梯度调节系数值;其中,所述第一梯度调节系数值与所述第二梯度调节系数值不同。
[0090]
在一种可能的实现方式中,所述第一梯度更新模块704,还用于:使用如下公式,对所述二值神经网络中的权重进行梯度更新:
;其中,为所述权重,为所述权重的量化值,为所述图像特征值,为所述图像特征值的量化值,为所述梯度调节系数,为所述二值神经网络的层数,为训练迭代的次数,为所述二值神经网络的损失函数,为学习率。
[0091]
在一种可能的实现方式中,所述装置还包括:第二梯度更新模块;所述第二梯度更新模块,用于对所述梯度调节系数进行梯度更新,以得到训练完成后的所述梯度调节系数。
[0092]
在一种可能的实现方式中,所述第二梯度更新模块,还用于:获取梯度量级同步系数,所述梯度量级同步系数用于保障所述梯度调节系数的梯度的量级与所述权重的梯度的量级相同步;使用所述梯度量级同步系数对所述梯度调节系数进行梯度更新,以得到训练完成后的所述梯度调节系数。
[0093]
在一种可能的实现方式中,所述第二梯度更新模块,还用于:使用如下公式,确定所述梯度量级同步系数:;其中,为所述梯度量级同步系数,为所述二值神经网络当前层中的权重的个数。
[0094]
需要说明的是:上述实施例提供的基于二值神经网络的人脸信息识别装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0095]
请参阅图8,其是根据本技术一示例性实施例提供的一种计算机设备的示意图,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的基于二值神经网络的人脸信息识别方法。
[0096]
其中,处理器可以为中央处理器(central processing unit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路
(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0097]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
[0098]
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0099] 在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0100]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0101]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献