CN114743243A - 基于人工智能的人脸识别方法、装置、设备及存储介质 - Google Patents
基于人工智能的人脸识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114743243A CN114743243A CN202210355548.2A CN202210355548A CN114743243A CN 114743243 A CN114743243 A CN 114743243A CN 202210355548 A CN202210355548 A CN 202210355548A CN 114743243 A CN114743243 A CN 114743243A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- teaching
- isomorphic
- heterogeneous
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 309
- 238000004821 distillation Methods 0.000 claims abstract description 50
- 239000013598 vector Substances 0.000 claims description 61
- 238000012795 verification Methods 0.000 claims description 53
- 238000012360 testing method Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 2
- 238000013140 knowledge distillation Methods 0.000 abstract description 11
- 230000006835 compression Effects 0.000 abstract description 7
- 238000007906 compression Methods 0.000 abstract description 7
- 230000004927 fusion Effects 0.000 description 12
- 238000012821 model calculation Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
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
技术领域
本申请涉及到人工智能技术领域,特别是涉及到一种基于人工智能的人脸识别方法、装置、设备及存储介质。
背景技术
近年来,基于卷积神经网络(CNN)训练得到的人脸识别模型,随着计算资源的迅速增加,取得了很大成功。现有的人脸识别模型需要训练和部署具有数百万参数资源的复杂网络,随着人脸识别转向移动设备和嵌入式设备,大型CNN的计算成本使现有的人脸识别模型无法部署到这类计算资源有限的设备上。为了减少人脸识别模型需要的计算资源以实现模型加速,研究人员提出了模型剪枝、模型量化和知识蒸馏等方法,使模型更小、计算成本降低。其中知识蒸馏的方法受到很大关注,知识蒸馏方法就是利用预先给定的大型网络(教师网络)作为监督,把知识蒸馏到网络参数较少的紧凑网络(学生网络)中,将完成蒸馏后的学生网络作为人脸识别模型,从而缩小网络规模。发明人发现从拥有第一数量的网络参数的教师网络中蒸馏得到的学生网络,比从拥有第二数量(第一数量大于第二数量)的网络参数的教师网络中蒸馏得到的学生网络的表现差。
发明内容
本申请的主要目的为提供一种基于人工智能的人脸识别方法、装置、设备及存储介质,旨在解决目前在采用知识蒸馏方法生成人脸识别模型时,从拥有第一数量的网络参数的教师网络中蒸馏得到的学生网络,比从拥有第二数量(第一数量大于第二数量)的网络参数的教师网络中蒸馏得到的学生网络的表现差的技术问题。
为了实现上述发明目的,本申请提出一种基于人工智能的人脸识别方法,所述方法包括:
获取目标图像;
将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:
获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;
采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;
将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
本申请还提出了一种基于人工智能的人脸识别装置,所述装置包括:
图像获取模块,用于获取目标图像;
人脸识别结果确定模块,用于将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果;
模型训练模块,用于获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件,将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于人工智能的人脸识别方法、装置、设备及存储介质,其中方法获取目标图像;将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
附图说明
图1为本申请一实施例的基于人工智能的人脸识别方法的流程示意图;
图2为本申请一实施例的基于人工智能的人脸识别装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中提供一种基于人工智能的人脸识别方法,所述方法包括:
S1:获取目标图像;
S2:将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:
S21:获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;
S22:采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;
S23:将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
本实施例通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
对于S1,可以获取用户输入的目标图像,也可以从数据库中获取目标图像,还可以从第三方应用中获取目标图像。
目标图像,是需要进行人脸识别的人脸图像。
对于S2,将所述目标图像输入预测的人脸识别模型进行人脸识别,将人脸识别得到的数据作为所述目标图像对应的人脸识别结果。
对于S21,可以从数据库中获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,也可以从第三方应用中获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型。
模型权重集包括:教师预训练模型对应的模型权重、同构助教模型对应的模型权重和异构助教模型对应的模型权重。
教师预训练模型,是基于卷积神经网络得到的模型。
所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,从而采用至少两个同构助教预训练子模型组合得到同构模型。
所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同,从而采用至少两个异构助教预训练子模型组合得到异构模型。
可选的,所述同构助教模型包括六个同构助教预训练子模型,所述异构助教模型包括两个异构助教预训练子模型。
可以理解的是,各个所述同构助教预训练子模型是采用不同的网络得到的模型。
可以理解的是,各个所述异构助教预训练子模型是采用不同的网络得到的模型。比如,所述异构助教模型包括两个异构助教预训练子模型,两个异构助教预训练子模型的第一个子模型是基于Resnet50(残差网络)得到的模型,两个异构助教预训练子模型的第二个子模型是基于Mobilenetv3(轻量级神经网络)得到的模型。
对于S22,采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件,从而实现了将教师预训练模型的知识蒸馏到了学生预训练模型。
所述蒸馏结束条件包括:蒸馏的损失值达到预设的第一收敛条件或者蒸馏次数达到预设的第二收敛条件。
所述第一收敛条件,是指蒸馏的总损失值收敛于预设数值。
所述第二收敛条件,是一个整数型的常量。
对于S23,当达到所述蒸馏结束条件时,所述学生预训练模型的性能已符合预设要求,因此,将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
在一个实施例中,上述获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型的步骤,包括:
S211:获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集;
S212:将所述验证集中的每个验证样本的验证图像样本输入所述教师预训练模型进行人脸识别,得到单样本教师识别结果;
S213:根据所述单样本教师识别结果,将每个所述验证图像样本输入所述同构助教模型进行人脸识别,得到单样本同构识别结果;
S214:根据所述单样本教师识别结果,将每个所述验证图像样本输入所述异构助教模型进行人脸识别,得到单样本异构识别结果;
S215:根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,得到所述模型权重集。
本实施例实现了根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,从而实现了在微调的过程中,探索最佳模型权重以实现对性能进行调优。
对于S211,可以获取用户输入的所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集,也可以从数据库中获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集,还可以从第三方应用中获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集。
所述验证集中包括多个验证样本。每个验证样本包括:验证图像样本和人脸标定结果。验证图像样本,也就是包含人脸的图像。人脸标定结果,是对验证图像样本进行人脸识别的准确结果。
对于S212,将所述验证集中的每个验证样本的验证图像样本输入所述教师预训练模型进行人脸识别,将人脸是识别得到数据作为单样本教师识别结果。也就是说,所述单样本教师识别结果和所述验证集中的验证样本的一一对应。
对于S213,根据所述单样本教师识别结果,将每个所述验证图像样本输入所述同构助教模型分别进行人脸识别、对人脸识别得到的数据的融合,将融合得到的数据作为单样本同构识别结果。也就是说,所述单样本同构识别结果和所述验证集中的验证样本的一一对应。
可选的,将所述验证图像样本输入所述同构助教模型进行人脸识别,获取所述同构助教模型中的每个所述同构助教预训练子模型输出的单样本同构识别子结果;对每个所述单样本同构识别子结果与所述单样本教师识别结果之间进行欧氏距离计算,得到同构子模型距离;对各个所述同构子模型距离进行求和计算,得到同构总距离;将每个所述同构子模型距离除以所述同构总距离,得到同构子模型比例;根据各个所述同构子模型比例,对各个所述单样本同构识别子结果进行加权求和,得到所述单样本同构识别结果。从而避免了助教将错误知识连续向下传递导致错误不断积累的问题。
比如,所述验证图像样本Y1对应的所述单样本同构识别子结果包括:TJ1、TJ2、TJ3、TJ4、TJ5和TJ6,TJ1、TJ2、TJ3、TJ4、TJ5和TJ6对应的所述同构子模型比例分别为QZ1、QZ2、QZ3、QZ4、QZ5和QZ6,则将TJ1*QZ1+TJ2*QZ2+TJ3*QZ3+TJ4*QZ4+TJ5*QZ5+TJ6*QZ6的计算结果作为所述单样本同构识别结果。
对于S214,根据所述单样本教师识别结果,将每个所述验证图像样本输入所述异构助教模型进行人脸识别、对人脸识别得到的数据融合,将融合得到的数据作为单样本异构识别结果。也就是说,所述单样本异构识别结果和所述验证集中的验证样本的一一对应。
可选的,将所述验证图像样本输入所述异构助教模型进行人脸识别,获取所述异构助教模型中的每个所述异构助教预训练子模型输出的单样本异构识别子结果;对每个所述单样本异构识别子结果与所述单样本教师识别结果之间进行欧氏距离计算,得到异构子模型距离;对各个所述异构子模型距离进行求和计算,得到异构总距离;将每个所述异构子模型距离除以所述异构总距离,得到异构子模型比例;根据各个所述异构子模型比例,对各个所述单样本异构识别子结果进行加权求和,得到所述单样本异构识别结果。从而避免了助教将错误知识连续向下传递导致错误不断积累的问题。
对于S215,基于蒙特卡洛投点法,根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,得到所述模型权重集。
在一个实施例中,上述根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,得到所述模型权重集的步骤,包括:
S2151:获取计数器,并且将所述计数器初始化为1;
S2152:随机生成第一权重、第二权重和第三权重,其中,所述第一权重是所述教师预训练模型对应的模型权重,所述第二权重是所述同构助教模型对应的模型权重,所述第三权重是所述异构助教模型对应的模型权重;
S2153:根据所述第一权重、所述第二权重和所述第三权重,对目标验证样本对应的所述单样本教师识别结果、所述单样本同构识别结果及所述单样本异构识别结果进行加权求和,得到综合识别结果,其中,所述目标验证样本是所述验证集中的任一个所述验证样本;
S2154:对所述综合识别结果和所述目标验证样本中的人脸标定结果进行比对,得到单样本比对结果;
S2155:将所述计数器的值作为i,对各个所述单样本比对结果进行准确的比例计算,得到第i轮准确率;
S2156:获取第i-1轮准确率;
S2157:若所述第i轮准确率大于或等于所述第i-1轮准确率,则将所述第一权重、所述第二权重和所述第三权重作为模型权重初始集;
S2158:将所述计数器的值加1,并重复执行所述随机生成第一权重、第二权重和第三权重的步骤,直至所述计数器的值大于预设次数;
S2159:将所述模型权重初始集作为所述模型权重集。
本实施例基于蒙特卡洛投点法,根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,从而实现了在微调的过程中,探索最佳模型权重以实现对性能进行调优。
对于S2151,可以从数据库中获取计数器,也可以从实现本申请的程序中获取计数器。
将获取的计数器的值初始化为1。
对于S2152,采用预设的权重随机生成方法,生成第一权重、第二权重和第三权重。
可选的,将第一权重、第二权重和第三权重进行相加,相加得到的结果等于1。
需要对所述第一权重进行是否作为所述教师预训练模型对应的模型权重、所述第二权重进行是否作为所述同构助教模型对应的模型权重、所述第三权重进行是否作为所述异构助教模型对应的模型权重的判断。
对于S2153,将所述第一权重与目标验证样本对应的所述单样本教师识别结果进行相乘,得到第一乘积,将所述第二权重与目标验证样本对应的所述单样本同构识别结果进行相乘,得到第二乘积,将所述第三权重与目标验证样本对应的所述单样本异构识别结果进行相乘,得到第三乘积,将所述第一乘积、所述第二乘积和所述第三乘积进行相加,将相加得到的结果作为所述综合识别结果。
对于S2154,对所述综合识别结果和所述目标验证样本中的人脸标定结果进行比对,若所述综合识别结果和所述目标验证样本中的人脸标定结果的结果相同,则确定单样本比对结果为准确,若所述综合识别结果和所述目标验证样本中的人脸标定结果的结果不同,则确定单样本比对结果为错误。
对于S2155,对各个所述单样本比对结果进行总数量计算,对各个所述单样本比对结果进行为准确的数量计算,将为准确的数量除以总数量,将计算得到数据作为第i轮准确率。因将所述计数器的值作为i,因此,第i轮准确率是当前轮的准确率。
对于S2156,可以从数据库中获取第i-1轮准确率。因将所述计数器的值作为i,因此,所述第i-1轮准确率是上一轮的准确率。
对于S2157,若所述第i轮准确率大于或等于所述第i-1轮准确率,也就是当前轮的准确率更高,意味着当前轮的所述第一权重、所述第二权重和所述第三权重对人脸识别的准确率更高,因此,将所述第一权重、所述第二权重和所述第三权重作为模型权重初始集。
对于S2158,将所述计数器的值加1,为进入下一轮提供了准备;并重复执行所述随机生成第一权重、第二权重和第三权重的步骤,也就是重复执行步骤S2152至步骤S2158,直至所述计数器的值大于预设次数;当所述计数器的值大于预设次数时,停止执行步骤S2152至步骤S2158,开始执行步骤S2159。
对于S2159,当所述计数器的值大于预设次数时,意味着达到了预设的投点次数,不需要继续进行投点,因此,将所述模型权重初始集作为所述模型权重集。
在一个实施例中,上述获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集的步骤之前,还包括:
S2111:获取教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集;
S2112:根据所述第一训练集和所述测试集,对所述教师初始模型进行训练及测试,得到所述教师预训练模型;
S2113:根据所述第一训练集和所述测试集,分别对每个所述同构助教初始模型进行训练及测试,得到所述同构助教预训练子模型,并且将各个所述同构助教预训练子模型作为所述同构助教模型;
S2114:根据所述第一训练集和所述测试集,分别对每个所述异构助教初始模型进行训练及测试,得到所述异构助教预训练子模型,并且将各个所述异构助教预训练子模型作为所述异构助教模型。
本实施例通过对教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型进行独立训练,为后续进行微调训练提供了基础。
对于S2111,可以获取用户输入的教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集,也可以从数据库中获取教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集,还可以从第三方应用中获取教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集。
第一训练集中包括多个待处理样本。每个待处理样本包括:训练图像样本和第一人脸标签。训练图像样本,也就是包含人脸的图像。第一人脸标签,是对训练图像样本进行人脸识别的准确结果。
测试集中包括多个测试样本。每个测试样本包括:测试图像样本和第二人脸标签。测试图像样本,也就是包含人脸的图像。第二人脸标签,是对测试图像样本进行人脸识别的准确结果。
对于S2112,根据所述第一训练集,对所述教师初始模型进行训练,采用所述测试集,对训练后的所述教师初始模型进行测试,若测试不合格,重复对所述教师初始模型进行训练及测试的步骤,若测试合格,则将测试合格的所述教师初始模型作为所述教师预训练模型。
对于S2113,根据所述第一训练集,对所述同构助教初始模型进行训练,采用所述测试集,对训练后的所述同构助教初始模型进行测试,若测试不合格,重复对所述同构助教初始模型进行训练及测试的步骤,若测试合格,则将测试合格的所述同构助教初始模型作为所述同构助教预训练子模型。
也就是说,每个所述同构助教初始模型是独立进行训练及测试的。
对于S2114,根据所述第一训练集,对所述异构助教初始模型进行训练,采用所述测试集,对训练后的所述异构助教初始模型进行测试,若测试不合格,重复对所述异构助教初始模型进行训练及测试的步骤,若测试合格,则将测试合格的所述异构助教初始模型作为所述异构助教预训练子模型。
也就是说,每个所述异构助教初始模型是独立进行训练及测试的。
在一个实施例中,上述采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件的步骤,包括:
S221:获取第二训练集;
S222:从所述第二训练集中获取任一个训练样本作为目标训练样本;
S223:将所述目标训练样本中的人脸图像样本输入所述教师预训练模型进行人脸识别,得到第一全连接层输出向量和第一识别结果;
S224:根据所述第一识别结果,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,得到第二全连接层输出向量和第二识别结果;
S225:根据所述第一识别结果,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,得到第三全连接层输出向量和第三识别结果;
S226:将每个所述人脸图像样本输入所述学生预训练模型进行人脸识别,得到第四识别结果;
S227:根据所述目标训练样本的人脸标定值和所述第一识别结果进行损失值计算,得到第一损失值,并且根据所述第一损失值,对所述教师预训练模型进行模型参数更新;
S228:根据所述第一识别结果和所述第二识别结果进行损失值计算,得到第二损失值,并且根据所述第二损失值,对所述同构助教模型进行模型参数更新;
S229:根据所述第一识别结果和所述第三识别结果进行损失值计算,得到第三损失值,并且根据所述第三损失值,对所述异构助教模型进行模型参数更新;
S2210:根据所述模型权重集、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果、所述第二全连接层输出向量、所述第二识别结果、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果进行损失值计算,得到目标损失值,根据所述目标损失值,对所述学生预训练模型进行模型参数更新;
S2211:重复执行所述从所述第二训练集中获取任一个训练样本作为目标训练样本的步骤,直至达到所述蒸馏结束条件。
本实施例根据所述模型权重集、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果、所述第二全连接层输出向量、所述第二识别结果、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果进行损失值计算,从而实现同时采用所述教师预训练模型对所述学生预训练模型进行蒸馏、采用所述同构助教模型对所述学生预训练模型进行蒸馏、采用所述异构助教模型对所述学生预训练模型进行蒸馏,采用所述模型权重集对三种蒸馏进行损失融合,实现了通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
对于S221,可以获取用户输入的第二训练集,也可以从数据库中获取第二训练集,还可以从第三方应用中获取第二训练集。
第二训练集中包括多个训练样本。每个训练样本包括:人脸图像样本和人脸标定值。人脸图像样本,也就是包含人脸的图像。人脸标定值,是对人脸图像样本进行人脸识别的准确结果。
对于S223,将所述目标训练样本中的人脸图像样本输入所述教师预训练模型进行人脸识别,获取所述教师预训练模型的全连接层输出的向量作为第一全连接层输出向量,获取所述教师预训练模型输出的数据作为第一识别结果。
对于S224,根据所述第一识别结果,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别、对全连接层的输出的融合、对人脸识别得到的数据的融合,将对全连接层的输出的融合得到的数据作为第二全连接层输出向量,将对人脸识别得到的数据的融合得到的数据作为第二识别结果。
对于S225,根据所述第一识别结果,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别、对全连接层的输出的融合、对人脸识别得到的数据的融合,将对全连接层的输出的融合得到的数据作为第三全连接层输出向量,将对人脸识别得到的数据的融合得到的数据作为第三识别结果。
对于S226,将每个所述人脸图像样本输入所述学生预训练模型进行人脸识别,将人脸识别得到的数据作为第四识别结果。
对于S227,将所述目标训练样本的人脸标定值和所述第一识别结果输入第一损失函数进行损失值计算,将计算得到的损失值作为第一损失值。
第一损失函数采用交叉熵损失函数。
根据所述第一损失值,对所述教师预训练模型进行模型参数更新的方法在此不做赘述。
对于S228,将所述第一识别结果和所述第二识别结果输入第二损失函数进行损失值计算,将计算得到的损失值作为第二损失值。
第二损失函数采用交叉熵损失函数。
根据所述第二损失值,对所述同构助教模型进行模型参数更新的方法在此不做赘述。
对于S229,根据所述第一识别结果和所述第三识别结果输入第三损失函数进行损失值计算,将计算得到的损失值作为第三损失值。
第三损失函数采用交叉熵损失函数。
根据所述第三损失值,对所述异构助教模型进行模型参数更新的方法在此不做赘述。
在本申请的另一个实施例中,不采用步骤S227至步骤S229,也就是说,在蒸馏阶段,只更新学生预训练模型的模型参数,不更新所述教师预训练模型、所述同构助教模型、所述异构助教模型的模型参数。
对于S2210,将所述模型权重集、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果、所述第二全连接层输出向量、所述第二识别结果、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果输入预设的目标损失函数进行损失值计算,将计算得到的损失值作为目标损失值(也就是蒸馏的总损失值)。
根据所述目标损失值,对所述学生预训练模型进行模型参数更新,从而实现同时采用所述教师预训练模型对所述学生预训练模型进行蒸馏、采用所述同构助教模型对所述学生预训练模型进行蒸馏、采用所述异构助教模型对所述学生预训练模型进行蒸馏。
对于S2211,重复执行所述从所述第二训练集中获取任一个训练样本作为目标训练样本的步骤,也就是重复执行步骤S222至步骤S2211,直至达到所述蒸馏结束条件。
在一个实施例中,上述目标损失值的计算公式L为:
L=(1-λ1)LCE1+λ1LKD1+(1-λ2)LCE2+λ2LKD2+(1-λ3)LCE3+λ3LKD3
LCE1=H(softmax(zs1),y)
LCE2=H(softmax(zs2),y)
LCE3=H(softmax(zs3),y)
LKD1=τ1 2KL(y1,y4)
LKD2=τ2 2KL(y2,y4)
LKD3=τ3 2KL(y3,y4)
y1=softmax(zs1/τ1)
y2=softmax(zs2/τ2)
y3=softmax(zs3/τ3)
其中,λ1是所述模型权重集中的与所述教师预训练模型对应的模型权重,λ2是所述模型权重集中的与所述同构助教模型对应的模型权重,λ3是所述模型权重集中的与所述异构助教模型对应的模型权重,y是所述目标训练样本的所述人脸标定值,H()是交叉熵损失函数,zs1是所述第一全连接层输出向量,zs2是所述第二全连接层输出向量,zs3是所述第三全连接层输出向量,KL()是KL散度损失函数,τ1是所述教师预训练模型的温度参数,τ2是所述同构助教模型的温度参数,τ3是所述异构助教模型的温度参数,y1是所述第一识别结果,y2是所述第二识别结果,y3是所述第三识别结果,y4是所述第四识别结果,softmax()是归一化函数。
本实施例根据所述模型权重集中的与所述教师预训练模型对应的模型权重、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果和所述第四识别结果,计算所述教师预训练模型对所述学生预训练模型的蒸馏损失,根据所述模型权重集中的与所述同构助教模型对应的模型权重、所述目标训练样本的人脸标定值、所述第二全连接层输出向量、所述第二识别结果和所述第四识别结果,计算所述同构助教模型对所述学生预训练模型的蒸馏损失,根据所述模型权重集中的与所述异构助教模型对应的模型权重、所述目标训练样本的人脸标定值、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果,计算所述异构助教模型对所述学生预训练模型的蒸馏损失,最后将三种蒸馏损失进行求和,从而通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏。
KL散度损失函数,又称为Kullback-Leiblerdivergence。
在一个实施例中,上述根据所述第一识别结果,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,得到第二全连接层输出向量和第二识别结果的步骤,包括:
S2241:将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,获取所述同构助教模型中的每个所述同构助教预训练子模型输出的第二全连接层输出子向量和第二识别子结果;
S2242:对每个所述第二识别子结果与所述第一识别结果之间进行欧氏距离计算,得到第一子模型距离;
S2243:对各个所述第一子模型距离进行求和计算,得到第一总距离;
S2244:将每个所述第一子模型距离除以所述第一总距离,得到第一子模型比例;
S2245:根据各个所述第一子模型比例,对各个所述第二全连接层输出子向量进行加权求和,得到所述第二全连接层输出向量;
S2246:根据各个所述第一子模型比例,对各个所述第二识别子结果进行加权求和,得到所述第二识别结果;
所述根据所述第一识别结果,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,得到第三全连接层输出向量和第三识别结果的步骤,包括:
S2251:将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,获取所述异构助教模型中的每个所述异构助教预训练子模型输出的第三全连接层输出子向量和第三识别子结果;
S2252:对每个所述第三识别子结果与所述第一识别结果之间进行欧氏距离计算,得到第二子模型距离;
S2253:对各个所述第二子模型距离进行求和计算,得到第二总距离;
S2254:将每个所述第二子模型距离除以所述第二总距离,得到第二子模型比例;
S2255:根据各个所述第二子模型比例,对各个所述第三全连接层输出子向量进行加权求和,得到所述第三全连接层输出向量;
S2256:根据各个所述第二子模型比例,对各个所述第三识别子结果进行加权求和,得到所述第三识别子结果。
本实施例通过各个第一子模型比例作为对各个所述第二全连接层输出子向量进行加权求和的权重、以及对各个所述第二识别子结果进行加权求和,实现了动态的确定各个子模型的权重,提高了第二全连接层输出向量的准确性,提高了第二识别结果的准确性,避免了助教将错误知识连续向下传递导致错误不断积累的问题;通过各个所述第二子模型比例作为对各个所述第三全连接层输出子向量进行加权求和的权重、以及对各个所述第三识别子结果进行加权求和的权重,实现了动态的确定各个子模型的权重,提高了第三全连接层输出向量的准确性,提高了第三识别结果的准确性,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
对于S2241,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,获取所述同构助教模型中的每个所述同构助教预训练子模型的全连接层输出的向量作为第二全连接层输出子向量,获取所述同构助教模型中的每个所述同构助教预训练子模型输出的数据作为第二识别子结果。
对于S2242,对每个所述第二识别子结果与所述第一识别结果之间进行欧氏距离计算,将计算得到的数据作为第一子模型距离。也就是说,第一子模型距离与所述第二识别子结果一一对应。
对于S2243,对各个所述第一子模型距离进行求和计算,将计算得到的数据作为第一总距离。
对于S2244,将每个所述第一子模型距离除以所述第一总距离,将计算得到的数据作为第一子模型比例。
对于S2245,根据各个所述第一子模型比例,对各个所述第二全连接层输出子向量进行加权求和,将加权求和得到的数据作为所述第二全连接层输出向量。
比如,各个所述第一子模型比例依次包括:ZM1、ZM2、ZM3、ZM4、ZM5、ZM6,ZM1、ZM2、ZM3、ZM4、ZM5、ZM6对应的所述第二全连接层输出子向量分别为:X1、X2、X3、X4、X5、X6,将ZM1*X1+ZM2*X2+ZM3*X3+ZM4*X4+ZM5*X5+ZM6*X6的计算结果作为所述第二全连接层输出向量。
对于S2246,根据各个所述第一子模型比例,对各个所述第二识别子结果进行加权求和,将加权求和得到的数据作为所述第二识别结果。
对于S2251,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,获取所述异构助教模型中的每个所述异构助教预训练子模型的全连接层输出的向量作为第三全连接层输出子向量,获取所述异构助教模型中的每个所述异构助教预训练子模型输出的数据作为第三识别子结果。
对于S2252,对每个所述第三识别子结果与所述第一识别结果之间进行欧氏距离计算,将计算得到的数据作为第二子模型距离。也就是说,第二子模型距离与所述第三识别子结果一一对应。
对于S2253,对各个所述第二子模型距离进行求和计算,将计算得到的数据作为第二总距离。
对于S2254,将每个所述第二子模型距离除以所述第二总距离,将计算得到的数据作为第二子模型比例。
对于S2255,根据各个所述第二子模型比例,对各个所述第三全连接层输出子向量进行加权求和,将加权求和得到的数据作为所述第三全连接层输出向量。
对于S2256,根据各个所述第二子模型比例,对各个所述第三识别子结果进行加权求和,将加权求和得到的数据作为所述第三识别子结果。
参照图2,本申请还提出了一种基于人工智能的人脸识别装置,所述装置包括:
图像获取模块100,用于获取目标图像;
人脸识别结果确定模块200,用于将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果;
模型训练模块300,用于获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件,将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同。
本实施例通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存基于人工智能的人脸识别方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于人工智能的人脸识别方法。所述基于人工智能的人脸识别方法,包括:获取目标图像;将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
本实施例通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于人工智能的人脸识别方法,包括步骤:获取目标图像;将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
上述执行的基于人工智能的人脸识别方法,通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于人工智能的人脸识别方法,其特征在于,所述方法包括:
获取目标图像;
将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:
获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;
采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;
将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
2.根据权利要求1所述的基于人工智能的人脸识别方法,其特征在于,所述获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型的步骤,包括:
获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集;
将所述验证集中的每个验证样本的验证图像样本输入所述教师预训练模型进行人脸识别,得到单样本教师识别结果;
根据所述单样本教师识别结果,将每个所述验证图像样本输入所述同构助教模型进行人脸识别,得到单样本同构识别结果;
根据所述单样本教师识别结果,将每个所述验证图像样本输入所述异构助教模型进行人脸识别,得到单样本异构识别结果;
根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,得到所述模型权重集。
3.根据权利要求2所述的基于人工智能的人脸识别方法,其特征在于,所述根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,得到所述模型权重集的步骤,包括:
获取计数器,并且将所述计数器初始化为1;
随机生成第一权重、第二权重和第三权重,其中,所述第一权重是所述教师预训练模型对应的模型权重,所述第二权重是所述同构助教模型对应的模型权重,所述第三权重是所述异构助教模型对应的模型权重;
根据所述第一权重、所述第二权重和所述第三权重,对目标验证样本对应的所述单样本教师识别结果、所述单样本同构识别结果及所述单样本异构识别结果进行加权求和,得到综合识别结果,其中,所述目标验证样本是所述验证集中的任一个所述验证样本;
对所述综合识别结果和所述目标验证样本中的人脸标定结果进行比对,得到单样本比对结果;
将所述计数器的值作为i,对各个所述单样本比对结果进行准确的比例计算,得到第i轮准确率;
获取第i-1轮准确率;
若所述第i轮准确率大于或等于所述第i-1轮准确率,则将所述第一权重、所述第二权重和所述第三权重作为模型权重初始集;
将所述计数器的值加1,并重复执行所述随机生成第一权重、第二权重和第三权重的步骤,直至所述计数器的值大于预设次数;
将所述模型权重初始集作为所述模型权重集。
4.根据权利要求2所述的基于人工智能的人脸识别方法,其特征在于,所述获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集的步骤之前,还包括:
获取教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集;
根据所述第一训练集和所述测试集,对所述教师初始模型进行训练及测试,得到所述教师预训练模型;
根据所述第一训练集和所述测试集,分别对每个所述同构助教初始模型进行训练及测试,得到所述同构助教预训练子模型,并且将各个所述同构助教预训练子模型作为所述同构助教模型;
根据所述第一训练集和所述测试集,分别对每个所述异构助教初始模型进行训练及测试,得到所述异构助教预训练子模型,并且将各个所述异构助教预训练子模型作为所述异构助教模型。
5.根据权利要求1所述的基于人工智能的人脸识别方法,其特征在于,所述采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件的步骤,包括:
获取第二训练集;
从所述第二训练集中获取任一个训练样本作为目标训练样本;
将所述目标训练样本中的人脸图像样本输入所述教师预训练模型进行人脸识别,得到第一全连接层输出向量和第一识别结果;
根据所述第一识别结果,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,得到第二全连接层输出向量和第二识别结果;
根据所述第一识别结果,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,得到第三全连接层输出向量和第三识别结果;
将每个所述人脸图像样本输入所述学生预训练模型进行人脸识别,得到第四识别结果;
根据所述目标训练样本的人脸标定值和所述第一识别结果进行损失值计算,得到第一损失值,并且根据所述第一损失值,对所述教师预训练模型进行模型参数更新;
根据所述第一识别结果和所述第二识别结果进行损失值计算,得到第二损失值,并且根据所述第二损失值,对所述同构助教模型进行模型参数更新;
根据所述第一识别结果和所述第三识别结果进行损失值计算,得到第三损失值,并且根据所述第三损失值,对所述异构助教模型进行模型参数更新;
根据所述模型权重集、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果、所述第二全连接层输出向量、所述第二识别结果、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果进行损失值计算,得到目标损失值,根据所述目标损失值,对所述学生预训练模型进行模型参数更新;
重复执行所述从所述第二训练集中获取任一个训练样本作为目标训练样本的步骤,直至达到所述蒸馏结束条件。
6.根据权利要求5所述的基于人工智能的人脸识别方法,其特征在于,所述目标损失值的计算公式L为:
L=(1-λ1)LCE1+λ1LKD1+(1-λ2)LCE2+λ2LKD2+(1-λ3)LCE3+λ3LKD3
LCE1=H(softmax(zs1),y)
LCE2=H(softmax(zs2),y)
LCE3=H(softmax(zs3),y)
LKD1=τ1 2KL(y1,y4)
LKD2=τ2 2KL(y2,y4)
LKD3=τ3 2KL(y3,y4)
y1=softmax(zs1/τ1)
y2=softmax(zs2/τ2)
y3=softmax(zs3/τ3)
其中,λ1是所述模型权重集中的与所述教师预训练模型对应的模型权重,λ2是所述模型权重集中的与所述同构助教模型对应的模型权重,λ3是所述模型权重集中的与所述异构助教模型对应的模型权重,y是所述目标训练样本的所述人脸标定值,H()是交叉熵损失函数,zs1是所述第一全连接层输出向量,zs2是所述第二全连接层输出向量,zs3是所述第三全连接层输出向量,KL()是KL散度损失函数,τ1是所述教师预训练模型的温度参数,τ2是所述同构助教模型的温度参数,τ3是所述异构助教模型的温度参数,y1是所述第一识别结果,y2是所述第二识别结果,y3是所述第三识别结果,y4是所述第四识别结果,softmax()是归一化函数。
7.根据权利要求5所述的基于人工智能的人脸识别方法,其特征在于,所述根据所述第一识别结果,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,得到第二全连接层输出向量和第二识别结果的步骤,包括:
将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,获取所述同构助教模型中的每个所述同构助教预训练子模型输出的第二全连接层输出子向量和第二识别子结果;
对每个所述第二识别子结果与所述第一识别结果之间进行欧氏距离计算,得到第一子模型距离;
对各个所述第一子模型距离进行求和计算,得到第一总距离;
将每个所述第一子模型距离除以所述第一总距离,得到第一子模型比例;
根据各个所述第一子模型比例,对各个所述第二全连接层输出子向量进行加权求和,得到所述第二全连接层输出向量;
根据各个所述第一子模型比例,对各个所述第二识别子结果进行加权求和,得到所述第二识别结果;
所述根据所述第一识别结果,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,得到第三全连接层输出向量和第三识别结果的步骤,包括:
将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,获取所述异构助教模型中的每个所述异构助教预训练子模型输出的第三全连接层输出子向量和第三识别子结果;
对每个所述第三识别子结果与所述第一识别结果之间进行欧氏距离计算,得到第二子模型距离;
对各个所述第二子模型距离进行求和计算,得到第二总距离;
将每个所述第二子模型距离除以所述第二总距离,得到第二子模型比例;
根据各个所述第二子模型比例,对各个所述第三全连接层输出子向量进行加权求和,得到所述第三全连接层输出向量;
根据各个所述第二子模型比例,对各个所述第三识别子结果进行加权求和,得到所述第三识别子结果。
8.一种基于人工智能的人脸识别装置,其特征在于,所述装置包括:
图像获取模块,用于获取目标图像;
人脸识别结果确定模块,用于将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果;
模型训练模块,用于获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件,将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355548.2A CN114743243B (zh) | 2022-04-06 | 2022-04-06 | 基于人工智能的人脸识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355548.2A CN114743243B (zh) | 2022-04-06 | 2022-04-06 | 基于人工智能的人脸识别方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114743243A true CN114743243A (zh) | 2022-07-12 |
CN114743243B CN114743243B (zh) | 2024-05-31 |
Family
ID=82280435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210355548.2A Active CN114743243B (zh) | 2022-04-06 | 2022-04-06 | 基于人工智能的人脸识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114743243B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180307894A1 (en) * | 2017-04-21 | 2018-10-25 | General Electric Company | Neural network systems |
US20190205748A1 (en) * | 2018-01-02 | 2019-07-04 | International Business Machines Corporation | Soft label generation for knowledge distillation |
CN111160409A (zh) * | 2019-12-11 | 2020-05-15 | 浙江大学 | 一种基于共同特征学习的异构神经网络知识重组方法 |
WO2020204460A1 (en) * | 2019-04-01 | 2020-10-08 | Samsung Electronics Co., Ltd. | A method for recognizing human emotions in images |
CN112801209A (zh) * | 2021-02-26 | 2021-05-14 | 同济大学 | 基于双特长教师模型知识融合的图像分类方法及存储介质 |
CN112819155A (zh) * | 2021-01-22 | 2021-05-18 | 中国人民解放军国防科技大学 | 应用于边缘设备的深度神经网络模型分级压缩方法及装置 |
CN112818969A (zh) * | 2021-04-19 | 2021-05-18 | 南京烽火星空通信发展有限公司 | 一种基于知识蒸馏的人脸姿态估计方法及系统 |
CN113052144A (zh) * | 2021-04-30 | 2021-06-29 | 平安科技(深圳)有限公司 | 活体人脸检测模型的训练方法、装置、设备及存储介质 |
CN113343898A (zh) * | 2021-06-25 | 2021-09-03 | 江苏大学 | 基于知识蒸馏网络的口罩遮挡人脸识别方法、装置及设备 |
CN113486665A (zh) * | 2021-07-05 | 2021-10-08 | 哈尔滨工业大学(深圳) | 隐私保护文本命名实体识别方法、装置、设备及存储介质 |
CN113610126A (zh) * | 2021-07-23 | 2021-11-05 | 武汉工程大学 | 基于多目标检测模型无标签的知识蒸馏方法及存储介质 |
CN113627545A (zh) * | 2021-08-16 | 2021-11-09 | 山东大学 | 一种基于同构多教师指导知识蒸馏的图像分类方法及系统 |
CN113807214A (zh) * | 2021-08-31 | 2021-12-17 | 中国科学院上海微系统与信息技术研究所 | 基于deit附属网络知识蒸馏的小目标人脸识别方法 |
WO2022043741A1 (zh) * | 2020-08-25 | 2022-03-03 | 商汤国际私人有限公司 | 网络训练、行人重识别方法及装置、存储介质、计算机程序 |
CN114170655A (zh) * | 2021-11-29 | 2022-03-11 | 西安电子科技大学 | 一种基于知识蒸馏的人脸伪造线索迁移方法 |
-
2022
- 2022-04-06 CN CN202210355548.2A patent/CN114743243B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180307894A1 (en) * | 2017-04-21 | 2018-10-25 | General Electric Company | Neural network systems |
US20190205748A1 (en) * | 2018-01-02 | 2019-07-04 | International Business Machines Corporation | Soft label generation for knowledge distillation |
WO2020204460A1 (en) * | 2019-04-01 | 2020-10-08 | Samsung Electronics Co., Ltd. | A method for recognizing human emotions in images |
CN111160409A (zh) * | 2019-12-11 | 2020-05-15 | 浙江大学 | 一种基于共同特征学习的异构神经网络知识重组方法 |
WO2022043741A1 (zh) * | 2020-08-25 | 2022-03-03 | 商汤国际私人有限公司 | 网络训练、行人重识别方法及装置、存储介质、计算机程序 |
CN112819155A (zh) * | 2021-01-22 | 2021-05-18 | 中国人民解放军国防科技大学 | 应用于边缘设备的深度神经网络模型分级压缩方法及装置 |
CN112801209A (zh) * | 2021-02-26 | 2021-05-14 | 同济大学 | 基于双特长教师模型知识融合的图像分类方法及存储介质 |
CN112818969A (zh) * | 2021-04-19 | 2021-05-18 | 南京烽火星空通信发展有限公司 | 一种基于知识蒸馏的人脸姿态估计方法及系统 |
CN113052144A (zh) * | 2021-04-30 | 2021-06-29 | 平安科技(深圳)有限公司 | 活体人脸检测模型的训练方法、装置、设备及存储介质 |
CN113343898A (zh) * | 2021-06-25 | 2021-09-03 | 江苏大学 | 基于知识蒸馏网络的口罩遮挡人脸识别方法、装置及设备 |
CN113486665A (zh) * | 2021-07-05 | 2021-10-08 | 哈尔滨工业大学(深圳) | 隐私保护文本命名实体识别方法、装置、设备及存储介质 |
CN113610126A (zh) * | 2021-07-23 | 2021-11-05 | 武汉工程大学 | 基于多目标检测模型无标签的知识蒸馏方法及存储介质 |
CN113627545A (zh) * | 2021-08-16 | 2021-11-09 | 山东大学 | 一种基于同构多教师指导知识蒸馏的图像分类方法及系统 |
CN113807214A (zh) * | 2021-08-31 | 2021-12-17 | 中国科学院上海微系统与信息技术研究所 | 基于deit附属网络知识蒸馏的小目标人脸识别方法 |
CN114170655A (zh) * | 2021-11-29 | 2022-03-11 | 西安电子科技大学 | 一种基于知识蒸馏的人脸伪造线索迁移方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114743243B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | Recurrent neural network training with dark knowledge transfer | |
JP6092334B2 (ja) | 発振を使用したメモリのためのロバストなニューラル時間符号化、学習、およびセル・リクルートメントの方法および装置 | |
CN103593538B (zh) | 一种遗传算法优化动态递归神经网络的光纤陀螺温度漂移建模方法 | |
US20150206048A1 (en) | Configuring sparse neuronal networks | |
CN111325318B (zh) | 神经网络的训练方法、神经网络的训练装置和电子设备 | |
WO2021169451A1 (zh) | 基于对抗学习的内容推荐方法、装置和计算机设备 | |
CN113673698B (zh) | 适用于bert模型的蒸馏方法、装置、设备及存储介质 | |
Ren et al. | An optimal neural network and concrete strength modeling | |
CN111598213A (zh) | 网络训练方法、数据识别方法、装置、设备和介质 | |
CN114782775A (zh) | 分类模型的构建方法、装置、计算机设备及存储介质 | |
WO2018062265A1 (ja) | 音響モデル学習装置、その方法、及びプログラム | |
US20150269479A1 (en) | Conversion of neuron types to hardware | |
CN112365385A (zh) | 基于自注意力的知识蒸馏方法、装置和计算机设备 | |
CN111428854A (zh) | 一种结构搜索方法及结构搜索装置 | |
CN113515948A (zh) | 语言模型训练方法、装置、设备及存储介质 | |
CN114743243B (zh) | 基于人工智能的人脸识别方法、装置、设备及存储介质 | |
CN112214592B (zh) | 一种回复对话评分模型训练方法、对话回复方法及其装置 | |
CN113449182A (zh) | 一种知识信息个性化推荐方法及系统 | |
CN114970732A (zh) | 分类模型的后验校准方法、装置、计算机设备及介质 | |
WO2022178950A1 (zh) | 预测语句实体的方法、装置和计算机设备 | |
CN112949599B (zh) | 基于大数据的候选内容推送方法 | |
KR102388215B1 (ko) | 자기주의 기반 심층 신경망 모델을 이용한 약물-표적 상호작용 예측 장치 및 그 방법 | |
CN114492199A (zh) | 一种电压互感器性能的分析方法、系统、电子设备及介质 | |
CN114756666A (zh) | 基于人工智能的跨模态检索方法、装置、设备及存储介质 | |
CN115329146A (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 |