多媒体数据描述模型的训练方法和描述信息的生成方法

文档序号:1925595 发布日期:2021-12-03 浏览:26次 >En<

阅读说明:本技术 多媒体数据描述模型的训练方法和描述信息的生成方法 (Training method of multimedia data description model and generation method of description information ) 是由 林科 甘卓欣 于 2020-05-29 设计创作,主要内容包括:本申请提供了多媒体数据描述模型的训练方法和描述信息的生成方法,该模型包括依次级联的编码模块和解码模块,解码模块包括至少一个解码器,该训练方法包括:获取训练数据集;基于训练数据集对模型进行训练,直至模型的总损失函数收敛;总损失函数包括第一损失函数,训练时,对于训练数据集中的每一样本多媒体数据,将该样本多媒体数据输入至编码模块中,得到编码特征,将编码特征分别输入至各解码器中,得到各解码器的第一解码结果;基于各样本多媒体数据的各描述标注和对应于各解码器的第一解码结果,计算第一损失函数的值。基于本申请提供的方法,能够有效提高生成的多媒体数据的描述信息的准确性。(The application provides a training method and a generation method of description information of a multimedia data description model, wherein the model comprises an encoding module and a decoding module which are sequentially cascaded, the decoding module comprises at least one decoder, and the training method comprises the following steps: acquiring a training data set; training the model based on the training data set until the total loss function of the model is converged; the total loss function comprises a first loss function, and during training, for each sample multimedia data in a training data set, the sample multimedia data is input into a coding module to obtain coding characteristics, and the coding characteristics are respectively input into each decoder to obtain a first decoding result of each decoder; the value of the first loss function is calculated based on the respective descriptive labels of the respective sample multimedia data and the first decoding results corresponding to the respective decoders. Based on the method provided by the application, the accuracy of the description information of the generated multimedia data can be effectively improved.)

多媒体数据描述模型的训练方法和描述信息的生成方法

技术领域

本申请涉及计算机视觉领域和人工智能领域,具体而言,本申请涉及一种多媒体数据描述模型的训练方法和描述信息的生成方法。

背景技术

在计算机视觉技术中,视频描述(Video Captioning)或图像描述(ImageCaptioning),是指对于一段给定的视频或者图像输出对这段视频或图像的文字描述。如图1所示,当给定图1中所示的包含多帧图像的视频时,可自动输出对该视频的文字描述“一个小孩正在清洁地面”。

以视频描述方式为例,现有的视频描述方式一般都是从视频中选取若干帧,对选取的若干帧提取全图特征,然后使用这些特征进行解码,根据最大似然概率生成关于视频的文字描述,图像描述原理也是类似。由上可见,目前现有的视频描述模型基本都采用编码器-解码器的结构,编码器负责提取视频帧的特征,解码器负责解码视频帧的特征并生成文字描述。图像描述方式也是类似。

现有的视频描述算法的一个示例如图2所示,从视频中选取图2所示的若干帧,每一帧分别经过多个CNN(Convolutional Neural Networks,卷积神经网络)编码器分别来提取选取每个视频帧的特征,提取的特征经过LSTM(Long Short-Term Memory,长短期记忆网络)解码器进行解码处理后生成对应的文字描述“一个男人正在往烤箱里放披萨”。虽然现有已经存在多种多媒体数据(视频或图像)的描述信息的生成方式,但是所生成的描述信息的准确性仍有待优化。

发明内容

本申请的目的旨在提供一种多媒体数据描述模型的训练方法和描述信息的生成方法,以提升所生成的多媒体数据描述信息的准确性。本申请实施例所提供的方案具体如下:

一方面,本申请提供了一种多媒体数据描述模型的训练方法,其中,多媒体数据描述模型包括依次级联的编码模块和解码模块,解码模块包括至少一个解码器,该训练方法包括:

获取训练数据集,其中,训练数据集包括各样本多媒体数据、以及每一样本多媒体数据的至少一个描述标注;

基于训练数据集对多媒体数据描述模型进行训练,直至多媒体数据描述模型的总损失函数收敛;

其中,总损失函数包括第一损失函数,在训练时,对于每一样本多媒体数据,将该样本多媒体数据输入至编码模块中,得到该样本多媒体数据的编码特征,将编码特征分别输入至各解码器中,得到对应于各解码器的第一解码结果;基于各样本多媒体数据的各描述标注和对应于各解码器的第一解码结果,计算第一损失函数的值。

另一方面,本申请提供了一种多媒体数据的描述信息的生成方法,该方法包括:

将多媒体数据输入至多媒体数据描述模型的编码模块中,得到多媒体数据的编码特征,其中,多媒体数据描述模型包括依次级联的编码模块和解码模块,解码模块包括至少一个解码器;

将编码特征分别输入至各解码器中,基于各个解码器的解码结果,得到媒体数据的描述信息;

其中,多媒体数据描述模型是采用本申请所提供的多媒体数据描述模型的训练方法训练得到的。

再一方面,本申请提供了一种多媒体数据描述模型的训练装置,其中,该多媒体数据描述模型包括依次级联的编码模块和解码模块,解码模块包括至少一个解码器,该训练装置包括:

训练数据获取模块,用于获取训练数据集,其中,训练数据集包括各样本多媒体数据、以及每一样本多媒体数据的至少一个描述标注;

训练模块,用于基于训练数据集对多媒体数据描述模型进行训练,直至多媒体数据描述模型的总损失函数收敛;

其中,总损失函数包括第一损失函数,训练模块在基于训练数据集对多媒体数据描述模型进行训练时用于:

对于每一样本多媒体数据,将该样本多媒体数据输入至编码模块中,得到该样本多媒体数据的编码特征,将编码特征分别输入至各解码器中,得到对应于各解码器的第一解码结果;

基于各样本多媒体数据的各描述标注和对应于各解码器的第一解码结果,计算第一损失函数的值。

又一方面,本申请提供了一种多媒体数据的描述信息的生成装置,该装置包括:

特征提取模块,用于将多媒体数据输入至多媒体数据描述模型的编码模块中,得到多媒体数据的编码特征,其中,多媒体数据描述模型包括依次级联的编码模块和解码模块,解码模块包括至少一个解码器;

文字描述生成模块,用于将编码特征分别输入至各解码器中,基于各个解码器的解码结果,得到媒体数据的描述信息;

其中,多媒体数据描述模型是采用本申请所提供的多媒体数据描述模型的训练方法训练得到的。

另一方面,本申请提供了一种电子设备,该电子设备包括存储器和处理器;

存储器中存储有计算机程序;

处理器,用于在运行计算机程序时,执行本申请所提供的多媒体数据描述模型的训练方法,或者执行本申请实施例所提供的多媒体数据的描述信息的生成方法。

另一方面,本申请提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,计算机程序在被处理器运行时,执行本申请所提供的多媒体数据描述模型的训练方法,或者执行本申请实施例所提供的多媒体数据的描述信息的生成方法。

本申请实施例提供的技术方案带来的有益效果将在下文

具体实施方式

部分的描述中结合各可选实施例进行详细描述,在此不再展开说明。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请的一种应用场景的示意图;

图2为现有的一种视频描述信息的生成方法的流程示意图;

图3为本申请提供的一种多媒体数据描述模型的训练方法的流程示意图;

图4为一种通过多媒体数据描述模型得到视频描述信息的方法的流程示意图;

图5为本申请一示例中提供的一种多媒体数据描述模型的训练方法的原理示意图;

图6示出了本申请提供的一种视频描述模型的结构示意图;

图7示出了本申请提供的一种对视频进行帧掩码处理的原理示意图;

图8为本申请提供的一种多媒体数据描述模型的训练装置的结构示意图;

图9为本申请提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为了更好的理解及说明本申请实施例所提供的方案,下面首先对本申请所涉及的相关技术进行说明。

在计算机视觉技术中,视频/图像描述是指对于一个给定的视频/图像,输出对该视频/图像的文字描述,它是计算机视觉和自然语言处理的交叉方向。相比于物体检测、图像分割等其他计算机视觉任务,视频/图像描述是一个更具挑战性的任务。它不仅需要对视频或图像有更全面综合地理解,还要用自然语言的形式将视频或图像内容表达出来。

由前文的描述可知,现有的视频/图像描述模型基本都采用编码器-解码器的结构。编码器通常是基于CNN设计的,因此也可以称为CNN编码器,它负责提取图像的特征,解码器通常是基于RNN(如LSTM)设计的,因此也可以称为RNN解码器,它负责解码图像的特征,生成文字描述。

为了提升模型的编码或解码能够,有的方法采用多编码器来提升编码能力,有的方法采用多解码器来提升解码能力。多解码器方法一般是使用解码器的输出的相似性作为损失函数(如K-L散度(Kullback-Leibler Divergence))来同时训练多个解码器,这种方法也称为共同学习训练,共同学习训练使得各个解码器的输出分别更加接近,并可以使用其他解码器的输出来指导当前解码器。共同学习可以使得多个解码器的性能相较于单一及吗器的性能有提升,但是该方法仍不够完美,有待改善。

此外,现有的视频/图像描述训练中还存在“一对多”问题,该问题是指视频/图像描述训练数据中一个训练视频/图像通常对应多个描述标注,在进行模型训练时(如采用交叉熵损失进行训练时),由于一个输入对应多个输出(标注的输出),这种不确定性会影响视频/图像描述网络的性能。因此,提高视频/图像描述的多解码器的解码能力和训练中“一对多”是需要解决的问题。

为了解决上述问题中的至少一个,本申请提供了一种多媒体数据描述模型的训练方法,在采用基于该训练方法训练得到的多媒体数据描述模型进行多媒体数据的描述信息生成时,能够有效提高所生成的描述信息的准确性。

为使本申请的目的、技术方案和优点更加清楚,下面将结合具体地实施例和附图对本申请的各可选的实施方式及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。图3中示出了本申请实施例提供的一种多媒体数据描述模型的训练方法,该多媒体数据描述模型包括依次级联的编码模块和解码模块,其中,编码模块包括至少一个编码器,解码模块包括至少一个解码器,如图3中所示,该训练方法可以包括:

步骤S110:获取训练数据集;

步骤S120:基于训练数据集对多媒体数据描述模型进行训练,直至多媒体数据描述模型的总损失函数收敛。

其中,训练数据集包括各样本多媒体数据、以及每一样本多媒体数据的至少一个描述标注;模型的总损失函数包括第一损失函数,在训练时,对于每一样本多媒体数据,将该样本多媒体数据输入至编码模块中,得到该样本多媒体数据的编码特征,将编码特征分别输入至各解码器中,得到对应于各解码器的第一解码结果;基于各样本多媒体数据的各描述标注和对应于各解码器的第一解码结果,计算第一损失函数的值。

可见,第一损失函数的值表征了样本多媒体数据的描述标注和第一解码结果的差异。具体的,对于各样本多媒体数据的每一描述标注,可以分别计算该描述标注与各解码器的第一解码结果之间的差异,最后将各样本多媒体数据所对应的各描述标注对应的差异求和,得到第一损失函数的值。

在实际应用中,第一损失函数具体选用何种函数本申请实施例不做限定,可选的,第一损失函数可以交叉熵损失函数。

本申请实施例中,多媒体数据描述模型可以为图像描述模型,也可以为视频描述模型,通过图像描述模型可以得到图像的描述信息,通过视频描述模型可以得到视频的描述信息。

相应的,对于图像描述模型而言,样本多媒体数据为样本图像(用于模型训练的图像,也可以称为训练图像),样本多媒体数据的编码特征可以包括样本图像中各目标区域的编码特征。对于视频描述模型而言,样本多媒体数据为样本视频(也可以称为训练视频),样本多媒体数据的编码特征包括样本视频的各帧的编码特征。

在实际应用中,对于视频而言,在通过视频描述模型得到该视频的描述信息时,通常是从该视频中选取若干帧,将若干帧输入至视频描述模型中,得到该视频的描述信息。同样的,在训练模型时,也可以是选取样本视频的若干帧,相应的,上述样本视频的各帧的编码特征则可以是所选取的若干帧的编码特征。可选的,在本申请实施例中,在对视频进行处理时,可以是对视频中的若干帧进行的处理。

对于多媒体数据描述模型,在实际应用中,为了提升模型的编解码能力,模型的编码模块所包含的编码器通常为多个(包括两个),模型的解码模块所包含的解码器通常也是多个。其中,编码器和解码器具体采用哪种,可以根据实际需求选择或配置。例如,对于图像描述模型,编码模块也可以包括但不限于局部编码器、全局编码器、语义编码器中的一种或多种,对于视频描述模块,编码模块可以包括但不限于局部编码器、全局编码器、语义编码器、时空视觉特征编码器(用于提取视频的时空视觉特征)中的一种或多种。

作为一个示例,图4中示出了一种通过视频描述模型得到视频描述信息的方法的流程示意图,如图4中所示,输入视频经过多编码器来得到特征,该示例中的多编码器包括全局编码器、局部编码器和语义编码器,经过多编码器后可以得到输入视频的全局特征,局部特征和语义特征。之后,对得到的特征再用多解码器去进行解码,该示例中的多解码器包括两个解码器,每个解码器各自基于多编码器所提取的特征进行解码,各个解码器的输出融合后得到最终的输出。

由前文的描述可知,目前的多媒体数据描述模型的训练方式中,存在“一对多”问题,对于包含多个解码器的多媒体数据描述模型,多解码器的解码能力也仍有待改进。

针对“一对多的问题”,本申请实施例提出了使用帧掩码方式(对于图像而言,为图像掩码方式)来解决,该方式的原理是对于样本多媒体数据的各个描述标注,可以使用语言编码模型(如基于BERT(Bidirectional Encoder Representation from Transformers,双向Transformer的编码器)的编码模型等)将其编码为描述标注特征,对于通过多媒体数据描述模型的编码器提取得到的样本多媒体数据的编码特征(如样本视频的多帧视频特征)也将其映射到描述标注特征空间,即将描述标注和编码特征都映射到同一特征空间。对于样本视频而言,可以计算每一帧的视频特征和描述标注特征的相关度(如相似性),可以根据相关度高低对每一帧进行排序,对于排序较低的帧进行掩码,即可以对排序较低的帧的编码特征施加较小的权重,或者对其权重设置为零(也就是该帧的编码特征不参与候选的解码处理)。这样对于不同的描述标注就会带来不同的帧掩码,这样可以把“一对多”映射变成“一对一”映射。对于样本图像而言,则可以是对图像中的各目标区域(也可以称为对象区域)进行掩码。对于使用帧掩码方式解决“一对多”问题的各可选实施方式,会在后文中进行详细描述。

而为了提高的解码器的解码性能,本申请实施例提出了使用增强共同学习方式来解决,增强共同学习是指对模型的输入进行数据增强,数据增强后的数据也用多解码器进行输出,并对增强数据和原数据经过多解码器的输出用相似性损失进行学习,增强共同学习相较于共同学习可以有进一步提升。

多媒体描据描述模型训练任务是将多媒体数据输入至模型中,使得模型的输出尽量接近于多媒体数据的描述标注。以视频描述模型为例,给定的训练视频可以表示为X=[x1,x2,…,xN],其中,N表示选取的视频的帧数,xN为所选取的第N帧图像,该视频的H个描述标注可以表示为Y={y1,y2,…,yH},yt∈y,t=1,2,…H,y为词库,模型训练任务则是将X作为输入以生成接近于Y的视频描述信息。

下面对本申请提供的各可选实施例进行详细说明。

本申请的可选实施例中,解码模块包括分别与编码模块连接的多个解码器;对于样本多媒体数据,该方法还可以包括:

对该样本多媒体数据进行数据增强处理,得到增强后的多媒体数据;

将增强后的多媒体数据输入至编码模块中,得到增强后的多媒体数据的编码特征;

将增强后的多媒体数据的编码特征分别输入至各解码器中,得到对应于各解码器的第二解码结果;

基于各样本多媒体数据所对应的各第一解码结果、以及各样本多媒体数据对应的增强后的多媒体数据所对应的各第二解码结果,计算第二损失函数的值;其中,总损失函数还包括第二损失函数。

具体的,基于各样本多媒体数据所对应的各第一解码结果、以及各样本多媒体数据对应的增强后的多媒体数据所对应的各第二解码结果,计算第二损失函数的值,包括:

计算各第一解码结果和各第二解码结果中两两解码结果之间的一致性损失的值;

将各一致性损失的值相加,得到第二损失函数的值。

该方案即为本申请实施例所提供的增强共同学习(训练)方法。

为了提升多媒体数据描述解码的能力,多媒体数据描述模型的解码模块可以采用多解码器。其中,多解码器的性能随着解码数目的增多会变好,但是会增加计算资源消耗和模型大小,在实际应用中,综合考虑性能和消耗,多解码器的数量通常为2或3个。其中,在实际应用中,具体采用哪种或哪几种解码器,本申请实施例不做限定。可选的,多解码器的每一个解码器可以是基于循环神经网络的解码器,也可以是基于自注意力结构的解码器(如transformer网络)。作为一可选方案,多解码器可以包括基于GRU(Gated Recurrent Unit,门控循环单元)的解码器和基于Transformer(转换器)的解码器,其中,基于GRU的解码器中可以使用带有时间注意力的GRU单元来替换LSTM单元。

在采用多解码器结构时,同时训练多解码器时,如果不对各解码器的输出做约束,可能会造成各个解码器的性能差异较大,融合后性能反而降低。为了解决这个问题,传统方法是使用共同学习算法来同时训练多解码器。假设有两个解码器,输出分别是两个概率分布p1和p2,可以通过一致性损失来约束两个解码器的输出差异,一致性损失可以定义如下:

DKL(p1||p2)

其中,DKL表示K-L散度,即可以通过两个解码器的解码结果的KL散度来约束训练,使用该损失训练多解码器的方式即为共同训练。

虽然共同训练能够提升多解码器的解码性能,但是解码性能仍有待提升。本申请实施例提供的增强共同训练的方法,能够进一步提升模型的解码效果。下面以视频为例对该增强共同训练方法进行详细说明。

具体的,可以先对原始视频数据v(即样本视频)进行数据增强,数据增强的方式本申请不作限定。例如,数据增强方法可以是平移、旋转、翻转、去帧、AutoAugment(自动数据增强)、RandAugment(随机数据增强)等方式中的一种或多种。将数据增强后的视频记做v’。在对视频描述模型进行训练时,将原始视频数据v和数据增强后的视频v’分别输入至模型,假设有两个解码器,v对应的两个解码器的输出分别是两个概率分布p1和p2,v’对应的两个解码器的输出分别是两个概率分布p’1和p’2,则一致性损失即第二损失函数如下:

DKL(p1||p2)+DKL(p1||p′1)+DKL(p2||p′2)+DKL(p′1||p′2)

用该损失进行训练即为增强共同训练。增强共同训练相比共同训练的模型性能有进一步提升。通过计算各样本视频所对应的上述一致性损失的值的和,得到第二损失函数的值。

在实际应用中,在进行数据增强时,可以是进行一次增强处理,也可以是进行多次增强处理,得到多个增强后的多媒体数据,在计算相应的损失时,可以计算样本多媒体数据的解码结果和各增强后的多媒体数据对应的解码结果中两两间的损失。

本申请实施例提供的该增强共同学习方案,为了提升解码器的性能,一方面,各解码器之间可以相互学习,对于每个解码器而言,可以利用来自其他解码器的外部指导来学习(即采用不同解码器的解码器结果之间的损失约束解码器的学习,如DKL(p′1||p′2))。在采用多媒体数据样本和增强后的样本多媒体数据进行增强共同学习时,本申请的另一方面,对于每个解码器,可以通过计算该解码器对原样本多媒体数据的解码结果和对增强后的多媒体数据的解码结果之间的差异来作为解码器的内部损失,用于指导解码器的学习(即采用同一解码器对应的原数据的解码结果和增强后的数据的解码结果之间的损失约束解码器的学习,如DKL(p1||p′1)),基于该方案,可以进一步减少解码器的后验熵,提高解码器性能。

本申请的可选实施例中,对于样本多媒体数据,方法还包括:

基于该样本多媒体数据的每一描述标注,分别对该样本多媒体数据的编码特征进行掩码处理,得到掩码后的编码特征;

相应的,上述将编码特征分别输入至各解码器中,得到对应于各解码器的第一解码结果,基于各样本多媒体数据的各描述标注和对应于各解码器的第一解码结果,计算第一损失函数的值,包括:

将样本多媒体数据的每一描述标注所对应的掩码后的编码特征分别输入至各解码器,得到每一描述标注对应于各解码器的第一解码结果;

基于各样本多媒体数据的每一描述标注和该描述标注对应于各解码器的第一解码结果,计算第一损失函数的值。

本申请提供的该方案,在样本多媒体数据包括至少两个描述标注时,可以基于该方案,将现有技术中存在的“一对多”问题转化为“一对一”的问题。在实际应用中,以视频为例,对于视频的各描述标注,视频的同一帧对于不同描述标注的关联程度即贡献度是不同的,视频的各帧对于同一描述标注的贡献度也是不同的,因此,对于每一描述标注,可以基于该描述标注与各帧的相关度对视频进行掩码处理,如基于相关度为各帧确定不同的权重,或者基于相关度来筛选哪些帧参与视频描述信息的生成中,即有些相关度较低的帧可以不参与到视频描述信息的生成中,从而使得一个描述标注对应一个掩码处理后的视频,并得到该描述标注对应的解码结果。

本申请的可选实施例中,对于基于该样本多媒体数据的每一描述标注,分别对该样本多媒体数据的编码特征进行掩码处理,得到掩码后的编码特征,包括:

获取该样本多媒体数据的各描述标注的描述标注特征;

对于该样本多媒体数据的每一描述标注,确定该样本多媒体数据的编码特征与该描述标注的描述标注特征的相关度;

对于样本多媒体数据的每一描述标注,基于该描述标注对应的相关度对该样本多媒体数据的编码特征进行加权处理,得到加权后的编码特征。

也就是说,对于每一描述标注,可以通过该描述标注的描述标注特征和样本多媒体数据的编码特征之间的相关度实现对样本多媒体数据的掩码处理,即基于相关度确定对应的加权权重,并基于权重对编码特征进行加权处理,加权后的编码特征即为样本多媒体数据的掩码后的编码特征。通过将加权后的编码特征分别输入至各解码器,得到该描述标注对应于各解码器的第一解码结果;则可以基于各样本多媒体数据的每一描述标注和该描述标注对应于各解码器的第一解码结果,计算第一损失函数的值

其中,对于样本多媒体数据的任一描述标注,可以通过语言编码模型得到该描述标注的描述标注特征。其中,语言编码模型的具体模型架构本申请实施例不做限定,如可以是BERT编码模型、Transformer编码模型等。

该可选方案中,在样本多媒体数据的描述标注为多个(包括两个)时,对于样本多媒体数据的任一描述标注,基于该方案,可以通过多媒体数据描述模型得到该描述标注所对应的各解码器的解码结果,在计算第一损失函数时,该描述标注对应的损失值则可以是基于该描述标注与该描述标注对应的各解码器的解码结果,而不是多个描述标注对应同样的解码结果,即不会基于多个描述标注和同样的解码结果分别计算损失。通过该方案,将样本多媒体数据的“一对多(一个样本多媒体数据(相同的解码结果)对应多个描述标注,多个描述标注对应)”映射变成了“一对一(一个描述标注对应各自的解码结果)”的映射。

其中,第一损失函数的具体函数形式本申请实施例不做限定,该损失函数的值表征了各描述标注与其对应的解码结果之前的差异,可以根据实际需要进行函数的选择,例如,可以采用交叉熵损失函数,对于一描述标注,可以分别计算该描述标注与该描述标注对应的各解码器的解码结果之间的交叉熵损失,将各描述标注对应的交叉熵损失相加得到第一损失函数的值。

具体的,对于视频描述模型,样本多媒体数据为样本视频,样本多媒体数据的编码特征包括样本视频的各帧的编码特征。对视频而言,在样本视频的描述标注为多个时,视频的各帧与不同的描述标注的相关程度很可能是不同的,即各帧对不同描述标注所起到的作用是不同的。例如,对于描述标注A和描述标注B,视频中的某一帧与描述标注A的相关性与该帧与描述标注B的相关性很可能是不同的。因此,可以基于该方案,对于样本视频的各描述标注,可以通过计算视频的各帧的编码特征与该描述标注的相关度,并根据该相关度进行加权,得到与该描述标注对应的加权后的编码特征,从而基于该加权后的特征得到与该描述标注对应的解码结果。

即,对于视频描述模型,上述对于该样本多媒体数据的每一描述标注,确定该样本多媒体数据的编码特征与该描述标注的描述标注特征的相关度,可以包括:

对于样本视频的每一描述标注,分别确定样本视频的各帧的编码特征与该描述标注的描述标注特征的相关度;

相应的,对于样本视频的每一描述标注,基于该描述标注对应的相关度对该样本多媒体数据的编码特征进行加权处理,得到加权后的编码特征,包括:

基于样本视频的各帧对应的相关度,对各帧的编码特征进行加权处理,得到各帧加权后的编码特征。

而对于图像描述模型,样本多媒体数据为样本图像,样本多媒体数据的编码特征包括样本图像中各目标区域的编码特征。同样的,在样本图像的描述标注为多个时,图像中各目标区域对于不同的描述标注所起到的作用也很可能是不同的,因此,对于一个描述标注,可以基于各目标区域的编码特征与该描述标注的相关度对各目标区域进行加权处理,以基于加权后的编码特征得到该描述标注对应的解码结果。

即,对于图像描述模型,上述对于该样本多媒体数据的每一描述标注,确定该样本多媒体数据的编码特征与该描述标注的描述标注特征的相关度,,包括:

对于样本图像的每一描述标注,分别确定该样本图像的各目标区域的编码特征与该描述标注的描述标注特征的相关度;

相应的,对于样本图像的每一描述标注,基于该描述标注相关度对该样本多媒体数据的编码特征进行加权处理,得到加权后的编码特征,包括:

基于该样本图像的各目标区域对应的相关度,对各目标区域的编码特征进行加权处理,得到各目标区域加权后的编码特征。

其中,样本图像的各目标区域的编码特征可以通过局部编码器提取得到。

其中,对于上述相关度的计算方式,本申请实施例不做限定,如可以采用计算L2损失的方式计算该相关度,还可以通过计算描述标注特征和编码特征之间的距离来计算。以计算L2损失的方式为例,对于一个描述标注,该描述标注对应的相关度的计算方式可以如下:

计算该描述标注的描述标注特征与编码特征的L2损失,该损失则表征了该描述标注特征与编码特征之间的差异,1减去该L2损失则可以作为两者的相关度。

可选的,上述对于样本多媒体数据的一个描述标注,基于相关度对该样本多媒体数据的编码特征进行加权处理,得到加权后的编码特征,可以包括:

基于相关度确定编码特征的权重;

基于确定的权重对编码特征进行加权。

具体的,在对样本多媒体数据进行加权处理时,可以是将相关度作为权重对编码特征进行加权,也可以是基于相关度确定权重(也就是系数),相关度越高权重相对越大,通过将该权重与编码特征相乘得到加权后的特征。

其中,对于视频描述模型而言,对于视频的每一帧,可以基于该帧对应的相关度得到该帧的权重,并通过权重与该帧的编码特征相乘得到该帧对应的加权后的特征。

可选的,对于视频的各帧,如果一帧对应的相关度大于设定值,则可以将其权重确定为1,如果不大于设定值,则可以将其权重确定为0,或者是根据各帧对应的相关度的高低对各帧进行排序,将排序靠后的若干帧(即对应的相关度较低的若干帧)的权重确定为0,其他排序靠后的帧的权重确定为1。

本申请的可选实施例中,总损失函数还包括第三损失函数,第三损失函数表征了样本多媒体数据的编码特征与各描述标注的描述标注特征之间的差异。

由前文可知,对于视频而言,对于不同的视频描述标注,视频的各帧的贡献是不同的,对于图像而言,不同的目标区域对一图像描述标注的贡献也是不同的,通过上述帧掩码的方式(即基于相关度进行编码特征加权的处理方式)可以将“一对多”的问题转化为“一对一”的映射关系,对于一个描述标注,在模型训练时,可以进一步通过上述第三损失函数来约束该描述标注与描述标注之间的差异,从而使的样本多媒体数据的编码特征与其描述标注的描述标注特征之间尽可能的接近,以提高模型的性能。

其中,第三损失函数的具体形式本申请不做限定。可选的,第三损失函数可以是L2损失(即MSE(Mean Squared Error,均方误差))。例如,对于一个样本视频的一个描述标注而言,其对应的L2损失Lf可以表示为:

其中,N为该样本视频的帧数(一般为选取的N帧),j表示该样本视频的第j帧,表示第i个描述标注的描述标注特征,表示第j帧的编码特征,该Lf则为该样本视频的第i个描述标注所对应的L2损失,即该描述标注的描述标注特征与各帧的编码特征的L2损失之和。

可以理解的是,在实际应用中,对视频描述模型而言,模型对应的L2损失为各样本视频的各描述标注所对应的L2损失之和。

同样的原理,对于样本图像而言,模型对应的L2损失为各样本图像的各描述标注所对应的L2损失之和,一个样本图像的一个描述标注所对应的L2损失则可以是该描述标注的描述标注特征与各目标区域的编码特征的L2损失之和。

针对“一对多”问题,本申请提供的上述可选实施例,对于每一描述标注,可以基于编码特征与该描述标注的相关性,使编码特征在后续解码过程中起到相应的作用,从而得到与该描述标注对应的解码结果。基于该种方式,可以有效提高多媒体数据描述模型的性能。

本申请的可选实施例中,解码模块包括分别与编码模块连接的多个解码器;对于样本多媒体数据,该方法还可以包括:

对该样本多媒体数据进行数据增强处理,得到增强后的多媒体数据;

将增强后的多媒体数据输入至编码模块中,得到增强后的多媒体数据的编码特征;

对于该样本多媒体数据的每一描述标注,确定该样本多媒体数据对应的增强后的多媒体数据的编码特征与该描述标注的描述标注特征的第二相关度;

基于该描述标注对应的第二相关度对增强后的多媒体数据的编码特征进行加权处理,得到第二加权后的编码特征;

将第二加权后的编码特征分别输入至各解码器中,得到该描述标注对应于各解码器的第三解码结果;

基于各样本多媒体数据的每一描述标注对应于各解码器的第一解码结果和第三解码结果,计算第四损失函数的值;

其中,总损失函数还包括第四损失函数。

也就是说,帧掩码处理方式和增强共同学习方式可以结合使用。此时,可以将上述帧掩码处理方式同时应用于样本多媒体数据和对应的增强后的多媒体数据,即,对于一个描述标注,可以基于该描述标注的描述标注特征与样本多媒体数据的编码特征之间的相关度,对样本多媒体数据的编码特征进行加权处理,基于该描述标注特征和增强后的多媒体数据的特征之间的相关度,对增强后的多媒体数据进行加权处理,此时,在计算各第一解码结果和各第三解码结果中两两之间的损失时,第一解码结果和第三解码结果则是基于对应的加权后的特征进行解码得到的。

可以理解的是,该可选方案中的第四损失函数和前文中的第二损失函数的原理是相同的,第二损失函数对应的方案是没有考虑帧掩码处理方式的方案,第四损失函数对应的方案是同时结合了帧掩码处理和增强共同学习的方案。

本申请的可选实施例中,该方法还包括:

获取总损失函数所包含的各损失函数的权重;

其中,总损失函数的值,是基于总损失函数所包含的各损失函数的权重对总损失函数所包含的各损失函数进行加权求和得到的。

由于不同的损失函数对应于模型不同层面的性能,因此,各损失函数对模型性能的影响不同,可以通过各损失函数的权重来控制不同损失的比例。其中,各损失函数的权重可以根据应用场景或需要配置,本申请不做限定。

可以理解的是,在实际应用中,本申请所提供的解决“一对多”问题的可选方案,以及增强共同学习训练的方案,是可以单独实施,也可以是结合实施的,可以根据实际应用场景选择。

为了更好的说明本申请所提供的方案,下面结合一个具体的示例对本申请提供的多媒体数据描述模型的训练方法进行说明。该示例中多媒体数据描述模型以视频描述模型为例,图5示出了该示例提供的训练方法的原理示意图,图6示出了本申请提供的一种可选的视频描述模型的结构及工作原理示意图,图7为本申请提供的一种帧掩码处理方式的示例,下面结合图5至图7对本申请的方案,下面结合图5至图7对本申请的方案进行说明。

1、视频的编码特征的提取

如图5中所示,本示例中采用了视频描述模型的编码模块为多编码器结构,采用多编码器提取训练视频(即样本视频)的视频特征。

其中,多编码器可以包括一个全局编码器、一个局部编码器和一个语义编码器。全局编码器可以是一个3D卷积神经网络,如可以是C3D(Convolutional 3D,三维卷积网络),I3D(inflation 3D,双流充气三维卷积网络),P3D(Pseudo-3D,伪三维网络)或ECO(Efficient Convolutional network for Online video understanding,用于在线视频理解的高效卷积网络)等各种形式的3D卷积神经网络,本申请对此不做限制。

可选的,如图6中所示,可以采用ECO进行全局特征的提取,对于样本视频(如图中所示的一个男人在剪纸的视频),可以选取该视频的若干帧分别输入至编码器中,可以直接采用ECO的2D网络的输出得到每一帧的二维特征即空间特征,基于3D网络的输出可以得到该视频的三维特征即时空特征,此外,对于3D网络的输出,可以再通过一个最大池化层的处理,将最大池化层的输出作为该视频的时空特征,对于每一帧,可以将该帧的二维特征和视频的时空特征进行拼接(concat)得到该帧的时空特征。

局部编码器对视频各帧中的各物体(即目标/对象)进行编码,可选的,还可以综合考虑物体的属性和物体间的关系等信息。具体做法可以为:先对各帧进行物体检测,得到若干个物体及其特征。物体检测网络可以是Faster R-CNN(Faster Region-CNN,快速区域-卷积神经网络),YOLO(You Only Look Once,仅进行一次扫描)等结构,本申请对此不做限制,图6中示出的为Faster R-CNN。之后用属性预测网络和关系检测网络分别取预测物体的属性和物体间的关系。这样可以得到一个场景图,该场景图中包括多个节点以及多条连边,其中,各物体的特征和属性为节点(物体的特征和属性也可以合并),物体间的关系为边。之后把场景图作为输入送到图卷积网络(GCN,Graph Convolutional Network)中,图卷积网络根据边的信息和相邻节点的信息更新当前节点的特征,更新后的特征即为物体的局部特征。作为一可选方式,图卷积网络的公式如下:

其中,vi是输入的某一节点的特征,也就是物体的物体特征和/或属性特征,N(vi)表示与vi相邻的节点的集合,W和b是图卷积网络需要学习的权重和偏置参数,dir(vi,vj)指边的方向,有两种取值可能,分别是从vi到vj,或vj到vi则相应的可以对应有两种结果。label(vi,vj)标识vj和vi间的关系,对于不同关系,可以有不同的偏置取值,σ是非线性激活函数,为图卷积后的特征,即局部特征。

采用上述可选方案学到的特征是基于图结构的,特征中包含了目标(即物体)、目标之间的关系和目标的属性信息,对理解视频并进行视频描述很有帮助。

语义编码器是一个多分类网络,通过提取视频各帧的语义特征,可以预测视频中出现的属性或话题信息,以将更加多样性的特征融入到视频描述信息的生成中,即可以辅助视频描述,以增强所生成的视频描述的表达能力,提高描述信息的精度。可选的,如图6中所示,语义编码器可以包括多个级联的全连接层。

通过上述多编码器可以提取到视频的各帧的局部特征、全局特征和语义特征。可以将各帧的局部特征、全局特征和语义特征拼接,作为各帧的编码特征。

之后可以将拼接后的编码特征分别输入至各解码器中,得到各解码器的解码输出,对于每个样本视频,则可以基于该视频的各视频描述和对应的各解码器的解码输出计算第一损失函数的值,可选的,第一损失函数可以采用交叉熵损失。

假设解码器的个数为m个,每个解码器都可以是基于GRU的解码器或者基于Transformer的解码器。m个解码器可以表示为Θ1,Θ2,…,Θm,对于m个解码器中的第i个解码器,对于一个样本视频V而言,该解码器对应的交叉熵损失LCi)可以表示如下:

其中,H表示该样本视频的描述标注的数量,T表示描述标注包含的词的数量,yh,t表示第h个描述标注的第t个词,yh,1:t-1表示第h个描述标注的第1个至第t-1个词,PΘi(yh,t|yh,1:t-1,V)表示在给定视频的第1个至第t-1个词的前提下,第i个解码器输出的第t个词是描述标注的第t个词的概率。

通过计算每个样本视频对应于每个解码器的交叉熵损失,通过相加则得到了模型的第一损失函数的值。

2、多解码器及增强共同训练算法

如图5中所示,该示例中的视频描述模型的解码模板包括两个解码器,即解码器1和解码器2。可选的,如图6中所示,解码器1是基于GRU的解码器,解码器2是基于Transformer的解码器。

对于每一训练视频(图中所示的输入视频),可以对其进行视频增强处理图中所示的数据增强),得到增强后的视频,图5和图6中虚线所示的流程部分为增强后的视频所对应的流程,如图5中所示,在训练时将输入视频和增强后的视频均作为多编码器的输入,通过多编码器提取得到视频的编码特征,编码特征分别通过两个解码器解码后,得到两种解码结果。既输入视频对应的两个解码器输出(两个概率分布)分别为p1和p2,增强后的视频对应的两个解码器输出分别为p′1和p′2,可以通过计算四个解码输出中两两之间的K-L散度来得到训练的一致性损失(对应第二损失函数),对于两个编码器而言,一致性损失可以表示为:

DKL(p1||p2)+DKL(p1||p′1)+DKL(p2||p′2)+DKL(p′1||p′2)

其中,DKL(p1||p2)、DKL(p1||p′1)、DKL(p2||p′2)、DKL(p′1||p′2)即为图5中所示的K-L散度。

由前文描述可知,该一致性损失包含了解码器之间相互学习对应的一致性损失(可以记为Lei))、以及同一解码器的原样本视频的解码结果和各增强后的视频的解码结果之间的损失(可以记为Lai))。

更通用的,以前文中所描述的m个解码器为例,对于m个解码器中的第i个解码器,对于一个样本视频V而言,该解码器对应的一致性损失Lei)可以表示如下:

其中,m即解码器的数量,V标识样本视频,表示增强后的第i个视频,其中,可以进行K次增强,得到K个增强后的视频,PΘj(yh,t|yh,1:t-1,V)表示在给定视频的第1个至第t-1个词的前提下,第j个解码器输出的第t个词是描述标注的第t个词的概率,PΘi(yh,t|yh,1:t-1,V)表示在给定样本视频的第1个至第t-1个词的前提下,解码器输出的第t个词是描述标注的第t个词的概率,因此,对每个解码器而言,对应的输出都是一个概率分布,对于第i个解码器,可以通过计算该解码器对应的输出与其他各解码器的输出(包括样本视频和增强后的各视频对应的输出)之间的KL散度,得到第i个解码器对应的一致性损失部分。由前文描述可知,对于每个解码器,还可以通过该解码器对应于原样本视频的解码器结果和对应于增强后的样本视频的解码结果计算该解码器的内在损失,以更好的提高解码器性能。对于样本视频V,假设对其进行了K次增强,K次增强后的视频可以表示为对于第i个解码器而言,一个样本视频所对应的该解码器的内在损失Lai)可以以下表达式得到:

表示在给定视频的第1个至第t-1个词的前提下,对于第j个增强后的样本视频而言,第i个解码器输出的第t个词是描述标注的第t个词的概率。

3、帧掩码处理

为了解决视频描述训练中“一对多”映射的问题,本申请提出来提出帧掩码的方案。如图5中所示,帧掩码处理流程如下:

对于一个训练视频的每一个视频描述标注(图5至图7中所示的输入描述标注),可以先经过一个文本映射器(图6和图7中所示的语言编码器)将该视频描述标注映射到一个高维空间,得到描述标注特征,文本映射器可以是BERT网络,transformer网络,或是循环神经网络,本申请对此不做限制,图6和图7中所示的为基于BERT的文本映射器,可以通过BERT结构提取描述标注的特征,提取的特征可以通过均值池化处理后,再通过全连接层得到描述标注特征。为了使描述标注特征和视频各帧的编码特征在同一映射空间,可以将多编码器提取的视频特征用一个视觉映射器(如全连接网络)映射到同样的空间中。

可以理解的是,在实际应用中,对于文本映射器和视觉映射器而言,所采用的具体网络架构是可以根据实际需求选择和配置的,如图6中所示,文本映射器是基于BERT的文本映射器,视觉映射器为包含两个全连接层(图中所示的FC1和FC2)的网络。

对于映射到同一空间的编码特征和描述标注特征,可以分别计算各帧的编码特征和该描述标注特征的相关度,本示例中,如图5至图7中所示,可以用L2损失去计算文本映射特征(即描述标注特征)和各帧视觉映射特征(图中所示的视觉特征,即各帧的编码特征)的相关程度,并对帧进行排序。并基于排序结果对个阵的编码特征进行加权处理。

对于图7中所示的视频,其描述标注有五个,分别如图中所示的“一位东方女士正在把胡萝卜切成薄片”、“桌子上摆着美味的食物”、…、“一个女孩正在切一些绿色蔬菜”,对于每个描述标注,可以通过语言编码器得到其对应的描述标注特征即语言表征。对于该视频,可以通过选取该视频的若干帧输入至视频描述模型的编码模块(图7中所示的视觉编码)得到各帧的编码特征,通过视觉映射器(图6中所示的视觉编码,图7中所示的视觉嵌入)可以将该编码特征映射到与描述标注特征相同的特征空间,得到转换为的各帧的编码特征(图7中所示的视觉表征)。之后,对于每一描述标注特征,可以分别计算该描述标注特征与转换后的各帧的编码特征之间的相关度,并基于相关度对各帧的编码特征进行加权处理,即图6和图7中所示的帧掩码处理。

具体的,如图7中所示,选取的视频的帧数为8帧,对于每个描述标注,可以分别计算该描述标注与每一帧的编码特征的相关度,并计算计算结果对各帧进行加权处理。例如,对于图中所示的“一位东方女士正在把胡萝卜切成薄片”的描述标注,图中示出的第1帧至第3帧、以及第6帧与该描述标注的相关度较高,则可以对这帧的编码特征赋予较高的权重,对其他几帧进行掩码处理。再例如,对于“一个女孩正在切一下绿色蔬菜”的描述标注,由于第4帧至第6帧与该描述标注的相关度较高,可以赋予较高的权重,对其他几帧进行掩码处理。

对于一样本视频,假设其对应有H个描述标注,可以表示为{y1,y2,…,yH},各描述标注经过文本映射器后得到的描述标注特征可以表示为假设选取的该视频的帧数为N,各帧的编码特征经过视觉映射器后的特征可以表示为其中,属于同一映射空间。

对于每个描述标注特征通过计算之间的MSE即L2损失,可以得到每一帧与第i个描述标注的相关度、以及标注特征和编码特征之间的损失,即一个描述标注对应的第四损失函数的值,具体的,该描述标注对应的第四损失函数Lf的可以表示如下:

其中,rj表示第j帧对应的L2损失,L2损失的值越大,该帧与描述标注之间的相关度越小,反之,L2损失越小该帧与描述标注的相关性越大。

因此,对于一个描述标注,基于获取的各所对应的r值即L2损失,可以将r值较低的帧保留,将r值较高的帧掩码。基于该方案,对于每个描述标注可以得到一个不同的“帧掩码”,从而视频的各个不同的描述标注映射至单独的“帧掩码”,也就是说,得到了一种“一对一”的映射。由前文描述可知,该帧掩码处理的方案同样也适用于增强后的样本视频,即可以通过计算各描述标注与增强后的样本视频之间的相关度对增强后的样本视频进行加权处理,与加权后的特征得到对应的解码结果。

可选的,在对于那些与文本映射特征相关性排序较低的帧进行掩码处理时,本申请提供了两种可选的处理方式,一种可以称为硬掩码(Hard Masking),另一种可以称为软掩码(Soft Masking),具体如下:

Soft Masking:也就是可以根据相关程度得到一个系数,用该系数乘以视频特征,即每一帧的编码特征即视觉特征乘以一个权重,可选的,对于每一帧,由前文描述可知,该帧对应的L2损失越大,该帧与描述标注的相关度越小,因此,各帧所对应的权重与各帧对应的L2损失成反比,可选的,对于每一帧,其对应的权重可以是该帧对应的L2损失的倒数,即权重的表达式可以表示为:

则掩码处理后的视频的编码特征可以表示为:

其中,V表示通过编码器提取到的视频特征,表示掩码处理后视频特征,diag(ws)为一个对角矩阵,对角线上的元素值即为各帧对应的权重。

Hard Masking:也就是选择与描述标注相关度较高的若干帧即r值较低的若干帧,掩码掉其他r值较高的帧。即可以将相关度排序较低(即L2损失较大)的帧的权重确定为0,即不去计算这些帧,其他帧的权重为1。权重的表达式如下:

其中,Wh表示视频各帧对应的权重矩阵,wj表示第j帧对应的权重。

相应的,此时掩码后的视频特征则可以表示为:

还可以根据相关程度得到一个系数,用该系数乘以视频特征。同一视频的不同视频描述标注对应的帧掩码基本是不同的,掩码后的视频与视频描述标注可以看成是“一对一”映射关系,这样就解决了“一对多”映射的问题。

之后,基于各帧对应的相关程度,对各帧的编码特征进行加权,两个解码器分别基于加权后的特征进行解码,得到上述描述标注对应的两个解码结果,通过分别计算该描述标注和两个解码结果之间的损失,得到该描述标注对应的损失(即第一损失函数,如可以是交叉熵损失)。通过将各训练样本视频的各描述标注与各描述各自对应的解码结果之间的损失相加,得到模型的第一损失函数的值。

4、视频描述模型(也可以称为视频描述网络)的训练

可选的,视频描述模型的损失函数(即总损失函数)可以表示为:

L(Θi)=Lci)+λ1Lei)+λ2Lai)+λ3Lfi) (11)

其中,λ1、λ2和λ3是三个权重系数,来控制相应的损失函数的损失比例。权重系数的具体取值及取值方式本申请不作限定。

在对视频描述模型进行训练时,则可以基于各训练视频以及总损失函数对模型进行训练,直至总损失函数收敛。

需要说明的是,在实际应用中,对于多编码器结构,在对通过多编码器提取的视频的每一帧或者图像的编码特征进行处理时,如根据相关度进行加权处理,可以是将各编码器提取的特征进行融合后再进行加权,也可以是对其中的部分或全部编码器提取的特征分别进行加权,如对于图像而言,可以只对各目标的局部特征进行加权,之后,再基于加权后的局部特征、全局特征等进行解码。对于具体采用何种处理方式,可以根据实际需求和应用场景(如视频处理或图像处理)配置,本申请不做限定。

另外,在实际应用中,在对模型进行训练时,可以同时采用上述帧掩码处理方式和增强共同训练方式,此时,在计算增强共同训练方式所对应的第二损失函数时,即计算样本多媒体数据(增强前的)对应的各解码结果与增强后的样本多媒体数据对应的各解码结果之间的差异如K-L散度时,也可以对于样本多媒体数据(增强前的),其对应的各解码结果可以是基于样本多媒体数据的编码特征得到的,也可以是基于加权处理后的编码特征得到的,同样的,对于增强后的样本多媒体数据而言,其对应的各解码结果可以是基于增强后的样本多媒体数据的编码特征得到的,也可以是基于加权处理后的编码特征得到的。

在得到训练好的模型之后,则可以通过该模型来生成视频的描述信息。其中,在实际应用中(包括模型的测试和应用),由于并不存在描述标注,不能进行帧掩码处理,此时,各帧所对应的掩码权重则可以都认为是1,当然也可以是其他设定值。如图6中所示的帧掩码(预测/测试),对于待处理视频或者测试视频而言,各帧对应的权重则可以均是1,也就是直接基于待处理视频的编码特征或者空间转换后的编码特征进行解码处理,将各解码器的解码结果融合得到模型输出即对应的视频描述信息。

基于本实施例所提供的训练方法,可有效提高模型的性能,基于该模型可以生成更加准确的视频描述信息或图像描述信息。

本申请实施例还提供了一种多媒体数据的描述信息的生成方法,该方法包括:

将多媒体数据输入至多媒体数据描述模型的编码模块中,得到多媒体数据的编码特征,其中,多媒体数据描述模型包括依次级联的编码模块和解码模块,解码模块包括至少一个解码器;

将编码特征分别输入至各解码器中,基于各个解码器的解码结果,得到媒体数据的描述信息;

其中,该多媒体数据描述模型是采用本申请任一可选实施例所提供的训练方法训练得到的。

其中,多媒体数据描述模型可以是视频描述模型,多媒体数据可以为视频,将视频输入该模型中,可以得到描述更为准确的描述信息。同样的,该多媒体数据描述模型也可以是图像描述模型,通过该模型可以得到图像的更为准确的描述信息。

对应于本申请所提供的训练方法,本申请实施例还提供了一种多媒体数据描述模型的训练装置,该多媒体数据描述模型包括依次级联的编码模块和解码模块,该解码模块包括至少一个解码器,如图8中所示,该媒体数据描述模型的训练装置100包括训练数据获取模块110和训练模块120。

训练数据获取模块110,用于获取训练数据集,其中,训练数据集包括各样本多媒体数据、以及每一样本多媒体数据的至少一个描述标注;

训练模块120,用于基于训练数据集对多媒体数据描述模型进行训练,直至多媒体数据描述模型的总损失函数收敛;

其中,总损失函数包括第一损失函数,训练模块在基于训练数据集对多媒体数据描述模型进行训练时用于:

对于每一样本多媒体数据,将该样本多媒体数据输入至编码模块中,得到该样本多媒体数据的编码特征,将编码特征分别输入至各解码器中,得到对应于各解码器的第一解码结果;

基于各样本多媒体数据的各描述标注和对应于各解码器的第一解码结果,计算第一损失函数的值。

可选的,解码模块包括分别与编码模块连接的多个解码器;对于样本多媒体数据,训练模块还用于:

对该样本多媒体数据进行数据增强处理,得到增强后的多媒体数据;

将增强后的多媒体数据输入至编码模块中,得到增强后的多媒体数据的编码特征;

将增强后的多媒体数据的编码特征分别输入至各解码器中,得到对应于各解码器的第二解码结果;

基于各样本多媒体数据所对应的各第一解码结果、以及各样本多媒体数据对应的增强后的多媒体数据所对应的各第二解码结果,计算第二损失函数的值;

总损失函数还包括第二损失函数。

可选的,训练模块在基于各样本多媒体数据的所对应的各第一解码结果、以及各样本多媒体数据对应的增强后的多媒体数据所对应的各第二解码结果,计算第二损失函数的值,可以用于:

计算各第一解码结果和各第二解码结果中两两解码结果之间的一致性损失的值;

将各一致性损失的值相加,得到第二损失函数的值。

可选的,对于样本多媒体数据,训练模块还可以用于:

基于该样本多媒体数据的每一描述标注,分别对该样本多媒体数据的编码特征进行掩码处理,得到掩码后的编码特征;

相应的,训练模块在将编码特征分别输入至各解码器中,得到对应于各解码器的第一解码结果,基于各样本多媒体数据的各描述标注和对应于各解码器的第一解码结果,计算第一损失函数的值时,可以用于:

将样本多媒体数据的每一描述标注所对应的掩码后的编码特征分别输入至各解码器,得到每一描述标注对应于各解码器的第一解码结果;

基于各样本多媒体数据的每一描述标注和该描述标注对应于各解码器的第一解码结果,计算第一损失函数的值。

可选的,训练模块在基于该样本多媒体数据的每一描述标注,分别对该样本多媒体数据的编码特征进行掩码处理,得到掩码后的编码特征时,可以用于:

获取该样本多媒体数据的各描述标注的描述标注特征;

对于该样本多媒体数据的每一描述标注,确定该样本多媒体数据的编码特征与该描述标注的描述标注特征的相关度;

对于样本多媒体数据的每一描述标注,基于该描述描述的相关度对该样本多媒体数据的编码特征进行加权处理,得到加权后的编码特征(即掩码后的特征)。

可选的,训练模块还用于计算第三损失函数,其中,第三损失函数表征了样本多媒体数据的编码特征与各描述标注的描述标注特征之间的差异,总损失函数包括该第三损失函数。

可选的,解码模块包括分别与所述编码模块连接的多个解码器;对于样本多媒体数据,训练模块还可以用于:

对该样本多媒体数据进行数据增强处理,得到增强后的多媒体数据;

将增强后的多媒体数据输入至编码模块中,得到增强后的多媒体数据的编码特征;

对于该样本多媒体数据的每一描述标注,确定该样本多媒体数据对应的增强后的多媒体数据的编码特征与该描述标注的描述标注特征的第二相关度;

基于该描述标注对应的第二相关度对增强后的多媒体数据的编码特征进行加权处理,得到第二加权后的编码特征;

将第二加权后的编码特征分别输入至各解码器中,得到该描述标注对应于各解码器的第三解码结果;

基于各样本多媒体数据的每一描述标注对应于各解码器的第一解码结果和第三解码结果,计算第四损失函数的值;

总损失函数还包括第四损失函数。

可选的,多媒体数据描述模型为视频描述模型或图像描述模型;

对于视频描述模型,样本多媒体数据为样本视频,样本多媒体数据的编码特征包括样本视频的各帧的编码特征,对于该样本多媒体数据的每一描述标注,训练模块在确定该样本多媒体数据的编码特征与该描述标注的描述标注特征的相关度时,可以用于:

对于样本视频的每一描述标注,分别确定样本视频的各帧的编码特征与该描述标注的描述标注特征的相关度;

样本多媒体数据的每一描述标注,训练模块在基于该描述标注对应的相关度对该样本多媒体数据的编码特征进行加权处理,得到加权后的编码特征时,可以用于:

基于样本视频的各帧对应的相关度,对各帧的编码特征进行加权处理,得到各帧加权后的编码特征。

对于图像描述模型,样本多媒体数据为样本图像,样本多媒体数据的编码特征包括样本图像中各目标区域的编码特征;对于该样本多媒体数据的每一描述标注,训练模块在确定该样本多媒体数据的编码特征与该描述标注的描述标注特征的相关度时,可以用于:

对于样本图像的每一描述标注,分别确定该样本图像的各目标区域的编码特征与该描述标注的描述标注特征的相关度;

对于样本图像的每一描述标注,训练模块在基于该描述标注对应的所述相关度对该样本多媒体数据的编码特征进行加权处理,得到加权后的编码特征时,可以用于:

基于该样本图像的各目标区域对应的相关度,对各目标区域的编码特征进行加权处理,得到各目标区域加权后的编码特征。

可选的,训练模块在计算总损失函数的值时,可以用于:

获取总损失函数所包含的各损失函数的权重;

基于总损失函数所包含的各损失函数的权重对总损失函数所包含的各损失函数进行加权求和,得到总损失函数的值。

本申请还提供了一种多媒体数据的描述信息的生成装置,该装置具体可以通过多媒体数据描述模型得到多媒体数据的描述信息,该装置可以包括:

特征提取模块,用于将多媒体数据输入至多媒体数据描述模型的编码模块中,得到多媒体数据的编码特征,其中,多媒体数据描述模型包括依次级联的编码模块和解码模块,解码模块包括至少一个解码器;

文字描述生成模块,用于将编码特征分别输入至各解码器中,基于各个解码器的解码结果,得到媒体数据的描述信息;

其中,多媒体数据描述模型是采用本申请任一可选实施例提供的训练方法训练得到的。

本申请还提供了一种电子设备,该电子设备包括存储器和处理器;其中,存储器中存储有计算机程序;处理器用于在运行计算机程序时,执行本申请任一可选实施例中所提供的方法。

本申请还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,计算机程序在被处理器运行时,执行本申请任一可选实施例中所提供的方法。

作为一可选方案,图9示出了本申请实施例适用的一种电子设备的结构示意图,如图9所示,该电子设备4000可以包括处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。

处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码(计算机程序),以实现前述任一方法实施例所示的内容。

本申请所提供的实施例中,由电子设备执行的上述描述信息的生成方法可以使用人工智能模型来执行。

根据本申请的实施例,在电子设备中执行的该方法可以通过使用图像数据或视频数据作为人工智能模型的输入数据来获得识别图像或图像中的图像内容特征的输出数据。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或人工智能模型。人工智能模型可以包括多个神经网络层。多个神经网络层中的每一层包括多个权重值,并且通过在前一层的计算结果与多个权重值之间的计算来执行神经网络计算。

视觉理解是一种用于像人类视觉一样识别和处理事物的技术,并且包括例如对象识别、对象跟踪、图像检索、人类识别、场景识别、3D重建/定位或图像增强。

本申请所提供的实施例中,可以通过AI模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与AI相关联的功能。

该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,(例如中央处理单元(CPU)、应用处理器(AP)等)、或者是纯图形处理单元(,例如,图形处理单元(GPU)、视觉处理单元(VPU)、和/或AI专用处理器(,例如,神经处理单元(NPU))。

该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(AI)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。

这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的AI模型。该学习可以在其中执行根据实施例的AI的装置本身中执行,和/或可以通过单独的服务器/系统来实现。

该AI模型可以由包含多个神经网络层组成。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、双向循环深度神经网络(BRDNN)、生成对抗网络(GAN)、以及深度Q网络。

学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于优化移动设备中视频通信的功率消耗的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类