掌桥专利:专业的专利平台
掌桥专利
首页

用于多模态数据处理的方法、装置、设备和介质

文献发布时间:2023-06-19 19:30:30


用于多模态数据处理的方法、装置、设备和介质

技术领域

本公开的示例实施例总体涉及机器学习,特别地涉及用于多模态数据处理的方法、装置、设备和计算机可读存储介质。

背景技术

图像-文本匹配是视觉和语言领域的典型任务,涉及不同模态数据处理。图像数据可以包括动态图像,例如视频,以及静态图像,例如单张图像。图像-文本匹配例如可以用于从文本中检索图像或从图像中检索文本。这项任务的主要挑战是在不同模态之间对齐语义。近年来,从大规模视频内容和文本内容中预训练或训练模型已成为一种趋势。模型建模过程可以挖掘足够的跨模态线索用于实现具体任务。

发明内容

在本公开的第一方面,提供了一种用于多模态数据处理的方法。该方法包括:获取图像数据和文本数据;以及利用特征提取模型提取图像数据的目标视觉特征和文本数据的目标文本特征,特征提取模型包括交替部署的跨模态编码部分和视觉编码部分。提取包括:利用特征提取模型的第一跨模态编码部分对图像数据的第一中间视觉特征和文本数据的第一中间文本特征执行跨模态特征编码,得到第二中间视觉特征和第二中间文本特征;利用特征提取模型的第一视觉编码部分对第二中间视觉特征执行视觉模态特征编码,得到第三中间视觉特征;利用特征提取模型的第二跨模态编码部分对第三中间视觉特征和第二中间文本特征执行跨模态特征编码,得到第四中间视觉特征和第三中间文本特征;以及基于第四中间视觉特征和第三中间文本特征来确定目标视觉特征和目标文本特征。

在本公开的第二方面,提供了一种用于多模态数据处理的装置。该装置包括:获取模块,被配置为获取图像数据和文本数据;以及提取模块,被配置为利用特征提取模型提取图像数据的目标视觉特征和文本数据的目标文本特征,特征提取模型包括交替部署的跨模态编码部分和视觉编码部分。提取模块包括:第一跨模态编码模块,被配置为利用特征提取模型的第一跨模态编码部分对图像数据的第一中间视觉特征和文本数据的第一中间文本特征执行跨模态特征编码,得到第二中间视觉特征和第二中间文本特征;第一视觉编码模块,被配置为利用特征提取模型的第一视觉编码部分对第二中间视觉特征执行视觉模态特征编码,得到第三中间视觉特征;第二跨模态编码模块,被配置为利用特征提取模型的第二跨模态编码部分对第三中间视觉特征和第二中间文本特征执行跨模态特征编码,得到第四中间视觉特征和第三中间文本特征;以及目标特征确定模块,被配置为基于第四中间视觉特征和第三中间文本特征来确定目标视觉特征和目标文本特征。

在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第一方面的方法。

在本公开的第四方面,提供了一种计算机可读存储介质。该介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面的方法。

应当理解,本内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的描述而变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了能够在其中实现本公开的实施例的示例数据处理环境的示意图;

图2示出了能够在其中实现本公开的实施例的模型训练和应用环境的示意图;

图3A至图3C示出了用于多模态特征提取的示例模型架构的示意图;

图4示出了图像数据与文本数据之间的信息密度差异的示例的示意图;

图5示出了根据本公开的一些实施例的特征提取模型的示例结构的示意图;

图6示出了根据本公开的一些实施例的特征提取模型的简化架构的示意图;

图7示出了根据本公开的一些实施例的特征提取模型中不同编码部分的一些示例部署方式的示意图;

图8示出了根据本公开的一些实施例的样本图像数据的示例掩码方式的示意图;

图9示出了根据本公开的一些实现方式的用于多模态数据处理的过程的流程图;

图10示出了根据本公开的一些实现方式的用于多模态数据处理的装置的框图;以及

图11示出了其中可以实施本公开的一个或多个实施例的电子设备。

具体实施方式

下面将参照附图更详细地描述本公开的实现方式。虽然附图中示出了本公开的某些实现方式,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实现方式,相反,提供这些实现方式是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实现方式仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实现方式”或“该实现方式”应当理解为“至少一个实现方式”。术语“一些实现方式”应当理解为“至少一些实现方式”。下文还可能包括其他明确的和隐含的定义。如本文中所使用的,术语“模型”可以表示各个数据之间的匹配度。例如,可以基于目前已知的和/或将在未来开发的多种技术方案来获取上述匹配度。

可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。

可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。

例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。

作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹出窗口的方式,弹出窗口中可以以文字的方式呈现提示信息。此外,弹出窗口中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。

可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。

如本文中所使用的,术语“模型”可以从训练数据中学习到相应的输入与输出之间的匹配度,从而在训练完成后可以针对给定的输入,生成对应的输出。模型的生成可以基于机器学习技术。深度学习是一种机器学习算法,通过使用多层处理单元来处理输入和提供相应输出。神经网络模型是基于深度学习的模型的一个示例。在本文中,“模型”也可以被称为“机器学习模型”、“学习模型”、“机器学习网络”或“学习网络”,这些术语在本文中可互换地使用。

“神经网络”是一种基于深度学习的机器学习网络。神经网络能够处理输入并且提供相应输出,其通常包括输入层和输出层以及在输入层与输出层之间的一个或多个隐藏层。在深度学习应用中使用的神经网络通常包括许多隐藏层,从而增加网络的深度。神经网络的各个层按顺序相连,从而前一层的输出被提供作为后一层的输入,其中输入层接收神经网络的输入,而输出层的输出作为神经网络的最终输出。神经网络的每个层包括一个或多个节点(也称为处理节点或神经元),每个节点处理来自上一层的输入。

通常,机器学习大致可以包括三个阶段,即训练阶段、测试阶段和应用阶段(也称为推理阶段)。在训练阶段,给定的模型可以使用大量的训练数据进行训练,不断迭代更新参数值,直到模型能够从训练数据中获得一致的满足预期目标的推理。通过训练,模型可以被认为能够从训练数据中学习从输入到输出之间的关联(也称为输入到输出的映射)。训练后的模型的参数值被确定。在测试阶段,将测试输入应用到训练后的模型,测试模型是否能够提供正确的输出,从而确定模型的性能。在应用阶段,模型可以被用于基于训练得到的参数值,对实际的输入进行处理,确定对应的输出。

图1示出了能够在其中实现本公开的实施例的示例数据处理环境100的示意图。在图1的环境100中,跨模态数据处理系统110要处理成对的图像数据102和文本数据104。在此,图像数据102可以包括动态图像数据或静态图像数据。动态图像数据例如是视频,其中视频中的各个视频帧可以被认为是单张图像。静态图像数据是单个图像。在图1以及下文的示例中,图像数据102被示出为视频数据,其中包括多个视频帧。然而,从后文描述应该能够理解,本公开的实施例也同样适用于静态图像数据。

在很多应用场景中会面临需要处理图像模态和文本模态数据的情况。举例而言,一些应用场景涉及图像和文本匹配任务。这样的任务包括从文本中检索图像、从图像中检索文本、视频/图像问答(从视频或图像中查找问题的答案),等等。为了实现涉及多模态数据的任务,可以依赖于机器学习技术,提供特征提取模型来提取图像数据和文本数据各自的特征。特征可以是具有特定维度的向量,也称为特征表示、特征向量、特征码等,这些术语在本文中可互换地使用。所提取的特征能够在特定维度空间中表征对应的数据。

在图1中,跨模态数据处理系统110利用特征提取模型120来将提取图像数据102的目标视觉特征和提取文本数据104的目标文本特征。取决于具体任务,目标视觉特征和目标文本特征会被提供到输出层130,以用于确定任务输出。在匹配任务中,输出层130被配置为基于目标视觉特征和目标文本特征来确定图像数据102与文本数据104是否彼此匹配。匹配意味着文本数据104准确描述了图像数据102所表达的信息。例如,在图1的示例中,文本数据104是英文句子“Yellow clown fish dart through coral”(黄色小丑鱼在珊瑚中飞掠),其准确描述了视频形式的图像数据102所呈现的信息。如果特征提取模型120能够提取出彼此对齐或匹配的视觉特征和文本特征,那么基于这两个特征就能够确定出正确的匹配结果。

注意,图1中的示例图像数据和文本数据仅是为了解释说明目的给出的,不应当将本公开的实施例的范围限制到任何特定形式的文本和图像数据。

可以看出,在跨模态数据处理过程中,从图像数据和文本数据中提取出能够准确表征各模态数据的特征表示是一项重要工作。特征提取模型的架构部署会影响到特征提取能力。本公开的实施例提出对特征提取模型的改进架构部署,能够改进对多模态数据的特征提取,提高在涉及多模态数据的各项任务中的性能。

在一些实施例中,特征提取模型120的训练过程可以包括预训练过程和微调过程。大规模的预训练模型通常具有强大的泛化能力和对规模数据的高效利用。在大规模数据上预训练出模型后,可以基于不同下游任务的具体需求,利用少量数据对预训练的模型进行微调,这样能够显著提升整体模型学习的效率并降低对具体下游任务的标注数据的需求。完成训练的特征提取模型120可以被提供到具体应用场景中使用。

图2示出了能够在其中实现本公开的实施例的模型训练和应用环境200的示意图。在图2的环境200中示出了模型的三个不同阶段,包括预训练阶段202、微调阶段204和应用阶段206。在预训练或微调阶段完成后还可以有测试阶段,图中未示出。

在预训练阶段202,模型预训练系统210被配置为预训练特征提取模型120。在预训练开始时,特征提取模型120可以具有初始参数值。预训练过程是要基于训练数据来将特征提取模型120的参数值更新到期望值。

预训练所使用的训练数据包括样本图像数据212和样本文本数据214,并且还可以包括标注信息216。标注信息216可以用于指示输入到特征提取模型120的样本图像数据212和样本文本数据214是否匹配。虽然示出了一对样本图像和文本,但预训练阶段可能会使用大量的样本图像和文本来进行训练。在预训练过程中,可以设计一个或多个预训练任务207-1、207-2等。预训练任务用于帮助对特征提取模型120的参数更新。某些预训练任务可能基于标注信息216来执行参数更新。

在预训练阶段202,可以通过大量训练数据使特征提取模型120学习到强大的泛化能力。在预训练完成后,特征提取模型120的参数值已经被更新,具有预训练的参数值。经预训练的特征提取模型120可以较为准确提取输入数据的特征表示。

经预训练得到的特征提取模型120可以被提供到微调阶段204,由模型微调系统220针对不同下游任务进行微调。在一些实施例中,取决于下游任务,可以将预训练的特征提取模型120连接到对应的任务特定输出层227,从而构建下游任务模型225。这是因为对于不同下游任务,需要的输出可能不同。

在微调阶段204,继续利用训练数据来调整特征提取模型120的参数值。需要的话,可能还可以调整任务特征输出层227的参数。微调阶段所使用的训练数据包括样本图像数据222和样本文本数据224,并且还可以包括标注信息226。标注信息226可以用于指示输入到特征提取模型120的样本图像数据222和样本文本数据224是否匹配。虽然示出了一对样本图像和文本,但微调阶段可能会使用一定量的样本图像和文本来进行训练。特征提取模型120可以对输入的图像数据和文本数据执行特征表示的提取,并提供到任务特定输出层227,以提供对应任务的输出。

微调时也利用相应的训练算法来更新和调整整体模型的参数。由于特征提取模型120已在预训练阶段从训练数据中学习到很多知识,因此在微调阶段204利用少量的训练数据便可获得符合期望的下游任务模型。

在一些实施例中,在预训练阶段202,根据预训练任务的目标,可能已构建一个或多个任务特定输出层,用于在多个下游任务下对特征提取模型120进行预训练。在这种情况下,如果下游任务中所使用的任务特定输出层与预训练时所构建的任务特定输出层相同,那么可以直接利用预训练后的特征提取模型120以及任务特定输出层来组成对应的下游任务模型。在这种情况下,该下游任务模型可以不需要微调,或者仅需要少量训练数据的微调。

在应用阶段206,所获得的下游任务模型225具有已训练的参数值,可以被提供给模型应用系统230来使用。在应用阶段206,可以利用下游任务模型225来处理实际场景中的对应输入,并且提供相应的输出。例如,下游任务模型225中的特征提取模型120接收输入的目标图像数据232和目标文本数据234,以提取对应的目标视觉特征和目标文本特征。所提取的目标视觉特征和目标文本特征被提供给任务特征输出层227,以确定对应任务的输出。通常,该输出可以被概括为确定目标图像数据232与目标文本数据234之间是否匹配或匹配的程度。

在图1和图2中,跨模态数据处理系统110、模型预训练系统210、模型微调系统220和模型应用系统230可以包括具有计算能力的任何计算系统,例如各种计算设备/系统、终端设备、服务器等。终端设备可以涉及任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。服务器包括但不限于大型机、边缘计算节点、云环境中的计算设备,等等。

应当理解,图1和图2示出的环境100和环境200中的部件和布置仅仅是示例,适于用于实现本公开所描述的示例性实现方式的计算系统可以包括一个或多个不同的部件、其他部件和/或不同的布置方式。例如,虽然被示出为是分离的,但模型预训练系统210、模型微调系统220和模型应用系统230可以集成在相同系统或设备中。本公开的实现方式在此方面不受限制。

在一些实施例中,特征提取模型120的训练阶段可以不划分为图2所示的预训练阶段和微调阶段,而是可以直接基于任务构建下游任务模型并利用大量训练数据来训练特征提取模型。

以上讨论了对图像模态和文本模态的特征提取的一些示例环境。要处理不同模态的数据,特征提取模型的架构需要特别设计。有一些方案提出了特征提取模型的示例架构。

图3A至图3C示出了用于多模态特征提取的示例模型架构的示意图。图3A所示的基于双流处理的架构301包括独立并行的视觉编码部分310和文本编码部分320。视觉编码部分310和文本编码部分320的数目分别设置为N个,其中N可以是大于等于1的整数。每个视觉编码部分310包括多个视觉编码单元,用于提取图像数据的视觉特征。每个文本编码部分320包括多个文本编码单元,用于处理文本数据的文本特征。

图3B所示的基于混合流的架构302包括N个单模态编码部分330,其可以类似于图3A的架构301,包括独立并行的视觉编码部分和文本编码部分,用于对视觉特征和文本特征独立编码。架构302还包括用于统一融合的N’个跨模态编码部分340,其中N’与N可以相同或不同。跨模态编码部分340用于对从分离模态编码部分330接收到的文本特征和视觉特征进行跨模态编码。

图3C所示的基于统一流处理的架构303包括N个跨模态编码部分350,其类似于图3B的跨模态编码部分340。图像数据和文本数据直接被输入到跨模态编码部分350以执行跨模态编码,输出视觉特征和文本特征。

基于双流处理的架构能够独立编码每个模态,但对跨模态语义对齐的能力有限。基于混合流处理的架构是在独立双流处理基础上增加了统一融合用于对两个模态的信息进行融合,从而获得跨模态对齐能力。然而,基于混合流处理的架构的计算开销过高。基于统一流处理的架构仅仅依赖于单个处理流来联合编码两个模态,这能有效实现训练收敛且增加了跨模态对齐能力。虽然基于统一流处理的架构比较轻量级,但在大规模数据训练时仍然会需要大量计算开销,而且模型泛化能力差,在一些任务中表现糟糕。发明人通过研究和分析发现,这可能是由于对图像数据和文本数据之间的密集跨模态交互建模导致的。

跨模态编码的目的是为了将两个模态之间的语义信息进行关联。然而,问题在于,图像数据和文本数据具有不同的信息密度。一般而言,图像数据,包括视频和静态数据,通常具有自然连续信号,并具有较高的空间冗余。此外,视频数据同时具有较高的时域和空间冗余。因此,图像数据通常需要经由较大模型来编码成层级特征。然而,文本,特别是自然语言文本,是离散的且具有精炼语义。基于这一事实,发明人发现对这两个模态的数据的特征提取过程将会表现出很大不同。

图4示出了图像数据与文本数据之间的信息密度差异的示例的示意图。假设利用视觉编码模型400来提取图像数据102的特征信息。视觉编码模型400被构造为包括从低层到高层的多个处理层,每一层处理输入并将提取的中间特征表示提供到下一层继续处理。通过观察可以发现,视觉编码模型400的较低处理层能够感知到图像数据102中的浅层信息,例如颜色信息“Yellow”(黄色)。随着处理深入,视觉编码模型400能够感知到图像数据102中的轮廓等信息,例如识别出其中的物体“fish”(鱼)。在更高层级的处理层中,通过对动态形式的图像数据102的多个视频帧的时域探索,视觉编码模型400才能够感知到图像数据102的时域信息,即图像数据中物体的运动信息“dart through”(飞掠)。

由此可见,由于图像数据的时域和空间冗余,对图像数据的视觉特征构造过程具有离散等级(从低到高)。然而,文本数据的文本特征是高度抽象的,不存在这样的从低到高的离散化提取。因此,在特征提取过程中,每个模态的语义粒度演进并不同步,这被称为非同步语义对齐。

考虑到这样的非同步语义对齐,在本公开的实施例中,提出了构建非同步跨模态语义对齐的特征提取模型架构来执行图像数据和文本数据的特征提取。具体地,该特征提取模型被构建为包括稀疏的跨模态编码部分。此外,该特征提取模型保留了对图像数据的较密集特征编码,而切断了对文本数据的密集编码。这样的特征提取过程能够更好地捕捉图像和文本模态的非同步语义对齐,使模型能够更快学习和实现对图像和文本模态的准确特征提取。所提取的特征能够准确表征对应的图像数据和文本数据,因此可以被应用到与图像和文本有关的各种下游任务中。

以下将继续参考附图描述本公开的一些示例实施例。

图5示出了根据本公开的一些实施例的特征提取模型120的示例结构的示意图。仅出于示意性目的,仍假设特征提取模型120要处理图中所示的图像数据102和文本数据104。结合图2的示例环境可以理解,在预训练、微调和应用的不同阶段,被输入到特征提取模型120的图像数据和文本数据可能不同。在一些实施例中,特征提取模型120的训练阶段可以是整合的,不需划分为图2所示的预训练和微调阶段。

如上文分析的,由于图像和文本数据的不同信息密度,密集的跨模态交互(例如,基于统一流处理的架构303)不仅会干扰两个模态的语义对齐,而且也会增加训练开销,包括预训练开销。在本公开的实施例中,提出了改进的特征提取模型架构。如图5所示,特征提取模型120被构建为交替部署的跨模态编码部分510和视觉编码部分520,以实现图像和文本的非同步交互。

“交替部署”意味着一个跨模态编码部分510连接到一个视觉编码部分520,该视觉编码部分520继续连接到下一个跨模态编码部分510,以此类推。例如,在图5中,跨模态编码部分510-1连到接视觉编码部分520-1,其随后连接到另一跨模态编码部分510-2。跨模态编码部分510-2连接到视觉编码部分520-2,其随后连接到另一跨模态编码部分510-3,以此类推,直到最后的跨模态编码部分510-4。

每个跨模态编码部分510(跨模态编码部分510-1、510-2、510-3、……、510-4等)被配置为对图像数据和文本数据进行跨模态特征编码。每个视觉编码部分520(跨模态编码部分520-1、520-2、520-3、……)被配置为对图像数据进行视觉模态的单模态特征编码。特征提取模型120可以不包括单独的文本模态编码。这样,前一跨模态编码部分510对文本数据的特征编码结果被直接输入到下一跨模态编码部分510继续处理。总体来看,在特征提取模型120的特征提取过程中,图像数据被更密集编码,而图像和文本的跨模态交互相对而言比较稀疏。这样的非同步编码方式能够解决图像和文本数据的信息密度差异导致的特征提取差异。

具体地,假设图像数据102是动态图像数据,被表示为

在初始阶段,可以先将图像数据102转换为初始视觉特征502,将文本数据104转换为初始文本特征504,以将数据转换为多维度的向量形式用于模型处理。初始视觉特征502和初始文本特征504也称为特征嵌入(embedding)或嵌入表示。这样的特征转化被表示为如下:

其中

在一些实施例中,初始视觉特征502和初始文本特征504的维度可以被配置为相同。例如,转换后的初始视觉特征502被表示为

初始视觉特征502和初始文本特征504作为图像数据102和文本数据104的表征,被输入到特征提取模型120以进一步处理。如前文提及的,在特征提取模型120中,一些处理部分(即,跨模态编码部分510)被配置为执行图像和文本模态的跨模态特征编码,另一些部分(即,视觉编码部分520)被配置为执行图像模态的视觉模态特征编码。

在本文中,将跨模态编码部分510针对图像模态的特征编码结果称为中间视觉特征,针对文本模态的特征编码结果称为中间文本特征。类似地,视觉编码部分520针对图像模态的特征编码结果也称为中间视觉特征。这样,当前跨模态编码部分510所提取的中间视觉特征会被提供给所连接的视觉编码部分520,用于执行进一步视觉模态特征编码,得到另外的中间视觉特征;当前视觉编码部分520所提取的中间文本特征和视觉编码部分520输出的中间视觉特征被提供到下一视觉编码部分520用于处理。对于特征提取模型120的第一个处理部分,其输入是初始视觉特征502(以及初始文本特征504,如果第一个处理部分是跨模态编码部分)。前述过程重复迭代执行,直到达到特征提取模型120的最后一个部分。最后一个部分输出的特征被认为是图像数据102的目标视觉特征和文本数据104的目标文本特征。

对于跨模态编码部分510,其输入(例如,中间视觉特征和中间视觉特征,或者初始视觉特征和初始视觉特征)被级联为

在一些实施例中,跨模态编码部分510可以包括一个或多个网络层,视觉编码部分520也可以包括一个或多个网络层。在一些实施例中,跨模态编码部分510和/或视觉编码部分520可以包括转换器(transformer)层。转换器层可以包括多头自注意(MSA)块和前馈网络(FFN)块。当然,这里仅给出了跨模态编码部分510和视觉编码部分520的一些示例实现。在实际应用中,可以根据实际需要来配置跨模态编码部分510和/或视觉编码部分520所采用的网络层。跨模态编码部分510和视觉编码部分520也可以被配置为不同类型的网络层。此外,不同跨模态编码部分510也可以采用不同类型的网络层来实现跨模态特征编码。类似地,视觉编码部分520也可以采用不同类型的网络层来实现视觉模态特征编码。

根据前文对特征提取模型210的部署方式,特征提取模型210中的每个网络层的处理可以被定义为如下:

其中1≤n≤N,并且N表示特征提取模型210中的网络层的总数;[·,·]表示两个模态的特征级联;

跨模态编码部分510和视觉编码部分520的交替部署方式也可以是多种多样。在虽然图5中示出了跨模态编码部分510被部署为第一个处理部分,但也可以选择将视觉编码部分520部署为第一个处理部分。在一些实施例中,可以选择将特征提取模型120的最后一个处理部分部署为跨模态编码部分510,虽然在其他实施例中也可以不做这样的约束。

跨模态编码部分510和视觉编码部分520可以分别配置为具有一个或多个网络层,即具有不同网络深度。跨模态编码部分510中的网络层可以称为跨模态编码层,视觉编码部分520中的网络层可以称为视觉编码层。

如前文提及的,在特征提取模型120中,跨模态编码部分510和视觉编码部分520交替部署。在一些实施例中,特征提取模型120可以包括多对交替出现的跨模态编码部分510和视觉编码部分520。图6示出了根据本公开的一些实施例的特征提取模型120的简化架构的示意图。如图6所示,特征提取模型120可以包括多个处理部分610,每个处理部分610包括一个或多个(s个)视觉编码层622和一个或多个跨模态编码层612。

为了与图3A至图3C所示的特征提取架构相比,可以假设在对图像数据实现相同深度的特征提取基础上,特征提取模型120可以部署有

假设特征提取模型120的总网络层数目为N,可以配置其中一些网络层作为跨模态编码层,而配置其他网络层为视觉编码层。与视觉编码层相比,跨模态编码层所需参数更多,因而训练开销和应用开销相对更大。

图7示出了根据本公开的一些实施例的特征提取模型120中不同编码部分的一些示例部署方式的示意图。在一些实施例中,可以基于随机方案,随机选择一些网络层配置为跨模态编码层。如图7所示,基于随机方案701,特征提取模型120中网络层1和2被选择为跨模态编码层712(形成一个跨模态编码部分);网络层5被选择为跨模态编码层712(形成另一个跨模态编码部分);网络层7和8被选择为跨模态编码层712(形成又一个跨模态编码部分);网络层10被选择为跨模态编码层712(形成又一个跨模态编码部分)。在剩余的网络层中,网络层3和4被部署为视觉编码层722(形成一个视觉编码部分),网络层6被部署为视觉编码层722(形成另一个视觉编码部分),网络层9也被部署为视觉编码层722(形成又一个视觉编码部分)。

在一些实施例中,为了以较低开销来获得高质量的文本特征和视觉特征的提取,除随机方案之外,还可以按一些预定准则来部署跨模态编码部分和视觉编码层。

在一些实施例中,可以基于统一方案,在特征提取模型120中以预定间隔来部署跨模态编码层。预定间隔可以被量化为预定数目的视觉编码层。也就是说,基于统一方案,在两个相邻跨模态编码部分之间的视觉编码部分可以包括预定数目的视觉编码层。预定数目可以是1、2、3或者任何其他适当数目。假设从第s

其中s

其中1≤s

根据上式(3),特征提取模型120中的第n网络层

如图7所示,基于随机方案702,特征提取模型120中的网络层交替被部署为跨模态编码层712和视觉编码层722。例如,第1、3、5、7和9个网路层被部署为跨模态编码层712,第2、4、6、8和10个网络层被部署为视觉编码层722,以此类推。

在图7的示例中,w被配置为1,而s

在一些实施例中,还可以基于渐进式方案来部署跨模态编码部分。例如,不同于统一方案,可以从起始位置开始,以渐进式间隔来设置跨模态提取部分。基于渐进式方案的部署,可以选择特征提取模型120中的以下网络层设置为跨模态编码层:

其中s

其中1≤s

在上式(4)中,如果k>0,相邻跨模态编码部分之间的间隔(即其中部署的视觉编码层的数目)逐渐增加,呈现从密集到稀疏的跨模态交互。如图7所示,基于渐进式方案a 703,第1、3、6和10网络层分别被部署为跨模态编码层712。对于第1和3网络层,这两个相邻的跨模态编码部分由一个视觉编码层722间隔;对于第3和6网络层,这两个相邻的跨模态编码部分由2个视觉编码层722间隔;对于第6和10网络层,这两个相邻的跨模态编码部分由4个视觉编码层722间隔,以此类推。从整体模型的低层到高层看,跨模态特征编码呈现从密集到稀疏的变化。

在上式(4)中,如果k<0,相邻跨模态编码部分之间的间隔(即其中部署的视觉编码层的数目)逐渐减小,呈现从稀疏到密集的跨模态交互。如图7所示,基于渐进式方案b 704,第1、5、8和10网络层分别被部署为跨模态编码层712。对于第1和5网络层,这两个相邻的跨模态编码部分由4个视觉编码层722间隔;对于第5和8网络层,这两个相邻的跨模态编码部分由2个视觉编码层722间隔;对于第8和10网络层,这两个相邻的跨模态编码部分由一个视觉编码层722间隔,以此类推。从整体模型的低层到高层看,跨模态特征编码呈现从稀疏到密集的变化。

尽管在图7所示的方案中均假设每个跨模态编码部分包括单个跨模态编码层,但也可以将跨模态编码部分设置为包括多个跨模态编码层。

从稀疏到密集的跨模态交互策略实际上等同于降低了在低层特征处进行跨模态交互,但保持了高层特征的密集交互。从密集到稀疏的跨模态交互呈现相反策略。在实际应用中可以根据需要进行选择。

应当理解,图7所示的各个方案下的特征提取模型120仅是示例,其中跨模态编码层和视觉编码层的具体数目和布置位置均可以根据实际应用来选择。

如前文分析的,图像和文本具有不同语义密度,而将高度语义化文本与高度冗余图像数据进行频繁对齐和交互,不仅是不必要的,而且还会限制对视觉信息的特征表示的学习。因此,在本公开所提出的特征提取模型架构切断了大量的非必要的密集跨模态交互和文本建模,同时仍然保留对图像数据的稍密集建模。这样可以显著提升所提取的特征的表征能力。

图像数据的时域和/或空间冗余除了会导致文本和图像数据在特征提取中的非同步语义对齐之外,发明人还发现图像数据的大量视觉块对于跨模态对齐而言也是冗余的。例如,单个图像中多个区域可能表征相同含义,而多个连续视频帧也会存在更多冗余区域。考虑到这样的冗余,为了节约训练阶段的训练开销,在一些实施例中,对图像数据102进行稀疏区块采样和掩码(mask)后再输入给特征提取模型120进行处理。

在一些实施例中,稀疏区块采样和掩码可以被应用到特征提取模型120的训练数据,特别是预训练阶段的训练数据中的图像数据。这样,在训练期间,对图像数据102和文本数据104所提取的目标视觉特征和目标文本特征被用于执行对特征提取模型120的参数更新。预训练阶段的训练数据量往往非常大。通过对图像数据的掩码可以显著降低数据处理量,同时也不会影响模型学习效率。

具体地,假设要输入给特征提取模型102的图像数据102和文本数据104是用于模型训练的样本图像数据和样本文本数据。假设图像数据102包括视频片段中的多个视频帧,例如T个视频帧,其中T大于等于1。可以在时域和空间域中选择T个视频帧中的至少一个视频帧的至少一个视觉块进行掩码,得到T个掩码视频帧。在一些实施例中,假设每个视频帧被划分为多个视觉块。对T个视频帧分别施加掩码图

对于被掩码的视觉块,其对应的特征可以被掩码(如图5所示的初始视觉特征502中被掩码的部分)。相应地,在模型提取过程中,跨模态编码部分和视觉编码部分中的对应处理单元可以被切断,无需处理这部分数据。

可以采用多种方式来从视频帧中选择要掩码的视觉块。在一些实施例中,可以基于随机掩码方案,从图像数据102所包括的各个视频帧随机掩码至少一个视觉块。在一些实施例中,可以按给定比率来选择每个视频帧中要被掩码的视觉块。这样的随机掩码方案是时间无关的。这样的掩码方案仅关注于移除每个帧中可能的冗余内容,而不关心帧之间的时域相关性。

图8示出了根据本公开的一些实施例的样本图像数据的示例掩码方式的示意图。在图8的示例中,假设T=3,即图像数据包括视频帧810、820和830。根据随机掩码方案801,对于每个视频帧,均按给定比率(例如1/3)随机选择要被掩码的视觉块。所得到的掩码视频帧被提供给特征提取模型120,以用于执行对特征提取模型120的训练。

在一些实施例中,可以基于固定掩码方案,利用预定掩码图m

在一些实施例中,可以基于时域互补掩码方案,从多个视频帧中的各个视频帧选择至少一个视觉块进行掩码,并且在多个视频帧中被掩码的视觉块的位置彼此不同。在一些实施例中,从多个视频帧中所选择用于掩码的视觉块彼此互补,以形成完成的“视频帧”。如图8所示,根据时域互补掩码方案803,在视频帧810、820和830中的每个视频帧中,选择全部9个视觉块中的1/3视觉块(即,3个视觉块)进行掩码。3个视频帧中被掩码的视觉块的位置彼此不同。从全部3个视频帧所选择用于掩码的9个视觉块将组成完成的视频帧。与先前两个方案相比,时域互补掩码方案会从多个视频帧捕获更冗余但更多样化的视觉信息。

应当理解,图8所示的视觉块划分数目、每个方案下各个视频帧被选择用于掩码的视觉块均是示例。在不同场景中可能会出现其他掩码结果。

通过稀疏视觉块采样和掩码,可以在维持模型性能的同时,减少计算开销,特别是训练时的计算开销。

如前文提及的,可以对特征提取模型120进行预训练,以从预训练时的大量数据中学习到对图像和文本模态数据的更好表征。在预训练阶段,可以构造预训练任务来完成预训练目标。在一些实施例中,预训练任务可以包括图像和文本匹配任务。在该任务下,对于给定的一对匹配的样本图像数据和样本文本数据,可以按一定概率(例如0.5的概率)随机将其中的样本图像数据替换为其他样本图像数据。然后,由特征提取模型120提取每一对样本图像数据和样本文本数据的目标视觉特征和目标文本特征。所提取的目标视觉特征和目标文本特征被输入到用于预训练目的的输出层130(参考图5),以由输出层130基于目标视觉特征和目标文本特征确定输入的样本图像数据和样本文本数据是否匹配。预训练任务的目标是不断更新特征提取模型120的参数值,以使得特征提取模型120所输出的目标视觉特征和目标文本特征能够用于准确确定出定输入的样本图像数据和样本文本数据是否匹配。

在一些实施例中,预训练任务还可以包括掩码语言建模(MLM)任务。对于该预训练任务,将对样本文本数据中的部分文本进行掩码,并将掩码后的样本文本数据以及对应的样本图像数据输入到特征提取模型120。然后,基于特征提取模型120输出的目标视觉特征和目标文本特征,尝试预测样本文本数据中被掩码的部分文本。该预训练任务的目标是期望能够正确预测出被掩码的部分文本。为了实现该任务,特征提取模型120输出的目标视觉特征和目标文本特征可以被提供到这样的输出层130,该输出层130用于预测样本文本数据中被掩码的部分文本。

以上讨论了针对特征提取模型120的预训练阶段的一些实现。在微调阶段和模型应用阶段,可以根据实际任务需要将特征提取模型120与下游任务特定的输出层组合,这里不再赘述。

图9示出了根据本公开的一些实现方式的用于多模态数据处理的过程900的流程图。过程900可以在图1的跨模态数据处理系统110处,其中跨模态数据处理系统110可以包括图2的模型预训练系统210、模型微调系统220和/或模型应用系统230。为便于讨论,将参考图1的环境100来描述过程900。

在框910,跨模态数据处理系统110获取图像数据和文本数据。

在框920,跨模态数据处理系统110利用特征提取模型提取图像数据的目标视觉特征和文本数据的目标文本特征。特征提取模型包括交替部署的跨模态编码部分和视觉编码部分。框920的提取包括:在框922,利用特征提取模型的第一跨模态编码部分对图像数据的第一中间视觉特征和文本数据的第一中间文本特征执行跨模态特征编码,得到第二中间视觉特征和第二中间文本特征;在框924,利用特征提取模型的第一视觉编码部分对第二中间视觉特征执行视觉模态特征编码,得到第三中间视觉特征;在框926,利用特征提取模型的第二跨模态编码部分对第三中间视觉特征和第二中间文本特征执行跨模态特征编码,得到第四中间视觉特征和第三中间文本特征;以及在框928,基于第四中间视觉特征和第三中间文本特征来确定目标视觉特征和目标文本特征。

在一些实施例中,过程900还包括:基于目标视觉特征和目标文本特征来确定图像数据与文本数据之间的匹配度。

在一些实施例中,基于第四中间视觉特征和第三中间文本特征来确定目标视觉特征和目标文本特征包括:利用特征提取模型的第二视觉编码部分对第四中间视觉特征执行视觉模态特征编码,得到第五中间视觉特征;基于第五中间视觉特征和第三中间文本特征来确定目标视觉特征和目标文本特征。

在一些实施例中,特征提取模型包括多对交替部署的跨模态编码部分和视觉编码部分,并且其中在两个相邻跨模态编码部分之间部署的视觉编码部分包括预定数目的视觉编码层。

在一些实施例中,特征提取模型包括多对交替出现的跨模态编码部分和视觉编码部分,并且其中在第一对相邻的跨模态编码部分之间部署的视觉编码部分包括第一数目的视觉编码层,并且在第二对相邻的跨模态编码部分之间部署的视觉编码部分包括第二数目的视觉编码层,第一数目与第二数目不同。

在一些实施例中,图像数据和文本数据被包括在特征提取模型的训练数据中,并且其中图像数据包括视频片段中的多个视频帧。在一些实施例中,提取目标视觉特征和文本特征包括:通过掩码多个视频帧中至少一个视频帧的至少一个视觉块,生成多个掩码视频帧;利用特征提取模型提取多个掩码视频帧的目标视觉特征和文本数据的目标文本特征。

在一些实施例中,过程900还包括:基于目标视觉特征与目标文本特征来执行对特征提取模型的参数更新。

在一些实施例中,生成多个掩码视频帧包括:从多个视频帧中各个视频帧随机掩码至少一个视觉块,得到多个掩码视频帧。

在一些实施例中,生成多个掩码视频帧包括:利用预定掩码图来掩码多个视频帧中的各个视频帧,得到多个掩码视频帧,预定掩码图指示视频帧中的预定位置的至少一个视觉块要被掩码。

在一些实施例中,生成多个掩码视频帧包括:从多个视频帧中的各个视频帧选择至少一个视觉块进行掩码,得到多个掩码视频帧,多个视频帧中被掩码的视觉块的位置彼此不同。

图10示出了根据本公开的一些实现方式的用于训练对比学习模型装置1000的框图。装置1000例如可以被实现在或被包括在图1的跨模态数据处理系统110处,其中跨模态数据处理系统110可以包括图2的模型预训练系统210、模型微调系统220和/或模型应用系统230。装置1000中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。

如图所示,装置1000包括获取模块1010,被配置为获取图像数据和文本数据。装置1000还包括提取模块1020,被配置为利用特征提取模型提取图像数据的目标视觉特征和文本数据的目标文本特征。特征提取模型包括交替部署的跨模态编码部分和视觉编码部分。提取模块1020包括:第一跨模态编码模块1022,被配置为利用特征提取模型的第一跨模态编码部分对图像数据的第一中间视觉特征和文本数据的第一中间文本特征执行跨模态特征编码,得到第二中间视觉特征和第二中间文本特征;第一视觉编码模块1024,被配置为利用特征提取模型的第一视觉编码部分对第二中间视觉特征执行视觉模态特征编码,得到第三中间视觉特征;第二跨模态编码模块1026,被配置为利用特征提取模型的第二跨模态编码部分对第三中间视觉特征和第二中间文本特征执行跨模态特征编码,得到第四中间视觉特征和第三中间文本特征;以及目标特征确定模块1028,被配置为基于第四中间视觉特征和第三中间文本特征来确定目标视觉特征和目标文本特征。

在一些实施例中,装置1000还包括:匹配度确定模块,被配置为基于目标视觉特征和目标文本特征来确定图像数据与文本数据之间的匹配度。

在一些实施例中,目标特征确定模块1028包括:第二视觉编码模块,被配置为利用特征提取模型的第二视觉编码部分对第四中间视觉特征执行视觉模态特征编码,得到第五中间视觉特征;进一步目标特征确定模块,被配置为基于第五中间视觉特征和第三中间文本特征来确定目标视觉特征和目标文本特征。

在一些实施例中,特征提取模型包括多对交替部署的跨模态编码部分和视觉编码部分,并且其中在两个相邻跨模态编码部分之间部署的视觉编码部分包括预定数目的视觉编码层。

在一些实施例中,特征提取模型包括多对交替出现的跨模态编码部分和视觉编码部分,并且其中在第一对相邻的跨模态编码部分之间部署的视觉编码部分包括第一数目的视觉编码层,并且在第二对相邻的跨模态编码部分之间部署的视觉编码部分包括第二数目的视觉编码层,第一数目与第二数目不同。

在一些实施例中,图像数据和文本数据被包括在特征提取模型的训练数据中,并且其中图像数据包括视频片段中的多个视频帧。提取模块1020包括:掩码模块,被配置为通过掩码多个视频帧中至少一个视频帧的至少一个视觉块,生成多个掩码视频帧;以及基于掩码的提取模块,被配置为利用特征提取模型提取多个掩码视频帧的目标视觉特征和文本数据的目标文本特征。

在一些实施例中,装置1000还包括:参数更新模块,被配置为基于目标视觉特征与目标文本特征来执行对特征提取模型的参数更新。

在一些实施例中,掩码模块包括:随机掩码模块,被配置为从多个视频帧中各个视频帧随机掩码至少一个视觉块,得到多个掩码视频帧。

在一些实施例中,掩码模块包括:固定掩码模块,被配置为利用预定掩码图来掩码多个视频帧中的各个视频帧,得到多个掩码视频帧,预定掩码图指示视频帧中的预定位置的至少一个视觉块要被掩码。

在一些实施例中,掩码模块包括:互补掩码模块,被配置为从多个视频帧中的各个视频帧选择至少一个视觉块进行掩码,得到多个掩码视频帧,多个视频帧中被掩码的视觉块的位置彼此不同。

图11示出了其中可以实施本公开的一个或多个实施例的电子设备1100的框图。应当理解,图11所示出的电子设备1100仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。电子设备1100例如可以用于实现图1的跨模态数据处理系统110处,其中跨模态数据处理系统110可以包括图2的模型预训练系统210、模型微调系统220和/或模型应用系统230。电子设备1100也可以用于实现图10的装置1000。

如图11所示,电子设备1100是通用计算设备的形式。电子设备1100的组件可以包括但不限于一个或多个处理器或处理单元1110、存储器1120、存储设备1130、一个或多个通信单元1140、一个或多个输入设备1150以及一个或多个输出设备1160。处理单元1110可以是实际或虚拟处理器并且能够根据存储器1120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备1100的并行处理能力。

电子设备1100通常包括多个计算机存储介质。这样的介质可以是电子设备1100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备1130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在电子设备1100内被访问。

电子设备1100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图11中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1120可以包括计算机程序产品1125,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。

通信单元1140实现通过通信介质与其他电子设备进行通信。附加地,电子设备1100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备1100可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。

输入设备1150可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备1100还可以根据需要通过通信单元1140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备1100交互的设备进行通信,或者与使得电子设备1100与一个或多个其他电子设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。

根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。

这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。

技术分类

06120115931219