本发明属于人工智能,尤其涉及一种用于掌脉识别的深度学习优化方法。
背景技术:
1、掌静脉识别是利用人体手掌血液中的血红素对近红外光具有较强的吸收特性,通过摄像头采集手掌图像,获得掌静脉的分布纹路进行的身份识别。掌静脉识别是一种新兴的生物特征识别技术,安全等级高,目前已经逐渐应用于安防系统、银行系统、门禁系统等。
2、近些年,深度学习已经成为人工智能领域非常重要的一种技术,它在语音识别、人脸识别等领域上都取得了很大突破。同样,深度学习也逐渐应用于掌静脉识别领域。
3、卷积神经网络是深度学习技术的一个重要分支,广泛用于图像处理和计算机视觉的各种任务中,如目标检测,模式识别等。使用卷积神经网络进行掌脉识别也是当今常用的掌静脉识别方法,其中反向传播在训练掌脉识别网络发挥重要作用,是计算输出损失函数对每层权值的导数的链规则的一个扩展。反向传播更新包括一个正向传递,以计算给定输入数据的网络激活,在正向传递之后,损失函数(目标函数)相对于网络权值的梯度从输出层一直反向传播到输入层,并通过使用优化器来更新权值。
4、优化器是在神经网络反向传播过程中,指引损失函数(目标函数)的各个参数往正确的方向更新合适的大小,使得更新后的各个参数让损失函数(目标函数)值不断逼近全局最小。在现有掌脉识别网络中,随机梯度下降是最基本的权值更新方法,它涉及向负反向传播梯度的方向移动。此外,还有高级的优化方法,如adagrad(adaptive gradient,自适应梯度法)、rmsprop(root mean square propagation,前向均方根梯度下降算法)、adam(adaptive moment estimation,自适应估计算法)等,这些优化器通常被称为一阶方法,因为它们通常只使用一阶导数的信息来修改更新方向。还有更高级的优化方法如k-fac(kronecker-factored approximate curvature,kronecker因子近似曲率算法)、shampoo(一种预条件算法)等已被证明可以提高收敛性,减少迭代次数,相比一阶方法具有更好的性能。
5、掌脉识别网络训练过程可以看成是loss(损失)下降过程,而每一次loss如何下降,就是优化器做的事情,选择合适的优化器可以让掌脉识别网络训练时间大大减少。优化器可以分为一阶优化器和二阶优化器,目前常用的优化器是一阶优化器,如sgd(stochastic gradient descent,随机梯度下降)和其算法变种。二阶优化器近年来也被用于神经网络训练,在收敛速度上比一阶方法好很多,但是其计算量限制了实际的应用,因为在每次梯度更新的时候,这种算法需要平方级别的存储和立方级别的计算时间。
6、综上所述,现有技术存在以下两个缺点:
7、(1)目前一阶优化器使用一阶导数来进行掌脉识别网络的训练,此方法相比二阶方法而言,性能方面存在模型收敛速度慢,训练时间过长的不足。
8、(2)二阶优化方法使用目标函数的二阶导数来加速收敛,能更快地收敛到模型最优值,所需要的迭代次数少,但由于二阶优化算法过高的计算成本,且其计算量限制了实际的应用,因此目前在掌脉识别网络中应用还不普遍。
技术实现思路
1、本发明的目的在于提供一种用于掌脉识别的深度学习优化方法,通过构造一种具有分层损失结构的掌脉识别网络,在仅利用一阶优化器的情况下,实现了更接近二阶方法的性能,有效提高目前掌脉识别网络收敛速度,缩小一阶和二阶优化器的差距。
2、本发明的目的可以通过以下技术方案实现:
3、本申请实施例提供了一种用于掌脉识别的深度学习优化方法,包括以下步骤:
4、s1,输入权重wk、步长λ和学习率γ;
5、s2,执行一个前向传播,固定输入yk-1;
6、s3,执行一个反向传播,设置yk;
7、s4,每层并行进行t次权值更新迭代;
8、s5,判断所述权重wk是否收敛,若收敛,则结束模型训练;若不收敛,则执行所述步骤s2;
9、其中,yk表示激活层后的目标值;将具有k层的掌脉识别网络进行分层,给定一个分层k,k∈[k];
10、其中,通过最小化所述分层k的当前预测值与当前目标值ck的损失与所述权重wk的正则化项进行更新。
11、优选的,采用(x,y)表示掌脉识别网络的输入和目标,在具有k层的所述掌脉识别网络和给定的所述分层k中使用表示激活层前的预测值,使用表示激活层后的预测值;使用ck表示激活层前的目标值,使用yk表示激活层后的目标值。
12、优选的,其中,wk表示所述权重,fk为非递减传递函数,在所述掌脉识别网络中表示激活函数;若所述激活函数单调,单层网络为凸函数;设y0=x,所述掌脉识别网络最后一层的损失表示为
13、优选的,设定严格递增函数f:rd→rd,给定输入x∈rn和目标y∈rd;将作为识别网络激活层前的预测值,将作为识别网络激活层后的预测值。
14、优选的,将y与之间传递函数f的匹配损失定义为f的线积分:其中c=f-1(y)是激活前的目标值;将相对于的匹配损失梯度表示为:当f严格递增时,则局部匹配损失相对于是严格凸的。
15、优选的,给定一个输入x,将一个k层掌脉识别神经网络划分为一个独立的分层;在第k∈[k]层,其输入为定义c为激活前目标值,或者定义yk=fk(ck)为激活后目标值;所述通过最小化所述分层k的当前预测值与目标值ck的损失与权重的正则化项进行更新,表示为:其中,d为损失函数,r为所述正则化项。
16、优选的,对进行扩展,将其扩展到由严格凸积分函数f导出的布雷格曼散度,表示为其中,所述布雷格曼散度为非负距离的度量,其具有凸性、对偶性和严格非负性。
17、优选的,在所述掌脉识别网络的k∈[k]层,给定当前激活后的预测值其中fk是非递减传递函数,定义该层的镜像下降目标值为其中λ>0为步长。
18、优选的,设置固定输入在k∈[k]层的局部优化问题为:最小化激活后和镜像下降目标之间的匹配损失函数与l2范数正则化项:其中,γ>0控制最小化损失和正则化之间的权衡;将目标导数设为0,将wknew写成不动点迭代的解:
19、优选的,在所述掌脉识别网络更新迭代过程中,第一次迭代恢复反向传播,其表示为:
20、本发明的有益效果为:本发明将掌脉识别神经网络重新构造为多层的模块化组合,其中每个层都使用自己的权重正则化器、目标输出和损失函数,实现了性能和效率的优化,缩小了一阶和二阶优化器之间的差距;通过构造一种具有分层的局部损失结构的掌脉识别网络,提高掌脉识别网络中使用一阶方法时的收敛速度,使其能更接近二阶方法的性能。
1.一种用于掌脉识别的深度学习优化方法,其特征在于:包括如下步骤;
2.根据权利要求1所述的一种用于掌脉识别的深度学习优化方法,其特征在于:采用(x,y)表示掌脉识别网络的输入和目标,在具有k层的所述掌脉识别网络和给定的所述分层k中使用表示激活层前的预测值,使用表示激活层后的预测值;使用ck表示激活层前的目标值,使用yk表示激活层后的目标值。
3.根据权利要求2所述的一种用于掌脉识别的深度学习优化方法,其特征在于:其中,wk表示所述权重,fk为非递减传递函数,在所述掌脉识别网络中表示激活函数;若所述激活函数单调,单层网络为凸函数;设所述掌脉识别网络最后一层的损失表示为
4.根据权利要求3所述的一种用于掌脉识别的深度学习优化方法,其特征在于:设定严格递增函数f:rd→rd,给定输入x∈rn和目标y∈rd;将作为识别网络激活层前的预测值,将作为识别网络激活层后的预测值。
5.根据权利要求4所述的一种用于掌脉识别的深度学习优化方法,其特征在于:将y与之间传递函数f的匹配损失定义为f的线积分:其中c=f-1(y)是激活前的目标值;将相对于的匹配损失梯度表示为:当f严格递增时,则局部匹配损失相对于为严格凸的。
6.根据权利要求5所述的一种用于掌脉识别的深度学习优化方法,其特征在于:给定一个输入x,将一个k层掌脉识别神经网络划分为一个独立的分层;在第k∈[k]层,其输入为定义c为激活前目标值,或者定义yk=fk(ck)为激活后目标值;所述通过最小化所述分层k的当前预测值与目标值ck的损失与权重的正则化项进行更新,表示为:其中,d为损失函数,r为所述正则化项。
7.根据权利要求6所述的一种用于掌脉识别的深度学习优化方法,其特征在于:对进行扩展,将其扩展到由严格凸积分函数f导出的布雷格曼散度,表示为其中,所述布雷格曼散度为非负距离的度量,其具有凸性、对偶性和严格非负性。
8.根据权利要求7所述的一种用于掌脉识别的深度学习优化方法,其特征在于:在所述掌脉识别网络的k∈[k]层,给定当前激活后的预测值其中fk是非递减传递函数,定义该层的镜像下降目标值为其中λ>0为步长。
9.根据权利要求8所述的一种用于掌脉识别的深度学习优化方法,其特征在于:设置固定输入在k∈[k]层的局部优化问题为:最小化激活后和镜像下降目标之间的匹配损失函数与l2范数正则化项:其中,γ>0控制最小化损失和正则化之间的权衡;将目标导数设为0,将wknew写成不动点迭代的解:
10.根据权利要求9所述的一种用于掌脉识别的深度学习优化方法,其特征在于:在所述掌脉识别网络更新迭代过程中,第一次迭代恢复反向传播,其表示为: