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

人脸识别模型训练装置、方法、设备和存储介质与流程

2022-05-18 12:10:33 来源:中国专利 TAG:


1.本发明涉及模型训练领域,具体涉及一种人脸识别模型训练装置、方法、设备和存储介质。


背景技术:

2.随着人工智能技术和智能计算芯片的发展,人脸识别技术已经被广泛就部署到aiot终端设备上运行,不同模态的源数据(rgb/ir/depth)作为人脸识别模型输入已经被广泛采用,然而现有方法中一般采用单一模态数据训练对应模型参数。
3.由于模型需要在终端设备上运行,终端设备的内存远低于各服务器的内存,所以模型不能过大,因此终端设备不可以像服务器一样,通过融合不同模态数据训练模型参数使得模型具有表征两种模态数据的能力。这样势必会增加模型体积或使得网络训练很难收敛,而且该模型参数和大小可能会超过aiot设备的算力或存储能力。
4.另外,传统的用于模型训练的方法和平台无法满足表征两种模态数据的复杂的深度学习开发要求,并且因此无法满足用户对于高效模型训练方法和模型训练平台的需求。


技术实现要素:

5.因此,为了克服上述现有技术的缺点,本发明提供一种分离模型架构,通过采用交叉训练策略训练不同场景下的多模态数据,最大程度保证模型场景应用的普适性,并提供一种人脸识别模型训练装置、方法、设备和存储介质。
6.为了实现上述目的,本发明提供一种人脸识别模型训练装置,包括:样本获取模块,用于获取训练样本数据,所述训练样本数据至少包含两种不同模态的第一模态数据和第二模态数据,第一模态数据携带有第一模态标识及对应的第一样本图片,第二模态数据携带有第二模态标识及对应的第二样本图片;浅层网络训练模块,包含第一浅层网络单元和第二浅层网络单元,分别接收同一模态的训练样本数据,计算不同分支浅层网络提取的样本底层特征数据,不同的分支浅层网络是事先采用不同模态的模态数据训练得到的初始模型;深层网络训练模块,用于采用深层共享网络分别对所述浅层特征提取模块提取的样本底层特征数据进行深层特征提取,获得单一模态数据的第一特征向量和第二特征向量数据,并计算样本数据分类输出概率;损失计算模块,用于根据深层网络分类输出概率及预设损失函数,计算网络模型损失值;参数更新模块,用于根据所述网络模型损失值通过反向传播算法更新输入模态数据对应的浅层分离网络和深层网络模型参数。
7.在其中一个实施例中,所述浅层网络训练模块包括:浅层输入单元,用于将与不同模态对应的所述训练样本数据轮流交替分发给所述第一浅层网络单元中的浅层分离网络和所述第二浅层网络单元中的浅层分离网络,基于深层网络训练模块和损失计算模块处理后得到联合损失值;调整计算单元,用于根据所述联合损失值,计算所述浅层分离网络的调整数据;浅层网络训练单元,用于根据所述调整数据更新所述浅层分离网络的网络参数。
8.在其中一个实施例中,所述损失计算模块包含:第一损失计算单元,用于计算同一
模态数据通过不同分支浅层网络后的损失值l
a1
、l
a2
;第二损失计算单元,用于计算联合损失值,la_total=αl
a1
(1-α)l
a2
,其中,la_total为a模态数据的联合损失值,a表示模态数据类型,0≤α≤1,l
a1
表示第a模态数据经过第一分浅层分离网络获得的损失;l
a2
表示第a模态数据经过第二浅层分离网络获得的损失。
9.在其中一个实施例中,所述深层网络训练模块包括:数据接收单元,用于分别接收所述浅层特征提取模块提取的样本底层特征数据;向量提取单元,用于采用深层共享网络对所述样本底层特征数据进行特征提取,获得单一模态数据的第一特征向量和第二特征向量数据;深层训练单元,用于根据所述单一模态数据的第一特征向量和第二特征向量数据,计算样本数据分类输出概率。
10.在其中一个实施例中,装置还包括:交叉训练模块,用于根据训练节拍依次循环接收由不同模态数据计算获得的联合损失值,并根据该联合损失值依次循环训练深层网络模型参数和当前模态数据对应的浅层分离网络模型参数。
11.本发明提供一种人脸识别模型训练方法,包括:获取训练样本数据,所述训练样本数据至少包含两种不同模态的第一模态数据和第二模态数据,第一模态数据携带有第一模态标识及对应的第一样本图片,第二模态数据携带有第二模态标识及对应的第二样本图片;将两种模态数据按设定的样本选取数量及节拍,采用交叉训练的策略依次输入至初始模型中,通过交叉训练模块分别训练不同分支的浅层分离网络,构建浅层特征提取模块;采用深层共享网络对所述浅层特征提取模块提取的样本底层特征数据进行深层特征提取,获得单一模态数据的第一特征向量和第二特征向量数据,并计算样本数据分类输出概率;根据深层网络分类输出概率及预设损失函数,计算网络模型损失值;根据所述网络模型损失值通过反向传播算法更新输入模态数据对应的浅层分离网络和深层网络模型参数。
12.在其中一个实施例中,所述将两种模态数据按设定的样本选取数量,采用交叉训练的策略依次输入至初始模型中,分别训练不同分支的浅层分离网络,包括:将与不同模态对应的所述训练样本数据轮流交替分发给所述第一浅层网络单元中的浅层分离网络和所述第二浅层网络单元中的浅层分离网络,得到联合损失值;根据所述联合损失值,计算所述浅层分离网络的调整数据;根据所述调整数据更新所述浅层分离网络的网络参数。
13.在其中一个实施例中,所述根据深层网络分类输出概率及预设损失函数,计算网络模型损失值,包括:计算同一模态数据通过不同分支浅层网络后的损失值l
a1
、l
a2
;计算联合损失值,la_total=αl
a1
(1-α)l
a2
,其中,la_total为a模态数据的联合损失值,a表示模态数据类型,0≤α≤1,l
a1
表示第a模态数据经过第一分浅层分离网络获得的损失;l
a2
表示第a模态数据经过第二浅层分离网络获得的损失。
14.本发明提供一种设备,包括存储器和处理器,所述存储器存储有终端程序,所述处理器执行所述终端程序时实现上述方法的步骤。
15.本发明提供一种计算机可读存储介质,其上存储有终端程序,所述终端程序被处理器执行时实现上述的方法的步骤。
16.与现有技术相比,本发明的优点在于:对输入的多模态数据分层处理,先输入浅层网络训练模块,训练提取与模态对应的浅层分离网络,而后通过深层网络训练模块融合多模态数据表达特征;采用分支交叉网络参数训练方法,实现快速模型训练收敛,并构建分离-共享网络模型,从而实现不通过场景采用不同识别策略,最大程度保证模型场景应用的
普适性,并保证在采用小模型条件下,实现多模态数据训练以及识别,同时通过多模态数据融合神经网络技术将将不同模态下的信息结合起来实现互补,从而构建鲁棒性更强的人脸识别模型。
附图说明
17.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
18.图1是本发明的实施例中人脸识别装置的结构框图;
19.图2是本发明的实施例中人脸识别模型训练方法的流程示意图;
20.图3是本发明的实施例中设备的内部结构图。
具体实施方式
21.下面结合附图对本技术实施例进行详细描述。
22.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本技术,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目和方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
24.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
25.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践方面。
26.如图1所示,本技术实施例提供一种人脸识别模型训练装置,可以应用在aiot终端或服务器上,本发明实施例提供的人脸识别模型训练方法可以应用于具有人脸识别功能的小型aiot终端设备中,其中,小型aiot终端设备包括:手机、平板电脑、车载设备、安检设备等,人脸识别功能视具体的终端设备和应用环境人而定,例如,手机上的人脸解锁功能,通过验证手机拍摄图像中人脸的身份,然后根据身份识别结果决定是否解锁手机屏幕。由于
受功耗和成本的限制,小型终端设备的计算能力和存储空间不足以承载多个基于深度卷积网络的高精度人脸识别算法。aiot融合ai技术和iot技术,通过物联网产生、收集来自不同维度的、海量的数据,并存储于云端、边缘端,再通过大数据分析,以及更高形式的人工智能,实现万物数据化、万物智联化。人脸识别模型训练装置包括样本获取模块101、浅层网络训练模块102、深层网络训练模块103、损失计算模块104和参数更新模块105。
27.样本获取模块101,用于获取训练样本数据,训练样本数据至少包含两种不同模态的第一模态数据和第二模态数据,第一模态数据携带有第一模态标识及对应的第一样本图片,第二模态数据携带有第二模态标识及对应的第二样本图片。训练样本数据可以包括样本图片以及对应的模态标识等。不同模态标识可以是rgb、ir或者depth等。当图片模态为rgb时,训练样本数据具有三通道数据,分别是r、g、b,每个通道倾向于某种颜色;当图片模态为ir时,红外图像的原始数据没有三通道,只有一个通道就是映射后的红外数据,通过将红外数据映射到一个伪彩表得到三通道数据;当图片模态为depth时,深度图像的原始数据没有三通道,深度图像直接反映了景物可见表面的几何形状三维信息,深度图像是将从图像采集器到场景中各点的距离(深度)作为像素值的图像,因此它只有一个通道就是映射后的深度数据,通过将深度数据映射到一个伪彩表得到三通道数据。标签数据即为期望输出,各训练设备所选择的标签数据可以为该训练设备的子训练样本集中的任一个样本数据,也可以为设定的一个期望数据,还可以为参与本次运算的样本数据,因此,各训练设备所选择的标签数据可以相同也可以不相同。
28.浅层网络训练模块102,包含第一浅层网络单元和第二浅层网络单元,分别接收同一模态的训练样本数据,计算不同分支浅层网络提取的样本底层特征数据,不同的分支浅层网络是事先采用不同模态的模态数据训练得到的初始模型。浅层网络训练模块102也可以将两种模态数据按mini-batch的数值,采用交叉训练的策略依次输入至模型中,分别训练不同分支的浅层分离网络。在模型训练时,由于同类不同模态的数据(例如,张三的rgb图和ir图)之间存在一定的分布相似性及互补性,因此在每一次反向传播权重更新训练阶段,不同的浅层分离网络均接受同一模态数据,然后计算其总损失值l_total,更新训练对应模态数据的浅层分离网络参数信息,可以通过将不同模态下的信息结合起来实现互补,从而构建鲁棒性更强的人脸识别模型。
29.深层网络训练模块103,用于采用深层共享网络分别对浅层特征提取模块提取的样本底层特征数据进行深层特征提取,获得单一模态数据的第一特征向量和第二特征向量数据,并计算样本数据分类输出概率。
30.损失计算模块104,用于根据深层网络分类输出概率及预设损失函数,计算网络模型损失值。
31.参数更新模块105,用于根据网络模型损失值通过反向传播算法更新输入模态数据对应的浅层分离网络和深层网络模型参数。
32.上述人脸识别模型训练装置,对输入的多模态数据分层处理,先输入浅层网络训练模块,训练提取与模态对应的浅层分离网络,而后通过深层网络训练模块融合多模态数据表达特征;采用分支交叉网络参数训练方法,实现快速模型训练收敛,并构建分离-共享网络模型,从而实现不通过场景采用不同识别策略,最大程度保证模型场景应用的普适性,并保证在采用小模型条件下,实现多模态数据训练以及识别,同时通过多模态数据融合神
经网络技术将将不同模态下的信息结合起来实现互补,从而构建鲁棒性更强的人脸识别模型。
33.由于神经网络模型的计算量与网络层数成正相关,但考虑到网络层数越多,能够获得更好的拟合效果,因此,为了使小型终端设备实现高效计算处理,本发明各实施例中涉及的卷积网络的网络结构中各类层的数量与终端设备的处理资源相匹配。需要说明的是,对于训练完成的人脸识别神经网络,一般只需保留特征向量层及之前的模型结构和参数信息;分类输出层只是在模型参数训练时约束和衡量模型对输入数据分布概率拟合的性能,评判模型收敛程度。将各浅层分离网络及深层共享网络分别加载至至少两个计算内核(gpu、npu、tpu内核),其中对于不同浅层分离网络,各内核加载其对应权重及神经网络参数,对于深层共享网络部分,各内核共享权重及神经网络参数。关于浅层和深层网络,以vgg16为例,包含13个卷积层和3个全连接层,因此可将卷积层的前6层作为浅层分离网络,该6层浅层卷积网路构成浅层特征提取模块,后7层作为深层共享网络层,该7层深层共享网络构成深层共享网络运算模块。浅层分离网络用于提取目标图像纹理、边缘等细节特征;深层共享网络用于对上述纹理、边缘等细节特征进一步重组的同时通过深层网络提取图像较大局部或整体结构性信息,然后编码为高纬度特征信息,用于人脸特征识别;同时由于采用了深层共享,尤其是全连接层,因此大大了降低了模型参数量。
34.终端确定好卷积网络中的各类层结构之后,还需要确定各类层中的未知参数,方可使用卷积网络对待处理的人脸图像进行处理,也就是测试过程。其中,网络结构中各类层的参数具体包括:卷积层和局部连接层的参数称为滤波器,全连接层的参数称为投影矩阵。
35.由于与运行在高性能pc或服务器上的深度卷积网络中各类层的数量相比,本发明实施例中卷积网络中各类层的数量大大减少。为了既保持深度卷积网络的识别性能,又降低其运算和存储复杂度以适用于小型终端设备,本实施例提供的卷积网络可以预先经过图片模态鲁棒性训练,使各类层的参数具有图片模态鲁棒性。
36.识别判断训练模块,用于设定相似度值规则,构建判断训练样本数据中的目标人脸图像是否与注册人脸图像一致的图像识别判断模块。相似度值规则可以是事先存储预设相似度值th,当t≥th则终端判定识别成功,训练样本数据中的目标人脸图像与注册人脸图像一致。在一个实施例中,若注册人脸特征向量包含e
11
_reg和/或e
22
_reg(文中所有数据中的下标代表数据模态类型、上标代表浅层分离网络分支,上下标一致时代表数据模态类型与浅层网络相对应,不一致时代表不对应),则基于相似度函数f(e
11
_reg,e
11
_tar)和/或f(e
22
_reg,e
22
_tar)计算t
11
和/或t
22
,若t
11
和/或t
22
≥th,则认证成功;采用“和”时,表示通过两种模态数据同时进行人脸识别认证,采用“或”时表示采用单一模态数据进行人脸识别认证。
37.当训练样本数据为第一模态数据,则将当前模态人脸识别数据加载至第一浅层分离网络,并经深层共享网络提取与第一浅层分离网络对应的样本特征向量数据e
11
_tar;当训练样本数据为第二模态数据,则将当前模态人脸识别数据加载至第二浅层分离网络,并经深层共享网络分别提取与第二浅层分离网络对应的样本特征向量数据e
22
_tar。在另一个实施例中,当训练样本数据为第一模态数据,则将当前模态人脸识别数据加载至第一浅层分离网络,并经深层共享网络提取与第一浅层分离网络对应的人脸特征向量e
11
_tar,再将当前第一模态数据加载至第二浅层分离网络,经深层共享网络分别提取e
12
_tar,最终得到
样本特征向量数据[e
11
_tar、e
12
_tar];当训练样本数据为第二模态数据,则将当前模态人脸识别数据加载至第二浅层分离网络,并经深层共享网络提取与第二浅层分离网络对应的人脸特征向量e
21
_tar,再将当前第二模态数据加载至第一浅层分离网络,经深层共享网络分别提取e
22
_tar,最终得到样本特征向量数据[e
22
_tar、e
21
_tar]。
[0038]
在一个实施例中,若注册人脸特征向量包含[e
22
_reg、e
12
_reg]和/或[e
22
_reg、e
21
_reg],则基于相似度函数f(e
11
_reg,e
11
_tar)and f(e
12
_reg,e
12
_tar)和/或f(e
22
_reg,e
22
_tar)and f(e
21
_reg,e
21
_tar)计算t
11
and t
12
和/或t
22
and t
21
,若t
11
≥th且t
12
≥t
h’和/或t
22
≥th且t
21
≥t
h’,则认证成功,其中th≥t
h’。采用“和”时,表示通过两种模态数据分别通过两个浅层分离网络获得[e
11
_tar、e
12
_tar]和[e
22
_tar、e
21
_tar]同时进行人脸识别认证,采用“或”时表示采用单一模态数据分别通过两个浅层分离网络获得[e
11
_tar、e
12
_tar]或[e
22
_tar、e
21
_tar]进行人脸识别认证。
[0039]
在其中一个实施例中,浅层网络训练模块包括:浅层输入单元,用于与不同模态对应的训练样本数据轮流交替分发给第一浅层网络单元中的浅层分离网络和第二浅层网络单元中的浅层分离网络,基于深层网络训练模块和损失计算模块处理后得到联合损失值;调整计算单元,用于根据联合损失值,计算浅层分离网络的调整数据;浅层网络训练单元,用于根据调整数据更新浅层分离网络的网络参数。
[0040]
浅层输入单元可以按固定值将模态数据采用交叉训练的策略依次输入至初始模型中,分别训练不同分支的浅层分离网络;也可以采用预定的mini-batch将模态数据采用交叉训练的策略依次输入至初始模型中,分别训练不同分支的浅层分离网络。不同模态的初始模型对同一训练样本数据输出的损失值不同,可以基于深层网络训练模块和损失计算模块处理后将第一模态的损失值和第二模态的损失值进行统计,得到联合损失值。
[0041]
调整计算单元,用于根据联合损失值,计算浅层分离网络的调整数据。神经网络模型的训练是对网络参数不断进行更新、优化的过程,网络参数为神经网络中用于提取特征的关键变量,最初由随机初始化产生,后续根据训练调整。在训练完成之前,神经网络模型的实际输出与期望输出会存在明显差异,训练的目的是通过网络参数的调整,使得差异越来越小,实际输出能够逼近于期望输出,调整数据即为在进行网络参数调整时所使用的数据,调整数据可以为梯度值等用于指示网络参数的调整方向和调整大小。
[0042]
浅层网络训练单元,用于根据调整数据更新浅层分离网络的网络参数。在一个实施例中,浅层网络训练单元可以在接收到调整数据后,将调整数据和浅层分离网络的调整数据进行叠加运算等。预设叠加方式可以为对各调整数据进行加权求和(权值的分配与预先分配的各训练设备的重要度相关),也可以为直接将各调整数据相加。
[0043]
浅层分离网络的训练集可以由两部分组成:人脸图像和人脸类别标签,每张人脸图像对应一个人脸类别标签,类别标签表示人的身份。通过比较类别标签可确定哪些图像来自同一人,哪些图像来自不同人。在一些实施例中,训练样本数据还可以包含与该人脸图像对应的底层特征数据,底层特征数据至少包括人脸数据浅层边缘、纹理底层特征。
[0044]
在具有图片模态鲁棒性的训练过程中,将人脸图像训练集和图片模态类别标签训练集从网络的首尾输入,并且将对人脸图像的图片模态鲁棒处理方式嵌入到卷积网络中,通过前向传播和反向传播来优化预设的目标函数。其中,目标函数是网络训练过程中的引擎,本发明不限定目标函数的具体形式,从而确定卷积网络中各类层的参数,这些参数具有
图片模态鲁棒性。需要强调的是,卷积网络在训练过程中采用的网络结构和嵌入的图片模态鲁棒处理方式,与在后续的测试过程中采用的网络结构和嵌入的图片模态鲁棒处理方式一致。
[0045]
以第一浅层分离网络训练为例,采用数据并行模型训练策略,将第一模态数据分发至两个并行的第一浅层分离网络和第二浅层分离网络;而后将上述两个浅层分离网络的输出,经过深层共享网络分别输出对应类别概率q
11
、q
12
;其中,q
11
是第一模态数据经过第一分浅层分离网络输出的对应分类概率输出值,q
12
是第一模态数据经过第二浅层分离网络输出的对应分类概率输出值;基于损失函数l,分别获取对应浅层网络输出的损失l
11
和l
12
;其中l
11
表示第一模态数据经过第一分浅层分离网络获得的损失;l
12
表示第一模态数据经过第二浅层分离网络获得的损失;进一步的由于同一浅层分离网络对不同模态数据分类性能不同,即对应模态的数据通过对应浅层分离网络的预测分类分布概率q
11
或q
22
,高于非对应模态数据的预测分类分布概率q
12
或q
21
(q
11
>q
12
或q
22
>q
21
),因此在在计算l
12
或l
21
时,其真实分布概率p
12
_true或p
21
_true≤1,例如,采用rgb图像训练对应的分离网络时p
11
_true=1,经非对应分裂网络时,p
12
_true≤1;如下面的交叉熵损失函数l=h(p,q)中p(xi)为真实分布概率,与输入标签对应,当模态数据与分离网络对应时,取p(xi)=1,当不对应时p(xi)≤1;通过对调整p(xi),计算l
12
或l
21
,防止模型在训练时震荡,无法收敛。
[0046]
在其中一个实施例中,损失计算模块包含第一损失计算单元和第二损失计算单元;第一损失计算单元用于计算同一模态数据通过不同分支浅层网络后的损失值l
a1
、l
a2
,第二损失计算单元用于计算联合损失值,la_total=αl
a1
(1-α)l
a2
,其中,la_total为a模态数据的联合损失值,a表示模态数据类型,0≤α≤1,l
a1
表示第a模态数据经过第一分浅层分离网络获得的损失;l
a2
表示第a模态数据经过第二浅层分离网络获得的损失。
[0047]
基于总l1_total,更新深层共享网络参数及对应的第一分离网络参数;(第二分离网络参数固定不变)
[0048]
p(xi)为数据的真实分布概率,q(xi)为预测分布概率,n为特征分类的类别数,h(p,q)为浅层损失。在一个实施例中,浅层损失loss也可以是m为mini-batch数值。
[0049]
第二浅层分离网络的训练方法与第一浅层分离网络一致,输入第二模态数据,经过第一和第二分离网络后分别获得l
22
、l
21
;计算总损失:l2_total=αl
22
(1-α)l
21
;基于总l2_total,更新深层共享网络参数及对应的第二分离网络参数;(第一分离网络参数固定不变);循环上述步骤,交叉训练第一和第二浅层分离网络,直至模型收敛。
[0050]
在其中一个实施例中,深层网络训练模块包括:数据接收单元,用于分别接收浅层特征提取模块提取的样本底层特征数据;向量提取单元,用于采用深层共享网络对样本底层特征数据进行特征提取,获得单一模态数据的第一特征向量和第二特征向量数据;深层训练单元,用于根据单一模态数据的第一特征向量和第二特征向量数据,计算样本数据分类输出概率。
[0051]
数据接收单元分别接收至少两个被训练出的浅层特征提取模块提取到的样本底
层特征数据,并将图片模态和底层特征数据作为深层训练单元的输入数据。数据选择单元可以获取与图片模态对应的预定向量数据,并将预定向量数据和接收的底层特征数据输出给向量提取单元。在一个实施例中,数据接收单元可以存在多个或在一个。
[0052]
向量提取单元,用于采用深层共享网络对样本底层特征数据进行特征提取,获得单一模态数据的第一特征向量和第二特征向量数据。
[0053]
深层训练单元,用于根据单一模态数据的第一特征向量和第二特征向量数据,计算样本数据分类输出概率。
[0054]
深层训练单元将训练得到的样本数据分类输出概率发送给损失计算模块,损失计算模块104根据深层网络分类输出概率及预设损失函数,计算网络模型损失值;而后参数更新模块105根据网络模型损失值通过反向传播算法更新输入模态数据对应的浅层分离网络和深层网络模型参数。深层训练单元再次根据深层网络模型参数调整深层共享网络的网络参数,直至模型收敛。
[0055]
在一个实施例中,如图2所示,提供一种人脸识别模型训练方法,包括以下步骤:
[0056]
步骤201,获取训练样本数据,训练样本数据至少包含两种不同模态的第一模态数据和第二模态数据,第一模态数据携带有第一模态标识及对应的第一样本图片,第二模态数据携带有第二模态标识及对应的第二样本图片;
[0057]
步骤202,将两种模态数据按设定的样本选取数量及节拍,采用交叉训练的策略依次输入至初始模型中,通过交叉训练模块分别训练不同分支的浅层分离网络,构建浅层特征提取模块;
[0058]
步骤203,采用深层共享网络对浅层特征提取模块提取的样本底层特征数据进行深层特征提取,获得单一模态数据的第一特征向量和第二特征向量数据,并计算样本数据分类输出概率;
[0059]
步骤204,根据深层网络分类输出概率及预设损失函数,计算网络模型损失值;
[0060]
步骤205,根据网络模型损失值通过反向传播算法更新输入模态数据对应的浅层分离网络和深层网络模型参数。
[0061]
在其中一个实施例中,将两种模态数据按设定的样本选取数量,采用交叉训练的策略依次输入至初始模型中,分别训练不同分支的浅层分离网络,包括以下步骤:
[0062]
将与不同模态对应的训练样本数据轮流交替分发给第一浅层网络单元中的浅层分离网络和第二浅层网络单元中的浅层分离网络,得到联合损失值;
[0063]
根据联合损失值,计算浅层分离网络的调整数据;
[0064]
根据调整数据更新浅层分离网络的网络参数。
[0065]
在其中一个实施例中,损失计算模块包含第一损失计算单元和第二损失计算单元;采用第一损失计算单元计算同一模态数据通过不同分支浅层网络后的损失值l
a1
、l
a2
,采用第二损失计算单元计算联合损失值,la_total=αl
a1
(1-α)l
a2
,其中,la_total为a模态数据的联合损失值,a表示模态数据类型,0≤α≤1,l
a1
表示第a模态数据经过第一分浅层分离网络获得的损失;l
a2
表示第a模态数据经过第二浅层分离网络获得的损失。
[0066]
当a为第一模态数据时,根据联合损失基于梯度下降方法更新其对应的第一浅层网络参数和深层共享网络参数;反之当a为第二模态数据时,根据联合损失基于梯度下降方法更新其对应的第二浅层网络参数和深层共享网络参数;
[0067]
在其中一种实施例中,采用对应模态数据的获得单一损失值l
a1
和/或l
a2
更新浅层网络和深层共享网络模型参数;如当a为第一模态数据时,获得l
a1
、l
a2
,基于l
a1
采用梯度下降方法更新其对应的第一浅层网络参数和深层共享网络参数,基于l
a2
采用梯度下降方法更新其对应第二浅层网络参数和深层共享网络参数或基于l
a1
采用梯度下降方法更新其对应的第一浅层网络参数和深层共享网络参数,第二浅层网络和深度共享网络参数不参与更新,只在输入与第二浅层网络对应的模态数据时更新第二浅层网络参数和深度共享网络参数,反之亦然。
[0068]
在其中一个实施例中,采用深层共享网络对浅层特征提取模块提取的样本底层特征数据进行模型训练,获得单一模态数据的第一特征向量和第二特征向量数据,并计算样本数据分类输出概率,包括以下步骤:
[0069]
分别接收浅层特征提取模块中第一浅层网络单元和第二浅层网络单元提取的样本底层特征数据;
[0070]
采用深层共享网络对样本底层特征数据进行特征提取,获得单一模态数据的第一特征向量和第二特征向量数据;
[0071]
根据单一模态数据的第一特征向量和第二特征向量数据,计算样本数据分类输出概率。
[0072]
在其中一个实施例中,采用深层共享网络对浅层特征提取模块提取的样本底层特征数据进行模型训练,获得单一模态数据的第一特征向量和第二特征向量数据,并计算样本数据分类输出概率,包括以下步骤:
[0073]
接收两个模态数据经过浅层特征提取模块中两个浅层分离网络提取的样本底层特征数据,将两个输出通道的浅层特征数据整合后作为深层共享网络的输入数据;
[0074]
采用深层共享网络对样本底层特征数据进行特征提取,获得单一模态数据的第一特征向量和第二特征向量数据;
[0075]
根据单一模态数据的第一特征向量和第二特征向量数据,计算样本数据分类输出概率。
[0076]
在其中一个实施例中,方法还包括:
[0077]
根据训练节拍依次循环接收由不同模态数据计算获得的联合损失值,并根据该联合损失值依次循环训练深层网络模型参数和当前模态数据对应的浅层分离网络模型参数。
[0078]
关于人脸识别模型训练方法的具体限定可以参见上文中对于人脸识别模型训练装置的限定,在此不再赘述。上述人脸识别模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于设备中的处理器中,也可以以软件形式存储于设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0079]
在一个实施例中,提供了一种设备,该设备可以是终端,其内部结构图可以如图3所示。该设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和终端程序。该内存储器为非易失性存储介质中的操作系统和终端程序的运行提供环境。该设备的网络接口用于与外部的终端通过网络连接通信。该终端程序被处理器执行时以实现一种人脸识别训练方法。该设备的显示屏
可以是液晶显示屏或者电子墨水显示屏,该设备的输入装置可以是显示屏上覆盖的触摸层,也可以是设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0080]
本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0081]
一种设备,包括存储器和一个或多个处理器,存储器中存储有终端程序,终端程序被处理器执行时实现本技术任意一个实施例中提供的人脸识别模型训练方法的步骤。
[0082]
一个或多个存储有计算机可读指令的非易失性存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现本技术任意一个实施例中提供的人脸识别模型训练方法的步骤。
[0083]
以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献