多模态数据处理方法、电子设备及存储介质与流程

文档序号:29210502发布日期:2022-03-12 04:52阅读:142来源:国知局
多模态数据处理方法、电子设备及存储介质与流程

1.本发明涉及深度学习领域,尤其涉及一种多模态数据处理方法、电子设备及存储介质。


背景技术:

2.现有技术中,对于不同模态数据的检索,往往需要根据不同模态的训练样本数据对应的的样本数据特征,通过一至两种约束训练目标特征提取模型,例如类内低秩损失约束、语义一致约束等。在获取到不同模态的目标数据和待检索数据后,调用目标特征提取模型进行跨模态检索操作,得出对应的检索结果。但是现有技术在生成不同模态的公共特征空间上,存在约束不足的问题,导致模型缺乏健壮性,进而导致检索准确率偏低。


技术实现要素:

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.基于所述第一损失值、第二损失值和第四损失值,计算损失参数;
38.基于所述损失参数与所述第三损失值的差值最小时对应的第一网络参数、图像模态参数、文本模态参数,以及所述损失参数与所述第三损失值的差值最大时对应的第二网络参数,分别对所述第一网络参数、图像模态参数、文本模态参数以及第二网络参数进行更新。
39.进一步地,所述方法还包括:
40.将待检索的图像模态数据输入训练后的神经网络模型;
41.通过所述训练后的神经网络模型,确定与所述待检索的图像模态数据对应的文本模态数据。
42.第二方面,本发明实施例提供一种电子设备,所述电子设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
43.处理器运行所述计算机程序时,执行前述一个或多个技术方案所述方法的步骤。
44.第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令;计算机可执行指令被处理器执行后,能够实现前述一个或多个技术方案所述方法。
45.本发明提供的多模态数据处理方法,包括:基于第一特征向量、所述第二特征向量分别确定第一损失值和第二损失值;所述第一损失值表征当前输入的数据的语义类别预测误差;所述第二损失值表征所述当前输入的数据与历史输入的数据之间语义相关性与距离的关联程度;所述语义相关性表示数据是否属于同一语义类别;基于所述神经网络模型中当前输入以及历史输入的全部数据对应的特征向量确定第三损失值;所述第三损失值表征图像模态和文本模态之间的差异程度;基于所述第一损失值、第二损失值以及第三损失值训练所述神经网络模型。如此,在训练神经网络模型时,基于三种损失函数计算得到的三种损失值,可以综合实现语义类别区分、基于语义相关性排列特征向量距离以及不同模态差异性的三种约束,从而使神经网络模型中的约束更加健壮丰富,为多模态数据的检索提供更加准确的结果。而且基于第三损失值可以缩小不同模态之间的差异性,从而更加便于针对一种模态数据查询相关的另一模态数据,利于通过神经网络模型进行跨模态的数据检索查询。
附图说明
46.图1为本发明实施例提供的一种多模态数据处理方法的流程示意图;
47.图2为本发明实施例提供的一种多模态数据处理方法的流程示意图;
48.图3为本发明实施例提供的一种多模态数据处理装置的结构示意图;
49.图4为本发明实施例提供的一种多模态数据检索框架示意图。
具体实施方式
50.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
51.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
52.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
53.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
54.如图1所示,本发明实施例提供一种多模态数据处理方法,所述方法包括:
55.s110:在神经网络模型中根据当前输入的数据确定第一特征向量和第二特征向量;所述数据包括图像模态数据和文本模态数据;
56.s120:基于所述第一特征向量、所述第二特征向量分别确定第一损失值和第二损失值;所述第一损失值表征当前输入的数据的语义类别预测误差;所述第二损失值表征所述当前输入的数据与历史输入的数据之间语义相关性与距离的关联程度;所述语义相关性表示数据是否属于同一语义类别;
57.s130:基于所述神经网络模型中当前输入以及历史输入的全部数据对应的特征向量确定第三损失值;所述第三损失值表征图像模态和文本模态之间的差异程度;
58.s140:基于所述第一损失值、第二损失值以及第三损失值训练所述神经网络模型。
59.这里,神经网络模型用于基于多模态样本数据进行训练学习,以针对待检索的某一模态数据检索与之对应的其他模态的数据。模态可以表征数据的形态、模式等,例如,数据可以包括图像模态数据、文本模态数据。图像模态数据可以为图像形式的数据,文本模态数据可以为文本形式的数据,例如用于描述对应的图像模态数据所表征的语义内容的文本形式的数据。
60.在本发明实施例中,当前输入的数据为用于训练神经网络模型的样本数据,可以为成对存在的图像模态数据和文本模态数据,即文本模态数据表征图像模态数据的图像内容对应的文本内容,也可以为不相关的一组图像模态数据和文本模态数据。
61.在一个实施例中,神经网络模型中可以包括特征生成模块和模态分类模块,其中,特征生成模块中可以用于执行步骤s110至s120,模态分类模块中可以用于执行步骤s130。确定第一特征向量和第二特征向量可以通过神经网络模型中的一个或多个神经网络进行,例如,通过图像特征提取网络确定第一特征向量,通过文本特征提取网络确定第二特征向量。神经网络模型中的神经网络可以为长短期记忆网络(long short-term memory,lstm)等。第一特征向量用于表征图像模态数据的特征空间,第二特征向量用于表征文本模态数据的特征空间。
62.在另一个实施例中,确定第一损失值可以通过神经网络模型中的一个神经网络进行,例如,可以通过一个2层全连接网络基于第一损失函数确定第一损失值。这里,第一损失函数可以为用于标签预测的损失函数,以进行数据的语义类别(即标签)的预测。另外,用于确定第一损失值的神经网络可以与确定第一特征向量和第二特征向量的神经网络输出端连接。
63.示例性地,基于第一损失函数得到的第一损失值可以为表征当前输入的图像模态
数据和文本模态数据的语义类别预测的交叉熵损失,也可以为表征神经网络模型中当前输入与历史输入的全部数据语义类别的交叉熵损失。交叉熵损失即第一损失值越小,表征语义类别预测误差越小,即预测的语义类别更加接近于真实的语义类别。这里,语义类别可以为数据的语义信息所属的类别,例如,当文本模态数据的语义信息为“两个人在跑步”,其对应的语义类别可以为“运动”或“体育”等。如此,基于第一损失值的计算可以实现对不同语义信息的区分。
64.在一个实施例中,确定第二损失值可以通过神经网络模型中的第二损失函数确定,例如,第二损失函数可以为三元组损失函数。基于三元组约束可以使神经网络模型中的特征向量之间的语义相关性与距离具备关联关系,例如,语义相关性越高的样本数据在特征空间的距离越近,语义相关性越低的样本数据在特征空间的距离越远。语义相关性可以指数据的语义类别相同或不同,也可以指数据的语义类别所具有的相关性,例如“篮球”与“足球”的相关性高于“篮球”与“钥匙”的相关性。
65.在另一个实施例中,确定第三损失值可以通过神经网络模型中的一个神经网络进行,例如,可以通过一个2层全连接网络基于第三损失函数确定第三损失值。这里,用于确定第三损失值的神经网络与用于确定第一损失值的神经网络为不同的神经网络。基于第三损失函数得到的第三损失值可以用于表征神经网络模型中当前输入与历史输入的全部数据的模态类别的交叉熵损失,这里,模态类别可以包括图像模态和文本模态。交叉熵损失即第三损失值越小,图像模态与文本模态间的差异性越小。
66.如此,基于前述三种损失函数得到的损失值,可以对多模态样本数据进行充分优化。在基于样本数据训练神经网络模型时,基于语义类别预测误差、语义相关性与向量关联性以及不同模态差异性的三种约束,分别可以实现数据语义类别的区分、基于语义相关性排列特征向量间距离以及缩小图像模态和文本模态差异性。而且基于第三损失值及其损失函数,缩小图像模态与文本模态之间的差异性,可以大大降低图像特征空间与文本特征空间的独立性,从而更加利于通过神经网络模型进行跨模态的数据检索查询。基于此,使神经网络模型中的约束更加健壮丰富,更利于准确检索多模态数据。
67.在一些实施例中,所述s120,可包括:
68.基于所述第一特征向量和所述第二特征向量在所述神经网络模型的迭代计算中得到的迭代结果,确定第一损失值;所述迭代结果包括所述第一特征向量和第二特征向量分别在多个语义类别中对应的概率;
69.基于所述第一特征向量、所述第二特征向量与历史输入的数据对应的其他特征向量之间的距离,确定第二损失值;
70.所述第一损失值表征当前输入的图像模态数据和文本模态数据间的语义类别差异程度;所述第二损失值表征所述当前输入的数据与历史输入的数据之间语义相关性与距离的关联程度;所述语义相关性表示数据是否属于同一语义类别。
71.在本发明实施例中,第一特征向量和第二特征向量输入用于确定第一损失值的神经网络,例如一个2层全连接网络。第一特征向量和第二特征向量在神经网络模型中进行迭代计算,基于每一次迭代计算得到的迭代结果,通过用于标签预测的第一损失函数,确定第一损失值。
72.在一个实施例中,神经网络模型中预设有一定数量的语义类别,每次迭代计算会
得到用于计算的第一特征向量或第二特征向量属于预设的各语义类别的概率分布,例如,一次迭代计算可以得到第一特征向量对应的图像模态数据属于语义类别a的概率为40%,属于语义类别b的概率为20%...等。
73.在另一个实施例中,还可以基于迭代结果以及第一特征向量与第二特征向量对应的的真实信息(groundtruth)语义标签计算第一损失值,例如,第一特征向量与第二特征向量成对存在,文本模态数据表征图像模态数据所表示的文本信息,其对应的文本信息的groundtruth语义标签为(0,0,0,1,0,0),表征第一特征向量和第二特征向量对应的语义类别为第四个语义类别。在此基础上,基于groundtruth语义标签和迭代计算得到的语义类别概率分布,通过第一损失函数对神经网络模型的学习能力进行训练和优化。如此,得到的第一损失值可以表征每个图像实例和文本实例(即图像模态数据和文本模态数据在神经网络模型中的存在形式)的语义类别的交叉熵损失,从而对神经网络模型进行有效训练。
74.在一个实施例中,可以通过获取历史输入神经网络模型的样本数据对应的其他特征向量,确定其他特征向量与当前输入的数据对应的特征向量之间的语义相关性和距离。例如,当前输入的数据对应的第一特征向量为vi,第二特征向量为ti,在历史输入的数据中,可以选取与vi语义相关的一个文本特征向量tj,以及与vi语义无关的一个文本特征向量tk。基于这三个特征向量可以分别确定vi与tj和tk间的距离:知其中,代表图像vi与文本tj语义相关,代表图像vi与文本tk语义无关。基于和知第二损失函数可以计算第二损失值,第二损失函数可以为三元组损失函数。
75.在另一个实施例中,除了选取与vi语义相关的一个文本特征向量tj,以及与vi语义无关的一个文本特征向量tk之外,还可以选取与ti语义相关的一个图像特征向量vj,以及与ti语义无关的一个图像特征向量vk。与前一个实施例相似,计算知并获取神经网络模型中第二损失函数相关的超参数λ和μ,这里超参数为神经网络模型中预先设定的参数值。
76.基于知以及超参数,可以计算图像模态数据的图像第二损失值:这里,θv代表神经网络模型中预设的图像模态参数,表征取0和中较大的一个值。
77.基于和以及超参数,可以计算文本模态数据的文本第二损失值:这里,θ
t
代表神经网络模型中预设的文本模态参数。
78.第二损失值l
imi
(θv,θ
t
)可以为图像第二损失值和文本第二损失值的和:
[0079][0080]
在又一个实施例中,计算向量间的距离时,可以基于以下公式:
[0081]
l2(v,t)=||fv(v;θv)-f
t
(t;θ
t
)||2[0082]
这里,fv(v;θv)表示图像特征提取网络基于图像模态参数输出的第一特征向量,f
t
(t;θ
t
)表示文本特征提取网络基于文本模态参数输出的第二特征向量,||||2表示2范数。
[0083]
如此,基于第一损失函数的训练,神经网络模型可以有效区分不同样本数据的语义类别,从而可以对待检索数据的语义信息进行识别。另外基于第二损失函数的训练,神经网络模型可以基于样本语义相关性排布特征空间的距离,从而可以在检索数据时优先确定选取距离最近的一个或多个特征向量,进而输出对应的模态数据。
[0084]
在一些实施例中,所述s110,可包括:
[0085]
基于神经网络模型中的图像特征提取网络处理当前输入的图像模态数据,得到第一特征向量;
[0086]
基于神经网络模型中的文本特征提取网络处理当前输入的文本模态数据,得到第二特征向量;
[0087]
所述方法还包括:
[0088]
基于所述图像特征提取网络的层数和神经元权重,以及所述文本特征提取网络的层数和神经元权重,确定表征所述神经网络模型拟合程度的第四损失值;
[0089]
所述s140,可包括:
[0090]
基于所述第一损失值、第二损失值、第三损失值以及第四损失值,对所述神经网络模型的参数进行更新。
[0091]
在本发明实施例中,图像特征提取网络可以为用于输出图像模态数据的第一特征向量的神经网络。例如,可以为一个5层神经网络,其中,前2层为卷积层,对图像模态数据进行卷积运算,第3层为池化层,对卷积后得到的特征图进行感兴趣区域(region of interest,roi)池化,最后2层为lstm层,对池化后的特征图进行处理,得到最终的第一特征向量。
[0092]
文本特征提取网络可以为用于输出文本模态数据的第二特征向量的神经网络,例如,可以为一个2层的lstm网络。
[0093]
在一个实施例中,可以先对文本模态数据进行分词处理,将分词后的文本模态数据通过词向量产生模型(word to vector,word2vec)转换为向量。将得到的向量输入文本特征提取网络,得到第二特征向量。
[0094]
在另一个实施例中,第四损失值可以通过第四损失函数进行计算,表征神经网络模型的拟合程度,从而抑制网络训练过拟合。这里,第四损失函数可以为正则化损失函数,例如,第四损失值其中,表示图像特征提取网络中第l层的神经元权重,表示文本特征提取网络中第l层的神经元权重。l=1,2...,l,且l为正整数。l为图像特征提取网络层数和文本特征提取网络层数中的最大值,例如,图像特征提取网络为5层,文本特征提取网络为2层,则l取5。||||f表示f范数。
[0095]
在一个实施例中,基于第一损失值、第二损失值、第三损失值和第四损失值,可以通过反向传播对神经网络模型的参数进行更新,以优化神经网络模型的能力。神经网络模型的参数可以包括神经网络模型中预设的功能参数,例如图像模态参数、文本模态参数等。在神经网络模型中,图像模态参数参与对于图像模态数据以及第一特征向量的处理,文本模态参数参与对于文本模态数据以及第二特征向量的处理。
[0096]
如此,基于第四损失函数,可以在充分优化神经网络模型学习能力的基础上,对神经网络模型的拟合程度进行收敛,抑制神经网络出现过拟合的情况,从而进一步提高神经网络模型的可靠性。
[0097]
在一些实施例中,所述基于神经网络模型中的图像特征提取网络处理当前输入的图像模态数据,得到第一特征向量,可包括:
[0098]
将当前输入的图像模态数据分割为预设数量的图像模态子数据;
[0099]
基于神经网络模型中的图像特征提取网络处理所述预设数量的图像模态子数据,得到第一特征向量。
[0100]
在本发明实施例中,将图像模态数据输入图像特征提取网络进行处理之前,可以将图像模态数据分割为预设数量个图像模态子数据。例如,可以将图像切割为l*h共计k等分的子图,示例性地,对于尺寸为360*240的图像模态数据,当l=3,h=2,k=6时,每个子图的尺寸为360/3=120,240/2=120,共计切割为6张120*120的子图。
[0101]
在一个实施例中,当图像特征提取网络为5层神经网络时,在将图像模态数据分割为预设数量的图像模态子数据后,通过图像特征提取网络的前2层卷积层对图像模态子数据进行卷积。由于输入的图像模态数据可能大小不同,所以切割出来的图像模态子数据大小也不同,导致卷积后特征图大小也不同。因此通过第3层池化层将卷积后得到的特征图缩放到预定义的尺寸大小。将卷积后的特征图输入最后2层lstm层,可以得到第一特征向量。
[0102]
在一些实施例中,所述基于所述第一特征向量和所述第二特征向量在所述神经网络模型的迭代计算中得到的迭代结果,确定第一损失值,包括:
[0103]
获取用于计算第一损失值的网络对应的第一网络参数;
[0104]
基于所述第一网络参数,以及所述第一特征向量和所述第二特征向量在所述神经网络模型的迭代计算中得到的迭代结果,确定第一损失值;
[0105]
所述基于所述第一特征向量、所述第二特征向量与历史输入的数据对应的其他特征向量之间的距离,确定第二损失值,包括:
[0106]
获取所述神经网络模型中的图像模态参数和文本模态参数;
[0107]
在历史输入的数据对应的其他特征向量中,分别确定所述第一特征向量和所述第二特征向量的参照特征向量;所述参照特征向量包括语义相关的特征向量以及语义无关的特征向量;
[0108]
基于所述图像模态参数和文本模态参数,分别计算所述第一特征向量、所述第二特征向量与所述参照特征向量之间的距离;
[0109]
基于所述距离确定第二损失值。
[0110]
在本发明实施例中,用于计算第一损失值的网络可以为一个2层的全连接网络,第一网络参数可以为神经网络模型中用于计算第一损失值的网络对应的网络参数,例如,第一网络参数可以为该网络对应的分类器参数。
[0111]
在一个实施例中,在训练开始前先获取第一特征向量和第二特征向量对应的groundtruth,以通过第一损失函数对迭代计算生成概率分布的修正和学习。基于第一网络参数θ
imd
,以及第一特征向量和第二特征向量的迭代结果,确定第一损失值:
[0112][0113]
这里,第一损失值为l
imd

imd
),yi为每组第一特征向量与第二特征向量对应的groundtruth,代表每次迭代计算的生成概率分布。
[0114]
在另一个实施例中,第一特征向量vi的参照特征向量可以包括与vi语义相关的一个文本特征向量tj,以及与vi语义无关的一个文本特征向量tk。第二特征向量ti的参照特征向量可以包括与ti语义相关的一个图像特征向量vj,以及与ti语义无关的一个图像特征向量vk。如此,基于确定的距离。如此,基于确定的距离知可以确定第二损失值
[0115][0116]
其中,v(θv)代表通过图像模态参数θv进行训练的图像模态数据,t(θ
t
)代表通过文本模态参数θ
t
进行训练的文本模态数据。
[0117][0118][0119]
如此,可以实现图像模态数据距离最近的是与该图像模态数据语义相关性高的文本模态数据,文本模态数据距离最近的是与该文本模态数据语义相关性高的图像模态数据。基于此,可以在通过神经网络模型进行跨模态数据检索时,根据特征空间的距离即可快速查找到与待检索模态数据相关性最高的其他模态数据。
[0120]
在一些实施例中,所述s130,可包括:
[0121]
获取用于计算第三损失值的网络对应的第二网络参数;
[0122]
基于所述第二网络参数以及所述神经网络模型中当前输入和历史输入的全部数据对应的特征向量,确定第三损失值;所述第三损失值表征图像模态和文本模态之间的差异程度;
[0123]
所述基于所述第一损失值、第二损失值、第三损失值以及第四损失值,对所述神经网络模型的参数进行更新,包括:
[0124]
基于所述第一损失值、第二损失值、第三损失值以及第四损失值,对所述第一网络参数、图像模态参数、文本模态参数以及第二网络参数进行更新。
[0125]
在本发明实施例中,第三损失值可以在神经网络模型的模态分类模块中通过第三损失函数计算,用于基于图像模态与文本模态的差异程度,消除第一特征向量和第二特征向量的差异性,即消除图像特征空间与文本特征空间的差异性。用于计算第三损失值的网络可以为神经网络模型中的网络,且与用于特征提取、计算第一损失值、第二损失值和第四
损失值的网络均不同,例如,可以为一个2层全连接网络。第二网络参数代表该网络的网络参数,例如可以为分类器参数。第三损失值与图像模态和文本模态之间的差异程度可以存在对应关系,例如第三损失值越小,图像模态和文本模态之间差异程度越小。
[0126]
在一个实施例中,还可以获取每个数据实例的groundtruth模态标签,数据实例指一个图像模态数据或一个文本模态数据在神经网络模型中以实例形式存在。类似于前述的groundtruth语义标签,groundtruth模态标签表征每个数据实例的模态。示例性地,一个数据实例的groundtruth模态标签若为(0,1),表征该数据为文本模态数据;若为(1,0),则表征该数据为图像模态数据。第三损失值l
adv
(θd)可以通过第三损失函数计算:
[0127][0128]
这里,θd代表第二网络参数,mi代表每个数据实例的groundtruth模态标签,n表征神经网络模型中包含的数据实例总数,d代表计算后每个数据实例的生成模态概率,例如,一个数据实例属于图像模态的概率为60%,文本模态的概率为40%等。
[0129]
如此,基于第三损失函数对图像模态与文本模态的差异性进行缩小,从而逐渐消除图像特征空间与文本特征空间的差异性,更加利于神经网络模型用于跨模态数据的检索。
[0130]
在另一个实施例中,在将作为训练样本的图像模态数据和文本模态数据输入神经网络模型后,基于第一损失函数、第二损失函数、第三损失函数和第四损失函数,通过反向传播对神经网络模型的参数进行更新。通过对第一网络参数进行更新,可实现用于标签预测的第一损失函数所在网络的参数更新;通过更新图像模态参数和文本模态参数,可实现第二损失函数的参数更新;通过更新第二网络参数,可实现用于模态分类的第三损失函数所在网络的参数更新。如此,可以实现对神经网络模型的优化训练。
[0131]
在一些实施例中,所述基于所述第一损失值、第二损失值、第三损失值以及第四损失值,对所述第一网络参数、图像模态参数、文本模态参数以及第二网络参数进行更新,包括:
[0132]
基于所述第一损失值、第二损失值和第四损失值,计算损失参数;
[0133]
基于所述损失参数与所述第三损失值的差值最小时对应的第一网络参数、图像模态参数、文本模态参数,以及所述损失参数与所述第三损失值的差值最大时对应的第二网络参数,分别对所述第一网络参数、图像模态参数、文本模态参数以及第二网络参数进行更新。
[0134]
在本发明实施例中,第一损失值、第二损失值和第四损失值的计算均属于神经网络模型的特征生成模块,第三损失值的计算属于模态分类模块。因此,首先可以获取特征生成模块中预先设置的超参数α和β,计算损失参数:
[0135]
l
emb
(θv,θ
t
,θ
imd
)=α
·
l
imi

·
l
imd
+l
reg
[0136]
确定损失参数与第三损失值的差值最小时θv,θ
t
,θ
imd
的取值,将神经网络模型中的图像模态参数、文本模态参数和第一网络参数分别更新为这三个值:
[0137]
[0138]
确定损失参数与第三损失值的差值最大时θd的取值,将神经网络模型中的第二网络参数更新为该取值:
[0139][0140]
这里,差值最小和差值最大时,可以为基于一定次数的迭代计算后统计每次迭代计算后产生的差值中的最小和最大时。如此,由于特征生成模块中第一损失值越小,语义类别预测误差越小,则对数据语义信息的区分越准确;第二损失值越小,与一种模态数据相关性越高的另一种模态数据与其距离越近;第四损失值越小,模型的过拟合几率越低。因此,损失参数与第三损失值差值越小,对应的第一网络参数、图像模态参数和文本模态参数越偏向模型训练优化的最佳参数。由于模态分类模块中第三损失值越小,图像模态和文本模态的差异性越小,因此,损失参数与第三损失值差值越大,对应的第二网络参数越偏向于模型训练优化的最佳参数。
[0141]
在一些实施例中,如图2所示,所述方法还包括:
[0142]
s150:将待检索的图像模态数据输入训练后的神经网络模型;
[0143]
s160:通过所述训练后的神经网络模型,确定与所述待检索的图像模态数据对应的文本模态数据。
[0144]
在本发明实施例中,基于样本数据训练后的神经网络模型可用于进行数据检索,例如,需要检索与当前图像模态数据对应的文本模态数据时,可以将待检索的图像模态数据输入模型中。如此,基于经过防止过拟合以及跨模态数据差异性消除的神经网络模型,进行区分语义类别、识别与图像模态数据距离最近的文本模态数据为相关性最高的跨模态数据的数据检索,可以更加准确地获取到与图像模态数据语义信息相关性最高的文本模态数据。
[0145]
在一个实施例中,s160可以包括:通过训练后的神经网络模型,确定预设数量的与待检索的图像模态数据对应的文本模态数据。例如,可以为:确定与待检索图像模态数据距离最近的预设数量个文本模态数据。示例性地,根据与待检索图像模态数据的距离从小到大,选取前n个文本模态数据,即为与待检索的图像模态数据对应的文本模态数据,作为神经网络模型跨模态数据检索的top-n输出结果。这里,n为大于0的正整数。
[0146]
在另一个实施例中,还可以确定待检索的图像模态数据对应的特征向量后,将对应的特征向量输入训练后的神经网络模型,以确定对应的文本模态数据。
[0147]
如图3所示,本发明实施例提供一种多模态数据处理装置,包括:
[0148]
第一确定单元110,用于在神经网络模型中根据当前输入的数据确定第一特征向量和第二特征向量;所述数据包括图像模态数据和文本模态数据;
[0149]
第二确定单元120,用于基于所述第一特征向量、所述第二特征向量分别确定第一损失值和第二损失值;所述第一损失值表征当前输入的数据的语义类别预测误差;所述第二损失值表征所述当前输入的数据与历史输入的数据之间语义相关性与距离的关联程度;所述语义相关性表示数据是否属于同一语义类别;
[0150]
第三确定单元130,用于基于所述神经网络模型中当前输入以及历史输入的全部数据对应的特征向量确定第三损失值;所述第三损失值表征图像模态和文本模态之间的差
异程度;
[0151]
训练单元140,用于基于所述第一损失值、第二损失值以及第三损失值训练所述神经网络模型。
[0152]
在一些实施例中,所述第二确定单元120,具体用于:
[0153]
基于所述第一特征向量和所述第二特征向量在所述神经网络模型的迭代计算中得到的迭代结果,确定第一损失值;所述迭代结果包括所述第一特征向量和第二特征向量分别在多个语义类别中对应的概率;
[0154]
基于所述第一特征向量、所述第二特征向量与历史输入的数据对应的其他特征向量之间的距离,确定第二损失值。
[0155]
在一些实施例中,所述第一确定单元110,具体用于:
[0156]
基于神经网络模型中的图像特征提取网络处理当前输入的图像模态数据,得到第一特征向量;
[0157]
基于神经网络模型中的文本特征提取网络处理当前输入的文本模态数据,得到第二特征向量;
[0158]
所述装置还包括:
[0159]
第四确定单元,用于基于所述图像特征提取网络的层数和神经元权重,以及所述文本特征提取网络的层数和神经元权重,确定表征所述神经网络模型拟合程度的第四损失值;
[0160]
所述训练单元140,具体用于:
[0161]
基于所述第一损失值、第二损失值、第三损失值以及第四损失值,对所述神经网络模型的参数进行更新。
[0162]
在一些实施例中,所述第一确定单元110,具体用于:
[0163]
将当前输入的图像模态数据分割为预设数量的图像模态子数据;
[0164]
基于神经网络模型中的图像特征提取网络处理所述预设数量的图像模态子数据,得到第一特征向量。
[0165]
在一些实施例中,所述第二确定单元120,具体用于:
[0166]
获取用于计算第一损失值的网络对应的第一网络参数;
[0167]
基于所述第一网络参数,以及所述第一特征向量和所述第二特征向量在所述神经网络模型的迭代计算中得到的迭代结果,确定第一损失值;
[0168]
获取所述神经网络模型中的图像模态参数和文本模态参数;
[0169]
在历史输入的数据对应的其他特征向量中,分别确定所述第一特征向量和所述第二特征向量的参照特征向量;所述参照特征向量包括语义相关的特征向量以及语义无关的特征向量;
[0170]
基于所述图像模态参数和文本模态参数,分别计算所述第一特征向量、所述第二特征向量与所述参照特征向量之间的距离;
[0171]
基于所述距离确定第二损失值。
[0172]
在一些实施例中,所述第三确定单元130,具体用于:
[0173]
获取用于计算第三损失值的网络对应的第二网络参数;
[0174]
基于所述第二网络参数以及所述神经网络模型中当前输入和历史输入的全部数
据对应的特征向量,确定第三损失值;
[0175]
所述训练单元140,具体用于:
[0176]
基于所述第一损失值、第二损失值、第三损失值以及第四损失值,对所述第一网络参数、图像模态参数、文本模态参数以及第二网络参数进行更新。
[0177]
在一些实施例中,所述训练单元140,具体用于:
[0178]
基于所述第一损失值、第二损失值和第四损失值,计算损失参数;
[0179]
基于所述损失参数与所述第三损失值的差值最小时对应的第一网络参数、图像模态参数、文本模态参数,以及所述损失参数与所述第三损失值的差值最大时对应的第二网络参数,分别对所述第一网络参数、图像模态参数、文本模态参数以及第二网络参数进行更新。
[0180]
在一些实施例中,所述装置还包括:
[0181]
输入单元,用于将待检索的图像模态数据输入训练后的神经网络模型;
[0182]
检索单元,用于通过所述训练后的神经网络模型,确定与所述待检索的图像模态数据对应的文本模态数据。
[0183]
以下结合上述任一实施例提供一个具体示例:
[0184]
本发明实施例提供了一种多重约束的跨模态检索框架。该框架中,标签预测约束、三元组约束、正则化约束组成特征生成模块;模态分类约束构成模态分类模块。两个模块相互制约,最终生成图像和文本的公共子空间,并在公共子空间中完成检索。框架结构图如图4所示。
[0185]
s1.模型构建:
[0186]
(1)图像特征提取:
[0187]
(a)将图像进行切割,切割为l*h,一共k等分的子图。例如,输入一张360*240的图片,当l=3,h=2,k=6时,360/3=120,240/2=120,切割为6张120*120的子图。
[0188]
(b)将切割后的子图,输入到神经网络中。该神经网络由5层组成,前2层为卷积层,进行卷积运算,第三层进行roi池化,将卷积后的特征图缩放到某个预定义的大小(由于输入的图片可能大小不一致,所以切割出来的子图大小也不一样,卷积后特征图大小也不同,因此需要通过roi池化缩放),最后2层为lstm单元,输入池化后的特征,得到图像最终的特征向量,该特征向量即为图像的特征空间。
[0189]
(2)文本特征提取:
[0190]
(a)首先将文本进行分词,然后通过word2vec转化为向量;
[0191]
(b)输入到一个2层的lstm网络中,得到其特征向量,该特征向量即为文本的特征空间。
[0192]
(3)特征生成模块:
[0193]
模态分类模块在训练时接受(1)、(2)步输出的图像和文本的特征向量,并输入到下述结构:
[0194]
(a)标签预测:使用2层全连接网络进行语义标签预测。标签预测的目的是训练特征空间能够区分出不同的语义信息标签预测的损失函数为:
[0195][0196]
其中,l
imd

imd
)代表所有图像和文本实例oi,i=1,...,n的语义类别的交叉熵损失,n为模型中实例总数。θ
imd
代表标签预测部分的分类器参数,vi代表图像,ti代表文本,yi代表每个样本的groundtruth,是样本oi的每次迭代的生成概率分布。图4中的c1、c2、...cn表征标签预测后得到的结果。
[0197]
(b)三元组约束:使用三元组损失函数来让语义相关的样本在特征空间中的距离尽量近,语义无关的样本在特征空间中的距离尽量远。三元组约束损失函数为:
[0198][0199]
其中,θv是图像模态参数,θ
t
是文本模态参数。知的定义如下:
[0200][0201][0202]
代表图像vi与文本tj语义相关,代表图像vi与文本tk语义无关。λ和μ为超参数。l2(v,t)代表图像和文本的距离,距离定义如下:
[0203]
l2(v,t)=||fv(v;θv)-f
t
(t;θ
t
)||2[0204]
(c)正则化约束:使用正则化项来避免网络训练过拟合,具体函数如下:
[0205][0206]
其中wv代表图像特征提取网络中神经元权重,w
t
代表文本特征提取网络中神经元权重。l代表网络的层数,l=1,...,l。||||f代表f范式。
[0207]
综上,模态分类模块的最终损失函数如下,其中,α和β为超参数:
[0208]
l
emb
(θv,θ
t
,θ
imd
)=α
·
l
imi

·
l
imd
+l
reg
[0209]
(4)模态分类模块:
[0210]
在模块(3)中,我们得到的特征空间虽然具有了标签分类功能并满足三元组约束,但是仍然是两个独立的空间,在模态分类模块中,我们需要利用一个模态分类器消除两个空间的差异性。当模态分类器分辨不出输入的特征向量来自文本空间还是图像空间时,可以视为两个特征空间的差异性已经消除。
[0211]
模态分类器也由2层全连接层组成,具体损失函数为:
[0212][0213]
l
adv
代表所有样本的模态分类的交叉熵损失,θd代表模态分类部分的网络参数,mi
代表每个实例的groundtruth模态标签,d代表每个实例的生成模态概率。
[0214]
s2模型训练:将训练集中的图像和文本样本输入到模型中进行训练,通过反向传播更新参数。
[0215]
整体模型训练如下:
[0216][0217][0218]
s3跨模态检索:训练完成后,即可使用模型进行检索。以图像搜索文本为例,输入图像,将其映射到特征空间,在特征空间中检索n个距离图像样本最近的文本。这些文本就是检索结果的topn。
[0219]
本发明实施例还提供一种电子设备,所述电子设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,处理器运行所述计算机程序时,执行前述一个或多个技术方案所述方法的步骤。
[0220]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行后,能够实现前述一个或多个技术方案所述方法。
[0221]
本实施例提供的计算机存储介质可为非瞬间存储介质。
[0222]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0223]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0224]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0225]
在一些情况下,上述任一两个技术特征不冲突的情况下,可以组合成新的方法技术方案。
[0226]
在一些情况下,上述任一两个技术特征不冲突的情况下,可以组合成新的设备技术方案。
[0227]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或
者光盘等各种可以存储程序代码的介质。
[0228]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1