多模态训练方法、电子设备及存储介质与流程

文档序号:31838361发布日期:2022-10-18 21:56阅读:101来源:国知局
多模态训练方法、电子设备及存储介质与流程

1.本技术实施例涉及人工智能领域,尤其涉及一种多模态训练方法、电子设备及存储介质。


背景技术:

2.视觉-语言预训练(vision-language pretraining)是一种基于图像和文本的多模态训练方式。视觉-语言预训练模型可以泛化到诸多不同的下游任务,例如,图像分类、图像召回及文本召回等下游任务,因此,视觉-语言预训练模型越来越受到关注。
3.在对视觉-语言预训练模型进行训练的过程中,通常是将数据集预先收集后再进行训练。然而,在真实场景中,数据往往是不断收集的,因此,现有的算法不擅长对新数据进行快速且有效的迭代,很容易发生知识的遗忘。


技术实现要素:

4.本技术实施例提供了一种多模态训练方法、电子设备及存储介质,有助于减少在多模态训练中的知识的遗忘。
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.图1为本技术提供的多模态训练方法一个实施例的流程示意图;
38.图2为本技术提供的多模态训练方法另一个实施例的流程示意图;
39.图3为本技术提供的多模态训练方法再一个实施例的流程示意图;
40.图4为本技术实施例提供的多模态训练方法的框架示意图;
41.图5为本技术实施例提供的多模态训练装置的结构示意图;
42.图6为本技术实施例提供的电子设备的结构示意图。
具体实施方式
43.本技术实施例中,除非另有说明,字符“/”表示前后关联对象是一种或的关系。例如,a/b可以表示a或b。“和/或”描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
44.需要指出的是,本技术实施例中涉及的“第一”、“第二”等词汇,仅用于区分描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,也不能理解为指示或暗示顺序。
45.本技术实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。此外,“以下至少一项(个)”或者其类似表达,是指的这些项中的任意组合,可以包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c。其中,a、b、c中的每个本身可以是元素,也可以是包含一个或多个元素的集合。
46.本技术实施例中,“示例的”、“在一些实施例中”、“在另一实施例中”等用于表示作例子、例证或说明。本技术中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
47.本技术实施例中的“的(of)”、“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,所要表达的含义是一致的。本技术实施例中,通信、传输有时可以混用,应当指出的是,在不强调其区别时,其所表达的含义是一致的。例如,传输可以包括发送和/或接收,可以为名词,也可以是动词。
48.本技术实施例中涉及的等于可以与大于连用,适用于大于时所采用的技术方案,也可以与小于连用,适用于小于时所采用的技术方案。需要说明的是,当等于与大于连用时,不能与小于连用;当等于与小于连用时,不与大于连用。
49.以下对本技术实施例涉及的部分术语进行解释说明,以便于本领域技术人员理解。
50.1、视觉-语言预训练模型。本技术实施例中的视觉-语言预训练模型指的是通过在大规模图像-文本数据集上训练得到的模型,该模型可以泛化到下游视觉-语言任务上,比如视觉语言问答,图像-文本检索等任务。视觉-语言预训练模型也可以称之为语言-视觉预训练模型。
51.2、灾难性遗忘(catastrophic forgetting)。本技术实施例中灾难性遗忘指的是模型对数据流进行顺序学习时发生的对旧知识的灾难性的大幅遗忘。
52.3、词元(token):本技术实施例中的词元指的是自然语言处理中用于表示文本的最基本单元。
53.4、编码器(encoder):本技术实施例中的编码器用于对输入进行特征提取。对于不同的编码器,输入的形式可能不同,例如,图像编码器的输入为图像,文本编码器的输入为文本。
54.5、知识蒸馏(knowledge distillation):本技术实施例中的知识蒸馏指的是将知识从一个模型迁移到另一个模型上。
55.6、稳定性-可塑性平衡(stability-plasticity trade-off):本技术实施例中的稳定性-可塑性平衡指的是模型需要能够吸收新知识的可塑性,同时也需要避免之前知识的遗忘的稳定性,但这二者相互存在冲突。
56.现有的视觉-语言预训练模型通常假设训练环境是静态的,也就是说,数据集是一次性收集得到,视觉-语言预训练模型也只需做单次训练即可,因此,其在设计上未考虑如何进行持续更新,以应对不断收集的新数据,由此会使得视觉-语言预训练模型在持续训练的过程中造成知识的遗忘。
57.基于上述问题,本技术实施例提出了一种多模态训练方法,通过负样本的形式构建伪样本,并将伪样本进行重放,由此可以有助于多模态预训练模型在持续训练过程中加强对历史知识的回放,从而可以有助于减少对知识的遗忘。可以理解的是,多模态可以是基于图像和文本的多模态,也可以是基于视频和文本的多模态,也可以是其他形式的多模态,本技术实施例对此不作特殊限定。本文以基于图像和文本的视觉-语言预训练模型为例进行说明,但并不构成对本技术实施例的限定,在一些实施例中,本技术实施例的多模态训练方法也适用于其他形式的多模态预训练模型。
58.现结合图1-图4对本技术实施例提供的多模态训练方法进行说明。
59.图1为本技术提供的多模态训练方法一个实施例的流程示意图,图1所示的实施例应用于视觉-语言预训练模型,具体包括以下步骤:
60.步骤101,使用本批训练样本集中的真实样本对视觉-语言预训练模型进行训练。
61.具体地,视觉-语言预训练模型可以通过多批的训练样本集进行训练,其中,多批的训练样本集可以在训练数据集中进行分组后获得。可以理解的是,本批训练样本集可以用于本次的训练,上一批训练样本集可以用于上一次的训练。每次通过训练样本集对视觉-语言预训练模型训练后,可以对模型的参数以及编码器进行更新,从而可以基于训练样本集中的数据学习到知识。
62.其中,真实样本可以是训练样本集中的样本。训练样本集可以是包含多个训练样
本的集合。以视觉-语言预训练模型为例,训练样本集可以包含多个图像-文本组合的集合。也就是说,一个图像-文本的组合可以认为是一个训练样本,也可以称之为一个真实样本,在一个真实样本中,包含一个真实图像和一个真实文本,也就是说,一个真实样本可以是一个真实图像和一个真实文本的组合。
63.通过使用上述真实样本对视觉-语言预训练模型进行训练,可以对视觉-语言预训练模型中的参数进行训练,由此可以在训练过程中学习到真实样本中的知识,例如,该知识可以包括图像与文本之间的匹配关系,从而可以优化视觉-语言预训练模型。
64.步骤102,在训练过程中,以负样本的形式构建伪样本,将伪样本进行重放,以使得视觉-语言预训练模型基于伪样本进行重新学习。
65.具体地,如果仅使用训练样本集中的真实样本对视觉-语言预训练模型进行训练,由于真实样本都是预先收集的,有不确定性,因此,如果长时间学习相同的知识,可能会发生对历史知识的遗忘。因此,在训练过程中,还可以构建伪样本。其中,伪样本可以是基于真实样本生成的。
66.在一些可选的实施例中,伪样本可以是伪文本及真实图像的组合,在伪文本及真实图像的组合中,伪文本可以基于真实文本的特征和真实图像的特征生成;
67.或者伪样本也可以是真实文本及伪图像的组合,在真实文本及伪图像的组合中,伪图像可以基于真实文本的特征和真实图像的特征生成;
68.或者伪样本也可以是伪文本及伪图像的组合,在伪文本及伪图像的组合中,伪图像和伪文本可以基于真实文本的特征和真实图像的特征生成。
69.可以理解的是,为了加强视觉-语言预训练模型对历史知识的记忆,避免知识的遗忘,因此,伪样本可以以负样本的形式生成。与此同时,该伪样本中,伪文本和真实图像之间的相似度较高,例如,伪文本和真实图像之间的相似度可以高于预设的相似度阈值。可以理解的是,从相似度较高的伪样本中学习到的知识比从相似度较低的伪样本中学习到的知识要多,从而可以加强视觉-语言预训练模型对伪样本中的知识的学习,进而可以有效避免知识的遗忘。
70.接着,结合图2,并以伪样本为伪文本及真实图像的组合为例进行示例性说明,如图2所示,上述构建以负样本的形式构建伪文本的方式具体包括以下步骤:
71.步骤201,获取第一图像及第一文本,第一图像为本批训练样本集中的任一真实图像,第一文本为初始化伪文本。
72.具体地,首先可以在训练样本集中任意选取一个真实图像,为说明方便,本文将此处任意选取的真实图像称为第一图像,并可以初始化一个文本,为说明方便,本文将此处初始化的文本称为第一文本,可以理解的是,此处初始化的第一文本为新创建的文本。
73.步骤202,通过第二文本编码器对第一文本提取特征,用于获得第二文本特征,其中,第二文本编码器为与第一文本编码器相邻的上一时刻的文本编码器,第一文本编码器用于对本批训练样本集中的真实文本提取特征,以获得第一文本特征。
74.具体地,当获取到第一图像及第一文本后,可以通过第二文本编码器对第一文本提取特征,用于获得第二文本特征。可以理解的是,在对第一文本进行特征提取前,还可以对第一文本进行词元分割,用于获得词元,由此可以使得第二文本编码器基于词元对第一文本进行特征提取。
75.其中,第二文本编码器为与第一文本编码器相邻的上一时刻的文本编码器,第二文本编码器用于对上一批训练样本集中的真实文本提取特征,以便基于上一批训练样本集进行训练;第一文本编码器用于对本批训练样本集中的真实文本提取特征,以获得第一文本特征。
76.可以理解的是,第一文本编码器为基于本批训练样本集进行训练的文本编码器,也可以认为是基于当前时刻的训练样本集进行训练的文本编码器,而第二文本编码器为基于上一批训练样本集进行训练的文本编码器,也可以认为是基于上一时刻的训练样本集进行训练的文本编码器,其中,本批训练样本集和上一批训练样本集是不同的训练样本集。也就是说,当基于上一时刻或上一批的训练样本集进行训练后,可以对第二文本编码器进行更新,由此可以得到用于当前时刻或本批训练样本集进行训练的第一文本编码器。以用于当前时刻t或本批训练样本集进行训练的第一文本编码器为g
t
为例,则用于上一时刻t-1或上一批训练样本集进行训练的第二图像编码器为g
t-1
。由此可以将隐含在上一时刻的编码器中的知识提取到伪文本中,并通过当前时刻的编码器进行训练,从而可以加强对历史知识的学习和记忆。
77.步骤203,基于第二图像特征及第二文本特征,并以负样本的形式构建伪文本,将伪文本及第一图像的组合作为伪样本,其中,第二图像特征包括通过第二图像编码器对本批训练样本集中的每个真实图像提取后获得的特征,第二图像编码器为与第一图像编码器相邻的上一时刻的图像编码器,第一图像编码器用于对本批训练样本集中的真实图像提取特征,以获得第一图像特征。
78.具体地,当获取到第二文本特征后,还可以获取第二图像特征,并可以基于第二图像特征及第二文本特征计算图像和文本的相似度,示例性的,计算相似度的具体方式可以是:通过余弦距离计算相似度,但并不限定于此,也可以通过其他方式计算相似度,例如,欧式距离,本技术实施例对此不作特殊限定。
79.其中,获取第二图像特征的具体方式可以是:通过第二图像编码器对本批训练样本集中的每个真实图像提取特征,用于获得第二图像特征。也就是说,第二图像特征包括通过第二图像编码器对本批训练样本集中的每个真实图像提取后获得的特征。第二图像编码器为与第一图像编码器相邻的上一时刻的图像编码器,第一图像编码器用于对本批训练样本集中的真实图像提取特征,以获得第一图像特征。可以理解的是,上述第一图像特征和第一文本特征可以用于学习真实图像与真实文本之间的匹配关系。
80.第一图像编码器为基于本批训练样本集进行训练的图像编码器,也可以认为是基于当前时刻的训练样本集进行训练的图像编码器,而第二图像编码器为基于上一批训练样本集进行训练的图像编码器,也可以认为是基于上一时刻的训练样本集进行训练的图像编码器。其中,本批训练样本集和上一批训练样本集是不同的训练样本集。也就是说,当基于上一时刻或上一批的训练样本集进行训练后,可以对第二图像编码器进行更新,由此可以得到用于当前时刻或本批训练样本集进行训练的第一图像编码器。以用于当前时刻t或本批训练样本集进行训练的第一图像编码器为f
t
为例,则用于上一时刻t-1或上一批训练样本集进行训练的第二图像编码器为f
t-1

81.由于第二图像特征包括通过第二图像编码器对本批训练样本集中的每个真实图像提取后获得的特征,因此,第二文本特征与第二图像特征的相似度包括每个真实图像提
取后获得的特征与第二文本特征的相似度。
82.接着,可以根据第一损失函数及计算获得的相似度计算第一损失,并可以通过梯度下降的方式对第一文本进行更新,直至第一损失收敛。示例性的,当计算得到第一损失后,若第一损失大于预设的目标损失,则可以对第一文本进行更新,例如,可以更改第一文本中的内容,用于对第一文本进行更新;并对更新后的第一文本通过特征提取后,再次与第二图像特征计算第一损失,不断重复上述过程,直至第一损失小于或等于预设的目标损失,也就是第一损失已达到收敛的目的,此时,可以将更新后的第一文本作为伪文本,并可以将该伪文本与第一图像的组合作为伪样本。
83.可以理解的是,过去所学的知识都是存储在模型的参数中,而伪样本的生成以及重放可以用来提取隐含在模型中(例如,编码器中)的知识,通过将隐藏在模型中的知识转化为可以用于训练的样本,由此可以实现知识的抗遗忘。因此,为了提取隐含在图像编码器和文本编码器中的历史知识,可以以负样本的形式构建上述伪样本。以伪样本为真实图像和伪文本的组合为例,可以以负样本的形式构建上述伪文本,且伪文本与真实图像之间的相似度是较高的,也就是说,在对第一文本进行更新的过程中,可以选取与第一图像的相似度较高的文本。通过构建相似度较高的负样本,可以更好的提取隐含在图像编码器和文本编码器中的历史知识并用于训练。
84.需要说明的是,以上示例仅示例性的示出了伪样本为伪文本及真实图像的组合的示例,但并不构成对本技术实施例的限定,在伪样本为真实文本及伪图像的组合中获取伪图像的具体实现方式,以及在伪样本为伪文本及伪图像的组合中获取伪文本及伪图像的具体实现方式可以参考上述获取伪文本的方式,在此不再赘述。
85.接着,可以将伪样本进行重放,以使得视觉-语言预训练模型基于伪样本进行重新学习。
86.本技术实施例中,通过负样本的形式构建伪样本,并将伪样本进行重放,由此可以有助于多模态预训练模型在持续训练过程中加强对历史知识的回放,从而可以有助于减少对知识的遗忘。
87.上文通过图1和图2对构建伪样本进行重新学习的方式进行了示例性说明。为了能对新数据中的知识进行学习,并将新数据中的知识和旧数据的知识同时保留下来,以避免遗忘,还可以进行对比学习以及知识蒸馏,下文通过图3对对比学习以及知识蒸馏的方式进行示例性说明。
88.图3为本技术提供的多模态训练方法另一个实施例的流程示意图,图3所示的实施例可以用于进行对比学习以及知识蒸馏,步骤102中,将伪样本进行重放之后,还可以包括以下步骤:
89.步骤301,学习基于伪样本的知识。
90.具体地,基于伪样本的知识的学习可以是:对本批训练样本集中的样本以及伪样本中的知识进行对比学习。以多模态预训练模型为视觉-语言预训练模型为例,基于伪样本的知识的学习可以是:对比学习本批训练样本集中的样本中图像和文本的匹配关系,以及对比学习伪样本中图像和文本的匹配关系。
91.当对伪样本进行重放之后,可以通过第二损失函数对比学习基于伪样本的知识,其中,第二损失函数用于学习图像与文本之间的对齐。以伪样本为伪文本及真实图像的组
合为例,通过第二损失函数可以计算获得第二损失,其中,第二损失用于表征对基于伪样本的匹配关系的对比学习,第二损失包括文本召回的平均损失及图像召回的平均损失。可以理解的是,文本召回的损失指的是:对于给定的图像,所有文本的召回损失,其中,所有文本包括训练样本集中的真实文本和伪文本。图像召回的损失指的是:对于给定的文本,所有图像的召回损失,其中,给定的文本包括训练样本集中的真实文本和伪文本。因此,文本召回的平均损失可以是所有图像的文本召回的损失的均值,而图像召回的平均损失可以是所有文本的图像召回的损失的均值。
92.可以理解的是,由于图像和文本的关系是对称的,因此,把这两种关系(例如,图像到文本的关系,以及文本到图像的关系)引入到第二损失函数中,可以让视觉-语言预训练模型更好的学习到这两种关系下的匹配关系,例如,通过图像召回,可以确定文本与哪个图像最匹配,或通过文本召回,可以确定图像与哪个文本最匹配。由此可以综合这两种关系下的损失,更准确的学习到这两种关系下的知识。
93.步骤302,基于伪样本进行知识蒸馏。
94.具体地,本步骤302与步骤301的执行顺序可以不分先后,例如,本步骤可以在步骤301之前执行,也可以在步骤301之后执行,也可以与步骤301同时执行,本技术实施例对此不作特殊限定。
95.上述知识蒸馏的具体实现方式可以是:通过第三损失函数计算第三损失,其中,第三损失函数用于保证视觉-语言预训练模型在学习新的图像-文本之间的匹配关系的同时,不遗忘旧的图像-文本之间的匹配关系,第三损失用于表征基于伪样本的知识蒸馏,第三损失包括当前时刻的视觉-语言预训练模型与上一时刻的视觉-语言预训练模型之间的损失。
96.可以理解的是,上述第三损失函数是通过要求当前时刻的视觉-语言预训练模型与上一时刻的视觉-语言预训练模型对图像与文本的关系预测保持一致来减少对知识的遗忘。由于图像和文本的关系是对称的,因此,第三损失也可以计算两个维度的损失,其中,上述两个维度可以包括:第一维度和第二维度,第一维度用于保证图像到文本的维度,第二维度用于表征文本到图像的维度。由此,第三损失可以包括基于第一维度的当前时刻的视觉-语言预训练模型与上一时刻的视觉-语言预训练模型之间的损失,以及基于第二维度的当前时刻的视觉-语言预训练模型与上一时刻的视觉-语言预训练模型之间的损失。
97.本技术实施例中,通过第二损失函数对基于伪文本的知识的学习,以及通过第三损失函数对基于伪文本的知识蒸馏,由此既可以学习到基于伪文本的新知识,还可以将基于伪文本的新旧知识保留下来,从而可以达到更好的稳定性-可塑性平衡。
98.接着,以多模态预训练模型为视觉-语言预训练模型,以及伪样本为真实图像与伪文本的组合为例,并结合图4进行进一步示例性说明。
99.首先,可以选取训练数据集。示例性的,可以在conceptual caption 12m数据集中随机选取200万个图像-文本组合作为训练数据集,其中,每个图像-文本组合包括一个图像和一个文本。可以理解的是,也可以在其他数据集中选取训练数据集,本技术实施例对此不作特殊限定。
100.为了模拟视觉-语言持续预训练的场景,还可以将上述训练数据集中的200万个图像-文本组合随机分成多个部分,例如,8个部分,以获得训练样本集。其中,每个部分25万个图像-文本组合,每个部分可以认为是一个训练样本集,也就是说,每个训练样本集包括25
万个图像-文本组合,每个图像-文本组合为一个样本。
101.假设视觉-语言预训练模型已经对上一批数据训练完,此时,需要对本批数据进行训练,其中,一批数据为一个训练样本集中的数据。当对上一批数据训练完成后,视觉-语言预训练模型中的文本编码器和图像编码器进行了更新。其中,对上一批数据进行训练的文本编码器可以为第二文本编码器g
t-1
,该g
t-1
也可以称之为上一时刻进行训练时的文本编码器,对上一批数据进行训练的图像编码器可以为第二图像编码器f
t-1
,该f
t-1
也可以称之为上一时刻进行训练时的图像编码器。而对本批数据进行训练的文本编码器可以为第一文本编码器g
t
,该g
t
也可以称之为当前时刻进行训练的文本编码器,对本批数据进行训练的图像编码器可以为第一图像编码器f
t
,该f
t
也可以称之为当前时刻进行训练的图像编码器。
102.接着,参考图4,在对本批数据进行训练时,可以使用第一图像编码器对本批数据中的图像进行特征提取,以获得第一图像特征u;也可以使用第一文本编码器对本批数据中的文本进行特征提取,以获得第一文本特征v。此外,还可以在对本批数据的训练过程中构建伪样本。以构建一个伪样本为例,可以先在本批数据中任意选取一个图像(例如,第一图像),并初始化一个伪文本(例如,第一文本)。接着,可以使用第二图像编码器对本批数据中的每个图像进行特征提取,以获得第二图像特征u’,以及使用第二文本编码器对该第一文本进行特征提取,以获得第二文本特征v’。
103.当获取到第二图像特征u’及第二文本特征v’后,可以基于第二图像特征u’及第二文本特征v’计算每个图像与第一文本之间的相似度s,例如,可以通过余弦距离计算相似度,也可以通过欧式距离计算相似度,本技术实施例对计算相似度的具体方式不作特殊限定。接着,可以通过第一损失函数及相似度对第一文本进行更新,该第一损失函数也可以称之为文本生成损失函数。示例性的,第一损失函数的表达式如下:
[0104][0105]
其中,lg为第一损失,b为本批训练样本集中图像的总数,s
min
为预设第一相似度阈值,用于表征预设最小的相似度,s
max
为预设第二相似度阈值,用于表征预设最大的相似度。
[0106]
其中,对第一文本进行更新的具体方式可以是:修改第一文本的词元,用于更新第一文本,本技术实施例对此不作特殊限定。可以理解的是,为了加强对历史知识的记忆,伪文本为一个负样本,且与第一图像之间的相似度可以是较高的。因此,在对第一文本进行更新的时候可以通过上述原则进行更新。当对第一文本进行更新后,如果第一损失不满足收敛的条件,则可以重复上述步骤,例如,更新第一文本,直至第一损失收敛为止;当对第一文本进行更新后,如果第一损失满足收敛的条件,则可以将更新后的第一文本作为伪文本,并将伪文本与第一图像的组合作为伪样本。通过伪样本的构建及重放,可以提取隐含在模型中的知识,并可以将隐含在模型中的知识转化为用于训练的数据,以实现知识抗遗忘。
[0107]
然后,当构建完伪样本之后,可以进行对比学习,用于学习新数据的知识,其中,新数据包括本批数据中的样本及构建的伪样本。学习新数据的知识的具体方式可以是:基于第二损失函数计算第二损失,第二损失用于表征对新数据中知识的学习,第二损失包括文本召回的平均损失及图像召回的平均损失,第二损失函数也可以称之为对比学习损失函数,用于学习图像与文本之间的对齐。示例性的,第二损失函数的表达式如下:
[0108]
[0109]
其中,lc为第二损失,l
ci2t
为文本召回的平均损失,该l
ci2t
指的是对于给定的图像,文本召回的平均损失,l
ct2i
为图像召回的平均损失,该l
ct2i
指的是对于给定的文本,图像召回的平均损失。α为用于控制不同方向(例如,从文本到图像的方向,和从图像到文本的方向)的权重系数。
[0110]
示例性的,用于计算文本召回的平均损失的函数的表达式如下:
[0111][0112]
其中,p
i2t
为对于给定的图像,每个文本与该图像的匹配概率,b为本批数据中图像的总数,ui为第i个图像的特征,vj为第j个文本的特征,b
t
为本批数据中的文本和伪文本的总数,y
ii2t
为与给定的第i个图像最匹配的文本,τ为归一化函数中的温度大小,其中,该归一化函数可以是softmax函数。
[0113]
示例性的,用于计算图像召回的平均损失的函数的表达式如下:
[0114][0115]
其中,p
t2i
为对于给定的文本,每个图像与该文本的匹配概率,y
it2i
为与给定的第i个文本最匹配的图像。
[0116]
通过上述第二损失函数,可以学习图像与文本之间的对齐,其中,包括本批数据中的样本的图像与文本之间的对齐,也包括伪样本中图像与文本之间的对齐。
[0117]
此外,当构建完伪样本之后,还可以进行知识蒸馏,用于将新知识和旧知识同时保留,其中,新知识可以是从本批数据中获得的知识,旧知识可以是从上一批数据中获得的知识。其中,进行知识蒸馏的具体方式可以是:基于第三损失函数计算第三损失,第三损失函数用于保证视觉-语言预训练模型在学习新的图像-文本之间的匹配关系的同时,不遗忘旧的图像-文本之间的匹配关系,第三损失包括当前时刻t的视觉-语言预训练模型与上一时刻t-1的视觉-语言预训练模型之间的损失。通过将当前时刻t的视觉-语言预训练模型与上一时刻t-1的视觉-语言预训练模型对图像文本的关系预测保持一致,由此来同时保留新知识和旧知识,从而可以减少对历史知识的遗忘。示例性的,第三损失函数的表达式如下:
[0118][0119]
其中,l
di2t
为基于第一维度的当前时刻t的视觉-语言预训练模型与上一时刻t-1的视觉-语言预训练模型之间的损失,l
dt2i
为基于第二维度的当前时刻t的视觉-语言预训练模型与上一时刻t-1的视觉-语言预训练模型之间的损失,第一维度用于表征从图像到文本的维度,第二维度用于表征从文本到图像的维度。η为用于控制不同维度的损失的权重系数。示例性的,用于计算基于第一维度的损失的函数的表达式如下:
[0120][0121]
其中,kl为度量函数,用于计算两个参数(例如,p
i2t
和p
t2i
)之间的距离,θ
t
为当前时刻t的模型参数,τ
t
为当前时刻t的归一化函数中的温度大小,θ
t-1
为上一时刻t-1的模型参数,τ
t-1
为上一时刻t-1的归一化函数中的温度大小。
[0122]
示例性的,用于计算基于第二维度的损失的函数的表达式如下:
[0123][0124]
通过上述第三损失函数,可以在学习新知识的同时,不遗忘旧知识。
[0125]
进一步地,还可以根据第二损失和第三损失计算得到总损失。示例性的,用于计算总损失的函数的表达式如下:
[0126]
l
overall
=lc+λld。
[0127]
其中,l
overall
为总损失,λ为控制第二损失和第三损失的权重系数。
[0128]
通过将上述第二损失和第三损失进行结合,由此可以既学习新知识,又能在学习新知识的同时,不遗忘旧知识,从而可以更好的达到稳定性-可塑性平衡。
[0129]
最后,在对视觉-语言预训练模型训练的过程中,不断调整视觉-语言预训练模型的参数,使得上述总损失收敛,由此可以完成上述的学习过程,从而可以对基于伪文本学习到的知识进行加强记忆,并将已加强记忆的知识保留下来,以避免遗忘。
[0130]
可以理解的是,上文通过视觉-语言预训练模型为例进行了示例性说明,但并不构成对本技术实施例的限定,在一些实施例中,上述多模态训练方法也适用于其他形式的多模态预训练模型,其他形式的多模态预训练模型的训练方法的具体实现方式可以参考上述视觉-语言预训练模型的训练方法,在此不再赘述。
[0131]
图5为本技术多模态训练装置一个实施例的结构示意图,如图5所示,上述多模态训练装置50应用于多模态预训练模型,可以包括:训练模块51及重放模块52;其中,
[0132]
训练模块51,用于使用本批训练样本集中的真实样本对多模态预训练模型进行训练;
[0133]
重放模块52,用于在训练过程中,以负样本的形式构建伪样本,将伪样本进行重放,以使得多模态预训练模型基于伪样本进行重新学习。
[0134]
其中一种可能的实现方式中,多模态预训练模型为视觉-语言预训练模型,真实样本为真实图像及真实文本的组合,伪样本为伪文本及真实图像的组合,或伪样本为真实文本及伪图像的组合,或伪样本为伪文本及伪图像的组合。
[0135]
其中一种可能的实现方式中,伪样本为伪文本及真实图像的组合,上述重放模块52还用于获取第一图像及第一文本,第一图像为本批训练样本集中的任一真实图像,第一文本为初始化伪文本;
[0136]
通过第二文本编码器对第一文本提取特征,用于获得第二文本特征,其中,第二文本编码器为与第一文本编码器相邻的上一时刻的文本编码器,第一文本编码器用于对本批训练样本集中的真实文本提取特征,以获得第一文本特征;
[0137]
基于第二图像特征及第二文本特征,并以负样本的形式构建伪文本,将伪文本及第一图像的组合作为伪样本,其中,第二图像特征包括通过第二图像编码器对本批训练样本集中的每个真实图像提取后获得的特征,第二图像编码器为与第一图像编码器相邻的上一时刻的图像编码器,第一图像编码器用于对本批训练样本集中的真实图像提取特征,以获得第一图像特征。
[0138]
其中一种可能的实现方式中,上述重放模块52还用于基于第二图像特征及第二文本特征计算相似度;
[0139]
基于第一损失函数及相似度计算第一损失;
[0140]
基于第一损失对第一文本进行更新,以构建负样本形式的伪文本。
[0141]
其中一种可能的实现方式中,伪样本中伪文本与第一图像的相似度高于预设相似度阈值。
[0142]
其中一种可能的实现方式中,上述多模态训练装置50还包括:
[0143]
学习模块53,用于学习基于伪样本的知识;
[0144]
知识蒸馏模块54,用于基于伪样本进行知识蒸馏。
[0145]
其中一种可能的实现方式中,伪样本为伪文本及真实图像的组合,上述学习模块53具体用于基于第二损失函数计算第二损失,其中,第二损失用于表征对基于伪样本的匹配关系的学习,第二损失包括文本召回的平均损失及图像召回的平均损失。
[0146]
其中一种可能的实现方式中,伪样本为伪文本及真实图像的组合,上述知识蒸馏模块54具体用于基于第三损失函数计算第三损失,其中,第三损失用于表征基于伪样本的知识蒸馏,第三损失包括当前时刻的多模态预训练模型与上一时刻的多模态预训练模型之间的损失。
[0147]
其中一种可能的实现方式中,第三损失包括基于第一维度的当前时刻的多模态预训练模型与上一时刻的多模态预训练模型之间的损失,以及基于第二维度的当前时刻的多模态预训练模型与上一时刻的多模态预训练模型之间的损失,第一维度用于表征从图像到文本的维度,第二维度用于表征从文本到图像的维度。
[0148]
图6为本技术实施例提供的一种电子设备600的结构示意图,上述电子设备600可以包括:至少一个处理器;以及与上述处理器通信连接的至少一个存储器。上述电子设备600可以为计算机,也可以为服务器。上述存储器存储有可被上述处理器执行的程序指令,处理器可调用上述程序指令能够执行本技术实施例提供的电子设备执行的动作。
[0149]
如图6所示,电子设备600可以以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:一个或者多个处理器610,存储器620,连接不同系统组件(包括存储器620和处理器610)的通信总线640及通信接口630。
[0150]
通信总线640表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture,isa)总线,微通道体系结构(micro channel architecture,mac)总线,增强型isa总线、视频电子标准协会(video electronics standards association,vesa)局域总线以及外围组件互连(peripheral component interconnection,pci)总线。
[0151]
电子设备600典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备600访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0152]
存储器620可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(random access memory,ram)和/或高速缓存存储器。电子设备600可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compact disc read only memory,cd-rom)、数字多功能只读光盘(digital video disc read only memory,dvd-rom)或者其它光介质)读写的光盘驱动
器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与通信总线640相连。存储器620可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本技术各实施例的功能。
[0153]
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器620中,这样的程序模块包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本技术所描述的实施例中的功能和/或方法。
[0154]
电子设备600也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过通信接口630进行。并且,电子设备600还可以通过网络适配器(图6中未示出)与一个或者多个网络(例如局域网(local area network,lan),广域网(wide area network,wan)和/或公共网络,例如因特网)通信,上述网络适配器可以通过通信总线640与电子设备的其它模块通信。应当明白,尽管图6中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundant arrays of independent drives,raid)系统、磁带驱动器以及数据备份存储系统等。
[0155]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0156]
在本技术实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0157]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0158]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1