模型联合训练方法、装置以及存储介质与流程

文档序号:31608301发布日期:2022-09-21 14:08阅读:519来源:国知局
模型联合训练方法、装置以及存储介质与流程

1.本公开涉及人工智能技术领域,尤其涉及一种模型联合训练方法、装置以及存储介质。


背景技术:

2.随着机器学习应用的发展,在车联网、视频监控、智慧城市等领域中采用了许多的智能平台,智能平台与大量的传感器之间产生了海量的数据通信。智能平台在实际场景下包含着多种机器学习模型,机器学习模型实现机器视觉任务,包括目标检测、目标跟踪、行为识别、姿态估计等任务。面向机器视觉的视频编码以及解码,不仅需要满足高压缩率的性能,还需要满足多种机器视觉任务的需求。目前,对于执行多种机器视觉任务的机器学习模型的训练,训练复杂度高,并且难以保证多种机器视觉任务的处理精度。


技术实现要素:

3.有鉴于此,本发明要解决的一个技术问题是提供一种模型联合训练方法、装置以及存储介质。
4.根据本公开的第一方面,提供一种模型联合训练方法,其中,待训练的模型包括:编码器网络模型和多个任务网络模型;所述方法包括:从所述多个任务网络模型中选取一个任务网络模型,作为第一目标任务网络模型;使用训练样本对所述编码器网络模型和所述第一目标任务网络模型进行训练,得到训练好的所述编码器网络模型以及对应的编码网络参数、训练好的所述第一目标任务网络模型以及对应的第一网络参数;依次将所述多个任务网络模型中的各个其它任务网络模型设置为第二目标任务网络模型;在保持所述编码网络参数的状态下,使用所述训练样本依次对所述编码器网络模型和各个第二目标任务网络模型进行训练,获得训练好的各个第二目标任务网络模型以及对应的第二网络参数。
5.可选地,所述使用训练样本对所述编码器网络模型和所述第一目标任务网络模型进行训练包括:基于所述训练样本生成至少一个训练样本批次;使用所述编码器网络模型并基于所述训练样本批次,获得与所述训练样本批次相对应的编码信息;使用所述第一目标任务网络模型并基于编码信息,生成对应的解码信息以及任务处理结果;基于损失函数对所述编码网络参数和所述第一网络参数进行调整处理。
6.可选地,所述使用所述训练样本依次对所述编码器网络模型和各个第二目标任务网络模型进行训练包括:使用训练好的所述编码器网络模型并基于所述训练样本批次和所述编码网络参数,获得所述编码信息;使用所述第二目标任务网络模型并基于编码信息,生成对应的解码信息以及任务处理结果;在保持所述编码网络参数的状态下,基于损失函数对所述第二网络参数进行调整处理。
7.可选地,判断所述第一目标任务网络模型或所述第二目标任务网络模型是否需要对解码结果进行机器自动处理;其中,解码结果包括图像或视频解码结果;基于判断结果确定所述损失函数。
8.可选地,如果所述判断结果为不需要对解码结果进行机器自动处理,则根据像素特征、编码质量损失系数以及解码图像与原始图像的损失函数,构建第一函数,作为所述损失函数。
9.可选地,如果所述判断结果为需要对解码结果进行机器自动处理,则根据像素特征、编码质量损失系数、解码图像与原始图像的损失函数、任务损失函数,构建第二函数,作为所述损失函数。
10.可选地,所述编码器网络模型和所述任务网络模型包括:神经网络模型;所述编码网络参数包括:所述编码器网络模型的权重信息;所述第一网络参数包括:所述第一目标任务网络模型的权重信息;所述第二网络参数包括:所述第二目标任务网络模型的权重信息。根据本公开的第二方面,提供一种模型联合训练装置,其中,待训练的模型包括:编码器网络模型和多个任务网络模型;所述模型联合训练装置包括:第一模型确定模块,用于从所述多个任务网络模型中选取一个任务网络模型,作为第一目标任务网络模型;第一模型训练模块,用于使用训练样本对所述编码器网络模型和所述第一目标任务网络模型进行训练,得到训练好的所述编码器网络模型以及对应的编码网络参数、训练好的所述第一目标任务网络模型以及对应的第一网络参数;第二模型确定模块,用于依次将所述多个任务网络模型中的各个其它任务网络模型设置为第二目标任务网络模型;第二模型训练模块,用于在保持所述编码网络参数的状态下,使用所述训练样本依次对所述编码器网络模型和各个第二目标任务网络模型进行训练,获得训练好的各个第二目标任务网络模型以及对应的第二网络参数。
11.可选地,所述第一模型训练模块,具体用于基于所述训练样本生成至少一个训练样本批次;使用所述编码器网络模型并基于所述训练样本批次,获得与所述训练样本批次相对应的编码信息;使用所述第一目标任务网络模型并基于编码信息,生成对应的解码信息以及任务处理结果;基于损失函数对所述编码网络参数和所述第一网络参数进行调整处理。
12.可选地,所述第二模型训练模块,用于使用训练好的所述编码器网络模型并基于所述训练样本批次和所述编码网络参数,获得所述编码信息;使用所述第二目标任务网络模型并基于编码信息,生成对应的解码信息以及任务处理结果;在保持所述编码网络参数的状态下,基于损失函数对所述第二网络参数进行调整处理。
13.可选地,损失函数确定模块,用于判断所述第一目标任务网络模型或所述第二目标任务网络模型是否需要对解码结果进行机器自动处理;其中,解码结果包括图像或视频解码结果;基于判断结果确定所述损失函数。
14.可选地,所述损失函数确定模块,用于如果所述判断结果为不需要对解码结果进行机器自动处理,则根据像素特征、编码质量损失系数以及解码图像与原始图像的损失函数,构建第一函数,作为所述损失函数。
15.可选地,所述损失函数确定模块,用于如果所述判断结果为需要对解码结果进行机器自动处理,则根据像素特征、编码质量损失系数、解码图像与原始图像的损失函数、任务损失函数,构建第二函数,作为所述损失函数。
16.可选地,所述编码器网络模型和所述任务网络模型包括:神经网络模型;所述编码网络参数包括:所述编码器网络模型的权重信息;所述第一网络参数包括:所述第一目标任
务网络模型的权重信息;所述第二网络参数包括:所述第二目标任务网络模型的权重信息。
17.根据本公开的第三方面,提供一种模型联合训练装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的模型联合训练方法。
18.根据本公开的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上的方法。
19.本公开的模型联合训练方法、装置以及存储介质,通过选择一个任务网络模型进行联合训练,生成编码器网络模型权重,利用网络模型间的关联性,固定编码器网络模型权重对其余任务网络模型进行训练;提高了模型训练速度,降低了训练复杂度,并且能够满足不同任务对于数据质量的需求,提高了任务网络模型的处理精度,提高了用户的使用感受度。
附图说明
20.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
21.图1为根据本公开的模型联合训练方法的一个实施例的流程示意图;
22.图2为根据本公开的模型联合训练方法的一个实施例中的对编码器网络模型和第一目标任务网络模型进行训练的流程示意图;
23.图3为根据本公开的模型联合训练方法的一个实施例中的对第二目标任务网络模型进行训练的流程示意图;
24.图4为根据本公开的模型联合训练方法的一个实施例的应用场景示意图;
25.图5为根据本公开的模型联合训练装置的一个实施例的模块示意图;
26.图6为根据本公开的模型联合训练装置的另一个实施例的模块示意图;
27.图7为根据本公开的模型联合训练装置的又一个实施例的模块示意图。
具体实施方式
28.下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。下面结合各个图和实施例对本公开的技术方案进行多方面的描述。
29.下文中的“第一”、“第二”等仅用于描述上相区别,并没有其它特殊的含义。
30.在发明人所知晓的相关技术中,可以通过机器学习模型实现机器视觉任务。例如,在车联网场景下,通过多个任务网络模型(机器学习模型)执行目标检测、目标跟踪等机器视觉任务。例如,在视频监控场景下,通过多个任务网络模型执行目标检测、目标跟踪、行为识别、姿态估计等机器视觉任务;在智慧城市场景下,通过多个任务网络模型执行目标检测、目标分割、目标跟踪等机器视觉任务。
31.面向机器视觉的视频编码以及解码,不仅需要满足高压缩率的性能,还需要满足多种机器视觉任务的需求。目前,对于执行多种机器视觉任务的机器学习模型的训练,训练复杂度高,并且难以保证处理精度。例如,将多个任务网络模型与编码器网络模型进行联合训练,训练复杂度极高。基于一个任务网络模型与编码器网络模型进行训练,将得到的网络模型权重直接应用在其它任务网络模型中,难以保证多种机器视觉任务的处理精度。
32.图1为根据本公开的模型联合训练方法的一个实施例的流程示意图,目标检测模型包括编码器模块和解码器模块等,如图1所示:
33.步骤101,从多个任务网络模型中选取一个任务网络模型,作为第一目标任务网络模型。
34.在一个实施例中,待训练的模型包括编码器网络模型和多个任务网络模型,多个任务网络模型可以为目标检测、目标跟踪、行为识别、姿态估计等任务网络模型,也可以为人眼视觉任务模型等任务网络模型。编码器网络模型和任务网络模型可以为机器学习网络,例如为多种神经网络模型等。在多个任务网络模型可以使用预设的选取策略选取一个任务网络模型,作为第一目标任务网络模型,选取策略可以包括任务最重要、任务执行精度要求最严格等策略。
35.步骤102,使用训练样本对编码器网络模型和第一目标任务网络模型进行训练,得到训练好的编码器网络模型以及对应的编码网络参数、训练好的第一目标任务网络模型以及对应的第一网络参数。
36.在一个实施例中,训练样本包括带有标注信息的历史视频、历史图像等。可以采用现有的多种训练方法训练编码器网络模型和第一目标任务网络模型,并根据损失函数对编码器网络模型和第一目标任务网络模型的参数进行调整处理,以使损失函数的函数值在允许的取值范围内。
37.编码网络参数包括编码器网络模型的权重信息等,权重信息表征模型中的神经元之间的连接强度,权重的大小表示可能性的大小。第一目标任务网络模型能够对编码器网络模型输出的图像、视频等编码信息进行解码处理,第一网络参数包括第一目标任务网络模型的权重信息,权重信息包括与第一目标任务网络模型的解码网络相对应的权重。
38.步骤103,依次将多个任务网络模型中的各个其它任务网络模型设置为第二目标任务网络模型。
39.步骤104,在保持编码网络参数的状态下,使用训练样本依次对各个第二目标任务网络模型进行训练,获得训练好的各个第二目标任务网络模型以及对应的第二网络参数。
40.在一个实施例中,可以采用现有的多种训练方法,固定编码网络参数并依次对编码器网络模型和第二目标任务网络模型进行联合训练,并根据损失函数对第二目标任务网络模型进行调整处理,以使损失函数的函数值在允许的取值范围内。
41.第二目标任务网络模型能够对编码器网络模型输出的图像、视频等编码信息进行解码处理,第二网络参数包括第二目标任务网络模型的权重信息,权重信息包括与第二目标任务网络模型中的解码网络相对应的权重。
42.编码器网络模型和全部任务网络模型训练好之后,在实际部署中,解码端的各个任务网络模型对接收的编码器网络模型输出的单路码流能够动态使用各自网络模型的权重,得到不同的解码图像并进行对应的处理。
43.本公开的模型联合训练方法,提供了面向机器视觉多任务与人机混合的视频编码联合训练方法,利用任务间关联性进行迁移学习,提高训练速度,降低训练复杂度;对于编码器网络模型输出的一路码流,不同的任务网络模型进行解码后能够得到多路码流,满足不同的任务需求。
44.图2为根据本公开的模型联合训练方法的一个实施例中的对编码器网络模型和第一目标任务网络模型进行训练的流程示意图,如图2所示:
45.步骤201,基于训练样本生成至少一个训练样本批次。
46.步骤202,使用编码器网络模型并基于训练样本批次,获得与训练样本批次相对应的编码信息。
47.步骤203,使用第一目标任务网络模型并基于编码信息,生成对应的解码信息以及任务处理结果。
48.步骤204,基于损失函数对编码网络参数和第一网络参数进行调整处理。
49.图3为根据本公开的模型联合训练方法的一个实施例中的对第二目标任务网络模型进行训练的流程示意图,如图3所示:
50.步骤301,使用训练好的编码器网络模型并基于训练样本批次和网络参数,获得编码信息。
51.步骤302,使用第二目标任务网络模型并基于编码信息,生成对应的解码信息以及任务处理结果。
52.步骤303,在保持编码网络参数的状态下,基于损失函数对第二网络参数进行调整处理。
53.在一个实施例中,从多个任务网络模型中选取一个任务网络模型,作为第一目标任务网络模型a,对第一目标任务网络模型a与编码器网络模型进行端到端联合训练,得到编码器网络模型的权重we和第一目标任务网络模型a的权重wd。
54.同一场景下的不同任务网络模型的训练数据集相同,每次训练均采用相同的训练数据集。依次将多个任务网络模型中的各个其它任务网络模型设置为第二目标任务网络模型b。固定编码器网络模型的权重we,对第二目标任务网络模型b与编码器网络模型进行端到端联合训练,得到第二目标任务网络模型b的网络w
db

55.在一个实施例中,判断第一目标任务网络模型或第二目标任务网络模型是否需要对解码结果进行机器自动处理,基于判断结果确定损失函数。第一目标任务网络模型和第二目标任务网络模型都可以对编码器网络模型输出的编码信息进行解码处理,生成解码结果。第一目标任务网络模型或第二目标任务网络模型可以对解码结果进行机器自动处理,例如为行为识别、姿态估计等处理,第一目标任务网络模型或第二目标任务网络模型也可以对解码结果不进行机器自动处理,例如通过人工对图像进行识别等。
56.如果判断结果为不需要对解码结果进行机器自动处理,则根据像素特征、编码质量损失系数以及解码图像与原始图像的损失函数,构建第一函数,作为损失函数,像素特征可以为bpp(bits per pixel,每像素位数)等。例如,确定第一函数为:
57.loss=r+λd
mse
ꢀꢀꢀꢀ
(1-1);
58.其中,r为bpp,bpp是指样本中的图像或视频等的每像素的颜色分量所用的位数;λ为不同编码质量的损失系数(编码质量损失系数),d
mse
为解码图像与原始图像的mse损失函
数。
59.如果判断结果为需要对解码结果进行机器自动处理,则根据像素特征、编码质量损失系数、解码图像与原始图像的损失函数、任务损失函数,构建第二函数,作为损失函数。在保持编码网络参数的状态下,基于损失函数对第二网络参数进行调整处理时,任务损失函数可由任务推理结果计算所得,也可为任务训练的损失函数。例如,第二函数为:
60.loss=r+λ1d
mse
+λ2d
action
ꢀꢀꢀꢀꢀꢀ
(1-2);
61.其中,λ1、λ2为不同编码质量对于d
mse
、d
action
的损失系数(编码质量损失系数),d
mse
为解码图像与原始图像的mse损失函数,d
action
为行为识别任务损失函数(任务损失函数)。
62.在一个实施例中,将训练样本划分为多批batch训练样本,当batch_count大于0时,加载每个batch的样本数据,训练模型的forward函数;对当次batch数据图像进行编解码操作,得到当前网络权重下的解码图像,使用解码图像进行视觉任务推理或视觉任务网络训练,结合loss函数的反向传播,进行模型参数的更新。
63.如图4所示,以视频监控场景为例,多个任务网络模型包括人眼视觉、目标分割、目标跟踪等任务网络模型,多个任务网络模型中的最主要的机器视觉任务为目标分割任务。目标分割任务网络模型为yolov3模型等,编码器网络模型为mbt2018-mean模型等。
64.对目标分割任务网络模型(作为第一目标任务网络模型)与编码器网络模型进行端到端联合训练,得到训练好的编码器网络模型和目标分割任务网络模型,并确定编码器网络模型的权重we、目标分割任务网络模型的权重wd,损失函数为loss=r+λ1d
mse
+λ2d
seg

65.固定编码器网络模型的权重we,对目标跟踪任务网络模型(作为第二目标任务网络模型)和编码器网络模型进行端到端联合训练,得到目标跟踪任务网络模型的权重w
dtrack
,损失函数为loss=r+λ1d
mse
+λ2d
track
。固定编码器网络模型的权重we,对人眼视觉任务网络模型(作为第二目标任务网络模型)与编码器网络模型进行端到端联合训练,得到人眼视觉任务网络模型的权重w
dimg
,损失函数为loss=r+λd
mse

66.在一个实施例中,如图5所示,本公开提供一种模型联合训练装置50,包括第一模型确定模块51、第一模型训练模块52、第二模型确定模块53和第二模型训练模块54。待训练的模型包括编码器网络模型和多个任务网络模型,第一模型确定模块51从多个任务网络模型中选取一个任务网络模型,作为第一目标任务网络模型。第一模型训练模块52使用训练样本对编码器网络模型和第一目标任务网络模型进行训练,得到训练好的编码器网络模型以及对应的编码网络参数、训练好的第一目标任务网络模型以及对应的第一网络参数。
67.第二模型确定模块53依次将多个任务网络模型中的各个其它任务网络模型设置为第二目标任务网络模型。第二模型训练模块54在保持编码网络参数的状态下,使用训练样本并基于网络参数,依次对各个第二目标任务网络模型进行训练,获得训练好的各个第二目标任务网络模型以及对应的第二网络参数。
68.在一个实施例中,第一模型训练模块52基于训练样本生成至少一个训练样本批次,使用编码器网络模型并基于训练样本批次,获得与训练样本批次相对应的编码信息。第一模型训练模块52使用第一目标任务网络模型并基于编码信息,生成对应的解码信息以及任务处理结果,基于损失函数对编码网络参数和第一网络参数进行调整处理。
69.第二模型训练模块54使用训练好的编码器网络模型并基于训练样本批次和编码网络参数,获得编码信息。第二模型训练模块54使用第二目标任务网络模型并基于编码信
息,生成对应的解码信息以及任务处理结果。第二模型训练模块54在保持编码网络参数的状态下,基于损失函数对第二网络参数进行调整处理。
70.在一个实施例中,如图6所示,模型联合训练装置50包括损失函数确定模块55。损失函数确定模块55判断第一目标任务网络模型或第二目标任务网络模型是否需要对解码结果进行机器自动处理,基于判断结果确定损失函数。
71.如果判断结果为不需要对解码结果进行机器自动处理,则损失函数确定模块55根据像素特征、编码质量损失系数以及解码图像与原始图像的损失函数,构建第一函数,作为损失函数。如果判断结果为需要对解码结果进行机器自动处理,则损失函数确定模块55根据像素特征、编码质量损失系数、解码图像与原始图像的损失函数、任务损失函数,构建第二函数,作为损失函数。
72.在一个实施例中,如图7所示,本公开提供一种模型联合训练装置可包括存储器71、处理器72、通信接口73以及总线74。存储器71用于存储指令,处理器72耦合到存储器71,处理器72被配置为基于存储器71存储的指令执行实现上述的模型联合训练方法。
73.存储器71可以为高速ram存储器、非易失性存储器(non-volatile memory)等,存储器71也可以是存储器阵列。存储器71还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器72可以为中央处理器cpu,或专用集成电路asic(application specific integrated circuit),或者是被配置成实施本公开的模型联合训练方法的一个或多个集成电路。
74.在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一个实施例中的方法。
75.上述实施例中的模型联合训练方法、装置以及存储介质,使用训练样本对编码器网络模型和第一目标任务网络模型进行训练,得到编码网络参数和第一网络参数;依次将各个其它任务网络模型设置为第二目标任务网络模型,在保持编码网络参数的状态下使用训练样本进行训练,获得第二网络参数;通过选择一个任务网络模型进行联合训练,用以生成编码器权重;利用网络模型间的关联性,固定编码器网络模型权重对其余任务网络模型进行训练,提高了模型训练速度,降低了训练复杂度,并且,不同的任务网络模型可以获取对应的解码码流,能够满足不同任务对于数据质量的需求,提高了任务网络模型的处理精度,提高了用户的使用感受度。
76.可以使用许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
77.本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1