一种深度学习模型的融合方法、装置转让专利

申请号 : CN202210838922.4

文献号 : CN114913402B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 范晓凌明杨作兴艾国

申请人 : 深圳比特微电子科技有限公司

摘要 :

本发明公开了一种深度学习模型的融合方法,包括:基于训练所得到的两个以上深度学习模型,分别对任务数据进行特征提取,选取第一模型,对于第一模型中的每一特征提取层:基于每个第一特征提取器,确定该第一特征提取器所提取的第一特征数据与第二模型中每个第二特征提取器所提取的第二特征数据之间的相关程度,根据相关程度确定所对应的第二特征数据,确定第一特征数据所来源的第一特征提取器与第二特征数据所来源的第二特征提取器的对应关系;根据对应关系,调整第二模型中每个第二特征提取器的顺序;选取下一第二模型,直至所有第二模型的模型参数都与第一模型的模型参数对齐;将模型参数对齐后的所有第二模型以及第一模型的模型参数进行融合。

权利要求 :

1.一种深度学习模型的融合方法,其特征在于,该方法包括:

基于训练所得到的两个以上深度学习模型,分别对任务数据进行图像特征数据提取,选取任一深度学习模型作为用于参考的第一模型,对于第一模型中的每一特征提取层:

基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一图像特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二图像特征数据之间的相关程度;从所确定的相关程度中选出符合设定条件的相关程度,确定所选相关程度所对应的第二图像特征数据,将该第一图像特征数据所来源的第一特征提取器与该第二图像特征数据所来源的、且未曾被确定对应关系的第二特征提取器,作为对应关系;

根据所述对应关系,调整第二模型中该特征提取层的每个第二特征提取器的顺序,并调整该特征提取层的相邻下一特征提取层中对应于该每个第二特征提取器的通道顺序,以使得第二模型的模型参数与所述第一模型的模型参数对齐;其中,第二模型为所述训练所得到的两个以上深度学习模型中除所述第一模型之外的任一深度学习模型;

选取下一第二模型,并反复执行所述对于第一模型中的每一特征提取层的步骤,直至所有第二模型的模型参数都与所述第一模型的模型参数对齐;

将模型参数对齐后的所有第二模型以及所述第一模型的模型参数进行融合;

其中,

所述相关程度为相关系数矩阵,相关系数矩阵中第m行第n列的元素为:第一特征提取器m所提取的第一图像特征数据与第二特征提取器n所提取的第二图像特征数据相关系数,所述从所确定的相关程度中选出符合设定条件的相关程度,确定所选相关程度所对应的第二图像特征数据,将该第一图像特征数据所来源的第一特征提取器与该第二图像特征数据所来源的、且未曾被确定对应关系的第二特征提取器,作为对应关系,包括:在相关系数矩阵中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息,若在该位置信息已被作为对应关系的情况下,则查找下一最大值对应的、且未曾被作为对应关系的位置信息,记录该行与所查找到的位置信息的对应关系,并标记该位置信息已被作为对应关系,其中,行信息表示第一图像特征数据所来源的第一特征提取器,位置信息表示第二图像特征数据所来源的第二特征提取器。

2.如权利要求1所述的融合方法,其特征在于,所述将模型参数对齐后的所有第二模型以及所述第一模型的模型参数进行融合,包括:对于所有模型中的每一特征提取层:

将各模型中该特征提取层的模型参数作为该模型该特征提取层的模型参数向量,根据各个模型的模型参数向量的模值以及角度信息,确定该特征提取层的模型参数。

3.如权利要求2所述的融合方法,其特征在于,所述根据各个模型的模型参数向量的模值以及角度信息,确定该特征提取层的模型参数,包括:确定所有所述模型参数向量的平均角度,

计算各模型的模型参数向量与平均角度之间的夹角相似度,得到各模型的夹角相似度,以各模型的夹角相似度为各模型的加权系数,对各模型的所述模型参数向量进行加权平均,得到各模型的模型参数向量的融合模值,基于融合模值、以及所述平均角度的单位向量,确定该特征提取层的模型参数。

4.如权利要求3所述的融合方法,其特征在于,所述确定所有所述模型参数向量的平均角度,包括:分别确定各个所述模型参数向量的模值,

基于模值,对各个所述模型参数向量进行归一化,得到各个所述模型参数向量的归一化向量,求取所有归一化向量的平均向量,对该平均向量进行归一化,得到用于表征平均角度的单位向量;

所述计算各模型的模型参数向量与平均角度之间的夹角相似度,包括:

将各个所述归一化向量与所述单位向量进行内积运算,得到各个所述模型参数向量与平均夹角之间的夹角的余弦值,该余弦值用于表征各模型的模型参数向量与平均角度之间的夹角相似度。

5.如权利要求4所述的融合方法,其特征在于,所述以各模型的夹角相似度为各模型的加权系数,对各模型的所述模型参数向量进行加权平均,包括:计算各模型的所述模型参数向量的模值与该模型的加权系数的乘积,得到各个模型的乘积结果,将各个模型的乘积结果进行累加,得到累加模值,

将累加模值对所有模型的加权系数之和进行平均,得到融合模值;

所述基于融合模值、以及所述平均角度的单位向量,确定该特征提取层的模型参数,包括:将融合模值与单位向量相乘,得到该特征提取层的模型参数。

6.如权利要求1所述的融合方法,其特征在于,所述分别对任务数据进行特征提取,包括:分别对参考数据集中每个任务数据进行特征提取,将各深度学习模型中每层特征提取层所提取的图像特征数据进行归一化处理;

所述基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一图像特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二图像特征数据之间的相关程度,包括:对于第一模型中该特征提取层中任一第一特征提取器m:

将该第一特征提取器所提取的第一图像特征数据与第二模型中该特征提取层的任一第二特征提取器n所提取的第二图像特征数据分别进行内积运算,得到用于表征该第一图像特征数据与该第二图像特征数据相关程度的相关系数,将该相关系数作为相关系数矩阵中第m行第n列的元素,反复执行,得到具有d行d列的相关系数矩阵,其中,m、n为不大于d的自然数,d为该特征提取层中的特征提取器的个数。

7.如权利要求1所述的融合方法,其特征在于,所述在相关系数矩阵中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息,包括:逐行遍历相关系数矩阵中每一行,在每一行中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息;

将逐行所查找的位置信息所构成的序列,作为该特征提取层图像特征数据的对应关系;其中,序列中元素的次序对应着第一模型中该特征提取层中的第一特征提取器次序,元素的数值本身表示第二模型的该特征提取层中所对应的第二特征提取器。

8.如权利要求1所述的融合方法,其特征在于,所述分别对参考数据集中每个任务数据进行特征提取之前,进一步包括:对参考数据集中的每个任务数据,按照训练样本集的归一化方式,对所提取特征对应的任务数据进行归一化处理;

所述第一模型为性能最佳的深度学习模型。

9.一种深度学习模型的融合装置,其特征在于,该装置包括:

特征数据获取模块,用于基于训练所得到的两个以上深度学习模型,分别对任务数据进行图像特征数据提取,模型选取模块,用于选取任一深度学习模型作为用于参考的第一模型,

对齐模块,用于对于第一模型中的每一特征提取层:

基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一图像特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二图像特征数据之间的相关程度,其中,所述相关程度为相关系数矩阵,相关系数矩阵中第m行第n列的元素为:第一特征提取器m所提取的第一图像特征数据与第二图像特征提取器n所提取的第二图像特征数据相关系数;在相关系数矩阵中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息,若在该位置信息已被作为对应关系的情况下,则查找下一最大值对应的、且未曾被作为对应关系的位置信息,记录该行与所查找到的位置信息的对应关系,并标记该位置信息已被作为对应关系,其中,行信息表示第一图像特征数据所来源的第一特征提取器,位置信息表示第二图像特征数据所来源的第二特征提取器;

根据所述对应关系,调整第二模型中该特征提取层的每个第二特征提取器的顺序,并调整该特征提取层的相邻下一特征提取层中对应于该每个第二特征提取器的通道顺序,以使得第二模型的模型参数与所述第一模型的模型参数对齐;其中,第二模型为所述训练所得到的两个以上深度学习模型中除所述第一模型之外的任一深度学习模型;

选取下一第二模型,并反复执行所述对于第一模型中的每一特征提取层的步骤,直至所有第二模型的模型参数都与所述第一模型的模型参数对齐;

融合模块,用于将模型参数对齐后的所有第二模型以及所述第一模型的模型参数进行融合。

10.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一所述深度学习模型的融合方法的步骤。

说明书 :

一种深度学习模型的融合方法、装置

技术领域

[0001] 本发明涉及机器学习领域,特别地,涉及一种深度学习模型的融合方法。

背景技术

[0002] 深度学习被引入机器学习使其更接近于最初的目标‑‑‑‑人工智能(AI,Artificial Intelligence)。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字、图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
[0003] 为了获得性能较佳的深度学习模型,往往需要设置不同的训练参数,进行多次训练,每次训练得到一个较佳的深度学习模型,最终选择所得到深度学习模型中性能最好的一个来使用。其中,训练参数是为对深度模型进行训练而设置的参数,例如,在开始学习过程之前设置的超参数,训练轮次(epoch)等;在每回训练的每轮次训练都需将训练样本集合中的所有样本数据输入深度学习模型。
[0004] 针对多轮次(epoch)训练所得到的一系列深度学习模型,有的研究者通过将多个深度学习模型进行融合得到一个融合模型,作为最终的模型,但这种融合只能应用于不同轮次的多个模型。
[0005] 在多回训练的过程中,每回训练得到一系列的不同训练轮次(epoch)模型,一般从中挑选一个较佳的深度学习模型。如此一来,多回训练后可以得到多个深度学习模型,然而,这些深度学习模型的融合尚没有解决方案。

发明内容

[0006] 本发明提供了一种深度学习模型的融合方法,以融合多回训练过程中所得到的多个深度学习模型。
[0007] 本发明提供一种深度学习模型的融合方法,该方法包括:
[0008] 基于训练所得到的两个以上深度学习模型,分别对任务数据进行特征提取,[0009] 选取任一深度学习模型作为用于参考的第一模型,
[0010] 对于第一模型中的每一特征提取层:
[0011] 基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二特征数据之间的相关程度;从所确定的相关程度中选出符合设定条件的相关程度,确定所选相关程度所对应的第二特征数据,将该第一特征数据所来源的第一特征提取器与该第二特征数据所来源的、且未曾被确定对应关系的第二特征提取器,作为对应关系;
[0012] 根据所述对应关系,调整第二模型中该特征提取层的每个第二特征提取器的顺序,并调整该特征提取层的相邻下一特征提取层中对应于该每个第二特征提取器的通道顺序,以使得第二模型的模型参数与所述第一模型的模型参数对齐;其中,第二模型为所述训练所得到的两个以上深度学习模型中除所述第一模型之外的任一深度学习模型;
[0013] 选取下一第二模型,并反复执行所述对于第一模型中的每一特征提取层的步骤,直至所有第二模型的模型参数都与所述第一模型的模型参数对齐;
[0014] 将模型参数对齐后的所有第二模型以及所述第一模型的模型参数进行融合。
[0015] 较佳地,所述将模型参数对齐后的所有第二模型以及所述第一模型的模型参数进行融合,包括:
[0016] 对于所有模型中的每一特征提取层:
[0017] 将各模型中该特征提取层的模型参数作为该模型该特征提取层的模型参数向量,[0018] 根据各个模型的模型参数向量的模值以及角度信息,确定该特征提取层的模型参数。
[0019] 较佳地,所述根据各个模型的模型参数向量的模值以及角度信息,确定该特征提取层的模型参数,包括:
[0020] 确定所有所述模型参数向量的平均角度,
[0021] 计算各模型的模型参数向量与平均角度之间的夹角相似度,得到各模型的夹角相似度,
[0022] 以各模型的夹角相似度为各模型的加权系数,对各模型的所述模型参数向量进行加权平均,得到各模型的模型参数向量的融合模值,
[0023] 基于融合模值、以及所述平均角度的单位向量,确定该特征提取层的模型参数。
[0024] 较佳地,所述确定所有所述模型参数向量的平均角度,包括:
[0025] 分别确定各个所述模型参数向量的模值,
[0026] 基于模值,对各个所述模型参数向量进行归一化,得到各个所述模型参数向量的归一化向量,
[0027] 求取所有归一化向量的平均向量,对该平均向量进行归一化,得到用于表征平均角度的单位向量;
[0028] 所述计算各模型的模型参数向量与平均角度之间的夹角相似度,包括:
[0029] 将各个所述归一化向量与所述单位向量进行内积运算,得到各个所述模型参数向量与所述平均夹角之间的夹角的余弦值,该余弦值用于表征各模型的模型参数向量与平均角度之间的夹角相似度;
[0030] 较佳地,所述以各模型的夹角相似度为各模型的加权系数,对各模型的所述模型参数向量进行加权平均,包括:
[0031] 计算各模型的所述模型参数向量的模值与该模型的加权系数的乘积,得到各个模型的乘积结果,
[0032] 将各个模型的乘积结果进行累加,得到累加模值,
[0033] 将累加模值对所有模型的加权系数之和进行平均,得到融合模值;
[0034] 所述基于融合模值、以及所述平均角度的单位向量,确定该特征提取层的模型参数,包括:
[0035] 将融合模值与单位向量相乘,得到该特征提取层的模型参数。
[0036] 较佳地,所述分别对任务数据进行特征提取,包括:
[0037] 分别对参考数据集中每个任务数据进行特征提取,将各深度学习模型中每层特征提取层所提取的特征数据进行归一化处理;
[0038] 所述基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二特征数据之间的相关程度,包括:
[0039] 对于第一模型中该特征提取层中任一第一特征提取器m:
[0040] 将该第一特征提取器所提取的第一特征数据与第二模型中该特征提取层的任一第二特征提取器n所提取的第二特征数据分别进行内积运算,得到用于表征该第一特征数据与该第二特征数据相关程度的相关系数,将该相关系数作为相关系数矩阵中第m行第n列的元素,
[0041] 反复执行,得到具有d行d列的相关系数矩阵,
[0042] 其中,m、n为不大于d的自然数,d为该特征提取层中的特征提取器的个数。
[0043] 较佳地,所述从所确定的相关程度中选出符合设定条件的相关程度,确定所选相关程度所对应的第二特征数据,将该第一特征数据所来源的第一特征提取器与该第二特征数据所来源的、且未曾被确定对应关系的第二特征提取器,作为对应关系,包括:
[0044] 在相关系数矩阵中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息,若在该位置信息已被作为对应关系的情况下,则查找下一最大值对应的、且未曾被作为对应关系的位置信息,
[0045] 记录该行与所查找到的位置信息的对应关系,并标记该位置信息已被作为对应关系,其中,行信息表示第一特征数据所来源的第一特征提取器,位置信息表示第二特征数据所来源的第二特征提取器。
[0046] 较佳地,所述在相关系数矩阵中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息,包括:
[0047] 逐行遍历相关系数矩阵中每一行,在每一行中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息;
[0048] 将逐行所查找的位置信息所构成的序列,作为该特征提取层特征数据的对应关系;其中,序列中元素的次序对应着第一模型中该特征提取层中的第一特征提取器次序,元素的数值本身表示第二模型的该特征提取层中所对应的第二特征提取器;
[0049] 所述分别对参考数据集中每个任务数据进行特征提取之前,进一步包括:
[0050] 对参考数据集中的每个任务数据,按照训练样本集的归一化方式,对所提取特征对应的任务数据进行归一化处理;
[0051] 所述第一模型为性能最佳的深度学习模型。
[0052] 本申请又提供一种深度学习模型的融合装置,其特征在于,该装置包括:
[0053] 特征数据获取模块,用于基于训练所得到的两个以上深度学习模型,分别对任务数据进行特征提取,
[0054] 模型选取模块,用于选取任一深度学习模型作为用于参考的第一模型,[0055] 对齐模块,用于对于第一模型中的每一特征提取层:
[0056] 基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二特征数据之间的相关程度,从所确定的相关程度中选出符合设定条件的相关程度,确定所选目标相关程度所对应的第二特征数据,将该第一特征数据所来源的第一特征提取器与该第二特征数据所来源的、且未曾被确定对应关系的第二特征提取器,作为对应关系;
[0057] 根据所述对应关系,调整第二模型中该特征提取层的每个第二特征提取器的顺序,并调整该特征提取层的相邻下一特征提取层中对应于该每个第二特征提取器的通道顺序,以使得第二模型的模型参数与所述第一模型的模型参数对齐;其中,第二模型为所述训练所得到的两个以上深度学习模型中除所述第一模型之外的任一深度学习模型;
[0058] 选取下一第二模型,并反复执行所述对于第一模型中的每一特征提取层的步骤,直至所有第二模型的模型参数都与所述第一模型的模型参数对齐;
[0059] 融合模块,用于将模型参数对齐后的所有第二模型以及所述第一模型的模型参数进行融合。
[0060] 本申请还提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述深度学习模型的融合方法的步骤。
[0061] 本申请提供的一种深度学习模型的融合方法,通过多回训练所得到的多个深度学习模型每个特征提取层中每个特征提取器所提取的特征数据之间的相关性,进行特征提取器对应,使得每个特征提取层中的特征提取器的模型参数具有相同或相近语义,不仅解决了多回训练过程中所得到的多个深度学习模型的融合,也可应用于不同轮次(epoch)训练过程中所得到的多个深度学习模型的融合,本实施例的融合方法具有较高的适用性和鲁棒性,有利于提高深度学习模型的性能。

附图说明

[0062] 图1为本申请深度学习模型的融合方法的一种流程示意图。
[0063] 图2为用于参考的第一模型与第二模型之间某特征提取层的特征提取器对应关系的一种示意图。
[0064] 图3 为人脸识别模型结构的一种示意图。
[0065] 图4 为本申请实施例人脸识别模型融合方法的一种流程示意图。
[0066] 图5为对应关系的一种示意图。
[0067] 图6为某特征提取层中基于角度信息、模型参数向量模值进行融合的一种示意图。
[0068] 图7为基于角度信息、模型参数向量模值进行融合的一种流程示意图。
[0069] 图8为本申请实施例深度学习模型的融合装置的一种流程示意图。
[0070] 图9为本申请实施例深度学习模型的融合装置的另一种流程示意图。

具体实施方式

[0071] 为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
[0072] 本申请提供的一种深度学习模型的融合方法,将训练所得到的多个深度学习模型,分别对任务数据进行特征提取,将多个深度学习模型中的一个模型作为参考模型,获取参考模型各特征提取层中各特征提取器所提取的第一特征数据与其它模型相同特征提取层中各特征提取器所提取的第二特征数据的相关程度,根据相关程度来确定参考模型中各特征提取层的各特征提取器与其它模型相同特征提取层的各特征提取器的对应关系,根据对应关系调整其它模型各特征提取层的各特征提取器的顺序,以使得其它模型的模型参数与参考模型的模型参数具有相同或相近的语义,得到模型参数对齐的其它模型,对所有模型进行模型参数融合。
[0073] 参见图1所示,图1为本申请深度学习模型的融合方法的一种流程示意图。该方法包括:
[0074] 步骤101,基于训练所得到的两个以上深度学习模型,分别对任务数据进行特征提取,
[0075] 其中,任务数据为深度学习模型待处理任务数据,其作为输入数据输入至深度学习模型中,包括且不限于图像数据、文本数据、语音数据的至少之一。
[0076] 步骤102,选取任一深度学习模型作为用于参考的第一模型,即参考模型,[0077] 步骤103,对于第一模型中的每一特征提取层:
[0078] 基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二特征数据之间的相关程度,从所确定的相关程度中选出符合设定条件的相关程度,确定所选相关程度所对应的第二特征数据,将该第一特征数据所来源的第一特征提取器与该第二特征数据所来源的、且未曾被确定对应关系的第二特征提取器,作为对应关系;
[0079] 根据所述对应关系,调整第二模型中该特征提取层的每个第二特征提取器的顺序,并调整该特征提取层的相邻下一特征提取层中对应于该每个第二特征提取器的通道顺序,以使得第二模型的模型参数与所述第一模型的模型参数对齐;其中,第二模型为所述训练所得到的两个以上深度学习模型中除所述第一模型之外的任一深度学习模型;
[0080] 例如:参见图2所示,图2为用于参考的第一模型与第二模型之间某特征提取层的特征提取器对应关系的一种示意图。
[0081] 假设一特征提取层包括有两个特征提取器,第一模型中一第一特征提取器所提取的第一特征数据为a,另一第一特征提取器所提取的第一特征数据为b;同样地,第二模型中相同特征提取层包括有两个第二特征提取器,第二模型中一第二特征提取器所提取的第二特征数据为c,另一第二特征提取器所提取的第二特征数据为d,则相关系数包括: a与c的相关系数ac,a与d 的相关系数ad,b与c的相关系数bc,b与d的相关系数bd,其中,相关系数ac、ad表征了a与c、d的相关程度,相关系数bc、bd表征了b与c、d的相关程度,相关程度越大,相关系数也越大。
[0082] 当ac小于ad时,则说明a与d对应,也就是说,d所来源的第二特征提取器与a所来源的第一特征提取器对应,
[0083] 同样地,若bc大于bd,说明b与c对应,也就是说,c所来源的第二特征提取器与b所来源的第一特征提取器对应;否则,说明b与d对应,也就是说,d所来源的第二特征提取器与b所来源的第一特征提取器对应,但由于d所来源的第二特征提取器已被确定为与a所来源的第一特征提取器对应,则确定c所来源的第二特征提取器与b所来源的第一特征提取器对应。
[0084] 步骤104,选取下一第二模型,并反复执行103步骤,直至所有第二模型的模型参数都与所述第一模型的模型参数对齐;
[0085] 步骤105,将模型参数对齐后的所有第二模型以及所述第一模型的模型参数进行融合。
[0086] 本实施例所提供的深度学习融合方法,不仅解决了多回训练过程中所得到的多个深度学习模型的融合,也可应用于不同轮次(epoch)训练过程中所得到的多个深度学习模型的融合,本实施例的融合方法具有较高的适用性和鲁棒性,有利于提高深度学习模型的性能。
[0087] 为便于理解本申请,以下以人脸识别模型的融合为例来进行说明,所应理解的是,本申请不限于此,任何基于深度学习模型的融合也可适用,这样的深度学习模型包括且不限于用于图像分类及识别、人脸识别、视频分类、行为识别、图像超分辨率重建、纹理识别、行人检测、场景标记、门牌识别、手写体字符识别、图像检索、人体行为识别等模型。
[0088] 在人脸识别领域,深度学习模型已经逐步的取代传统的人脸特征提取技术(如Gabor特征),人脸识别的性能也得到了极大的提高。但另一方面,人脸深度学习模型的训练需要依赖大量的数据,几千万、甚至上亿的图像数据,训练所需的时间较长,需要消耗大量的计算资源。为了得到更好的人脸识别模型,往往需要设置不同的训练参数,进行多回训练,每回训练得到一个较好的模型,最终使用的时候往往只选择所有得到的模型中性能最好的一个。
[0089] 多回训练得到的人脸识别模型不能直接融合,是因为每回训练得到的人脸识别模型的输出表示了人脸不同的特性,特征数据具有不同的含义,故而不能直接进行操作。本实施例提出了一种人脸识别模型融合方法是一种基于语义对齐的人脸识别模型融合方法,通过所提取特征之间的相关性分析,找到所提取特征之间语义对应关系;以一个模型为参考,根据其语义对应关系对其他模型的模型参数进行转化,得到语义对齐的新模型,然后就可以进行模型的融合操作,得到更高识别性能的人脸识别模型。
[0090] 参见图3所示,图3为人脸识别模型结构的一种示意图。图像数据依次经过包括有若干特征提取层的人脸识别模型输出识别特征,每个特征提取层包括若干特征提取器,特征提取器通常为卷积核,它如同滤波器一样对图像数据进行处理,又称为filter。例如,图中人脸识别模型中包括有3个特征提取层,特征提取层1具有3个特征提取器,特征提取层2具有5个特征提取器,特征提取层3具有5个特征提取器。
[0091] 假设人脸识别模型训练过程中,得到i个人脸识别模型,记为M1,M2,…Mi,i为大于等于2的自然数,人脸识别模型所具有的特征提取层的总层数为J层,任一人脸识别模型Mi的第j特征提取层的模型参数表示为Pij,j为小于等于J的自然数。
[0092] 参见图4所示,图4为本申请实施例人脸识别模型融合方法的一种流程示意图。该方法包括:
[0093] 步骤401,对参考数据集中的图像数据进行归一化处理。
[0094] 作为一种示例,可选取私有的和公开的人脸图像数据集作为参考数据集,也可以选取样本图像数据集中的部分或全部图像数据作为参考数据集;对参考数据集中的每个图像数据进行人脸检测,该检测包括人脸位置和人脸特征点定位,例如,采用开源的RetinaFace同时进行人脸检测和人脸特征点定位;然后按照人脸识别模型训练样本集的人脸归一化方式,对所提取特征所对应的图像数据做相同的归一化处理,以使得参考数据集中的图像数据与训练样本集中的图像数据具有相同或相近的人脸大小、位置等。
[0095] 步骤402,基于每个人脸识别模型,对归一化后的参考数据集中的每个图像数据进行特征提取,以获得丰富的特征数据。
[0096] 作为一种示例,将归一化后的参考数据集输入至每个人脸识别模型,利用每个人脸识别模型对归一化后的参考数据集进行特征提取,这样,模型中的每一特征提取层都提取特征,记为Fijk,其中,i是模型的序号, k表示参考数据集中图像数据的序号,j是模型的特征提取层的序号。
[0097] 步骤403,对所有提取的人脸特征进行归一化,用数学式表示为:
[0098] Fijk=Fijk/norm(Fijk)
[0099] 其中,norm(Fijk)表示对特征向量取模。
[0100] 步骤404,选取所有人脸识别模型中的任一模型作为参考,
[0101] 较佳地,选取识别性能最好的模型Mr作为参考模型。
[0102] 该参考模型第j特征提取层所提取的特征数据包括该层中每个第一特征提取器所提取的第一特征数据,则对于K个图像数据,通过参考模型Mr所得到所有特征数据可用数学式表达为:
[0103] Frj=[fr1_1, fr1_2,…,fr1_d]
[0104] [fr2_1, fr2_2,…,fr2_d]
[0105] …
[0106] [frkwh_1, frkwh_2,…,frkwh_d]
[0107] …
[0108] [frKwh_1, frKwh_2,…,frKwh_d]
[0109] 其中,Frj为模型Mr中第j特征提取层对K个图像数据所提取的所有特征数据,d是第j特征提取层中第一特征提取器的个数,Kwh是参考数据集中图像数据的总数K与该特征提取层所得到的特征图(每个特征提取层对应一个特征图)的宽w、高h的乘积,frkwh_d 表示第一特征提取器d对图像数据k所提取的第一特征数据,[frkwh_1, frkwh_2,…,frkwh_d]表示第j特征提取层中共有d个第一特征提取器对图像数据k分别所提取的第一特征数据,即表示参考模型Mr的第j特征提取层所提取的图像数据k的特征图,该特征图中的每行特征通过第j特征提取层中各个对应的第一特征提取器获得,例如,[fr1_1, fr1_2,…,fr1_d]表示特征图中第一行特征为d个第一特征提取器分别所提取的特征。
[0110] 步骤405,计算除参考模型之外的任一其他模型Mx(为便于行文,后续称其他模型为第二模型)中第j特征提取层所提取的特征数据Fxj与参考模型Mr中第j特征提取层所提取的特征数据Frj的相关系数,记为Cmn,其中,x不等于r。相关系数用数学式表达为:
[0111] Cmn=[fr1_m, fr2_m,…, frKwh_m]* [fx1_n, fx2_n,…, fxKwh_n]
[0112] 其中,*表示内积运算,Cmn表示相关系数矩阵C中第m行、第n列的元素,[fr1_m, fr2_m,…, frKwh_m]为参考模型Mr第j特征提取层所提取的特征数据Frj中第一特征提取器m对K个图像数据进行特征提取而输出的所有第一特征数据,即,[fr1_m, fr2_m,…, frKwh_m]是来源于第一特征提取器m所提取的特征,同样地,[fx1_n, fx2_n,…, fxKwh_n] 为第二模型Mx第j特征提取层所提取的特征数据Frj中第二特征提取器n对K个图像数据进行特征提取而输出的所有第二特征数据,即,[fx1_n, fx2_n,…, fxKwh_n] 是来源于第二特征提取器n所提取的特征。m、n为大于等于1且小于d的自然数。这样,第j特征提取层的相关系数矩阵C的大小为d行d列。
[0113] 步骤406,根据相关系数矩阵C,找到参考模型Mr和模型Mx特征的对应关系。
[0114] 作为一种示例,对相关系数矩阵C中的第m行,找到第m行中的最大值对应的未曾被作为对应关系而标记的位置,记为mx,该位置表征了参考模型Mr的第一特征数据[fr1_m, fr2_m,…, frKwh_m]和第二模型Mx的第二特征数据[fx1_x, fx2_x,…, fxKwh_x]相对应,即相关程度最大;将该位置mx记录为已标记;如果第m行中的最大值对应的位置已被作为对应关系而标记,则查找下一最大值对应的、且未曾被作为对应关系的位置,如此反复,直至找到对应且未曾被作为对应关系的位置。
[0115] 对相关系数矩阵C中逐行地查找每一行中最大值对应的、且未曾被作为对应关系而被标记的位置,直到所有行处理完毕。
[0116] 最终得到参考模型Mr和第二模型Mx的第j特征提取层中特征的对应关系,记为Mapx=[1x,2x,…,dx],
[0117] 其中,1x,2x,…,dx为一序列,序列元素的次序对应着参考模型Mr的第j特征提取层中各第一特征提取器的次序,元素数值的本身表示所对应的第二模型中第j特征提取层的第二特征提取器,
[0118] 例如,1x为序列中的第一个元素的数值,故而表示参考模型Mr的第j特征提取层中第一特征提取器1与第二模型Mx第j特征提取层中第二特征提取器1x对应,
[0119] 2x为序列中的第二个元素的数值,故而表示参考模型Mr的第j特征提取层中第一特征提取器2与第二模型Mx第j特征提取层中第二特征提取器2x对应,
[0120] 以此类推,
[0121] dx为序列中的第d个元素的数值,表示参考模型Mr的第j特征提取层中第一特征提取器d与第二模型Mx第j特征提取层中第二特征提取器dx对应。
[0122] 例如,图2的第一特征提取层中,若参考模型Mr和第二模型Mx特征对应关系为Mapx=[2,3,1],则表示:参考模型Mr中的第一特征提取器1与第二模型Mx中的第二特征提取器2(对应Mapx中的数值2)对应,参考模型Mr中的第一特征提取器2与第二模型Mx中的第二特征提取器3(对应Mapx中的数值3)对应,参考模型Mr中的第一特征提取器3与第二模型Mx中的第二特征提取器1(对应Mapx中的数值1)对应。上述对应关系可参见图5所示。
[0123] 另一种示例,在相关系数矩阵中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息,若在该位置信息已被作为对应关系的情况下,则查找下一最大值对应的、且未曾被作为对应关系的位置信息,
[0124] 记录该行与所查找到的位置信息的对应关系,并标记该位置信息已被作为对应关系,其中,行信息表示第一特征数据所来源的第一特征提取器,位置信息表示第二特征数据所来源的第二特征提取器。
[0125] 例如,在相关系数矩阵中的第1行中,元素最大值所在位置为4、且该位置为未曾被作为对应关系,则对应关系为(1,4),表明第一特征提取器1与第二特征提取器4相对应。
[0126] 步骤407,根据特征的对应关系,调整第二模型Mx第j特征提取层中第二特征提取器的顺序,即:
[0127] 将第j特征提取层中第二特征提取器1x放在第一位,第二特征提取器2x放在第二位…第二特征提取器dx放在第d位;
[0128] 同时调整第二模型Mx中第j+1特征提取层中对应的第二特征提取器的通道顺序,即将第二特征提取器1x对应的通道放在第一位,第二特征提取器2x对应的通道放在第二位…第二特征提取器dx对应的通道放在第d位。
[0129] 步骤408,确定第二模型Mx中下一特征提取层所提取的特征数据Fxj+1与参考模型Mr中下一特征提取层所提取的特征数据Frj+1的相关系数,返回步骤405,反复执行,直至第二模型Mx的所有层处理完毕,这样第二模型Mx和参考模型Mr的模型参数都达到了对齐,相同位置的特征提取器所具有的模型参数具有相同或相近的语义。
[0130] 步骤409,选取下一第二模型,返回步骤404,直至所有第二模型都处理完毕,这样,所有其他模型的模型参数都与参考模型对齐。
[0131] 步骤410,对模型参数对齐后的所有第二模型以及参考模型进行模型参数的融合。
[0132] 由于所有模型的模型参数都已经对齐,它们都具有相同或相近的语义,这样就可以对所有模型的模型参数通过算数平均等方式进行融合,得到最终的融合模型的模型参数,例如,对多个模型的网络参数直接进行算数平均。人脸识别融合模型具有更好的人脸识别性能。
[0133] 不妨将每个模型的模型参数视为一模型参数向量,鉴于算数平均的融合方式使得融合模型的模型参数主要受到模型参数向量的模值影响,偏向于模值较大的向量,没有考虑各个模型参数向量之间的角度信息。本实施例中基于模型参数向量之间的角度信息、以及模值来进行模型参数融合。
[0134] 参见图6所示,图6为某特征提取层中基于角度信息、模型参数向量模值进行融合的一种示意图。首先,基于各个模型的模型参数向量的角度信息求出平均角度,图中单位向量,然后,确定各模型的模型参数向量与平均角度之间的夹角相似度,并将夹角相似度作为模型融合的加权系数,对各个模型的模型参数向量进行加权融合,这样,所得到的模型就是基于角度信息的加权融合模型。
[0135] 参见图7所示,图7为基于角度信息、模型参数向量模值进行融合的一种流程示意图。
[0136] 作为一种示例,对于所有模型的第j特征提取层:
[0137] 步骤4101,对任一模型Mi的第j特征提取层的模型参数Pij,将其视为一向量,为便于行文方便,称为模型参数向量。
[0138] 求取模型Mi的第j特征提取层的模型参数向量的模值Mag_ij,数学式表示为:Mag_ij=norm(Pij),
[0139] 其中,norm()表示求取向量的模值;
[0140] 对模型参数向量Pij进行归一化,数学式可以表示为:
[0141] Pij_n=Pij/Mag_ij
[0142] 其中,Pij_n表示模型参数向量Pij的归一化向量,
[0143] 步骤4102,求取I个模型第j特征提取层的归一化向量Pij_n的平均向量Mean_j,数学式表达为:
[0144] Mean_j=( P1j_n+…Pij_n+ PIj_n)/I
[0145] 其中,I为所有模型的数量,i为大于等于1、且小于等于I的自然数。
[0146] 步骤4103,对第j特征提取层的平均向量Mean_j 进行归一化,归一化数学式表达为:
[0147] NMean_j=Mean_j/norm(Mean_j)
[0148] 其中,NMean_j为平均角度对应的单位向量,作为平均角度的表示;norm(Mean_j)表示求取平均向量Mean_j的模值。
[0149] 通过上述步骤4101 4103,可确定所有模型参数向量的平均角度。~
[0150] 步骤4104,计算各模型其模型参数向量的加权系数、以及其模型参数向量与平均角度之间的夹角ai;
[0151] 计算方式可用数学式表达为:
[0152] Cos(ai)=Pij_n* NMean_j
[0153] 其中,*表示向量的内积运算,Cos(ai)表示夹角的余弦值,并且,Cos(ai)表示了各模型的模型参数向量和平均角度之间的夹角相似度。
[0154] 步骤4105,求取用于融合模型的融合模值Mag_j;
[0155] 以Cos(ai)作为融合各模型其模型参数向量的模值时的加权系数来融合各个模型参数向量的模值,用数学式表达为:
[0156] mag_j=Cos(a1)· Mag_1j+Cos(a2)·Mag_2j…+Cos(ai)·Mag_ij+…Cos(aI)·Mag_Ij
[0157] 其中,符号·表示乘积运算,mag_j为融合所有模型参数向量的累计模值。
[0158] 融合模值为累计模值的平均,用数学式表达为:
[0159] Mag_j = mag_j /(Cos(a1)+Cos(a2)+…+Cos(ai)+…Cos(aI))
[0160] 也就是说,融合模值为:各模型中第j特征提取层其模型参数向量的模值的加权平均,其中,加权系数为Cos(ai)。
[0161] 步骤4106,根据融合模值、以及模型参数向量的方向,确定第j特征提取层的模型参数Wj,用数学式可以表示为:
[0162] Wj= Mag_j·NMean_j
[0163] 其中,符号·表示乘积运算,Mag_j表示第j特征提取层的模型参数向量的融合模值,NMean_j表示模型参数向量的方向。
[0164] 步骤4107,返回步骤4102,对下一特征提取层的模型参数进行融合,反复执行,直至各模型的所有特征提取层的模型参数都进行了融合,得到最终的融合模型。
[0165] 上述融合模型参数的方式,不仅考虑了各个模型的模型参数的模值,而且考虑了各个模型的模型参数之间的角度信息,有利于提升融合模型的稳定性和性能。
[0166] 参见图8所示,图8为本申请实施例一种深度学习模型的融合装置的一种示意图。该装置包括:
[0167] 特征数据获取模块,用于基于训练所得到的两个以上深度学习模型,分别对任务数据进行特征提取,
[0168] 模型选取模块,用于选取任一深度学习模型作为用于参考的第一模型,[0169] 对齐模块,用于对于第一模型中的每一特征提取层:
[0170] 基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二特征数据之间的相关程度,从所确定的相关程度中选出符合设定条件的相关程度,确定所选相关程度对应的第二特征数据,将该第一特征数据所来源的第一特征提取器与该第二特征数据所来源的、且未曾被确定对应关系的第二特征提取器,作为对应关系;
[0171] 根据所述对应关系,调整第二模型中该特征提取层的每个第二特征提取器的顺序,并调整该特征提取层的相邻下一特征提取层中对应于该每个第二特征提取器的通道顺序,以使得第二模型的模型参数与所述第一模型的模型参数对齐;其中,第二模型为所述训练所得到的两个以上深度学习模型中除所述第一模型之外的任一深度学习模型;
[0172] 选取下一第二模型,并反复执行所述对于第一模型中的每一特征提取层的步骤,直至所有第二模型的模型参数都与所述第一模型的模型参数对齐;
[0173] 融合模块,用于将模型参数对齐后的所有第二模型以及所述第一模型的模型参数进行融合。
[0174] 其中,
[0175] 所述融合模块,还被配置为:
[0176] 对于所有模型中的每一特征提取层:
[0177] 将各模型中该特征提取层的模型参数作为该模型该特征提取层的模型参数向量,[0178] 根据各个模型的模型参数向量的模值以及角度信息,确定该特征提取层的模型参数。
[0179] 所述融合模块还被配置为:
[0180] 确定所有所述模型参数向量的平均角度,
[0181] 计算各模型的模型参数向量与平均角度之间的夹角相似度,得到各模型的夹角相似度,
[0182] 以各模型的夹角相似度为各模型的加权系数,对各模型的所述模型参数向量进行加权平均,得到各模型的模型参数向量的融合模值,
[0183] 基于融合模值、以及所述平均角度的单位向量,确定该特征提取层的模型参数。
[0184] 所述融合模块被配置为:
[0185] 分别确定各个所述模型参数向量的模值,
[0186] 基于模值,对各个所述模型参数向量进行归一化,得到各个所述模型参数向量的归一化向量,
[0187] 求取所有归一化向量的平均向量,对该平均向量进行归一化,得到用于表征平均角度的单位向量;
[0188] 将各个所述归一化向量与所述单位向量进行内积运算,得到各个所述模型参数向量与所述平均夹角之间的夹角的余弦值,该余弦值用于表征各模型的模型参数向量与平均角度之间的夹角相似度;
[0189] 计算各模型的所述模型参数向量的模值与该模型的加权系数的乘积,得到各个模型的乘积结果,
[0190] 将各个模型的乘积结果进行累加,得到累加模值,
[0191] 将累加模值对所有模型的加权系数之和进行平均,得到融合模值;
[0192] 所述基于融合模值、以及所述平均角度的单位向量,确定该特征提取层的模型参数,包括:
[0193] 将融合模值与表征平均角度的单位向量相乘,得到该特征提取层的模型参数;
[0194] 分别对参考数据集中每个任务数据进行特征提取,将各深度学习模型中每层特征提取层所提取的特征数据进行归一化处理;
[0195] 所述基于该特征提取层中的每个第一特征提取器,确定该第一特征提取器所提取的第一特征数据与第二模型中该特征提取层的每个第二特征提取器所提取的第二特征数据之间的相关程度,包括:
[0196] 对于第一模型中该特征提取层中任一第一特征提取器m:
[0197] 将该第一特征提取器所提取的第一特征数据与第二模型中该特征提取层的任一第二特征提取器n所提取的第二特征数据分别进行内积运算,得到用于表征该第一特征数据与该第二特征数据相关程度的相关系数,将该相关系数作为相关系数矩阵中第m行第n列的元素,
[0198] 反复执行,得到具有d行d列的相关系数矩阵,
[0199] 其中,m、n为不大于d的自然数,d为该特征提取层中的特征提取器的个数。
[0200] 所述对齐模块被配置为:
[0201] 在相关系数矩阵中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息,若在该位置信息已被作为对应关系的情况下,则查找下一最大值对应的、且未曾被作为对应关系的位置信息,
[0202] 记录该行与所查找到的位置信息的对应关系,并标记该位置信息已被作为对应关系,其中,行信息表示第一特征数据所来源的第一特征提取器,位置信息表示第二特征数据所来源的第二特征提取器;
[0203] 逐行遍历相关系数矩阵中每一行,在每一行中查找每一行中最大值对应的、且未曾被作为对应关系的位置信息;
[0204] 将逐行所查找的位置信息所构成的序列,作为该特征提取层特征数据的对应关系;其中,序列中元素的次序对应着第一模型中该特征提取层中的第一特征提取器次序,元素的数值本身表示第二模型的该特征提取层中所对应的第二特征提取器;
[0205] 所述装置进一步包括:
[0206] 预处理模块,用于对参考数据集中的每个任务数据,按照训练样本集的归一化方式,对所提取特征对应的任务数据进行归一化处理。
[0207] 所述第一模型为性能最佳的深度学习模型。
[0208] 参见图9所示,图9为本申请实施例一种深度学习模型的融合装置的另一种示意图。该装置包括存储器和处理器,所述存储器存储有计算机程序,所述处理器被配置执行所述计算机程序以实现上述深度学习模型融合方法。
[0209] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non‑Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0210] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0211] 本发明实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现深度学习模型的融合方法步骤。
[0212] 对于装置/网络侧设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0213] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0214] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。