CN113657136A - 识别方法及装置 - Google Patents

识别方法及装置 Download PDF

Info

Publication number
CN113657136A
CN113657136A CN202010397563.4A CN202010397563A CN113657136A CN 113657136 A CN113657136 A CN 113657136A CN 202010397563 A CN202010397563 A CN 202010397563A CN 113657136 A CN113657136 A CN 113657136A
Authority
CN
China
Prior art keywords
model
feature
sample data
layer
neural network
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.)
Granted
Application number
CN202010397563.4A
Other languages
English (en)
Other versions
CN113657136B (zh
Inventor
宋刘一汉
徐盈辉
潘攀
张迎亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010397563.4A priority Critical patent/CN113657136B/zh
Publication of CN113657136A publication Critical patent/CN113657136A/zh
Application granted granted Critical
Publication of CN113657136B publication Critical patent/CN113657136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

本说明书实施例提供识别方法及装置,其中,所述识别方法包括接收调用方的调用请求,其中,所述调用请求中携带有目标对象;将所述目标对象输入识别模型的特征提取层,得到所述目标对象的第一对象特征;将所述第一对象特征输入所述识别模型的连接层,在所述连接层将所述第一对象特征切分为至少两个第二对象特征,且基于所述至少两个第二对象特征在所述连接层中进行计算,实现对所述目标对象的识别。

Description

识别方法及装置
技术领域
本说明书实施例涉及机器学习技术领域,特别涉及识别方法。本说明书一个或者多个实施例同时涉及神经网络模型训练方法,人脸识别方法,识别装置,神经网络模型训练装置,人脸识别装置,计算设备,以及计算机可读存储介质。
背景技术
近年来随着数据规模与基础算力的不断增长,人工智能领域尤其是深度学习的相关技术得到了广泛应用。随着人工智能的不断发展,涉及异常多类的大规模分类任务成为一个提升模型性能的重要基础任务,特别在人脸识别或语言建模等场景下能够发挥巨大的优势。由于目前单GPU的显存限制,基础的数据并行与模型并行已经无法满足大类目模型的训练需求。
因此,如何在资源有限的前提下合理分配计算资源,以提升模型训练的效率是急需要解决的问题。
发明内容
有鉴于此,本说明书施例提供了识别方法。本说明书一个或者多个实施例同时涉及神经网络模型训练方法,人脸识别方法,识别装置,神经网络模型训练装置,人脸识别装置,计算设备,以及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种识别方法,包括:
接收调用方的调用请求,其中,所述调用请求中携带有目标对象;
将所述目标对象输入识别模型的特征提取层,得到所述目标对象的第一对象特征;
将所述第一对象特征输入所述识别模型的连接层,在所述连接层将所述第一对象特征切分为至少两个第二对象特征,且基于所述至少两个第二对象特征在所述连接层中进行计算,实现对所述目标对象的识别。
根据本说明书实施例的第二方面,提供了一种神经网络模型训练方法,包括:
构建神经网络模型,其中,所述神经网络模型包括多个并行的特征提取层以及连接层;
在所述神经网络模型满足预设条件的情况下,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述神经网络模型的初始化;
输入训练样本数据至初始化的所述神经网络模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征;
输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征;
基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述神经网络模型的训练。
根据本说明书实施例的第三方面,提供了一种人脸识别方法,包括:
获取人脸图像;
将所述人脸图像输入识别模型的特征提取层,得到所述人脸图像的第一图像特征;
将所述第一图像特征输入所述识别模型的连接层,在所述连接层将所述第一图像特征切分为至少两个第二图像特征,且基于所述至少两个第二图像特征在所述连接层中进行计算,实现对所述人脸图像的识别。
根据本说明书实施例的第四方面,提供了一种识别装置,包括:
第一接收模块,被配置为接收调用方的调用请求,其中,所述调用请求中携带有目标对象;
第一对象特征获得模块,被配置为将所述目标对象输入识别模型的特征提取层,得到所述目标对象的第一对象特征;
对象识别模块,被配置为将所述第一对象特征输入所述识别模型的连接层,在所述连接层将所述第一对象特征切分为至少两个第二对象特征,且基于所述至少两个第二对象特征在所述连接层中进行计算,实现对所述目标对象的识别。
根据本说明书实施例的第五方面,提供了一种神经网络模型训练装置,包括:
构建模块,被配置为构建神经网络模型,其中,所述神经网络模型包括多个并行的特征提取层以及连接层;
转换模块,被配置为在所述神经网络模型满足预设条件的情况下,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述神经网络模型的初始化;
特征提取模块,被配置为输入训练样本数据至初始化的所述神经网络模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征;
数据切分模块,被配置为输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征;
模型训练模块,被配置为基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述神经网络模型的训练。
根据本说明书实施例的第六方面,提供了一种人脸识别装置,包括:
获取模块,被配置为获取人脸图像;
第一图像特征获得模块,被配置为将所述人脸图像输入识别模型的特征提取层,得到所述人脸图像的第一图像特征;
人脸识别模块,被配置为将所述第一图像特征输入所述识别模型的连接层,在所述连接层将所述第一图像特征切分为至少两个第二图像特征,且基于所述至少两个第二图像特征在所述连接层中进行计算,实现对所述人脸图像的识别。
根据本说明书实施例的第七方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,其中,所述处理器执行所述计算机可执行指令时实现所述识别方法的步骤、或者实现所述神经网络模型训练方法的步骤、或者实现所述人脸识别方法的步骤。
根据本说明书实施例的第八方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述识别方法的步骤、或者实现所述神经网络模型训练方法的步骤、或者实现所述人脸识别方法的步骤。
本说明书一个实施例实现了一种识别方法及装置,其中,所述识别方法包括接收调用方的调用请求,其中,所述调用请求中携带有目标对象;将所述目标对象输入识别模型的特征提取层,得到所述目标对象的第一对象特征;将所述第一对象特征输入所述识别模型的连接层,在所述连接层将所述第一对象特征切分为至少两个第二对象特征,且基于所述至少两个第二对象特征在所述连接层中进行计算,实现对所述目标对象的识别;所述识别方法通过采用混合精度训练以及在连接层做梯度累积以大幅减小显存占用的识别模型,对目标对象进行识别,极大的提高了目标对象的识别速度。
附图说明
图1是本说明书一个实施例提供的一种识别方法的具体应用场景的示例图;
图1a是本说明书一个实施例提供的一种识别方法的流程图;
图2a是本说明书一个实施例提供的一种混合并行的神经网络模型的训练框图;
图2b是本说明书一个实施例提供的一种神经网络模型训练方法的流程图;
图3是本说明书一个实施例提供的一种神经网络模型训练方法中对构建的神经网络模型初始化的示意图;
图4是本说明书一个实施例提供的一种神经网络模型训练方法中对神经网络模型训练过程的示意图;
图5是本说明书一个实施例提供的一种人脸识别方法的流程图;
图6是本说明书一个实施例提供的一种识别装置的结构示意图;
图7是本说明书一个实施例提供的一种神经网络模型训练装置的结构示意图;
图8是本说明书一个实施例提供的一种人脸识别装置的结构示意图;
图9是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
float16/float32:IEEE 754规范标准中定义的数值存储与计算方式。
mini-batch:随机梯度下降(SGD)算法中一次迭代参与计算的样本数。
FE模块:英文全称为Feature Extract Module,中文全称为特征提取模块。
FC模块:英文全称为Fully Connected Layer Module,中文全称为全连接层模块。
在本说明书中,提供了识别方法。本说明书一个或者多个实施例同时涉及神经网络模型训练方法,人脸识别方法,识别装置,神经网络模型训练装置,人脸识别装置,计算设备,以及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了本说明书一个实施例提供的一种识别方法的具体应用场景的示例图。
图1的应用场景中包括终端和服务器,具体的,用户通过终端将人脸图像发送给服务器,服务器在接收到人脸图像后,将人脸图像输入预先训练的识别模型,得到人脸图像中人脸对应的身份,实现对人脸图像的识别。
具体的,输入的人脸图像可以为多张,在进行识别时为了提升特征提取速度可以将其分为一个一个小的人脸图像集合,然后将这些人脸图像集合分别发送到GPU-1至GPU-N进行特征提取,而在连接层则会将所有识别模型的特征提取层提取的图像特征进行合并之后,形成mini-batch进行计算,以实现对每张人脸图像中人脸对应身份的识别。
参见图1a,图1a示出了根据本说明书一个实施例提供的一种识别方法的流程图,包括以下步骤:
步骤102:接收调用方的调用请求,其中,所述调用请求中携带有目标对象。
其中,调用方包括但不限于个体用户或者商户等。
具体的,所述识别方法为调用方提供API接口,在接收到调用方发送的调用请求后,为调用方提供该接口,并通过该接口接收调用方的调用请求中携带的目标对象,且所述识别方法应用于GPU并行的计算服务器上,其中,目标对象包括但不限于图像、视频、音频以及文本等,例如目标图像为人脸图像,则该识别方法可以实现对人脸图像中人脸对应的身份的识别,若目标图像为视频,则该识别方法可以实现对视频的人物名称、人物动作等的识别,即使得所述识别方法可以应用于视频、音频、图像以及文本等任何领域。
步骤104:将所述目标对象输入识别模型的特征提取层,得到所述目标对象的第一对象特征。
具体实施时,首先对识别模型进行训练,而所述识别模型的通过如下步骤训练得到:
构建识别模型,其中,所述识别模型包括多个并行的特征提取层以及连接层;
在所述识别模型满足预设条件的情况下,将所述识别模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述识别模型的初始化;
输入训练样本数据至初始化的所述识别模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征;
输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征;
基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述识别模型的训练。
其中,所述训练样本数据包括但不限于人脸图像或商品等,所述连接层为机器学习模型中的全连接层。
可选的,所述构建识别模型包括:
构建包含实现数据并行的多个特征提取层以及实现模型并行的多个连接层的混合并行识别模型。
可选的,所述将所述识别模型的模型参数的第一数据类型转换为第二数据类型包括:
将所述识别模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述识别模型的连接层的模型参数的第一数据类型转换为第二数据类型。
可选的,所述将所述识别模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述识别模型的连接层的模型参数的第一数据类型转换为第二数据类型之后,还包括:
为所述特征提取层的第一数据类型的模型参数配置参数存储空间,实现对所述特征提取层的第一数据类型的模型参数的存储。
可选的,所述获取所述特征提取层提取的训练样本数据的第一样本数据特征包括:
获取每个特征提取层提取的对应的训练样本数据的样本数据特征,且将所有特征提取层提取的所有样本数据特征作为第一样本数据特征。
可选的,所述将所述第一样本数据特征切分为至少两个第二样本数据特征包括:
将所述第一样本数据特征切分为k个第二样本数据特征,其中,k∈【1,n】,且n为正整数。
可选的,所述基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度包括:
基于第k个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的第k个梯度;
判断k是否大于等于n,
若是,则将第1个第二样本数据特征到第n个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的所有梯度,作为所述连接层的模型参数对应的累积梯度,
若否,则继续执行上述步骤。
可选的,所述基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数包括:
基于所述累积梯度以所述第二数据类型更新所述连接层的模型参数;
将所述累积梯度返回至所述特征提取层,基于所述累积梯度以所述第一数据类型更新所述特征提取层的模型参数,并将更新后的所述特征提取层的模型参数存储至所述参数存储空间。
具体的,所述识别方法中对识别模型的具体训练过程可以参见下述针对神经网络模型训练方法的描述,该识别方法中的识别模型是基于下述实施例提供的神经网络模型训练方法训练得到的。
本说明书实施例提供的所述识别方法首先基于混合并行框架提出一种改进的混合精度训练方法,实现对识别模型的训练,提高计算速度并节约显存资源;此外,基于梯度累积的方法减少最后连接层的显存占用,可以提高识别模型整体的数据处理数量。
步骤106:将所述第一对象特征输入所述识别模型的连接层,在所述连接层将所述第一对象特征切分为至少两个第二对象特征,且基于所述至少两个第二对象特征在所述连接层中进行计算,实现对所述目标对象的识别。
具体的,在识别模型的连接层将第一对象特征在mini-batch维度做切分,假设切分k次,获得k个micro-batch,按序将k个micro-batch的第二对象特征分别输入连接层进行计算,可以大幅减小显存占用,在不影响识别模型性能的前提下提高了针对目标对象的识别速度。
本说明书实施例提供的识别方法通过采用混合精度训练以及在连接层做梯度累积以大幅减小显存占用的识别模型,对目标对象进行识别,极大的提高了目标对象的识别速度。
参见图2a,图2a示出了一种混合并行的神经网络模型的训练框图。
由图2a可知,混合并行的神经网络模型基于多GPU训练为数据并行以及模型并行,实际应用中,首先将训练样本数据切分为一个一个batch,例如图2a中的batch 1至batchN,然后将batch 1至batch N的训练样本数据分别发送到GPU-1至GPU-N进行模型训练,其中,每个GPU拿到的训练样本数据均不相同;具体模型训练时,数据并行部分实现对输入的训练样本数据提取特征,模型并行部分实现对连接层以模型并行方式拆分,其中,数据并行部分可以称为FE模块,模型并行部分可以称为FC模块。
本说明书另一实施例中,所述将所述第一对象特征输入所述识别模型的连接层之后,还包括:
基于所述第一对象特征确定特征切分界面,并接收所述调用方基于所述特征切分界面输入的特征切分参数;
相应的,所述在所述连接层将所述第一对象特征切分为至少两个第二对象特征包括:
基于所述特征切分参数在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
具体的,在将第一对象特征输入识别模型的连接层之后,计算服务器会基于该第一对象特征确定特征切分界面,然后将该特征切分界面返回至调用方,调用方可以基于该特征切分界面上的参数输入控件进行特征切分参数输入,计算服务器接收调用方基于该特征切分界面输入的特征切分参数后,会基于该特征切分参数在所述连接层将该第一对象特征切分为至少两个第二对象特征;例如特征切分参数为5,则会基于该特征切分参数在连接层将第一对象特征切分为5个第二对象特征。
本说明书实施例中,采用为调用方返回特征切分界面的方式,由调用方根据自身的实际需求在特征切分界面上输入特征切分参数,基于该特征切分参数实现对第一对象特征进行多维度切分,提升用户参与感,增强用户体验。
本说明书另一实施例中,所述在所述连接层将所述第一对象特征切分为至少两个第二对象特征之前,还包括:
基于所述目标对象确定特征切分模板;
相应的,所述在所述连接层将所述第一对象特征切分为至少两个第二对象特征包括:
基于所述特征切分模板在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
其中,所述目标对象包括但不限于视频、音频、图像或者文本等,具体实施时,可以根据目标对象的不同预先设置不同的特征切分模板。例如若目标对象为视频,由于视频处理较为复杂,占用显存较大,则可以将其切分维度增加,以降低显存占用空间,此时,则可以为视频配置切分维度较大的特征切分模板1;若目标对象为文本,由于文本处理较视频简单,显存占用较小,则可以为文本配置切分维度小于视频的特征切分模板2等。
本说明书实施例中,可以为目标对象预先设置特征切分模板,然后基于目标对象确定其对应的特征切分模板,基于该特征切分模板中预先设置的切分参数在连接层将第一对象特征切分为至少两个第二对象特征,且该特征切分模板可以根据实际需求进行调整其内部切分参数,灵活度较高,用户体验好。
本说明书另一实施例中,所述识别方法应用于GPU并行的计算服务器;
所述在所述连接层将所述第一对象特征切分为至少两个第二对象特征包括:
基于所述GPU负载在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
具体的,可以基于该识别方法应用于GPU并行的计算服务器中GPU的负载情况,在连接层对第一对象特征进行切分,基于GPU负载情况将第一对象特征切分为合适维度的第二对象特征,以减少第二对象特征在连接层计算时对GPU显存占用率,提高识别速率。
而本说明书一个或多个实施例提供的神经网络模型训练方法为基于上述混合并行的神经网络模型的训练框架,又对神经网络模型改进的混合精度训练方法,以实现在神经网络模型训练降低其计算量,提高模型训练效率。
参见图2b,图2b示出了根据本说明书一个实施例提供的一种神经网络模型训练方法的流程图,包括以下步骤:
步骤202:构建神经网络模型,其中,所述神经网络模型包括多个并行的特征提取层以及连接层。
具体的,在神经网络模型训练之前,先定义一个包含多个可学习参数(权重)的神经网络。
具体实施时,所述构建神经网络模型包括:
构建包含实现数据并行的多个特征提取层以及实现模型并行的多个连接层的混合并行神经网络模型。
具体的,构建神经网络模型,即可构建如图2a中所示的,包含实现数据并行的多个特征提取层以及实现模型并行的多个连接层的混合并行神经网络模型,如图2a所示,构建的神经网络模型中包括FE模块以及FC模块,其中,FE为数据并行,FC为模型并行。
步骤204:在所述神经网络模型满足预设条件的情况下,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述神经网络模型的初始化。
实际应用中,预设条件包括所述神经网络模型中不存在BatchNorm层或与BatchNorm层功能相同的训练层,那么在所述神经网络模型满足预设条件的情况下,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,则可以理解为在所述神经网络模型中存在BatchNorm层或与BatchNorm层功能相同的训练层的情况下,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型;而在所述神经网络模型中存在BatchNorm层或与BatchNorm层功能相同的训练层的情况下,该BatchNorm层或与BatchNorm层功能相同的训练层的模型参数不参与格式转换,具体应用中,BatchNorm层相当于输入的一个统计信息,做统计信息有一个累加的过程,而用float16实现累加过程,模型精度损失会比较大,因此不会对BatchNorm层进行转换,而BatchNorm层使用float32计算,以保证计算的准确性。
其中,第一数据类型包括float32,第二数据类型包括float16;具体的,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,即将所述神经网络模型的模型参数的由float32转换为float16;实际应用中,float16是一种计算上能提速的方式,而将所述神经网络模型的模型参数的由float32转换为float16会提高神经网络模型训练速度,使得神经网络模型的训练时间大大缩短,并且对神经网络模型的精度上影响不大,因此采用此种方式可以加快对神经网络模型的计算,在不会的影响神经网络模型精度的基础上,提高神经网络模型的计算速度。
本说明书另一实施例中,所述将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型包括:
将所述神经网络模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述神经网络模型的连接层的模型参数的第一数据类型转换为第二数据类型。
具体的,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,即在所述神经网络模型中不存在BatchNorm层情况下,实现将所述神经网络模型的特征提取层的模型参数的由float32转换为float16,以及将所述神经网络模型的连接层的模型参数的由float32转换为float16。
具体实施时,在将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型之后,会对特征提取层产生一段float32的存储空间,以保存特征提取层的模型参数,具体实现方式如下:
所述将所述神经网络模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述神经网络模型的连接层的模型参数的第一数据类型转换为第二数据类型之后,还包括:
为所述特征提取层的第一数据类型的模型参数配置参数存储空间,实现对所述特征提取层的第一数据类型的模型参数的存储。
具体的,为了使得神经网络模型的计算速度较快,会在模型初始化时,将神经网络模型的权重由float32转换为float16,但是为了保证神经网络模型的模型参数更新时,模型参数的精度足够,因此会为所述特征提取层配置一个存储float32的模型参数的参数存储空间,以使得所述特征提取层在模型参数更新时,基于该参数存储空间中的float32的模型参数实现对所述特征提取层的模型参数的更新,实现神经网络模型用低的精度计算,用高的精度做更新。
参见图3,图3示出了本说明书一个或多个实施例提供的一种神经网络模型训练方法中对构建的神经网络模型初始化的示意图。
具体的,构建神经网络模型后,在对神经网络模型的初始化阶段,首先将神经网络模型的权重转换成float16(若有BatchNorm层则该层不参与转换),同时对特征提取模块FE产生一段float32的存储空间,用于保存FE的模型参数,以便在神经网络模型的模型参数更新过程中,对于特征提取模块FE的模型参数会在产生的float32的存储空间中保存的float32类型的模型参数上更新,以保证神经网络模型的精度,再将更新完成后的float32类型的模型参数拷贝回float16类型的模型参数中,实现神经网络模型的高速计算。
即具体实施时,神经网络模型的FE模块以及FC模块均有一份float16的模型参数做模型计算,同时FE模块也存在一份float32的模型参数做模型更新,而对于FC模块,可以直接在float16的权重更新模型参数。
步骤206:输入训练样本数据至初始化的所述神经网络模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征。
其中,所述训练样本数据包括但不限于图像,例如人脸图像、包含动物的图像或风景图像等;且在具体实施时,训练样本数据以及初始的模型参数由用户提供,即所述神经网络模型训练方法即在接收用户的调用请求后,构建神经网络模型,然后基于用户上传的初始的模型参数对神经网络模型进行初始化,再基于用户上传的训练样本数据采用所述神经网络模型训练方法训练得到最终的、用户需要的神经网络模型。
具体的,对所述神经网络模型初始化之后,基于输入的训练样本数据实现对所述神经网络模型的训练。
所述获取所述特征提取层提取的训练样本数据的第一样本数据特征包括:
获取每个特征提取层提取的对应的训练样本数据的样本数据特征,且将所有特征提取层提取的所有样本数据特征作为第一样本数据特征。
其中,所述神经网络模型的FE模块提取的所有训练样本数据的所有样本数据特征在每个节点均合并为一个mini-batch,该mini-batch即为第一样本数据特征。
实际应用中,所述神经网络模型的每个特征提取层包括多个节点,训练样本数据经过多个节点的特征提取形成该特征提取层对应的样本数据特征,将所有特征提取层对应的样本数据特征进行合并之后,形成mini-batch,即第一样本数据特征。
步骤208:输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征。
具体的,在获取第一样本数据特征之后,将第一样本数据特征输入所述连接层,且将所述连接层的输入在所述第一样本数据特征的基础上做切分,切分为至少两个第二样本数据特征。
例如,所述第一样本数据特征为mini-batch,在获取mini-batch之后,将mini-batch输入连接层,即输入所述神经网络模型的FC模块,然后将FC模块的输入在mini-batch维度上做切分,切分为至少两个即micro-batch。
具体实施时,所述将所述第一样本数据特征切分为至少两个第二样本数据特征包括:
将所述第一样本数据特征切分为k个第二样本数据特征,其中,k∈【1,n】,且n为正整数。
其中,k的取值根据实际需求进行设置,在此不做任何限定,例如设置为2、4等,将所述第一样本数据特征切分为k个第二样本数据特征对所述神经网络模型进行训练可以极大的提高所述神经网络模型的训练速度。
步骤210:基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述神经网络模型的训练。
具体的,将FC模块的输入在mini-batch维度做切分,假设切分k次,获得k个micro-batch,然后按序将k个micro-batch分别输入所述神经网络模型的FC模块进行前向与反向的计算。
实际应用中,所述基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度包括:
基于第k个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的第k个梯度;
判断k是否大于等于n,
若是,则将第1个第二样本数据特征到第n个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的所有梯度,作为所述连接层的模型参数对应的累积梯度,
若否,则继续执行上述步骤。
本说明书实施例中,所述神经网络模型训练方法将FC模块的输入在mini-batch维度做切分,假设切分k次,获得k个micro-batch,按序将k个micro-batch分别输入FC模块进行前向与反向的计算,此时Loss需要根据切分次数k缩小k倍,即Loss=1/k*Loss,在计算过程中FC参数不更新,FC参数对应的梯度进行累积,大幅减小显存占用,在不影响神经网络模型性能的前提下提高了系统的训练速度。
而在按序将k个第二样本数据特征分别输入所述神经网络模型的连接层进行前向与反向的计算得到所述连接层的模型参数对应的累积梯度后,基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述神经网络模型的训练。
具体的,所述基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数包括:
基于所述累积梯度以所述第二数据类型更新所述连接层的模型参数;
将所述累积梯度返回至所述特征提取层,基于所述累积梯度以所述第一数据类型更新所述特征提取层的模型参数,并将更新后的所述特征提取层的模型参数存储至所述参数存储空间。
仍以上述为例,完成k个micro-batch的计算后,首先在float16的权重上更新FC模块的参数,即连接层的模型参数,然后将所述累积梯度返回至所述特征提取层,基于所述累积梯度在float16的权重上计算对应的梯度,然后将梯度拷贝到float32的模型中完成模型参数更新,在下一次迭代前将float32的模型参数复制到float16的模型参数中,通过上述方式对所述神经网络模型进行迭代训练,直至损失函数最小化,完成对所述神经网络模型的训练。
实际应用中,本说明书实施例提供的所述神经网络模型训练方法可以应用于任何实现对模型训练的场景中,例如需要在计算机处理器上训练分类模型,此时可以在该计算机上设置多GPU,使得计算机形成数据并行的硬件设备,在分类模型训练时基于此种可以实现数据并行、模型并行的混合并行神经网络模型训练方法,在计算机显存占用较小的情况下对该分类模型进行快速训练,提升用户体验。
本说明书实施例提供的所述的神经网络模型训练方法首先基于混合并行框架提出一种改进的混合精度训练方法,提高计算速度并节约显存资源;此外,基于梯度累积的方法减少最后连接层的对处理器的显存占用,提高系统整体的数据处理数量。
参见图4,图4示出了本说明书一个或多个实施例提供的一种神经网络模型训练方法中对神经网络模型训练过程的示意图。
在训练过程中,训练样本数据输入所述神经网络模型的FE模块进行特征提取获得mini-batch,然后将FC模块的输入在mini-batch维度做切分,例如切分k次,获得k个micro-batch,按序将k个micro-batch分别输入FC模块进行前向与反向的计算,此时Loss需要根据切分次数k缩小k倍,即Loss=1/k*Loss,在计算过程中FC模块的模型参数不更新,FC模块的模型参数对应的梯度进行累积,完成k个micro-batch的计算后,更新FC模块的模型参数。其中,FE模块与FC模块的前向计算与梯度的反向计算基于float16进行,而在loss计算时通常采用float32来进行计算,同时采用动态loss技术保证较小的梯度不会因为反向计算导致梯度消失,在神经网络模型的模型参数更新过程中,对于FE的模型参数会先在模型初始化产生的float32类型的模型参数上更新,再将更新完后的float32的模型参数拷贝回float16的的模型参数中;对于FC模块的模型参数,则直接在float16的权重上更新。
此外,在减小FC模块的模型参数及其输出的显存占用方面,还可以通过对模型参数矩阵做低秩分解、对FC模块的输出进行采样等方式降低对的处理器的显存占用,实际应用中,所述神经网络模型训练方法应用在处理器上,通过此种神经网络训练方法可以实现不降低神经网络模型性能的前提下提高了模型的训练速度。
本说明书实施例提供的所述的神经网络模型训练方法基于混合并行的大规模模型训练框架,通过改进的混合精度训练以及在连接层做梯度累积大幅减小所处处理器的显存占用,在不影响神经网络模型性能的前提下提高了系统的训练速度。
参见图5,图5示出了根据本说明书一个实施例提供的一种人脸识别方法的流程图,包括以下步骤:
步骤502:获取人脸图像。
其中,所述人脸图像可以是基于拍照设备获取的,也可以是基于视频录像设备获取的包含有人脸的图片。
具体实施时,所述获取人脸图像包括:
接收调用方的调用请求,其中,所述调用请求中携带有待识别的人脸图像;或者
基于调用方的调用请求为所述调用方展示图像输入界面,并接收所述调用方根据所述图像输入界面输入的待识别的人脸图像。
步骤504:将所述人脸图像输入识别模型的特征提取层,得到所述人脸图像的第一图像特征。
具体的,所述识别模型的通过如下步骤训练得到:
构建识别模型,其中,所述识别模型包括多个并行的特征提取层以及连接层;
在所述识别模型满足预设条件的情况下,将所述识别模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述识别模型的初始化;
输入人脸图像样本至初始化的所述识别模型的每个特征提取层,且获取所述特征提取层提取的人脸图像样本的第一图像样本特征;
输入所述第一图像样本特征至所述连接层,且将所述第一图像样本特征切分为至少两个第二图像样本特征;
基于所述至少两个第二图像样本特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述识别模型的训练。
具体的,所述识别模型为通过人脸图像的训练样本数据通过上述实施例的神经网络模型训练获得,具体的本说明书实施例的识别模型未详细描述的部分均可参见上述神经网络模型的训练方法,在此不作赘述。
而训练得到识别模型后,将待识别的人脸图像输入识别模型中,即可快速准确的得到该人脸图像中人脸对应身份,例如姓名、证件号、手机号等信息。
步骤506:将所述第一图像特征输入所述识别模型的连接层,在所述连接层将所述第一图像特征切分为至少两个第二图像特征,且基于所述至少两个第二图像特征在所述连接层中进行计算,实现对所述人脸图像的识别。
本说明书实施例中,人脸识别一般会应用于一些支付、解密等场景中,在这些场景中就需要对人脸图像进行高精度以及高效率的提取,避免发生高成本的错误,并且对于人脸识别的话,识别模型训练时,FC占据的显存空间会非常大,因此采用上述实施例的神经网络模型的训练方式训练得到识别模型,在人脸识别场景下,接收到待识别的人脸图像时,基于识别模型即可准确的得到待识别的人脸图像中的人脸特征,并且大幅减小显存占用,提高了系统整体的数据处理数量,然后基于提取到的精确的人脸特征在连接层可以准确、安全的识别人脸图像中人脸对应的身份,采用上述方式可以使得人脸识别更加快速、高效以及精确;极大的提升用户体验。
与上述方法实施例相对应,本说明书还提供了识别装置实施例,图6示出了本说明书一个实施例提供的一种识别装置的结构示意图。如图6所示,该装置包括:
第一接收模块602,被配置为接收调用方的调用请求,其中,所述调用请求中携带有目标对象;
第一对象特征获得模块604,被配置为将所述目标对象输入识别模型的特征提取层,得到所述目标对象的第一对象特征;
对象识别模块606,被配置为将所述第一对象特征输入所述识别模型的连接层,在所述连接层将所述第一对象特征切分为至少两个第二对象特征,且基于所述至少两个第二对象特征在所述连接层中进行计算,实现对所述目标对象的识别。
可选的,所述装置,还包括:
切分界面确定模块,被配置为基于所述第一对象特征确定特征切分界面,并接收所述调用方基于所述特征切分界面输入的特征切分参数;
相应的,所述对象识别模块606,进一步被配置为:
基于所述特征切分参数在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
可选的,所述装置,还包括:
切分模板确定模块,被配置为基于所述目标对象确定特征切分模板;
相应的,所述对象识别模块606,进一步被配置为:
基于所述特征切分模板在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
可选的,所述识别方法应用于GPU并行的计算服务器;
所述对象识别模块606,进一步被配置为:
基于所述GPU负载在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
可选的,所述识别模型的通过如下模块训练得到:
第一模型构建模块,被配置为构建识别模型,其中,所述识别模型包括多个并行的特征提取层以及连接层;
第一类型转换模块,被配置为在所述识别模型满足预设条件的情况下,将所述识别模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述识别模型的初始化;
第一数据特征获取模块,被配置为输入训练样本数据至初始化的所述识别模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征;
第一特征切分模块,被配置为输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征;
识别模型训练模块,被配置为基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述识别模型的训练。
可选的,所述第一模型构建模块,进一步被配置为:
构建包含实现数据并行的多个特征提取层以及实现模型并行的多个连接层的混合并行识别模型。
可选的,所述第一类型转换模块,进一步被配置为:
将所述识别模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述识别模型的连接层的模型参数的第一数据类型转换为第二数据类型。
可选的,所述装置,还包括:
存储模块,被配置为为所述特征提取层的第一数据类型的模型参数配置参数存储空间,实现对所述特征提取层的第一数据类型的模型参数的存储。
可选的,所述第一数据特征获取模块,进一步被配置为:
获取每个特征提取层提取的对应的训练样本数据的样本数据特征,且将所有特征提取层提取的所有样本数据特征作为第一样本数据特征。
可选的,所述第一特征切分模块,进一步被配置为:
将所述第一样本数据特征切分为k个第二样本数据特征,其中,k∈【1,n】,且n为正整数。
可选的,所述识别模型训练模块,进一步被配置为:
基于第k个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的第k个梯度;
判断k是否大于等于n,
若是,则将第1个第二样本数据特征到第n个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的所有梯度,作为所述连接层的模型参数对应的累积梯度,
若否,则继续执行上述步骤。
可选的,所述识别模型训练模块,进一步被配置为:
基于所述累积梯度以所述第二数据类型更新所述连接层的模型参数;
将所述累积梯度返回至所述特征提取层,基于所述累积梯度以所述第一数据类型更新所述特征提取层的模型参数,并将更新后的所述特征提取层的模型参数存储至所述参数存储空间。
上述为本实施例的一种识别装置的示意性方案。需要说明的是,该识别装置的技术方案与上述的识别方法的技术方案属于同一构思,识别装置的技术方案未详细描述的细节内容,均可以参见上述识别方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了神经网络模型训练装置实施例,图7示出了本说明书一个实施例提供的一种神经网络模型训练装置的结构示意图。如图7所示,该装置包括:
构建模块702,被配置为构建神经网络模型,其中,所述神经网络模型包括多个并行的特征提取层以及连接层;
转换模块704,被配置为在所述神经网络模型满足预设条件的情况下,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述神经网络模型的初始化;
特征提取模块706,被配置为输入训练样本数据至初始化的所述神经网络模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征;
数据切分模块708,被配置为输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征;
模型训练模块710,被配置为基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述神经网络模型的训练。
可选的,所述构建模块702,进一步被配置为:
构建包含实现数据并行的多个特征提取层以及实现模型并行的多个连接层的混合并行神经网络模型。
可选的,所述转换模块704,进一步被配置为:
将所述神经网络模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述神经网络模型的连接层的模型参数的第一数据类型转换为第二数据类型。
可选的,所述装置,还包括:
存储空间配置模块,被配置为为所述特征提取层的第一数据类型的模型参数配置参数存储空间,实现对所述特征提取层的第一数据类型的模型参数的存储。
可选的,所述特征提取模块706,进一步被配置为:
获取每个特征提取层提取的对应的训练样本数据的样本数据特征,且将所有特征提取层提取的所有样本数据特征作为第一样本数据特征。
可选的,所述数据切分模块708,进一步被配置为:
将所述第一样本数据特征切分为k个第二样本数据特征,其中,k∈【1,n】,且n为正整数。
可选的,所述模型训练模块710,进一步被配置为:
基于第k个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的第k个梯度;
判断k是否大于等于n,
若是,则将第1个第二样本数据特征到第n个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的所有梯度,作为所述连接层的模型参数对应的累积梯度,
若否,则继续执行上述步骤。
可选的,所述模型训练模块710,进一步被配置为:
基于所述累积梯度以所述第二数据类型更新所述连接层的模型参数;
将所述累积梯度返回至所述特征提取层,基于所述累积梯度以所述第一数据类型更新所述特征提取层的模型参数,并将更新后的所述特征提取层的模型参数存储至所述参数存储空间。
可选的,所述训练样本数据包括图像。
上述为本实施例的一种神经网络模型训练装置的示意性方案。需要说明的是,该神经网络模型训练装置的技术方案与上述的神经网络模型训练方法的技术方案属于同一构思,神经网络模型训练装置的技术方案未详细描述的细节内容,均可以参见上述神经网络模型训练方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了人脸识别装置实施例,图8示出了本说明书一个实施例提供的一种人脸识别装置的结构示意图。如图8所示,该装置包括:
获取模块802,被配置为获取人脸图像;
第一图像特征获得模块804,被配置为将所述人脸图像输入识别模型的特征提取层,得到所述人脸图像的第一图像特征;
人脸识别模块806,被配置为将所述第一图像特征输入所述识别模型的连接层,在所述连接层将所述第一图像特征切分为至少两个第二图像特征,且基于所述至少两个第二图像特征在所述连接层中进行计算,实现对所述人脸图像的识别。
可选的,所述识别模型的通过如下步骤训练得到:
构建识别模型,其中,所述识别模型包括多个并行的特征提取层以及连接层;
在所述识别模型满足预设条件的情况下,将所述识别模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述识别模型的初始化;
输入人脸图像样本至初始化的所述识别模型的每个特征提取层,且获取所述特征提取层提取的人脸图像样本的第一图像样本特征;
输入所述第一图像样本特征至所述连接层,且将所述第一图像样本特征切分为至少两个第二图像样本特征;
基于所述至少两个第二图像样本特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述识别模型的训练。
可选的,所述获取模块802,进一步被配置为:
接收调用方的调用请求,其中,所述调用请求中携带有待识别的人脸图像;或者
基于调用方的调用请求为所述调用方展示图像输入界面,并接收所述调用方根据所述图像输入界面输入的待识别的人脸图像。
上述为本实施例的一种人脸识别装置的示意性方案。需要说明的是,该人脸识别装置的技术方案与上述的人脸识别方法的技术方案属于同一构思,人脸识别装置的技术方案未详细描述的细节内容,均可以参见上述人脸识别方法的技术方案的描述。
图9示出了根据本说明书一个实施例提供的一种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
其中,处理器920用于执行计算机可执行指令,其中,所述处理器执行所述计算机可执行指令时实现所述识别方法的步骤、或者实现所述神经网络模型训练方法的步骤、或者实现所述人脸识别方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的识别方法、神经网络模型训练方法或者人脸识别方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述识别方法、神经网络模型训练方法或者人脸识别方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述识别方法的步骤、或者实现所述神经网络模型训练方法的步骤、或者实现所述人脸识别方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的识别方法、神经网络模型训练方法或者人脸识别方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述识别方法、神经网络模型训练方法或者人脸识别方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (29)

1.一种识别方法,包括:
接收调用方的调用请求,其中,所述调用请求中携带有目标对象;
将所述目标对象输入识别模型的特征提取层,得到所述目标对象的第一对象特征;
将所述第一对象特征输入所述识别模型的连接层,在所述连接层将所述第一对象特征切分为至少两个第二对象特征,且基于所述至少两个第二对象特征在所述连接层中进行计算,实现对所述目标对象的识别。
2.根据权利要求1所述的识别方法,所述将所述第一对象特征输入所述识别模型的连接层之后,还包括:
基于所述第一对象特征确定特征切分界面,并接收所述调用方基于所述特征切分界面输入的特征切分参数;
相应的,所述在所述连接层将所述第一对象特征切分为至少两个第二对象特征包括:
基于所述特征切分参数在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
3.根据权利要求1所述的识别方法,所述在所述连接层将所述第一对象特征切分为至少两个第二对象特征之前,还包括:
基于所述目标对象确定特征切分模板;
相应的,所述在所述连接层将所述第一对象特征切分为至少两个第二对象特征包括:
基于所述特征切分模板在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
4.根据权利要求1所述的识别方法,所述识别方法应用于GPU并行的计算服务器;
所述在所述连接层将所述第一对象特征切分为至少两个第二对象特征包括:
基于所述GPU负载在所述连接层将所述第一对象特征切分为至少两个第二对象特征。
5.根据权利要求1所述的识别方法,所述识别模型的通过如下步骤训练得到:
构建识别模型,其中,所述识别模型包括多个并行的特征提取层以及连接层;
在所述识别模型满足预设条件的情况下,将所述识别模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述识别模型的初始化;
输入训练样本数据至初始化的所述识别模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征;
输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征;
基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述识别模型的训练。
6.根据权利要求5所述的识别方法,所述构建识别模型包括:
构建包含实现数据并行的多个特征提取层以及实现模型并行的多个连接层的混合并行识别模型。
7.根据权利要求5所述的识别方法,所述将所述识别模型的模型参数的第一数据类型转换为第二数据类型包括:
将所述识别模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述识别模型的连接层的模型参数的第一数据类型转换为第二数据类型。
8.根据权利要求7所述的识别方法,所述将所述识别模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述识别模型的连接层的模型参数的第一数据类型转换为第二数据类型之后,还包括:
为所述特征提取层的第一数据类型的模型参数配置参数存储空间,实现对所述特征提取层的第一数据类型的模型参数的存储。
9.根据权利要求5所述的识别方法,所述获取所述特征提取层提取的训练样本数据的第一样本数据特征包括:
获取每个特征提取层提取的对应的训练样本数据的样本数据特征,且将所有特征提取层提取的所有样本数据特征作为第一样本数据特征。
10.根据权利要求9所述的识别方法,所述将所述第一样本数据特征切分为至少两个第二样本数据特征包括:
将所述第一样本数据特征切分为k个第二样本数据特征,其中,k∈【1,n】,且n为正整数。
11.根据权利要求10所述的识别方法,所述基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度包括:
基于第k个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的第k个梯度;
判断k是否大于等于n,
若是,则将第1个第二样本数据特征到第n个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的所有梯度,作为所述连接层的模型参数对应的累积梯度,
若否,则继续执行上述步骤。
12.根据权利要求11所述的识别方法,所述基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数包括:
基于所述累积梯度以所述第二数据类型更新所述连接层的模型参数;
将所述累积梯度返回至所述特征提取层,基于所述累积梯度以所述第一数据类型更新所述特征提取层的模型参数,并将更新后的所述特征提取层的模型参数存储至所述参数存储空间。
13.一种神经网络模型训练方法,包括:
构建神经网络模型,其中,所述神经网络模型包括多个并行的特征提取层以及连接层;
在所述神经网络模型满足预设条件的情况下,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述神经网络模型的初始化;
输入训练样本数据至初始化的所述神经网络模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征;
输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征;
基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述神经网络模型的训练。
14.根据权利要求13所述的神经网络模型训练方法,所述构建神经网络模型包括:
构建包含实现数据并行的多个特征提取层以及实现模型并行的多个连接层的混合并行神经网络模型。
15.根据权利要求13所述的神经网络模型训练方法,所述将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型包括:
将所述神经网络模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述神经网络模型的连接层的模型参数的第一数据类型转换为第二数据类型。
16.根据权利要求15所述的神经网络模型训练方法,所述将所述神经网络模型的特征提取层的模型参数的第一数据类型转换为第二数据类型,以及将所述神经网络模型的连接层的模型参数的第一数据类型转换为第二数据类型之后,还包括:
为所述特征提取层的第一数据类型的模型参数配置参数存储空间,实现对所述特征提取层的第一数据类型的模型参数的存储。
17.根据权利要求13所述的神经网络模型训练方法,所述获取所述特征提取层提取的训练样本数据的第一样本数据特征包括:
获取每个特征提取层提取的对应的训练样本数据的样本数据特征,且将所有特征提取层提取的所有样本数据特征作为第一样本数据特征。
18.根据权利要求17所述的神经网络模型训练方法,所述将所述第一样本数据特征切分为至少两个第二样本数据特征包括:
将所述第一样本数据特征切分为k个第二样本数据特征,其中,k∈【1,n】,且n为正整数。
19.根据权利要求18所述的神经网络模型训练方法,所述基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度包括:
基于第k个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的第k个梯度;
判断k是否大于等于n,
若是,则将第1个第二样本数据特征到第n个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的所有梯度,作为所述连接层的模型参数对应的累积梯度,
若否,则继续执行上述步骤。
20.根据权利要求19所述的神经网络模型训练方法,所述基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数包括:
基于所述累积梯度以所述第二数据类型更新所述连接层的模型参数;
将所述累积梯度返回至所述特征提取层,基于所述累积梯度以所述第一数据类型更新所述特征提取层的模型参数,并将更新后的所述特征提取层的模型参数存储至所述参数存储空间。
21.根据权利要求13-20任意一项所述的神经网络模型训练方法,所述训练样本数据包括图像。
22.一种人脸识别方法,包括:
获取人脸图像;
将所述人脸图像输入识别模型的特征提取层,得到所述人脸图像的第一图像特征;
将所述第一图像特征输入所述识别模型的连接层,在所述连接层将所述第一图像特征切分为至少两个第二图像特征,且基于所述至少两个第二图像特征在所述连接层中进行计算,实现对所述人脸图像的识别。
23.根据权利要求22所述的人脸识别方法,所述识别模型的通过如下步骤训练得到:
构建识别模型,其中,所述识别模型包括多个并行的特征提取层以及连接层;
在所述识别模型满足预设条件的情况下,将所述识别模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述识别模型的初始化;
输入人脸图像样本至初始化的所述识别模型的每个特征提取层,且获取所述特征提取层提取的人脸图像样本的第一图像样本特征;
输入所述第一图像样本特征至所述连接层,且将所述第一图像样本特征切分为至少两个第二图像样本特征;
基于所述至少两个第二图像样本特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述识别模型的训练。
24.根据权利要求22所述的人脸识别方法,所述获取人脸图像包括:
接收调用方的调用请求,其中,所述调用请求中携带有待识别的人脸图像;或者
基于调用方的调用请求为所述调用方展示图像输入界面,并接收所述调用方根据所述图像输入界面输入的待识别的人脸图像。
25.一种识别装置,包括:
第一接收模块,被配置为接收调用方的调用请求,其中,所述调用请求中携带有目标对象;
第一对象特征获得模块,被配置为将所述目标对象输入识别模型的特征提取层,得到所述目标对象的第一对象特征;
对象识别模块,被配置为将所述第一对象特征输入所述识别模型的连接层,在所述连接层将所述第一对象特征切分为至少两个第二对象特征,且基于所述至少两个第二对象特征在所述连接层中进行计算,实现对所述目标对象的识别。
26.一种神经网络模型训练装置,包括:
构建模块,被配置为构建神经网络模型,其中,所述神经网络模型包括多个并行的特征提取层以及连接层;
转换模块,被配置为在所述神经网络模型满足预设条件的情况下,将所述神经网络模型的模型参数的第一数据类型转换为第二数据类型,以实现对所述神经网络模型的初始化;
特征提取模块,被配置为输入训练样本数据至初始化的所述神经网络模型的每个特征提取层,且获取所述特征提取层提取的训练样本数据的第一样本数据特征;
数据切分模块,被配置为输入所述第一样本数据特征至所述连接层,且将所述第一样本数据特征切分为至少两个第二样本数据特征;
模型训练模块,被配置为基于所述至少两个第二样本数据特征前向后向计算得到所述连接层的模型参数对应的累积梯度,且基于所述累积梯度更新所述连接层的模型参数以及所述特征提取层的模型参数,实现对所述神经网络模型的训练。
27.一种人脸识别装置,包括:
获取模块,被配置为获取人脸图像;
第一图像特征获得模块,被配置为将所述人脸图像输入识别模型的特征提取层,得到所述人脸图像的第一图像特征;
人脸识别模块,被配置为将所述第一图像特征输入所述识别模型的连接层,在所述连接层将所述第一图像特征切分为至少两个第二图像特征,且基于所述至少两个第二图像特征在所述连接层中进行计算,实现对所述人脸图像的识别。
28.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,其中,所述处理器执行所述计算机可执行指令时实现权利要求1至12任意一项所述识别方法的步骤、或者实现权利要求13-21任意一项所述神经网络模型训练方法的步骤、或者实现权利要求22-24任意一项所述人脸识别方法的步骤。
29.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至12任意一项所述识别方法的步骤、或者实现权利要求13-21任意一项所述神经网络模型训练方法的步骤、或者实现权利要求22-24任意一项所述人脸识别方法的步骤。
CN202010397563.4A 2020-05-12 2020-05-12 识别方法及装置 Active CN113657136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010397563.4A CN113657136B (zh) 2020-05-12 2020-05-12 识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010397563.4A CN113657136B (zh) 2020-05-12 2020-05-12 识别方法及装置

Publications (2)

Publication Number Publication Date
CN113657136A true CN113657136A (zh) 2021-11-16
CN113657136B CN113657136B (zh) 2024-02-13

Family

ID=78488699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010397563.4A Active CN113657136B (zh) 2020-05-12 2020-05-12 识别方法及装置

Country Status (1)

Country Link
CN (1) CN113657136B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529475A (zh) * 2021-12-29 2022-12-27 北京智美互联科技有限公司 视频流量内容检测与风控的方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491726A (zh) * 2017-07-04 2017-12-19 重庆邮电大学 一种基于多通道并行卷积神经网络的实时表情识别方法
CN108416440A (zh) * 2018-03-20 2018-08-17 上海未来伙伴机器人有限公司 一种神经网络的训练方法、物体识别方法及装置
CN109697240A (zh) * 2017-10-24 2019-04-30 中移(杭州)信息技术有限公司 一种基于特征的图像检索方法及装置
CN109903350A (zh) * 2017-12-07 2019-06-18 上海寒武纪信息科技有限公司 图像压缩方法及相关装置
WO2019128646A1 (zh) * 2017-12-28 2019-07-04 深圳励飞科技有限公司 人脸检测方法、卷积神经网络参数的训练方法、装置及介质
WO2019184124A1 (zh) * 2018-03-30 2019-10-03 平安科技(深圳)有限公司 风控模型训练方法、风险识别方法、装置、设备及介质
WO2020037937A1 (zh) * 2018-08-20 2020-02-27 深圳壹账通智能科技有限公司 人脸识别的方法、装置、终端及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491726A (zh) * 2017-07-04 2017-12-19 重庆邮电大学 一种基于多通道并行卷积神经网络的实时表情识别方法
CN109697240A (zh) * 2017-10-24 2019-04-30 中移(杭州)信息技术有限公司 一种基于特征的图像检索方法及装置
CN109903350A (zh) * 2017-12-07 2019-06-18 上海寒武纪信息科技有限公司 图像压缩方法及相关装置
WO2019128646A1 (zh) * 2017-12-28 2019-07-04 深圳励飞科技有限公司 人脸检测方法、卷积神经网络参数的训练方法、装置及介质
CN108416440A (zh) * 2018-03-20 2018-08-17 上海未来伙伴机器人有限公司 一种神经网络的训练方法、物体识别方法及装置
WO2019184124A1 (zh) * 2018-03-30 2019-10-03 平安科技(深圳)有限公司 风控模型训练方法、风险识别方法、装置、设备及介质
WO2020037937A1 (zh) * 2018-08-20 2020-02-27 深圳壹账通智能科技有限公司 人脸识别的方法、装置、终端及计算机可读存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIANBO DONG等: "EFLOPS: Algorithm and System Co-Design for a High Performance Distributed Training Platform", 2020 IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA) *
刘伦豪杰;王晨辉;卢慧;王家豪;: "基于迁移卷积神经网络的人脸表情识别", 电脑知识与技术, no. 07 *
梁蒙蒙;周涛;夏勇;张飞飞;杨健;: "基于随机化融合和CNN的多模态肺部肿瘤图像识别", 南京大学学报(自然科学), no. 04 *
黄愉文;潘迪夫;: "基于并行双路卷积神经网络的安全帽识别", 企业技术开发, no. 03 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529475A (zh) * 2021-12-29 2022-12-27 北京智美互联科技有限公司 视频流量内容检测与风控的方法和系统

Also Published As

Publication number Publication date
CN113657136B (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
CN111164601B (zh) 情感识别方法、智能装置和计算机可读存储介质
CN111784565B (zh) 图像处理方法、迁移模型训练方法、装置、介质及设备
EP4350572A1 (en) Method, apparatus and system for generating neural network model, devices, medium and program product
CN111709493B (zh) 对象分类方法、训练方法、装置、设备及存储介质
CN110830807A (zh) 图像压缩方法、装置及存储介质
CN111161365B (zh) 一种骨骼动画数据的压缩方法及装置
CN110689136B (zh) 一种深度学习模型获得方法、装置、设备及存储介质
CN113505883A (zh) 一种神经网络训练方法以及装置
CN110781912A (zh) 一种基于通道扩张倒置卷积神经网络的图像分类方法
CN110570499A (zh) 一种表情生成方法、装置、计算设备及存储介质
CN115965840A (zh) 图像风格迁移和模型训练方法、装置、设备和介质
CN115829027A (zh) 一种基于对比学习的联邦学习稀疏训练方法及系统
US20230298314A1 (en) Image clustering method and apparatus, computer device, and storage medium
CN113782093B (zh) 一种基因表达填充数据的获取方法及装置、存储介质
CN113657136B (zh) 识别方法及装置
CN114758130B (zh) 图像处理及模型训练方法、装置、设备和存储介质
CN110633798A (zh) 一种分布式训练中参数更新方法及装置
CN114445692B (zh) 图像识别模型构建方法、装置、计算机设备及存储介质
CN115113855B (zh) 音频数据处理方法、装置、电子设备、存储介质和产品
CN115984742A (zh) 视频选帧模型的训练方法、视频处理方法及装置
CN115660116A (zh) 基于稀疏适配器的联邦学习方法及系统
CN115983372A (zh) 一种神经网络训练方法、装置、计算设备及存储介质
CN115129877A (zh) 标点符号预测模型的生成方法、装置和电子设备
CN115908882A (zh) 图片聚类方法及装置
CN116644783A (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
GR01 Patent grant
GR01 Patent grant