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

训练多模态模型的方法、装置、设备及存储介质与流程

2022-07-31 05:24:36 来源:中国专利 TAG:


1.本技术涉及机器学习技术领域,特别涉及一种训练多模态模型的方法、装置、设备及存储介质。


背景技术:

2.随着互联网技术和机器学习技术的发展,多模态技术也开始被广泛的应用。多模态技术是学习和理解不同模态的数据语义信息的一种技术,应用场景包括多模态数据匹配、多模态数据检索以及视觉问答等。其中,不同模态的数据可包括文字、图像、音频等。
3.在多模态技术中,可以通过多模态模型实现对不同模态的数据进行处理,确定不同模态的数据是否匹配,或理解多个模态的数据共同表达的语义信息,判断每个模态的数据所属类别等。在应用多模态模型之前,可以对多模态模型进行预训练,以提高多模态模型在各个应用场景中的效果。
4.在目前对多模态模型进行预训练中,还需要在多模态模型中加入生成模块,如mlm(masked language model,掩码语言模型)、moc(masked object classification,掩蔽图像类别预测)等。在对多模态模型进行预训练时,可以先对样本数据或者样本数据对应的特征数据进行掩码处理。在得到不同模态的样本数据对应的掩码处理后的特征数据后,可以将得到的特征数据输入到特征拼合模块中进行拼合处理,得到拼合特征数据,再将拼合特征数据输入到生成模块中,由生成模块对拼合特征数据中被掩码的特征进行预测处理,生成对应的预测特征。然后可以根据生成模块生成的预测特征与被掩码的特征确定对应的损失值,并根据损失值对多模态模型中的生成模块、拼合模块等进行训练。在完成对多模态模型的预训练后,可以删去多模态模型中的生成模块。
5.对多模态模型进行预训练的过程中,损失值的仅是由样本数据中被掩码的特征产生的,因此在对多模态模型进行预训练的过程中,参与到多模态模型训练过程中的特征只有被掩码的特征,如此导致对多模态模型训练的效率较低。


技术实现要素:

6.本技术实施例提供了一种训练多模态模型的方法、装置、设备及存储介质,能够提高对多模态模型训练的效率。所述技术方案如下:
7.第一方面,提供了一种训练多模态模型的方法,所述方法包括:
8.获取第一样本数据对应的掩码处理后的第一特征数据,以及第二样本数据对应的掩码处理后的第二特征数据,其中,所述第一样本数据与所述第二样本数据属于不同模态的数据;
9.对所述第一特征数据中被掩码的特征进行预测处理,得到第一预测特征,对所述第二特征数据中被掩码的特征进行预测处理,得到第二预测特征;
10.将所述第一特征数据中被掩码的特征替换为所述第一预测特征,得到第三特征数据,将所述第二特征数据中被掩码的特征替换为所述第二预测特征,得到第四特征数据;
11.对所述第三特征数据与所述第四特征数据进行拼合处理,得到拼合处理后的拼合特征数据,并对所述拼合特征数据中的每个特征进行判别处理,得到所述拼合特征数据中每个特征是否被替换的判别结果;
12.基于所述第一预测特征、所述第二预测特征和所述判别结果,对多模态模型进行训练。
13.可选的,所述第一样本数据为图像数据,所述第二样本数据为文本数据。
14.可选的,所述对所述拼合特征数据中的每个特征进行判别处理,得到所述拼合特征数据中每个特征是否被替换的判别结果,包括:
15.对所述拼合特征数据中包括的每个关键图像特征进行判别处理,得到所述拼合特征数据中包括的各图像特征是否被替换的第一判别结果;
16.对所述拼合特征数据中包括的每个词特征进行判别处理,得到所述拼合特征数据中包括的各词特征是否被替换的第二判别结果;
17.所述基于所述第一预测特征、所述第二预测特征和所述判别结果,对多模态模型进行训练,包括:
18.基于所述第一预测特征、所述第二预测特征、所述第一判别结果以及所述第二判别结果,对多模态模型进行训练。
19.可选的,所述多模态模型中包括生成模块、拼合模块和判别模块,所述生成模块用于执行所述预测处理,所述拼合模块用于执行所述拼合处理,所述判别模块用于执行所述判别处理;
20.所述基于所述第一预测特征、所述第二预测特征、所述第一判别结果以及所述第二判别结果,对多模态模型进行训练,包括:
21.基于所述第一预测特征和所述第二预测特征对所述生成模块进行训练;
22.基于所述第一判别结果和所述第二判别结果,对所述生成模块、所述拼合模块以及所述判别模块进行训练。
23.可选的,所述基于所述第一预测特征和所述第二预测特征对所述生成模块进行训练,包括:
24.确定所述第一预测特征与所述第一特征数据中被掩码的特征对应的第一损失值,确定所述第二预测特征与所述第二特征数据中被掩码的特征对应的第二损失值;
25.基于所述第一损失值与所述第二损失值对所述生成模块进行训练。
26.可选的,所述基于所述第一判别结果和所述第二判别结果,对所述生成模块、所述拼合模块以及所述判别模块进行训练,包括:
27.基于所述第一判别结果与第一基准信息确定第三损失值,其中,所述第一基准信息用于指示所述拼合特征数据中包括的各关键图像特征是否被替换;
28.基于所述第二判别结果与第二基准信息确定第四损失值,其中,所述第二基准信息用于指示所述拼合特征数据中包括的各词特征是否被替换;
29.基于所述第三损失值和第四损失值,对所述生成模块、所述拼合模块和所述判别模块进行训练。
30.可选的,所述多模态模型中还包括匹配模块,用于基于所述拼合特征数据中不同模态的特征进行匹配处理,得到所述第一样本数据和所述第二样本数据的匹配结果;
31.基于所述第一样本数据和所述第二样本数据对应的基准匹配值与所述匹配结果,确定第五损失值;
32.基于所述第五损失值,对所述多模态模型进行训练。
33.第二方面,提供了一种训练多模态模型的装置,所述装置包括:
34.获取单元,用于获取第一样本数据对应的掩码处理后的第一特征数据,以及第二样本数据对应的掩码处理后的第二特征数据,其中,所述第一样本数据与所述第二样本数据属于不同模态的数据;
35.预测单元,用于对所述第一特征数据中被掩码的特征进行预测处理,得到第一预测特征,对所述第二特征数据中被掩码的特征进行预测处理,得到第二预测特征;
36.替换单元,用于将所述第一特征数据中被掩码的特征替换为所述第一预测特征,得到第三特征数据,将所述第二特征数据中被掩码的特征替换为所述第二预测特征,得到第四特征数据
37.判别单元,用于对所述第三特征数据与所述第四特征数据进行拼合处理,得到拼合处理后的拼合特征数据,并对所述拼合特征数据中的每个特征进行判别处理,得到所述拼合特征数据中每个特征是否被替换的判别结果;
38.训练单元,用于基于所述第一预测特征、所述第二预测特征和所述判别结果,对多模态模型进行训练。
39.可选的,所述第一样本数据为图像数据,所述第二样本数据为文本数据。
40.可选的,所述判别单元用于:
41.对所述拼合特征数据中包括的每个关键图像特征进行判别处理,得到所述拼合特征数据中包括的各图像特征是否被替换的第一判别结果;
42.对所述拼合特征数据中包括的每个词特征进行判别处理,得到所述拼合特征数据中包括的各词特征是否被替换的第二判别结果;
43.所述训练单元,用于:基于所述第一预测特征、所述第二预测特征、所述第一判别结果以及所述第二判别结果,对多模态模型进行训练。
44.可选的,所述多模态模型中包括生成模块、拼合模块和判别模块,所述生成模块用于执行所述预测处理,所述拼合模块用于执行所述拼合处理,所述判别模块用于执行所述判别处理;
45.所述训练单元,用于:基于所述第一预测特征和所述第二预测特征对所述生成模块进行训练;基于所述第一判别结果和所述第二判别结果,对所述生成模块、所述拼合模块以及所述判别模块进行训练。
46.可选的,所述训练单元,用于:
47.确定所述第一预测特征与所述第一特征数据中被掩码的特征对应的第一损失值,确定所述第二预测特征与所述第二特征数据中被掩码的特征对应的第二损失值;
48.基于所述第一损失值与所述第二损失值对所述生成模块进行训练。
49.可选的,所述训练单元,用于:
50.基于所述第一判别结果与第一基准信息确定第三损失值,其中,所述第一基准信息用于指示所述拼合特征数据中包括的各关键图像特征是否被替换;
51.基于所述第二判别结果与第二基准信息确定第四损失值,其中,所述第二基准信
息用于指示所述拼合特征数据中包括的各词特征是否被替换;
52.基于所述第三损失值和第四损失值,对所述生成模块、所述拼合模块和所述判别模块进行训练。
53.可选的,所述多模态模型中还包括匹配模块,用于基于所述拼合特征数据中不同模态的特征进行匹配处理,得到所述第一样本数据和所述第二样本数据的匹配结果;
54.所述训练单元还用于:基于所述第一样本数据和所述第二样本数据对应的基准匹配值与所述匹配结果,确定第五损失值;
55.基于所述第五损失值,对所述多模态模型进行训练。
56.第三方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上第一方面所述的训练多模态模型的方法所执行的操作。
57.第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上第一方面所述的训练多模态模型的方法所执行的操作。
58.第五方面,提供了一种计算机程序产品,所述计算机程序产品中包括至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的训练多模态模型的方法所执行的操作。
59.本技术实施例提供的技术方案带来的有益效果是:
60.本技术实施例,在得到不同模态样本数据的特征数据中被掩码的特征对应的预测特征后,可以将预测特征替换特征数据中被掩码的特征,再确定替换后的特征数据中每个特征是否被替换过,得到每个特征是否被替换的判别结果,然后再根据预测特征与判别结果对多模态模型进行训练。这样在根据预测特征和判别结果对多模态模型进行训练时,除了预测特征参与到多模态模型训练的过程外,每个特征是否被替换过的结果也会参与到多模态模型训练的过程。这样无论特征数据中的特征是否被掩码都会参与到损失值的计算中,能够提高对样本数据的利用率,进而能够提高对多模态模型进行训练的效率。
附图说明
61.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
62.图1是本技术实施例提供的一种多模态模型的结构示意图;
63.图2是本技术实施例提供的一种训练多模态模型的方法流程图;
64.图3是本技术实施例提供的一种多模态模型结构示意图;
65.图4是本技术实施例提供的一种训练多模态模型的方法流程图;
66.图5是本技术实施例提供的一种训练多模态模型的方法流程图;
67.图6是本技术实施例提供的一种训练多模态模型的装置结构示意图;
68.图7是本技术实施例提供的计算机设备结构示意图。
具体实施方式
69.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
70.本技术提供的一种训练多模态模型的方法可以由计算机设备实现,该计算机设备可以是终端、也可以是服务器。当该计算机设备为终端时,该终端可以是手机、平板电脑、智能穿戴设备、台式计算机、笔记本电脑等。当该计算机设备为服务器时,该服务器可以是一个单独的服务器也可以是一个服务器组,如果是单独的服务器,该服务器可以负责下述方案中的所有处理,如果是服务器组,服务器组中的不同服务器分别可以负责下述方案中的不同处理,具体的处理分配情况可以由技术人员根据实际需求任意设置,此处不再赘述。
71.该计算机设备中可具备处理器和存储器,其中,在存储器中可存储有实现本技术实施例提供的训练多模态模型的方法所需的数据,例如可以是实现训练多模态模型的方法对应的程序代码,训练多模态模型所需的样本数据等等。处理器可以执行存储器中存储的程序代码,对存储器中存储的样本数据等进行处理,进而实现对多模态模型的训练。
72.如图1所示,在多模态模型中包括多个特征提取模块、拼合模块、以及匹配模块等在对多模态模型应用的过程中,可通过提取模块、拼合模块、以及匹配模块等对不同模态的数据进行处理,进而确定不同模态的数据是否匹配,或理解多个模态共同表达的语义信息,判断其所属类别等。
73.一般对多模态模型的训练包括预训练和微调,实际上预训练和微调都是对多模态模型进行训练。预训练是指根据多种场景通用的样本数据,对多模态模型中的各模块进行训练,进而提高多模态模型在各个应用场景中的使用效果。微调是指根据多模态模型的实际应用场景对应的样本数据再次对预训练之后的多模态模型进行训练,进而提高多模态模型在实际应用场景中的使用效果。
74.对多模态模型进行预训练时,可以在多模态模型中加入生成模块(generator),如mlm(masked language model,掩码语言模型)、moc(masked object classification,掩蔽图像类别预测)等。在对多模态模型进行预训练时,可以先对样本数据或者样本数据对应的特征数据进行掩码处理。例如,样本数据为文本数据:“an old man swimming in a pool”,对应的掩码处理后的样本数据可能是“an old[mask]swimming in a pool”,然后可以将掩码处理后的样本数据输入到特征提取模块,进而得到对应的掩码处理后的特征数据。在得到不同模态的样本数据对应的掩码处理后的特征数据后,可以将得到的掩码处理后的特征数据输入到拼合模块中进行拼合处理,得到拼合特征数据,再将拼合特征数据输入到生成模块中,由生成模块对拼合特征数据中被掩码的特征进行预测,生成对应的预测特征。例如对于“an old[mask]swimming in a pool”,被掩码的特征为“man”对应的词特征,生成的预测特征可能是“woman”对应的词特征。然后可以根据生成模块生成的预测特征与被掩码的特征确定对应的损失值,并根据损失值对多模态模型中的特征提取模块、拼合模块等进行预训练。在完成对多模态模型预训练后,可根据多模态模型的实际应用场景,再次对多模态模型进行训练,当再次对多模态模型进行训练时,可以去除生成模块,根据实际应用场景对应样本等再次对多模态模型进行训练。
[0075]
可见在相关技术中,每次对多模态模型进行预训练时,损失值的仅是由样本数据中被掩码的特征产生的,这样在多模态模型预训练过程中,参与对多模态模型进行训练的
特征只有被掩码的特征,如此导致对多模态模型训练的效率较低。
[0076]
本技术实施例提供的训练多模态模型的方法,可以应用于对多模态模型的训练过程中,可以提高对多模态模型训练过程中对样本数据的利用率,进而提高对多模态模型训练的效率。参见图2,图2是本技术实施例提供的一种训练多模态模型的方法流程图,该方法包括:
[0077]
步骤201、获取第一样本数据对应的掩码处理后的第一特征数据,以及第二样本数据对应的掩码处理后的第二特征数据。
[0078]
其中,第一样本数据与第二样本数据属于不同模态的数据。例如,第一样本数据可以是图像数据、文本数据、音频数据、视频数据等,第二样本数据可以是与第一样本数据属于不同模态的数据。
[0079]
下面以第一样本数据为图像数据、第二样本数据为文本数据为例,对本技术实施例提供的方法流程进行详细说明,其他情况与之类似,不再赘述。
[0080]
其中,可以将第一样本数据(后续可称样本图像)输入到多模态模型中包括的图像特征提取模块中,由图像特征提取模块输出样本图像中的关键图像特征。例如输入的样本图像为包括人体的图像,则关键图像特征可以包括人脸的图像特征、四肢的图像特征等等。在得到样本图像中的多个关键图像特征后,可以对多个关键图像特征进行掩码处理,即可以对多个关键图像特征中的至少一个关键图像特征进行掩码,即可以将多个关键图像特征中的至少一个关键图像特征替换为预设的图像掩码特征,进而得到样本图像对应的掩码处理后的第一特征数据。其中,需要说明的是多模态模型中包括的图像特征提取模块可以是预先训练好的图像特征提取模块,例如可以为faster rcnn(一种目标识别算法),其训练过程属于现有技术,此处不再进行详细介绍。
[0081]
对于第二样本数据(后续可称样本文本)对应的掩码处理后的第二特征数据,可以先对第二样本数据进行掩码处理。例如,样本数据为文本数据:“an old man swimming in a pool”,对应的掩码处理后的样本数据可能是“an old[mask]swimming in a pool”,然后可以将掩码处理后的样本数据输入到多模态模型中包括的文本特征提取模块中,进而得到对应的掩码处理后的第二特征数据。在掩码处理后的第二特征数据中,包括未进行掩码的各单词对应的词特征,如“an”、“old”、“swimming”、“in”、“a”、“pool”,以及[mask]对应的预设的词特征。其中,文本特征提取模块可以为文本编码特征(word embedding)。
[0082]
步骤202、对第一特征数据中被掩码的特征进行预测处理,得到第一预测特征,对第二特征数据中被掩码的特征进行预测处理,得到第二预测特征。
[0083]
在得到样本图像对应的掩码处理后的第一特征数据与样本文本对应的掩码处理后的第二特征数据后,可以将掩码处理后的第一特征数据输入到生成模块中,由生成模块根据第一特征数据中未掩码的特征,对被掩码的特征进行预测处理,生成对被掩码的特征对应的第一预测特征。并可以将掩码处理后的第二特征数据输入到生成模块中,由生成模块根据第二特征数据中未掩码的特征,对被掩码的特征进行预测处理,生成对被掩码的特征对应的第二预测特征。
[0084]
其中,当第一样本数据为图像数据、第二样本数据为文本数据时,对应的生成模块可包括mlm(masked language model,掩码语言模型)和moc(masked object classification,掩蔽图像类别预测)。第一特征数据中包括图像掩码特征和未被掩码的关
键图像特征。第二特征数据中包括词掩码特征和未被掩码的词对应词特征。
[0085]
如图3所示,图3为本技术实施例提供的多模态模型在进行训练时的结构示意图。
[0086]
在得到样本图像对应的掩码处理后的第一特征数据与样本文本对应的掩码处理后的第二特征数据后,可以将掩码处理后的第一特征数据输入到moc中,由moc对第一特征数据中被掩码的关键图像特征进行预测处理,输出对被掩码的关键图像特征进行预测的第一预测特征。例如,样本图像为包括人体的图像,则关键图像特征可以包括人脸的图像特征、四肢分别对应的图像特征、腹部的图像特征等等。假设被掩码的特征为人脸图像特征,则moc可能根据四肢的图像特征和腹部的图像特征生成人脸的图像特征(即生成第一预测特征),但可能由于moc训练次数还不够多或存在一定的误差,生成非人脸的图像特征。
[0087]
同样的,可以将样本文本对应的掩码处理后的第二特征数据输入到mlm中,由mlm对第二特征数据中被掩码的词特征进行预测处理,输出对被掩码的词特征进行预测的第二预测特征。例如,样本文本为“an old man swimming in apool”。假设“man”为被掩码的单词,则mlm可以根据“an”、“old”、“swimming”、“in”、“a”、“pool”对应的词特征,对被掩码的单词的词特征进行预测,理想情况下,可以预测出“man”对应的词特征(即生成第二预测特征),但可能由于mlm训练次数还不够多或存在一定的误差,生成“man”之外的其他单词的词特征。在另一种可能的实现的方式中,mlm可直接根据“an”、“old”、“swimming”、“in”、“a”、“pool”对应的词特征,生成被掩码的单词。之后可以再将生成被掩码的单词输入到word embedding中,由word embedding输出mlm生成被掩码的单词对应的词特征(即第二预测特征)。
[0088]
步骤203、将第一特征数据中被掩码的特征替换为第一预测特征,得到第三特征数据,将第二特征数据中被掩码的特征替换为第二预测特征,得到第四特征数据。
[0089]
在得到的第一预测特征和第二预测特征之后,可以将第一特征数据中被掩码的特征替换为第一预测特征,得到第三特征数据,将第二特征数据中被掩码的特征替换为第二预测特征,得到第四特征数据。
[0090]
沿用上述步骤202的举例,假设根据moc得到的第一预测特征为人手的图像特征,则得到的第三特征数据中包括人手的图像特征、四肢的图像特征、以及腹部的图像特征。假设根据mlm得到的第二预测特征为“woman”对应的词特征,可对应的第四特征数据可以是“an”、“old”、“woman”、“swimming”、“in”、“a”、“pool”分别对应的词特征。
[0091]
步骤204、对第三特征数据与第四特征数据进行拼合处理,得到拼合处理后的拼合特征数据,并对拼合特征数据中的每个特征进行判别处理,得到拼合特征数据中每个特征是否被替换的判别结果。
[0092]
在得到第三特征数据与第四特征数据后,可以将第三特征数据与第四特征数据到输入到拼合模块,由拼合模块对第三特征数据与第四特征数据进行特征映射处理和拼合处理等,最后得到拼合特征数据。
[0093]
如图3所示,在拼合模块中,可以包括特征映射子模块和特征拼合子模块。其中,特征映射子模块可以是自注意力层(self-attention layers),可包括图像特征映射子模块和文本映射子模块,特征拼合子模块可以为跨越注意力层(cross-attention layers)。在得第三特征数据与第四特征数据可以将第三特征数据输入到图像特征映射子模块中,得到映射后的第三特征数据以及映射后的第四特征数据。然后将映射后的第三特征数据和映射
后的第四特征数据输入到特征拼合子模块进行拼合处理,得到拼合特征数据。
[0094]
需要说明的是,得到的拼合特征数据由三部分组成,包括经过特征映射等处理后的第三特征数据(后续可称第五特征数据)、经过特征映射等处理后的第四特征数据(后续可称第六特征数据),以及用于区分第五特征数据和第六特征数据的位置信息。可理解的是,经过特征映射等处理后的第五特征数据中包括的各特征为第三特征数据中包括的关键图像特征和第一预测特征经过特征征映射等处理后的特征,所以仍可认为第五特征数据包括有样本图像的关键图像特征以及第一预测特征。同理,在第六特征数据中可包括有样本文本的词特征以及第二预测特征。
[0095]
在得到的拼合特征数据后,可以将拼合特征数据输入到判别模块,该判别模块可以是判别器(discriminator)。判别模块可以对拼合特征数据进行判别处理,确定拼合特征数据中每个特征是否被替换的判别结果。即确定第五特征数据中包括的各关键图像特征中的第一预测特征,以及第六特征数据中包括的各词特征中的第二预测特征。
[0096]
步骤205、基于第一预测特征、第二预测特征和判别结果,对多模态模型进行训练。
[0097]
在得到第一预测特征、第二预测特征以及判别结果之后,可以对多模态模型进行训练。即可以根据第一预测特征、第二预测特征以及判别结果分别计算对应的损失值,根据损失值对多模态模型中的各个模块的参数进行调整。
[0098]
可选的,在步骤204中,判别模块可包括图像特征判别子模块和文本判别子模块。其中,图像特征判别子模块可用于对判断拼合特征数据中的图像特征数据中被替换的特征。文本特征判别子模块可用于对判断拼合特征数据中的文本特征数据中被替换的特征。图像特征判别模块可以是r2d task(replaced roidetection task,图片特征区域是否替换的判别任务),文本特征判别模块可以是rtd task(replaced token detection task,文本是否替换的判别任务)。具体处理可参见图4,如下:
[0099]
步骤401、将拼合特征数据输入到图像特征判别模块,得到拼合特征数据中包括的各图像特征是否被替换的第一判别结果。
[0100]
在得到的拼合特征数据后,可以将拼合特征数据分别输入到图像特征判别模块中,由图像特征判别模块预测拼合特征数据中对应图像特征的部分中被掩码的关键图像特征,得到第一判别结果。即可以将拼合特征数据输入到r2d task中,由r2d task判断拼合特征数据中的第五特征数据中包括的各个特征是否被替换过,并输出判别结果(即第一判别结果)。其中,在第一判别结果中包括第五特征数据中包括的各个特征是否被替换过的结果。例如,第五特征数据中包括5个关键图像特征,则r2d task可输出包括5位的二进制字符串,该二进制字符串即为第一判别结果。如输出的二进制字符串为“00100”,则表示5个关键图像特征中第三个关键图像特征是被替换的关键图像特征(即第一预测特征)。
[0101]
步骤402、将拼合特征数据输入到文本特征判别模块,得到拼合特征数据中包括的各词特征是否被替换的第二判别结果。
[0102]
在得到的拼合特征数据后,还可以将拼合特征数据分别输入到文本特征判别模块中,由文本特征判别模块预测拼合特征数据中对应文本特征的部分中被掩码的词特征,得到第二判别结果。即可以将拼合特征数据输入到rtd task中,由rtd task判断拼合特征数据中的第六特征数据中包括的各个特征是否被替换过,并输出判别结果(即第二判别结果)。其中,在第二判别结果中包括第六特征数据中包括的各个特征是否被替换过的结果。
例如,第六特征数据中包括8个词特征,则rtd task可输出包括8位的二进制字符串,该二进制字符串即为第二判别结果。如输出的二进制字符串为“00000100”,则表示8个关键图像特征中第6个词特征是被替换的词特征(即第二预测特征)。
[0103]
步骤403、基于第一预测特征、第二预测特征、第一判别结果以及第二判别结果,对多模态模型进行训练。
[0104]
在得到第一判别结果、第二判别结果后,可以根据第一预测特征、第二预测特征、第一判别结果以及第二判别结果分别计算对应的损失值。然后可以根据对应的损失值对多模态模型进行训练。
[0105]
进一步根据损失值对多模态模型进行训练的处理可参见图5,如下:
[0106]
步骤501、基于第一预测特征和第二预测特征对生成模块进行训练。
[0107]
其中,对于生成的第一预测特征,可以计算第一特征数据中被掩码的特征与第一预测特征之间的第一损失值;对于生成的第二预测特征,可以计算第二特征数据中被掩码的特征与第二预测特征之间的第二损失值。例如可以根据交叉熵损失函数计算第一损失值和第二损失值。
[0108]
在根据第一损失值和第二损失值对多模态模型进行训练时,可以根据第一损失值对生成模块中的moc进行训练,根据第二损失值对生成模块中的mlm进行训练。另外,还可以根据第二损失值对文本特征提取模块进行训练。其中,对于损失值的计算,以及对moc、mlm的训练属于现有技术,此处不再进行详细介绍。
[0109]
步骤502、基于第一判别结果和第二判别结果,对生成模块、拼合模块以及判别模块进行训练。
[0110]
在得到的第一判别结果和第二判别结果后,可以确定第一判别结果对应的第三损失值。第三损失值可以根据第一判别结果与对应第一基准信息计算得到。第一基准信息用于指示第五特征数据每个特征是否被替换过。该第一基准信息可以在对样本图像的特征数据进行掩码处理后得到。例如,样本图像对应有5个关键图像特征,假设是对其中的第2个关键图像特征进行掩码,则对应的第一基准信息为“01000”。
[0111]
同样,可以确定第二判别结果对应的第四损失值。第四损失值可以根据第二判别结果与对应第二基准信息计算得到。第二基准信息用于指示第六特征数据每个特征是否被替换过。该第二基准信息可以在对样本文本进行掩码处理后得到。例如,样本文本对应有8个单词,假设是对其中的第4个单词进行掩码,则对应的第二基准信息为“00010000”。
[0112]
在得到第三损失值后,可以对生成模块、判别模块以及拼合模块进行训练,在得到第四损失值后,可以对生成模块、判别模块、文本特征提取模块和拼合模块进行训练。其中,上述损失值的计算,以及对各模块的训练过程属于现有技术,此处不再赘述。
[0113]
需要说明的是,上述步骤501和步骤502都属于对多模态模型的训练过程,在执行时序上并没有固定的先后顺序,可以是在得到第一损失值、第二损失值、第三损失值和第四损失值之后,依次根据第一损失值、第二损失值、第三损失值和第四损失值对多模态模型中的相应的模块进行训练。
[0114]
另外,在本技术中的特征拼合模型中,还可以包括匹配模型,该匹配模型可是全连接层(fully connected layer,fc layer)。在基于第一预测特征、第二预测特征和判别结果,对多模态模型进行训练之前,还可以将拼合特征数据输入到特征匹配模型,得到第一样
本数据和第二样本数据的匹配结果,基于第一样本数据和第二样本数据对应的基准匹配值与匹配结果,确定第五损失值,根据第五损失值,对多模态模型中包括的各个模块进行训练。
[0115]
在对步骤204中得到拼合特征数据后,还可以将拼合特征数据输入到匹配模型中,由匹配模型确定拼合特征数据中的第五特征数据和第六特征数据是否匹配,也就是确定样本图像中的图像内容和样本文本中的文本内容是否匹配,并得到匹配结果。例如样本图像是蓝天白云的图像,样本文本是“蓝色的天空上飘着白色的云朵”则可以认为样本图像和样本文本是匹配的。在得到的匹配结果后们可以根据第一样本数据和第二样本数据对应的基准匹配值与匹配结果,计算第五损失值。在得到第五损失值后,可以再根据第一损失值-第五损失值,依次对多模态模型中的相应的模型进行训练。
[0116]
在对多模态模型进行多次训练后,当确定第一损失值-第五损失值下降幅度趋于平缓时,可认为对多模态模型完成了训练。在应用多模态模型时,可将多模态模型训练过程中的生成模块和判别模块去除,由剩余的模块组成实际应用时的多模态模型。
[0117]
本技术实施例,在得到不同模态样本数据的特征数据中被掩码的特征对应的预测特征后,可以将预测特征替换特征数据中被掩码的特征,再确定替换后的特征数据中每个特征是否被替换过,得到每个特征是否被替换的判别结果,然后再根据预测特征与判别结果对多模态模型进行训练。这样在根据预测特征和判别结果对多模态模型进行训练时,除了预测特征参与到多模态模型训练的过程外,每个特征是否被替换过的结果也会参与到多模态模型训练的过程。这样无论特征数据中的特征是否被掩码都会参与到损失值的计算中,能够提高对样本数据的利用率,进而能够提高对多模态模型进行训练的效率。
[0118]
图6是本技术实施例提供的一种训练多模态模型的装置,该装置可以使上述实施例中的终端或服务器,该装置包括:
[0119]
获取单元610,用于获取第一样本数据对应的掩码处理后的第一特征数据,以及第二样本数据对应的掩码处理后的第二特征数据,其中,所述第一样本数据与所述第二样本数据属于不同模态的数据;
[0120]
预测单元620,用于对所述第一特征数据中被掩码的特征进行预测处理,得到第一预测特征,对所述第二特征数据中被掩码的特征进行预测处理,得到第二预测特征;
[0121]
替换单元630,用于将所述第一特征数据中被掩码的特征替换为所述第一预测特征,得到第三特征数据,将所述第二特征数据中被掩码的特征替换为所述第二预测特征,得到第四特征数据
[0122]
判别单元640,用于对所述第三特征数据与所述第四特征数据进行拼合处理,得到拼合处理后的拼合特征数据,并对所述拼合特征数据中的每个特征进行判别处理,得到所述拼合特征数据中每个特征是否被替换的判别结果;
[0123]
训练单元650,用于基于所述第一预测特征、所述第二预测特征和所述判别结果,对多模态模型进行训练。
[0124]
可选的,所述第一样本数据为图像数据,所述第二样本数据为文本数据。
[0125]
可选的,所述判别单元640,用于:
[0126]
对所述拼合特征数据中包括的每个关键图像特征进行判别处理,得到所述拼合特征数据中包括的各图像特征是否被替换的第一判别结果;
[0127]
对所述拼合特征数据中包括的每个词特征进行判别处理,得到所述拼合特征数据中包括的各词特征是否被替换的第二判别结果;
[0128]
所述训练单元650,用于:基于所述第一预测特征、所述第二预测特征、所述第一判别结果以及所述第二判别结果,对多模态模型进行训练。
[0129]
可选的,所述多模态模型中包括生成模块、拼合模块和判别模块,所述生成模块用于执行所述预测处理,所述拼合模块用于执行所述拼合处理,所述判别模块用于执行所述判别处理;
[0130]
所述训练单元650,用于:基于所述第一预测特征和所述第二预测特征对所述生成模块进行训练;基于所述第一判别结果和所述第二判别结果,对所述生成模块、所述拼合模块以及所述判别模块进行训练。
[0131]
可选的,所述训练单元650,用于:
[0132]
确定所述第一预测特征与所述第一特征数据中被掩码的特征对应的第一损失值,确定所述第二预测特征与所述第二特征数据中被掩码的特征对应的第二损失值;
[0133]
基于所述第一损失值与所述第二损失值对所述生成模块进行训练。
[0134]
可选的,所述训练单元650,用于:
[0135]
基于所述第一判别结果与第一基准信息确定第三损失值,其中,所述第一基准信息用于指示所述拼合特征数据中包括的各关键图像特征是否被替换;
[0136]
基于所述第二判别结果与第二基准信息确定第四损失值,其中,所述第二基准信息用于指示所述拼合特征数据中包括的各词特征是否被替换;
[0137]
基于所述第三损失值和第四损失值,对所述生成模块、所述拼合模块和所述判别模块进行训练。
[0138]
可选的,所述多模态模型中还包括匹配模块,用于基于所述拼合特征数据中不同模态的特征进行匹配处理,得到所述第一样本数据和所述第二样本数据的匹配结果;
[0139]
所述训练单元650还用于:基于所述第一样本数据和所述第二样本数据对应的基准匹配值与所述匹配结果,确定第五损失值;
[0140]
基于所述第五损失值,对所述多模态模型进行训练。
[0141]
本技术实施例,在得到不同模态样本数据的特征数据中被掩码的特征对应的预测特征后,可以将预测特征替换特征数据中被掩码的特征,再确定替换后的特征数据中每个特征是否被替换过,得到每个特征是否被替换的判别结果,然后再根据预测特征与判别结果对多模态模型进行训练。这样在根据预测特征和判别结果对多模态模型进行训练时,除了预测特征参与到多模态模型训练的过程外,每个特征是否被替换过的结果也会参与到多模态模型训练的过程。这样无论特征数据中的特征是否被掩码都会参与到损失值的计算中,能够提高对样本数据的利用率,进而能够提高对多模态模型进行训练的效率。
[0142]
需要说明的是:上述实施例提供的训练多模态模型的装置在训练多模态模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的训练多模态模型的装置与训练多模态模型的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0143]
图7示出了本技术一个示例性实施例提供的计算机设备700的结构框图。该计算机
设备700可以是上述实施例中的终端,比如可以是智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0144]
通常,计算机设备700包括有:处理器701和存储器702。
[0145]
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0146]
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本技术中方法实施例提供的一种训练多模态模型的方法。
[0147]
在一些实施例中,计算机设备700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。
[0148]
外围设备接口703可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0149]
射频电路704用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括nfc(near field communication,近距离无线通信)有关的电路,本
申请对此不加以限定。
[0150]
显示屏705用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在计算机设备700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在计算机设备700的不同表面或呈折叠设计;在另一些实施例中,显示屏705可以是柔性显示屏,设置在计算机设备700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0151]
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0152]
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
[0153]
定位组件708用于定位计算机设备700的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件708可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0154]
电源709用于为计算机设备700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0155]
在一些实施例中,计算机设备700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
[0156]
加速度传感器711可以检测以计算机设备700建立的坐标系的三个坐标轴上的加
速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
[0157]
陀螺仪传感器712可以检测计算机设备700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对计算机设备700的3d动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0158]
压力传感器713可以设置在计算机设备700的侧边框和/或显示屏705的下层。当压力传感器713设置在计算机设备700的侧边框时,可以检测用户对计算机设备700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0159]
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置在计算机设备700的正面、背面或侧面。当计算机设备700上设置有物理按键或厂商logo时,指纹传感器714可以与物理按键或厂商logo集成在一起。
[0160]
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
[0161]
接近传感器716,也称距离传感器,通常设置在计算机设备700的前面板。接近传感器716用于采集用户与计算机设备700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与计算机设备700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与计算机设备700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
[0162]
本领域技术人员可以理解,图7中示出的结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0163]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中一种训练多模态模型的方法。该计算机可读存储介质可以是非暂态的。例如,所述计算机可读存储介质可以是rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、磁带、软盘和光数据存储设备等。
[0164]
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品中包括至少一条指令,该至少一条指令可由处理器加载并执行以实现如上述实施例中所述的训练多
模态模型的方法所执行的操作。
[0165]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0166]
需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号(包括但不限于用户终端与其他设备之间传输的信号等),均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的样本数据都是在充分授权的情况下获取的。
[0167]
以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献