CN115221389A - 一种跨模态检索模型的训练方法、装置、设备及存储介质 - Google Patents
一种跨模态检索模型的训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115221389A CN115221389A CN202210925493.4A CN202210925493A CN115221389A CN 115221389 A CN115221389 A CN 115221389A CN 202210925493 A CN202210925493 A CN 202210925493A CN 115221389 A CN115221389 A CN 115221389A
- Authority
- CN
- China
- Prior art keywords
- modal
- data
- sample
- retrieval
- sample object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种跨模态检索模型的训练方法、装置、设备及存储介质,该方法包括:将每个样本对象的第一模态数据以及第二模态数据分别输入至初始模型中,得到每个样本对象在第一模态数据下表现出的第一模态特征以及每个样本对象在第二模态数据下表现出的第二模态特征;根据同一样本对象在不同模态数据下表现出的第一数据特征差异、多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及多个样本对象在不同模态数据下表现出的群体特征差异,对初始模型的模型参数进行调整,直至达到收敛。这样,本申请能够有效地提高跨模态检索模型的跨模态检索灵活度。
Description
技术领域
本申请涉及模型训练技术领域,具体而言,涉及一种跨模态检索模型的训练方法、装置、设备及存储介质。
背景技术
跨模态检索相当于基于同一检索对象的不同模态样本之间的关联关系,实现根据检索对象的某种模态样本,对检索对象的另外一种不同的模态样本进行检索的检索方案。
目前,现有的跨模态检索模型,通常是基于一种固定模态的数据作为检索用的查询数据,基于另一种固定模态的数据作为检索用的索引数据,来训练模型学习对检索对象在一种固定模态与另一种固定模态之间进行跨模态检索。例如,现有的跨模态检索模型一般是基于检索对象的文本信息作为查询数据,从检索库中存储的图像信息中,检索出与上述检索对象的文本信息之间的相似度高于阈值的目标图像作为上述检索对象在文本-图像之间的跨模态检索结果。基于此,现有的跨模态检索模型无论是在模型训练阶段还是在模型应用阶段,都只能实现使用一种模态数据去检索另一种模态数据的效果,也即,实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换,从而导致跨模态检索模型的跨模态检索灵活度较低。
发明内容
有鉴于此,本申请的目的在于提供一种跨模态检索模型的训练方法、装置、设备及存储介质,以通过训练模型对于同类样本对象以及异类样本对象在不同模态数据下表现出的数据特征进行相互学习的方式,解决现有技术中实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换的问题,从而有效地提高了跨模态检索模型的跨模态检索灵活度。
第一方面,本申请实施例提供了一种跨模态检索模型的训练方法,所述训练方法包括:
针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到所述第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征;
将每个样本对象的第二模态数据输入至所述初始模型内的第二特征提取子网络中,得到所述第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征;
根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、所述多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、所述多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及所述多个样本对象在不同模态数据下表现出的群体特征差异;
根据所述第一数据特征差异、所述第二数据特征差异、所述第三数据特征差异以及所述群体特征差异,对所述初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
在一种可选的实施方式中,所述根据所述第一数据特征差异、所述第二数据特征差异、所述第三数据特征差异以及所述群体特征差异,对所述初始模型的模型参数进行调整,包括:
针对每一样本对象,根据该样本对象在不同模态数据下表现出的第一数据特征差异,确定该样本对象在不同模态数据下表现出的数据特征与该样本对象所属的实体类型之间的分类预测损失;
针对每一样本对象,根据该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异,以及该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异,确定该样本对象与不同模态数据下的同类样本对象以及不同模态数据下的异类样本对象之间的跨模态三元组损失;其中,所述第一样本对象用于表征所述多个样本对象中与该样本对象属于同一实体类型的样本对象;所述第二样本对象用于表征所述多个样本对象中与该样本对象属于不同实体类型的样本对象;
针对所述多个样本对象,根据所述多个样本对象在第一模态数据下表现出的第一群体特征差异以及所述多个样本对象在第二模态数据下表现出的第二群体特征差异,确定所述第一群体特征差异与所述第二群体特征差异之间的互学习损失;
根据每个样本对象对应的所述分类预测损失、每个样本对象对应的所述跨模态三元组损失以及所述多个样本对象对应的所述互学习损失,调整所述初始模型的模型参数,直至所述初始模型达到收敛。
在一种可选的实施方式中,所述根据该样本对象在不同模态数据下表现出的第一数据特征差异,确定该样本对象在不同模态数据下表现出的数据特征与该样本对象所属的实体类型之间的分类预测损失,包括:
基于所述第一特征提取子网络输出的该样本对象的第一模态特征,对该样本对象所属的实体类型进行分类预测,得到该样本对象的第一分类预测结果;
基于所述第二特征提取子网络输出的该样本对象的第二模态特征,对该样本对象所属的实体类型进行分类预测,得到该样本对象的第二分类预测结果;
根据所述第一分类预测结果与真实分类结果之间的第一分类损失以及所述第二分类预测结果与所述真实分类结果之间的第二分类损失,将所述第一分类损失与所述第二分类损失的和值作为该样本对象对应的所述分类预测损失;其中,所述真实分类结果用于表征该样本对象所属的实体类型。
在一种可选的实施方式中,通过以下方法,确定该样本对象与所述第一样本对象在不同模态数据下表现出的第二数据特征差异:
针对该样本对象,根据该样本对象所属的实体类型,从所述多个样本对象中,随机抽取一个与该样本对象属于同一实体类型的样本对象作为所述第一样本对象;
根据所述第一特征提取子网络输出的该样本对象的第一模态特征以及所述第二特征提取子网络输出的所述第一样本对象的第二模态特征,计算该样本对象的第一模态特征与所述第一样本对象的第二模态特征之间的特征距离,得到该样本对象与所述第一样本对象的第一同类特征距离;
根据所述第二特征提取子网络输出的该样本对象的第二模态特征以及所述第一特征提取子网络输出的所述第一样本对象的第一模态特征,计算该样本对象的第二模态特征与所述第一样本对象的第一模态特征之间的特征距离,得到该样本对象与所述第一样本对象的第二同类特征距离;
将所述第一同类特征距离以及所述第二同类特征距离作为该样本对象与所述第一样本对象在不同模态数据下表现出的第二数据特征差异。
在一种可选的实施方式中,通过以下方法,确定该样本对象与所述第二样本对象在不同模态数据下表现出的第三数据特征差异:
针对该样本对象,根据该样本对象所属的实体类型,从所述多个样本对象中,确定与该样本对象属于不同实体类型的每一个样本对象作为目标样本对象;
针对每一所述目标样本对象,根据所述第一特征提取子网络输出的该样本对象的第一模态特征以及所述第二特征提取子网络输出的该目标样本对象的第二模态特征,计算该样本对象的第一模态特征与该目标样本对象的第二模态特征之间的特征距离,得到该样本对象与该目标样本对象的第三特征距离;
根据所述第二特征提取子网络输出的该样本对象的第二模态特征以及所述第一特征提取子网络输出的该目标样本对象的第一模态特征,计算该样本对象的第二模态特征与该目标样本对象的第一模态特征之间的特征距离,得到该样本对象与该目标样本对象的第四特征距离;
以该样本对象与每个所述目标样本对象的第三特征距离中的最小值作为第一异类特征距离,以该样本对象与每个所述目标样本对象的第四特征距离中的最小值作为第二异类特征距离,将所述第一异类特征距离以及所述第二异类特征距离作为该样本对象与所述第二样本对象在不同模态数据下表现出的第三数据特征差异。
在一种可选的实施方式中,所述根据该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异,以及该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异,确定该样本对象与不同模态数据下的同类样本对象以及不同模态数据下的异类样本对象之间的跨模态三元组损失,包括:
计算第一预设边界阈值与所述第一同类特征距离之间的第一和值,并将所述第一和值与所述第一异类特征距离之间的差值作为第一目标差值;
计算第二预设边界阈值与所述第二同类特征距离之间的第二和值,并将所述第二和值与所述第二异类特征距离之间的差值作为第二目标差值;
以所述第一目标差值与指定参数中的最大值作为该样本对象在第一模态数据下的第一跨模态损失,以所述第二目标差值与所述指定参数中的最大值作为该样本对象在第二模态数据下的第二跨模态损失,将所述第一跨模态损失与所述第二跨模态损失的和值作为该样本对象对应的所述跨模态三元组损失。
在一种可选的实施方式中,通过以下方法,确定所述多个样本对象在第一模态数据下表现出的第一群体特征差异以及所述多个样本对象在第二模态数据下表现出的第二群体特征差异:
针对所述多个样本对象,以每个样本对象的所述第一分类预测结果作为顶点,以每个样本对象的第一模态特征作为每一顶点的顶点属性,构建所述多个样本对象在第一模态数据下的第一邻接矩阵;
以每个样本对象的所述第二分类预测结果作为顶点,以每个样本对象的第二模态特征作为每一顶点的顶点属性,构建所述多个样本对象在第二模态数据下的第二邻接矩阵;
将所述第一邻接矩阵在图结构下表现出的图结构特征作为所述多个样本对象在第一模态数据下表现出的所述第一群体特征差异;
将所述第二邻接矩阵在图结构下表现出的图结构特征作为所述多个样本对象在第二模态数据下表现出的所述第二群体特征差异。
在一种可选的实施方式中,当所述第一模态数据与所述第二模态数据属于不同类型的数据时,则确定所述第一特征提取子网络与所述第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数不共享的方式进行训练;当所述第一模态数据与所述第二模态数据属于数据参数不同的同一类型数据时,则确定所述第一特征提取子网络与所述第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数共享的方式进行训练。
第二方面,本申请实施例提供了一种跨模态检索方法,所述跨模态检索方法包括:
将多个检索对象的第一样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第一模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第一模态特征;其中,所述第一样本数据中包括:每一所述检索对象的第一模态数据、第一检索对象的第二模态数据以及第二检索对象的第二模态数据;所述第一检索对象与所述检索对象属于同一实体类型,所述第二检索对象与所述检索对象属于不同实体类型;
将目标对象的第二模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第二模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第二模态特征;
以所述目标对象的第二模态特征作为第一检索数据特征,以每一所述检索对象的第一模态特征作为第一索引数据特征,通过所述跨模态检索模型对所述第一检索数据特征与每一所述第一索引数据特征之间的相似度进行计算,输出相似度计算结果符合检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
第三方面,本申请实施例提供了一种跨模态检索模型的训练装置,所述训练装置包括:
第一提取模块,用于针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到所述第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征;
第二提取模块,用于将每个样本对象的第二模态数据输入至所述初始模型内的第二特征提取子网络中,得到所述第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征;
第一确定模块,用于根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、所述多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、所述多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及所述多个样本对象在不同模态数据下表现出的群体特征差异;
参数调整模块,用于根据所述第一数据特征差异、所述第二数据特征差异、所述第三数据特征差异以及所述群体特征差异,对所述初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
第四方面,本申请实施例提供了一种跨模态检索装置,所述跨模态检索装置包括:
第一索引提取模块,用于将多个检索对象的第一样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第一模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第一模态特征;其中,所述第一样本数据中包括:每一所述检索对象的第一模态数据、第一检索对象的第二模态数据以及第二检索对象的第二模态数据;所述第一检索对象与所述检索对象属于同一实体类型,所述第二检索对象与所述检索对象属于不同实体类型;
第一查询提取模块,用于将目标对象的第二模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第二模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第二模态特征;
第一检索模块,用于以所述目标对象的第二模态特征作为第一检索数据特征,以每一所述检索对象的第一模态特征作为第一索引数据特征,通过所述跨模态检索模型对所述第一检索数据特征与每一所述第一索引数据特征之间的相似度进行计算,输出相似度计算结果符合检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
第五方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一所述的跨模态检索模型的训练方法的步骤,或者执行上述任一所述的跨模态检索方法的步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行实现上述任一所述的跨模态检索模型的训练方法的步骤,或者执行上述任一所述的跨模态检索方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例提供的一种跨模态检索模型的训练方法、装置、设备及存储介质,针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征;将每个样本对象的第二模态数据输入至初始模型内的第二特征提取子网络中,得到第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征;根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及多个样本对象在不同模态数据下表现出的群体特征差异;根据第一数据特征差异、第二数据特征差异、第三数据特征差异以及群体特征差异,对初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
通过这种方式,本申请以通过训练模型对于同类样本对象以及异类样本对象在不同模态数据下表现出的数据特征进行相互学习的方式,解决了现有技术中实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换的问题,从而有效地提高了跨模态检索模型的跨模态检索灵活度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种跨模态检索模型的训练方法的流程示意图;
图2示出了本申请实施例所提供的一种计算同一样本对象在不同模态数据下的分类预测损失的方法的流程示意图;
图3示出了本申请实施例所提供的一种确定该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异的方法的流程示意图;
图4示出了本申请实施例所提供的一种确定该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异的方法的流程示意图;
图5示出了本申请实施例所提供的一种计算跨模态三元组损失的方法的流程示意图;
图6示出了本申请实施例所提供的一种确定第一群体特征差异以及第二群体特征差异的方法的流程示意图;
图7示出了本申请实施例所提供的第一种跨模态检索方法的流程示意图;
图8示出了本申请实施例所提供的第二种跨模态检索方法的流程示意图;
图9示出了本申请实施例提供的一种跨模态检索模型的训练装置的结构示意图;
图10示出了本申请实施例提供的一种跨模态检索装置的结构示意图;
图11为本申请实施例提供的一种计算机设备1100的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
目前,现有的跨模态检索模型,通常是基于一种固定模态的数据作为检索用的查询数据,基于另一种固定模态的数据作为检索用的索引数据,来训练模型学习对检索对象在一种固定模态与另一种固定模态之间进行跨模态检索。例如,现有的跨模态检索模型一般是基于检索对象的文本信息作为查询数据,从检索库中存储的图像信息中,检索出与上述检索对象的文本信息之间的相似度高于阈值的目标图像作为上述检索对象在文本-图像之间的跨模态检索结果。基于此,现有的跨模态检索模型无论是在模型训练阶段还是在模型应用阶段,都只能实现使用一种模态数据去检索另一种模态数据的效果,也即,实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换,从而导致跨模态检索模型的跨模态检索灵活度较低。
基于此,本申请实施例提供了一种跨模态检索模型的训练方法、装置、设备及存储介质,针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征;将每个样本对象的第二模态数据输入至初始模型内的第二特征提取子网络中,得到第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征;根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及多个样本对象在不同模态数据下表现出的群体特征差异;根据第一数据特征差异、第二数据特征差异、第三数据特征差异以及群体特征差异,对初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
通过这种方式,本申请以通过训练模型对于同类样本对象以及异类样本对象在不同模态数据下表现出的数据特征进行相互学习的方式,解决了现有技术中实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换的问题,从而有效地提高了跨模态检索模型的跨模态检索灵活度。
下面对本申请实施例提供的一种跨模态检索模型的训练方法、装置、设备及存储介质,进行详细介绍。
参照图1所示,图1示出了本申请实施例所提供的一种跨模态检索模型的训练方法的流程示意图,所述训练方法包括步骤S101-S104;具体的:
S101,针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到所述第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征。
需要说明的是,对于同批次训练样本中包括的样本对象的数量(也即同批次训练样本的样本数量),本申请实施例同样不作任何限定。
这里,上述样本对象所属的具体实体类型可以根据跨模态检索模型的实际应用场景确定;对于上述样本对象所属的具体实体类型,本申请实施例不作任何限定。
具体的,当训练好的跨模态检索模型用于搜索引擎中时,则基于搜索引擎对于检索对象并没有实体类型限定范围的特殊要求,此时,可以获取各类不同类型的实体对象作为上述样本对象;例如,可以获取不同种类的动物、植物、生活物品(如,桌椅、电脑、手机等)、交通工具(如、轿车、轮船、火车等)等各种不同类型的实体对象作为上述样本对象。
具体的,当训练好的跨模态检索模型用于诸如车辆检索/行人重识别等在一定类型的实体对象范围内进行的检索场景时,此时,可以在该检索场景内可能出现的一定类型的实体对象范围内选取上述样本对象;例如,以车辆检索为例,则可以获取各种不同类型的车辆(如、轿车、摩托车、自行车等)作为上述样本对象。
这里,上述第一模态数据可以是样本对象的文本数据,也可以是样本对象的图像数据,还可以是样本对象的音频数据,对于上述第一模态数据所属的具体数据类型,本申请实施例不作任何限定。
需要说明的是,初始模型内的第一特征提取子网络用于对同批次训练样本中每个样本对象的第一模态数据进行特征提取,也即,上述第一特征提取子网络的具体网络结构是根据第一模态数据所属的数据类型确定的,对于上述第一特征提取子网络的具体网络结构,本申请实施例不作任何限定。
示例性的说明,以上述第一模态数据是样本对象的图像数据为例,作为一可选实施例,以上述第一特征提取子网络内包含7个卷积层为例,则上述第一特征提取子网络的具体结构可以是:第1卷积层→最大池化层→第2卷积层→第3卷积层→第4卷积层→第5卷积层→第6卷积层→第7卷积层;其中,第2卷积层的输入与第4卷积层的输出残差连接;第5卷积层的输入与第7卷积层的输出残差连接;第1卷积层的卷积核大小为7×7,数量为64,步长为2;上述最大池化层的池化窗口大小为3×3,步长为2;第2、4、5和7卷积层的卷积核大小为1×1,数量分别为64、256、128和512,步长为1;第3和6卷积层的卷积核大小为3×3,数量分别为128和256,步长为2。
S102,将每个样本对象的第二模态数据输入至所述初始模型内的第二特征提取子网络中,得到所述第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征。
这里,第二模态数据用于表征与第一模态数据不同的数据;其中,作为一可选实施例,第二模态数据可以是与第一模态数据属于不同类型的数据,例如,第一模态数据属于文本数据,第二模态数据属于图像数据;作为另一可选实施例,第二模态数据还可以是与第一模态数据属于数据参数不同的同一类型数据,例如,第一模态数据属于包含三个颜色通道的参数信息在内的RGB图像,第二模态数据则属于只包含单通道参数的Infrared(红外线的)图像。基于此,对于上述第二模态数据所属的具体数据类型,本申请实施例同样不作任何限定。
需要说明的是,与上述第一特征提取子网络类似,初始模型内的第二特征提取子网络用于对同批次训练样本中每个样本对象的第二模态数据进行特征提取,也即,上述第二特征提取子网络的具体网络结构是根据第二模态数据所属的数据类型确定的,对于上述第二特征提取子网络的具体网络结构,本申请实施例不作任何限定。
具体的,以第一模态数据属于RGB图像,第二模态数据属于Infrared图像为例,则第二特征提取子网络的具体结构可以与上述步骤S101的示例内容中给出的第一特征提取子网络的具体结构相同,重复之处在此不再赘述。
S103,根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、所述多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、所述多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及所述多个样本对象在不同模态数据下表现出的群体特征差异。
这里,基于上述步骤S101-S102的实施,可以得到同批次多个样本对象中,每一个样本对象的第一模态特征和第二模态特征,基于此,针对每一个样本对象,根据该样本对象的第一模态特征与第二模态特征之间的特征差异,即可确定出上述第一数据特征差异。
这里,针对每一个样本对象,根据该样本对象的第一模态特征与同类样本对象(即多个样本对象中与该样本对象属于同一实体类型的样本对象)的第二模态特征之间的特征差异,以及该样本对象的第二模态特征与上述同类样本对象的第一模态特征之间的特征差异,即可确定出上述第二数据特征差异。
这里,针对每一个样本对象,根据该样本对象的第一模态特征与异类样本对象(即多个样本对象中与该样本对象属于不同实体类型的样本对象)的第二模态特征之间的特征差异,以及该样本对象的第二模态特征与上述异类样本对象的第一模态特征之间的特征差异,即可确定出上述第三数据特征差异。
这里,针对同批次训练样本(即上述多个样本对象),基于多个样本对象的第一模态特征构成的多个样本对象在第一模态数据下表现出的第一群体特征差异,以及多个样本对象的第二模态特征构成的多个样本对象在第二模态数据下表现出的第二群体特征差异,即可确定出上述群体特征差异。
需要说明的是,与上述样本对象所属的具体实体类型相似,上述同类样本对象以及异类样本对象的具体划分方式同样可以根据跨模态检索模型的实际应用场景确定;对于上述同类样本对象以及异类样本对象的具体划分方式,本申请实施例不作任何限定。
具体的,当训练好的跨模态检索模型用于搜索引擎中时,则基于搜索引擎对于检索对象并没有实体类型限定范围的特殊要求,此时,可以基于粗粒度的划分层次对于样本对象是否属于同类进行划分;例如,可以将轿车、轮船、火车等样本对象都划分为“交通工具”这一实体类型下的同类样本对象,将动物类的样本对象与植物等关联程度低的其他样本对象划分为异类样本对象。
具体的,当训练好的跨模态检索模型用于诸如车辆检索/行人重识别等在一定类型的实体对象范围内进行的检索场景时,此时,可以基于细粒度的划分层次对于样本对象是否属于同类进行划分;例如,以车辆检索为例,则可以将不同品牌/不同车型的私家车都划分为“轿车”这一实体类型下的同类样本对象,而将轿车类的样本对象与摩托车、自行车等其他类型的车辆划分为异类样本对象。
S104,根据所述第一数据特征差异、所述第二数据特征差异、所述第三数据特征差异以及所述群体特征差异,对所述初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
这里,在本申请实施例中,作为一可选实施例,可以按照以下步骤a1-a4所示的步骤来执行上述步骤S104,具体的:
步骤a1、针对每一样本对象,根据该样本对象在不同模态数据下表现出的第一数据特征差异,确定该样本对象在不同模态数据下表现出的数据特征与该样本对象所属的实体类型之间的分类预测损失。
具体的,关于上述步骤a1中的第一数据特征差异的解释,可以参见上述S103中的相关说明内容,重复之处在此不再赘述。
步骤a2、针对每一样本对象,根据该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异,以及该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异,确定该样本对象与不同模态数据下的同类样本对象以及不同模态数据下的异类样本对象之间的跨模态三元组损失。
这里,上述第一样本对象用于表征所述多个样本对象中与该样本对象属于同一实体类型的样本对象;上述第二样本对象用于表征所述多个样本对象中与该样本对象属于不同实体类型的样本对象。
具体的,关于上述步骤a2中的第二数据特征差异的解释,以及关于同类样本对象以及异类样本对象的具体划分方式,都可以参见上述S103中的相关说明内容,重复之处在此不再赘述。
步骤a3、针对所述多个样本对象,根据所述多个样本对象在第一模态数据下表现出的第一群体特征差异以及所述多个样本对象在第二模态数据下表现出的第二群体特征差异,确定所述第一群体特征差异与所述第二群体特征差异之间的互学习损失。
具体的,关于上述步骤a3中的第一群体特征差异以及第二群体特征差异的解释,可以参见上述S103中的相关说明内容,重复之处在此不再赘述。
步骤a4、根据每个样本对象对应的所述分类预测损失、每个样本对象对应的所述跨模态三元组损失以及所述多个样本对象对应的所述互学习损失,调整所述初始模型的模型参数,直至所述初始模型达到收敛。
具体的,针对同批次的训练样本,可以将每个样本对象对应的所述分类预测损失、每个样本对象对应的所述跨模态三元组损失以及所述多个样本对象对应的所述互学习损失的损失和值,作为初始模型的模型损失,从而在初始模型的模型训练过程中,基于上述的损失和值,对初始模型的模型参数(如每个特征提取子网络的权重系数等)进行调整,直至初始模型达到收敛(如上述损失和值达到最小),从而将达到收敛的初始模型作为训练好的跨模态检索模型。
基于此,在初始模型的训练过程中,基于同一样本对象在不同模态数据下表现出的第一数据特征差异,可以训练初始模型学习如何对同一样本对象在不同模态下的特征进行辨别;基于上述第二数据特征差异与上述第三数据特征差异,则可以训练初始模型学习如何拉近同类样本对象不同模态特征之间的特征距离以及如何远离异类样本对象不同模态特征之间的特征距离;基于上述群体特征差异,则可以训练初始模型学习多个样本对象在不同模态数据下表现出的整体性特征差异;从而本申请实施例通过训练模型对于同类样本对象以及异类样本对象在不同模态数据下表现出的数据特征进行相互学习的方式,解决了现有技术中实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换的问题,从而有效地提高了跨模态检索模型的跨模态检索灵活度。
这里,针对上述步骤S101-S104需要说明的是:在本申请实施例中,初始模型内可以包括多个不同的特征提取子网络,其中,每个特征提取子网络用于对样本对象的一种模态数据进行提取;也即,初始模型内包括的特征提取子网络的数量可以根据用户对于跨模态检索中需要使用的不同模态数据的种类确定;上述步骤S101-S104中仅是以两种不同模态数据为例进行的具体说明,对于初始模型内包括的特征提取子网络的数量,本申请实施例不作任何限定。
下面针对上述各步骤在本申请实施例中的具体实施过程,分别进行详细说明:
针对上述步骤S101-S102的具体实施过程,结合上述步骤S102中给出的第二模态数据与第一模态数据之间可能存在的两种数据划分方式,对于上述初始模型的具体模型结构可以按照以下两种方式进行设定,具体的:
1、当第一模态数据与第二模态数据属于不同类型的数据时,此时,作为一可选实施例,可以确定所述第一特征提取子网络与所述第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数不共享的方式进行训练。
具体的,当第一模态数据与第二模态数据属于不同类型的数据时(如,第一模态数据属于文本数据,第二模态数据属于图像数据),此时,第一特征提取子网络在提取第一模态特征(如文本特征)时对于第一模态数据中的关注点与第二特征提取子网络在提取第二模态特征(如图像特征)时对于第二模态数据中的关注点是不同的(相当于关注点之间的差异高于一定阈值)。基于此,在设定上述初始模型的具体模型结构时,可以按照第一特征提取子网络与第二特征提取子网络互相独立的结构进行设定,从而使得第一特征提取子网络与第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数不共享的方式进行训练。
2、当第一模态数据与第二模态数据属于数据参数不同的同一类型数据时,此时,作为另一可选实施例,则可以确定第一特征提取子网络与第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数共享的方式进行训练。
具体的,当第一模态数据与第二模态数据属于数据参数不同的同一类型数据时(如,第一模态数据属于RGB图像,第二模态数据属于Infrared红外图像),此时,第一特征提取子网络在提取第一模态特征(如RGB图像的图像特征)时对于第一模态数据中的关注点与第二特征提取子网络在提取第二模态特征(如红外图像的图像特征)时对于第二模态数据中的关注点是相似的(相当于关注点之间的差异低于一定阈值)。基于此,在设定上述初始模型的具体模型结构时,可以按照将第一特征提取子网络与第二特征提取子网络分别与一个共享参数子网络进行串联,从而使得第一特征提取子网络与第二特征提取子网络在跨模态检索模型的模型训练过程中可以按照参数共享的方式进行训练。
示例性的说明,以第一模态数据属于RGB图像,第二模态数据属于Infrared红外图像为例,若第一特征提取子网络以及第二特征提取子网络的具体结构与上述步骤S101的示例内容中给出的第一特征提取子网络的具体结构相同,则作为一可选实施例,与第一特征提取子网络和第二特征提取子网络分别进行串联的上述共享参数子网络内可以包含:串行排布的多个卷积层和注意力模块,其中,注意力模块包含有串行排布的特征采样层、归一化层和多个卷积层,以上述串行排布的多个卷积层的具体数量是6个为例,则该共享参数子网络的具体结构可以是:第1卷积层→第2卷积层→第3卷积层→第4卷积层→第5卷积层→第6卷积层,其中,第1、3、4和6卷积层的卷积核大小为1×1,数量分别为256、1024、512和2048,步长为1;第2和3卷积层的卷积核大小为3×3,数量分别为256和512,步长为2;此时,该共享参数子网络中的注意力模块可以包含两个卷积层,其中,注意力模块中的第1卷积层的卷积核大小为3×3,数量为1,步长为1;注意力模块中的第2卷积层的卷积核大小为1×1,数量为1,步长为1。
需要说明的是,上述共享参数子网络的具体结构仅用作示例,对于上述共享参数子网络的具体结构,本申请实施例不作任何限定。
针对上述步骤S103-S104的具体实施过程,结合上述步骤S104中给出的步骤a1-a4,对于上述涉及的各种数据特征差异以及各类损失的具体确定方式,进行详细说明如下:
1、针对上述第一数据特征差异,参照图2所示,图2示出了本申请实施例所提供的一种计算同一样本对象在不同模态数据下的分类预测损失的方法的流程示意图,在执行上述步骤S104时,该方法包括步骤S201-S203;具体的:
S201,基于所述第一特征提取子网络输出的该样本对象的第一模态特征,对该样本对象所属的实体类型进行分类预测,得到该样本对象的第一分类预测结果。
这里,该样本对象所属的实体类型可以基于该批次训练样本中对于每一样本对象的实体类型标签确定,例如,若样本对象i对应的实体类型标签yi为车辆,则可以确定样本对象i所属的实体类型为“车辆”。
具体的,对于上述实体类型的具体标注方式可以参见上述步骤S103中针对同类样本对象或者异类样本对象的粗粒度划分方式以及细粒度划分方式,重复之处在此不再赘述。
S202,基于所述第二特征提取子网络输出的该样本对象的第二模态特征,对该样本对象所属的实体类型进行分类预测,得到该样本对象的第二分类预测结果。
这里,步骤S202的实施方式与上述步骤S201相同,重复之处在此不再赘述。
S203,根据所述第一分类预测结果与真实分类结果之间的第一分类损失以及所述第二分类预测结果与所述真实分类结果之间的第二分类损失,将所述第一分类损失与所述第二分类损失的和值作为该样本对象对应的所述分类预测损失。
这里,所述真实分类结果用于表征该样本对象所属的实体类型。
需要说明的是,在计算上述第一分类损失以及上述第二分类损失时,可以使用模型在进行多分类预测时任意一种常用的损失函数(如,softmax函数、多类别交叉熵损失函数等)进行计算,对于计算上述第一分类损失以及上述第二分类损失时所使用的具体损失函数类型,本申请实施例不作任何限定。
这里,以使用交叉熵损失函数为例,可以按照以下公式所示的计算方式,计算上述分类预测损失,具体的:
其中,n用于表征该批次训练样本中共包括n个样本对象,i的取值为1~n;
xi用于表征第i个样本对象的第一模态特征;
zi用于表征第i个样本对象的第二模态特征;
yi用于表征第i个样本对象所属的实体类型;
p(yi|xi)用于表征第i个样本对象的第一分类预测结果;
p(yi|zi)用于表征第i个样本对象的第二分类预测结果;
Lc用于表征第i个样本对象的分类预测损失。
2、针对上述第二数据特征差异,参照图3所示,图3示出了本申请实施例所提供的一种确定该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异的方法的流程示意图,在执行上述步骤S103时,该方法包括步骤S301-S304;具体的:
S301,针对该样本对象,根据该样本对象所属的实体类型,从所述多个样本对象中,随机抽取一个与该样本对象属于同一实体类型的样本对象作为所述第一样本对象。
示例性的说明,以当前的第i个样本对象属于“车辆”这一实体类型为例,则可以从同批次的n个样本对象中,随机抽取一个同属于“车辆”这一实体类型的样本对象j作为上述第一样本对象。
S302,根据所述第一特征提取子网络输出的该样本对象的第一模态特征以及所述第二特征提取子网络输出的所述第一样本对象的第二模态特征,计算该样本对象的第一模态特征与所述第一样本对象的第二模态特征之间的特征距离,得到该样本对象与所述第一样本对象的第一同类特征距离。
需要说明的是,上述该样本对象的第一模态特征与所述第一样本对象的第二模态特征之间的特征距离用于表征同类样本对象在不同模态数据下表现出的特征差异(也即相似度大小),基于此,在计算上述第一同类特征距离时,可以使用任意一种能够表征两种特征之间相似度大小的特征距离计算方式(如,欧式距离、马氏距离等),对于上述第一同类特征距离的具体计算方式,本申请实施例不作任何限定。
S303,根据所述第二特征提取子网络输出的该样本对象的第二模态特征以及所述第一特征提取子网络输出的所述第一样本对象的第一模态特征,计算该样本对象的第二模态特征与所述第一样本对象的第一模态特征之间的特征距离,得到该样本对象与所述第一样本对象的第二同类特征距离。
需要说明的是,与上述第一同类特征距离的计算方式类似,对于上述第二同类特征距离的具体计算方式,本申请实施例同样不作任何限定。
S304,将所述第一同类特征距离以及所述第二同类特征距离作为该样本对象与所述第一样本对象在不同模态数据下表现出的第二数据特征差异。
这里,以使用欧式距离(也即欧几里得距离)进行特征距离之间的计算为例,可以按照以下公式所示的计算方式,计算上述第一同类特征距离以及上述第二同类特征距离,具体的:
第一同类特征距离=D(xi,zj);
其中,D(x)用于表征欧式距离计算公式,xi用于表征第i个样本对象的第一模态特征,zj用于表征第j个样本对象的第二模态特征,第j个样本对象与第i个样本对象属于同一实体类型;
第二同类特征距离=D(zi,xj);
其中,zi用于表征第i个样本对象的第二模态特征,xj用于表征第j个样本对象的第一模态特征。
3、针对上述第三数据特征差异,在第一种可选实施方式中,仍然可以随机抽取一个与该样本对象属于不同实体类型的样本对象作为所述第二样本对象,从而按照与上述步骤S301-S304相类似的方法,计算该样本对象的第二模态特征与所述第二样本对象的第一模态特征之间的特征距离,得到该样本对象与所述第二样本对象的第一异类特征距离,计算该样本对象的第二模态特征与所述第二样本对象的第一模态特征之间的特征距离,得到该样本对象与所述第二样本对象的第二异类特征距离,从而将计算得到上述第一异类特征距离以及上述第二异类特征距离作为该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异。
在第二种可选实施方式中,参照图4所示,图4示出了本申请实施例所提供的一种确定该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异的方法的流程示意图,在执行上述步骤S103时,该方法包括步骤S401-S404;具体的:
S401,针对该样本对象,根据该样本对象所属的实体类型,从所述多个样本对象中,确定与该样本对象属于不同实体类型的每一个样本对象作为目标样本对象。
示例性的说明,以当前的第i个样本对象属于“车辆”这一实体类型为例,若同批次的n个样本对象中,有5个不属于“车辆”这一实体类型的样本对象,则确定这5个样本对象都属于第i个样本对象对应的上述目标样本对象。
S402,针对每一所述目标样本对象,根据所述第一特征提取子网络输出的该样本对象的第一模态特征以及所述第二特征提取子网络输出的该目标样本对象的第二模态特征,计算该样本对象的第一模态特征与该目标样本对象的第二模态特征之间的特征距离,得到该样本对象与该目标样本对象的第三特征距离。
需要说明的是,与上述第一同类特征距离的计算方式类似,对于上述第第三特征距离的具体计算方式,本申请实施例同样不作任何限定。
具体的,以欧式距离进行特征距离计算为例,可以按照以下公式所示的计算方式,计算上述第三特征距离,具体的:
第三特征距离=D(xi,zk);
其中,D(x)用于表征欧式距离计算公式,xi用于表征第i个样本对象的第一模态特征,zk用于表征第k个样本对象的第二模态特征,第k个样本对象与第i个样本对象属于不同实体类型。
S403,根据所述第二特征提取子网络输出的该样本对象的第二模态特征以及所述第一特征提取子网络输出的该目标样本对象的第一模态特征,计算该样本对象的第二模态特征与该目标样本对象的第一模态特征之间的特征距离,得到该样本对象与该目标样本对象的第四特征距离。
需要说明的是,与上述第一同类特征距离的计算方式类似,对于上述第第四特征距离的具体计算方式,本申请实施例同样不作任何限定。
这里,以欧式距离进行特征距离计算为例,可以按照以下公式所示的计算方式,计算上述第四特征距离,具体的:
第四特征距离=D(zi,xk);
其中,D(x)用于表征欧式距离计算公式,zi用于表征第i个样本对象的第二模态特征,xk用于表征第k个样本对象的第一模态特征。
S404,以该样本对象与每个所述目标样本对象的第三特征距离中的最小值作为第一异类特征距离,以该样本对象与每个所述目标样本对象的第四特征距离中的最小值作为第二异类特征距离,将所述第一异类特征距离以及所述第二异类特征距离作为该样本对象与所述第二样本对象在不同模态数据下表现出的第三数据特征差异。
4、针对上述的跨模态三元组损失,结合上述步骤S301-S304所示的计算第二数据特征差异的方法以及上述步骤S401-S404所示的计算第三数据特征差异的方法,参照图5所示,图5示出了本申请实施例所提供的一种计算跨模态三元组损失的方法的流程示意图,在执行上述步骤S104时,该方法包括步骤S501-S503;具体的:
S501,计算第一预设边界阈值与所述第一同类特征距离之间的第一和值,并将所述第一和值与所述第一异类特征距离之间的差值作为第一目标差值。
这里,第一预设边界阈值用于表征在以第一模态数据作为检索用的查询数据,对样本对象的第二模态数据进行数据检索时所对应的预设边界阈值;其中,第一预设边界阈值的初始值可以根据模型的实际检索需求进行设置,第一预设边界阈值属于初始模型在训练过程中需要进行调整的模型参数之一。
S502,计算第二预设边界阈值与所述第二同类特征距离之间的第二和值,并将所述第二和值与所述第二异类特征距离之间的差值作为第二目标差值。
这里,第二预设边界阈值用于表征在以第二模态数据作为检索用的查询数据,对样本对象的第一模态数据进行数据检索时所对应的预设边界阈值;其中,第二设边界阈值的初始值也可以根据模型的实际检索需求进行设置,第二预设边界阈值也属于初始模型在训练过程中需要进行调整的模型参数之一。
S503,以所述第一目标差值与指定参数中的最大值作为该样本对象在第一模态数据下的第一跨模态损失,以所述第二目标差值与所述指定参数中的最大值作为该样本对象在第二模态数据下的第二跨模态损失,将所述第一跨模态损失与所述第二跨模态损失的和值作为该样本对象对应的所述跨模态三元组损失。
需要说明的是,上述指定参数的具体参数取值可以根据模型的实际检索需求进行设置(通常情况下可以设置为0),对于上述指定参数的具体参数取值本申请实施例不作任何限定。
这里,以欧式距离进行特征距离计算为例,当上述指定参数为0时,则可以按照以下公式所示的计算方式,计算上述跨模态三元组损失,具体的:
其中,Lc_trip用于表征第i个样本对象对应的跨模态三元组损失;
ρ1用于表征上述第一预设边界阈值;
ρ2用于表征上述第二预设边界阈值;
D(xi,zi)用于表征第i个样本对象对应的第一同类特征距离;
D(zi,xj)用于表征第i个样本对象对应的第二同类特征距离;
5、针对上述的第一群体特征差异以及上述的第二群体特征差异,参照图6所示,图6示出了本申请实施例所提供的一种确定第一群体特征差异以及第二群体特征差异的方法的流程示意图,在执行上述步骤S103时,该方法包括步骤S601-S604;具体的:
S601,针对所述多个样本对象,以每个样本对象的所述第一分类预测结果作为顶点,以每个样本对象的第一模态特征作为每一顶点的顶点属性,构建所述多个样本对象在第一模态数据下的第一邻接矩阵。
具体的,以当前批次的训练样本中包含n个样本对象为例,将n个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,可以得到n个样本对象各自的第一模态特征,进而可以基于每个样本对象的第一模态特征,对每个样本对象所属的实体类型进行分类预测,得到n个样本对象各自的第一分类预测结果p1。
基于此,以n个样本对象各自的第一分类预测结果p1作为顶点,以n个样本对象各自的第一模态特征作为n个顶点各自的对应的顶点属性,可以构建这n个样本对象在第一模态数据下的第一邻接矩阵A1;其中,在第一邻接矩阵A1中,任意两个顶点之间的连线可以用于表征这两个顶点对应的样本对象是否属于同一实体类型。
S602,以每个样本对象的所述第二分类预测结果作为顶点,以每个样本对象的第二模态特征作为每一顶点的顶点属性,构建所述多个样本对象在第二模态数据下的第二邻接矩阵。
具体的,仍以当前批次的训练样本中包含n个样本对象为例,将n个样本对象的第二模态数据输入至初始模型内的第二特征提取子网络中,可以得到n个样本对象各自的第二模态特征,进而可以基于每个样本对象的第二模态特征,对每个样本对象所属的实体类型进行分类预测,得到n个样本对象各自的第二分类预测结果p2。
基于此,以n个样本对象各自的第二分类预测结果p2作为顶点,以n个样本对象各自的第二模态特征作为n个顶点各自的对应的顶点属性,可以构建这n个样本对象在第二模态数据下的第二邻接矩阵A2;其中,在第二邻接矩阵A2中,任意两个顶点之间的连线仍然可以用于表征这两个顶点对应的样本对象是否属于同一实体类型。
S603,将所述第一邻接矩阵在图结构下表现出的图结构特征作为所述多个样本对象在第一模态数据下表现出的所述第一群体特征差异。
S604,将所述第二邻接矩阵在图结构下表现出的图结构特征作为所述多个样本对象在第二模态数据下表现出的所述第二群体特征差异。
这里,基于上述步骤S601-S604所示的第一群体特征差异以及第二群体特征差异,在本申请实施例中,作为一可选实施例,可以按照以下公式所示的计算方式,计算所述第一群体特征差异与所述第二群体特征差异之间的互学习损失,具体的:
1、两种基于图结构的特征表示为H1(即第一邻接矩阵在图结构下表现出的图结构特征,也即上述第一群体特征差异)和H2(即第二邻接矩阵在图结构下表现出的图结构特征,也即上述第二群体特征差异),它们可以通过如下所示的方式计算得到:
其中,D1用于表征第一邻接矩阵A1的对角度矩阵;
D2用于表征第二邻接矩阵A2的对角度矩阵;
F1用于表征在计算H1时图卷积上层的特征;
F2用于表征在计算H2时图卷积上层的特征;
L可以设置为1。
2、为了缩小两种模态数据之间的模态差异,可以设计最大化互信息的损失函数LHOL(也即用于计算第一群体特征差异H1与第二群体特征差异H2之间的互学习损失的具体损失函数)如下:
LHOL=-I(H1,H2)
f(x)用于表征余弦相似度函数;
I(x)用于表征两种模态数据(即第一模态数据与第二模态数据)分布的互信息,其中,相同类别下两种模态数据对应的互信息大,不同类别下两种模态数据对应的互信息小;
E(x)用于表征交叉熵函数。
本申请实施例提供的上述跨模态检索模型的训练方法,针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征;将每个样本对象的第二模态数据输入至初始模型内的第二特征提取子网络中,得到第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征;根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及多个样本对象在不同模态数据下表现出的群体特征差异;根据第一数据特征差异、第二数据特征差异、第三数据特征差异以及群体特征差异,对初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
通过这种方式,本申请以通过训练模型对于同类样本对象以及异类样本对象在不同模态数据下表现出的数据特征进行相互学习的方式,解决了现有技术中实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换的问题,从而有效地提高了跨模态检索模型的跨模态检索灵活度。
本申请实施例中,在训练好上述跨模态检索模型之后,在该跨模态检索模型的应用阶段,本申请实施例还提供了如下的跨模态检索方法,具体的:
参照图7所示,图7示出了本申请实施例所提供的第一种跨模态检索方法的流程示意图,该方法包括步骤S701-S703;具体的:
S701,将多个检索对象的第一样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第一模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第一模态特征。
这里,上述第一样本数据中包括:每一所述检索对象的第一模态数据、第一检索对象的第二模态数据以及第二检索对象的第二模态数据;所述第一检索对象与所述检索对象属于同一实体类型,所述第二检索对象与所述检索对象属于不同实体类型。
具体的,跨模态检索模型可以基于训练好的第一特征提取子网络对输入的第一样本数据中的每一所述检索对象的第一模态数据进行特征提取,得到每一所述检索对象的第一模态特征;基于训练好的第二特征提取子网络对输入的第一样本数据中的每个第一检索对象的第二模态数据以及每个第二检索对象的第二模态数据进行特征提取,得到每个第一检索对象的第二模态特征以及每个第二检索对象的第二模态特征。
需要说明的是,跨模态检索模型对于上述第一样本数据的数据处理方式,可以参照上述步骤S101-S102所示的特征提取方式,重复之处在此不再赘述。
需要说明的是,所述跨模态检索模型是根据上述步骤S101-S104的方式进行训练之后得到的;对于跨模态检索模型的具体训练过程可以参照前述各步骤的具体实施过程,重复之处在此不再赘述。
S702,将目标对象的第二模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第二模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第二模态特征。
这里,上述目标对象用于表征模型应用阶段实际需要进行检索的实体对象,对于上述目标对象所属的实体类型,本申请实施例同样不作任何限定。
需要说明的是,与上述多个检索对象需要输入的第一样本数据不同,这里,只需要输入目标对象的第二模态数据即可,而不需要像上述第一样本数据所示的跨模态三元组的形式一样进行数据输入;例如,以第二模态数据是图像数据为例,则只需要将目标对象的单帧图像数据作为目标对象的第二模态数据输入至所述跨模态检索模型中即可。
S703,以所述目标对象的第二模态特征作为第一检索数据特征,以每一所述检索对象的第一模态特征作为第一索引数据特征,通过所述跨模态检索模型对所述第一检索数据特征与每一所述第一索引数据特征之间的相似度进行计算,输出相似度计算结果符合检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
这里,在计算上述第一检索数据特征与每一所述第一索引数据特征之间的相似度时,可以通过计算上述第一检索数据特征与每一所述第一索引数据特征之间的欧氏距离,来得到上述第一检索数据特征与每一所述第一索引数据特征之间的相似度;也可以通过计算上述第一检索数据特征与每一所述第一索引数据特征之间的马氏距离等其他特征距离计算方式,来得到上述第一检索数据特征与每一所述第一索引数据特征之间的相似度,对于具体的相似度计算方式,本申请实施例不作任何限定
具体的,在执行上述步骤S703时,在第一种可选的实施方式中,可以根据所述第一检索数据特征与每一所述第一索引数据特征之间的相似度计算结果,从全部的所述检索对象中,确定相似度计算结果大于或者等于预设相似度阈值的检索对象作为符合所述检索展示条件的检索对象。
在第二种可选的实施方式中,还可以根据所述第一检索数据特征与每一所述第一索引数据特征之间的相似度计算结果,按照所述相似度计算结果由高到低的顺序,输出每一所述检索对象的第一模态数据作为针对所述目标对象的跨模态检索结果。
针对上述步骤S701-S703的具体实施过程,需要说明的是,上述步骤S701-S703所示的是:当使用第二模态数据作为实际检索时使用的查询数据,使用第一模态数据作为检索数据库的索引数据时,如何利用预先训练好的上述跨模态检索模型对目标对象进行第二模态数据-第一模态数据之间的跨模态检索的过程。
由于本申请中训练好的跨模态检索模型能够解决现有技术中实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换的问题,在此基础上,参照图8所示,图8示出了本申请实施例所提供的第二种跨模态检索方法的流程示意图,该方法包括步骤S801-S803;具体的:
S801,将多个所述检索对象的第二样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第二模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第二模态特征。
这里,所述第二样本数据中包括:每一所述检索对象的第二模态数据、所述第一检索对象的第一模态数据以及所述第二检索对象的第一模态数据。
具体的,上述步骤S801的具体实施过程与上述步骤S701相似,重复之处在此不再赘述。
S802,将所述目标对象的第一模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第一模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第一模态特征。
具体的,上述步骤S802的具体实施过程与上述步骤S702相似,重复之处在此不再赘述。
S803,以所述目标对象的第一模态特征作为第二检索数据特征,以每一所述检索对象的第二模态特征作为第二索引数据特征,通过所述跨模态检索模型对所述第二检索数据特征与每一所述第二索引数据特征之间的相似度进行计算,输出相似度计算结果符合所述检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
具体的,上述步骤S803的具体实施过程与上述步骤S703相似,重复之处在此不再赘述。
基于此,根据本申请实施例提供的上述步骤S701-S703以及上述步骤S801-S803所示的两种跨模态检索方法,在针对目标对象进行实际检索时,利用预先训练好的上述跨模态检索模型,既可以使用目标对象的第一模态数据作为检索用的查询数据,使用第二模态数据作为检索数据库的索引数据,对目标对象进行第一模态数据-第二模态数据之间的跨模态检索;还可以使用目标对象的第二模态数据作为检索用的查询数据,使用第一模态数据作为检索数据库的索引数据,对目标对象进行第二模态数据-第一模态数据之间的跨模态检索;从而解决了现有技术中实际检索时能够使用的查询数据以及索引数据的数据类型不可以进行互换的问题,有效地提高了跨模态检索模型的跨模态检索灵活度。
基于同一发明构思,本申请实施例中还提供了与上述实施例中跨模态检索模型的训练方法对应的跨模态检索模型的训练装置,由于本申请实施例中的训练装置解决问题的原理与本申请上述实施例中的训练方法相似,因此,训练装置的实施可以参见前述训练方法的实施,重复之处不再赘述。
参照图9所示,图9示出了本申请实施例提供的一种跨模态检索模型的训练装置的结构示意图;所述训练装置包括:
第一提取模块901,用于针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到所述第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征;
第二提取模块902,用于将每个样本对象的第二模态数据输入至所述初始模型内的第二特征提取子网络中,得到所述第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征;
第一确定模块903,用于根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、所述多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、所述多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及所述多个样本对象在不同模态数据下表现出的群体特征差异;
参数调整模块904,用于根据所述第一数据特征差异、所述第二数据特征差异、所述第三数据特征差异以及所述群体特征差异,对所述初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
在一种可选的实施方式中,参数调整模块904,具体用于:
针对每一样本对象,根据该样本对象在不同模态数据下表现出的第一数据特征差异,确定该样本对象在不同模态数据下表现出的数据特征与该样本对象所属的实体类型之间的分类预测损失;
针对每一样本对象,根据该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异,以及该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异,确定该样本对象与不同模态数据下的同类样本对象以及不同模态数据下的异类样本对象之间的跨模态三元组损失;其中,所述第一样本对象用于表征所述多个样本对象中与该样本对象属于同一实体类型的样本对象;所述第二样本对象用于表征所述多个样本对象中与该样本对象属于不同实体类型的样本对象;
针对所述多个样本对象,根据所述多个样本对象在第一模态数据下表现出的第一群体特征差异以及所述多个样本对象在第二模态数据下表现出的第二群体特征差异,确定所述第一群体特征差异与所述第二群体特征差异之间的互学习损失;
根据每个样本对象对应的所述分类预测损失、每个样本对象对应的所述跨模态三元组损失以及所述多个样本对象对应的所述互学习损失,调整所述初始模型的模型参数,直至所述初始模型达到收敛。
在一种可选的实施方式中,在所述根据该样本对象在不同模态数据下表现出的第一数据特征差异,确定该样本对象在不同模态数据下表现出的数据特征与该样本对象所属的实体类型之间的分类预测损失时,参数调整模块904,具体用于:
基于所述第一特征提取子网络输出的该样本对象的第一模态特征,对该样本对象所属的实体类型进行分类预测,得到该样本对象的第一分类预测结果;
基于所述第二特征提取子网络输出的该样本对象的第二模态特征,对该样本对象所属的实体类型进行分类预测,得到该样本对象的第二分类预测结果;
根据所述第一分类预测结果与真实分类结果之间的第一分类损失以及所述第二分类预测结果与所述真实分类结果之间的第二分类损失,将所述第一分类损失与所述第二分类损失的和值作为该样本对象对应的所述分类预测损失;其中,所述真实分类结果用于表征该样本对象所属的实体类型。
在一种可选的实施方式中,第一确定模块903,用于通过以下方法,确定该样本对象与所述第一样本对象在不同模态数据下表现出的第二数据特征差异:
针对该样本对象,根据该样本对象所属的实体类型,从所述多个样本对象中,随机抽取一个与该样本对象属于同一实体类型的样本对象作为所述第一样本对象;
根据所述第一特征提取子网络输出的该样本对象的第一模态特征以及所述第二特征提取子网络输出的所述第一样本对象的第二模态特征,计算该样本对象的第一模态特征与所述第一样本对象的第二模态特征之间的特征距离,得到该样本对象与所述第一样本对象的第一同类特征距离;
根据所述第二特征提取子网络输出的该样本对象的第二模态特征以及所述第一特征提取子网络输出的所述第一样本对象的第一模态特征,计算该样本对象的第二模态特征与所述第一样本对象的第一模态特征之间的特征距离,得到该样本对象与所述第一样本对象的第二同类特征距离;
将所述第一同类特征距离以及所述第二同类特征距离作为该样本对象与所述第一样本对象在不同模态数据下表现出的第二数据特征差异。
在一种可选的实施方式中,第一确定模块903,用于通过以下方法,确定该样本对象与所述第二样本对象在不同模态数据下表现出的第三数据特征差异:
针对该样本对象,根据该样本对象所属的实体类型,从所述多个样本对象中,确定与该样本对象属于不同实体类型的每一个样本对象作为目标样本对象;
针对每一所述目标样本对象,根据所述第一特征提取子网络输出的该样本对象的第一模态特征以及所述第二特征提取子网络输出的该目标样本对象的第二模态特征,计算该样本对象的第一模态特征与该目标样本对象的第二模态特征之间的特征距离,得到该样本对象与该目标样本对象的第三特征距离;
根据所述第二特征提取子网络输出的该样本对象的第二模态特征以及所述第一特征提取子网络输出的该目标样本对象的第一模态特征,计算该样本对象的第二模态特征与该目标样本对象的第一模态特征之间的特征距离,得到该样本对象与该目标样本对象的第四特征距离;
以该样本对象与每个所述目标样本对象的第三特征距离中的最小值作为第一异类特征距离,以该样本对象与每个所述目标样本对象的第四特征距离中的最小值作为第二异类特征距离,将所述第一异类特征距离以及所述第二异类特征距离作为该样本对象与所述第二样本对象在不同模态数据下表现出的第三数据特征差异。
在一种可选的实施方式中,在所述根据该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异,以及该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异,确定该样本对象与不同模态数据下的同类样本对象以及不同模态数据下的异类样本对象之间的跨模态三元组损失时,参数调整模块904,具体用于:
计算第一预设边界阈值与所述第一同类特征距离之间的第一和值,并将所述第一和值与所述第一异类特征距离之间的差值作为第一目标差值;
计算第二预设边界阈值与所述第二同类特征距离之间的第二和值,并将所述第二和值与所述第二异类特征距离之间的差值作为第二目标差值;
以所述第一目标差值与指定参数中的最大值作为该样本对象在第一模态数据下的第一跨模态损失,以所述第二目标差值与所述指定参数中的最大值作为该样本对象在第二模态数据下的第二跨模态损失,将所述第一跨模态损失与所述第二跨模态损失的和值作为该样本对象对应的所述跨模态三元组损失。
在一种可选的实施方式中,参数调整模块904,用于通过以下方法,确定所述多个样本对象在第一模态数据下表现出的第一群体特征差异以及所述多个样本对象在第二模态数据下表现出的第二群体特征差异:
针对所述多个样本对象,以每个样本对象的所述第一分类预测结果作为顶点,以每个样本对象的第一模态特征作为每一顶点的顶点属性,构建所述多个样本对象在第一模态数据下的第一邻接矩阵;
以每个样本对象的所述第二分类预测结果作为顶点,以每个样本对象的第二模态特征作为每一顶点的顶点属性,构建所述多个样本对象在第二模态数据下的第二邻接矩阵;
将所述第一邻接矩阵在图结构下表现出的图结构特征作为所述多个样本对象在第一模态数据下表现出的所述第一群体特征差异;
将所述第二邻接矩阵在图结构下表现出的图结构特征作为所述多个样本对象在第二模态数据下表现出的所述第二群体特征差异。
在一种可选的实施方式中,当所述第一模态数据与所述第二模态数据属于不同类型的数据时,则确定所述第一特征提取子网络与所述第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数不共享的方式进行训练;当所述第一模态数据与所述第二模态数据属于数据参数不同的同一类型数据时,则确定所述第一特征提取子网络与所述第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数共享的方式进行训练。
基于同一发明构思,本申请实施例中还提供了与上述实施例中跨模态检索方法对应的跨模态检索装置,由于本申请实施例中的跨模态检索装置解决问题的原理与本申请上述实施例中的跨模态检索方法相似,因此,跨模态检索装置的实施可以参见前述跨模态检索方法的实施,重复之处不再赘述。
参照图10所示,图10示出了本申请实施例提供的一种跨模态检索装置的结构示意图;所述跨模态检索装置包括:
第一索引提取模块1001,用于将多个检索对象的第一样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第一模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第一模态特征;其中,所述第一样本数据中包括:每一所述检索对象的第一模态数据、第一检索对象的第二模态数据以及第二检索对象的第二模态数据;所述第一检索对象与所述检索对象属于同一实体类型,所述第二检索对象与所述检索对象属于不同实体类型;
第一查询提取模块1002,用于将目标对象的第二模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第二模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第二模态特征;
第一检索模块1003,用于以所述目标对象的第二模态特征作为第一检索数据特征,以每一所述检索对象的第一模态特征作为第一索引数据特征,通过所述跨模态检索模型对所述第一检索数据特征与每一所述第一索引数据特征之间的相似度进行计算,输出相似度计算结果符合检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
在一种可选的实施方式中,所述跨模态检索装置还包括:
第二索引提取模块,用于将多个所述检索对象的第二样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第二模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第二模态特征;其中,所述第二样本数据中包括:每一所述检索对象的第二模态数据、所述第一检索对象的第一模态数据以及所述第二检索对象的第一模态数据;
第二查询提取模块,用于将所述目标对象的第一模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第一模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第一模态特征;
第二检索模块,用于以所述目标对象的第一模态特征作为第二检索数据特征,以每一所述检索对象的第二模态特征作为第二索引数据特征,通过所述跨模态检索模型对所述第二检索数据特征与每一所述第二索引数据特征之间的相似度进行计算,输出相似度计算结果符合所述检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
在一种可选的实施方式中,第一检索模块1003,用于通过以下方法,确定相似度计算结果符合所述检索展示条件的检索对象:
根据所述第一检索数据特征与每一所述第一索引数据特征之间的相似度计算结果,从全部的所述检索对象中,确定相似度计算结果大于或者等于预设相似度阈值的检索对象作为符合所述检索展示条件的检索对象。
在一种可选的实施方式中,在所述输出相似度计算结果符合检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果时,第一检索模块1003,还用于:
根据所述第一检索数据特征与每一所述第一索引数据特征之间的相似度计算结果,按照所述相似度计算结果由高到低的顺序,输出每一所述检索对象的第一模态数据作为针对所述目标对象的跨模态检索结果。
在一种可选的实施方式中,所述跨模态检索模型是根据上述实施例中任一所述可选的实施方式中的训练方法进行训练后得到的;重复之处在此不再赘述。
基于同一发明构思,如图11所示,本申请实施例提供了一种计算机设备1100,用于执行本申请中任一所述的跨模态检索模型的训练方法的步骤,或者执行上述任一所述的跨模态检索方法的步骤,该设备包括存储器1101、处理器1102及存储在该存储器1101上并可在该处理器1102上运行的计算机程序,其中,上述处理器1102执行上述计算机程序时实现上述任一所述的跨模态检索模型的训练方法的步骤,或者执行上述任一所述的跨模态检索方法的步骤。
具体地,上述存储器1101和处理器1102可以为通用的存储器和处理器,这里不做具体限定,当处理器1102运行存储器1101存储的计算机程序时,能够执行上述任一所述的跨模态检索模型的训练方法的步骤,或者执行上述任一所述的跨模态检索方法的步骤。
对应于本申请中任一所述的跨模态检索模型的训练方法的步骤,或者执行上述任一所述的跨模态检索方法的步骤,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一所述的跨模态检索模型的训练方法的步骤,或者执行上述任一所述的跨模态检索方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述任一所述的跨模态检索模型的训练方法的步骤,或者执行上述任一所述的跨模态检索方法的步骤。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种跨模态检索模型的训练方法,其特征在于,所述训练方法包括:
针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到所述第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征;
将每个样本对象的第二模态数据输入至所述初始模型内的第二特征提取子网络中,得到所述第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征;
根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、所述多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、所述多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及所述多个样本对象在不同模态数据下表现出的群体特征差异;
根据所述第一数据特征差异、所述第二数据特征差异、所述第三数据特征差异以及所述群体特征差异,对所述初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
2.根据权利要求1所述的训练方法,其特征在于,所述根据所述第一数据特征差异、所述第二数据特征差异、所述第三数据特征差异以及所述群体特征差异,对所述初始模型的模型参数进行调整,包括:
针对每一样本对象,根据该样本对象在不同模态数据下表现出的第一数据特征差异,确定该样本对象在不同模态数据下表现出的数据特征与该样本对象所属的实体类型之间的分类预测损失;
针对每一样本对象,根据该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异,以及该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异,确定该样本对象与不同模态数据下的同类样本对象以及不同模态数据下的异类样本对象之间的跨模态三元组损失;其中,所述第一样本对象用于表征所述多个样本对象中与该样本对象属于同一实体类型的样本对象;所述第二样本对象用于表征所述多个样本对象中与该样本对象属于不同实体类型的样本对象;
针对所述多个样本对象,根据所述多个样本对象在第一模态数据下表现出的第一群体特征差异以及所述多个样本对象在第二模态数据下表现出的第二群体特征差异,确定所述第一群体特征差异与所述第二群体特征差异之间的互学习损失;
根据每个样本对象对应的所述分类预测损失、每个样本对象对应的所述跨模态三元组损失以及所述多个样本对象对应的所述互学习损失,调整所述初始模型的模型参数,直至所述初始模型达到收敛。
3.根据权利要求2所述的训练方法,其特征在于,所述根据该样本对象在不同模态数据下表现出的第一数据特征差异,确定该样本对象在不同模态数据下表现出的数据特征与该样本对象所属的实体类型之间的分类预测损失,包括:
基于所述第一特征提取子网络输出的该样本对象的第一模态特征,对该样本对象所属的实体类型进行分类预测,得到该样本对象的第一分类预测结果;
基于所述第二特征提取子网络输出的该样本对象的第二模态特征,对该样本对象所属的实体类型进行分类预测,得到该样本对象的第二分类预测结果;
根据所述第一分类预测结果与真实分类结果之间的第一分类损失以及所述第二分类预测结果与所述真实分类结果之间的第二分类损失,将所述第一分类损失与所述第二分类损失的和值作为该样本对象对应的所述分类预测损失;其中,所述真实分类结果用于表征该样本对象所属的实体类型。
4.根据权利要求2所述的训练方法,其特征在于,通过以下方法,确定该样本对象与所述第一样本对象在不同模态数据下表现出的第二数据特征差异:
针对该样本对象,根据该样本对象所属的实体类型,从所述多个样本对象中,随机抽取一个与该样本对象属于同一实体类型的样本对象作为所述第一样本对象;
根据所述第一特征提取子网络输出的该样本对象的第一模态特征以及所述第二特征提取子网络输出的所述第一样本对象的第二模态特征,计算该样本对象的第一模态特征与所述第一样本对象的第二模态特征之间的特征距离,得到该样本对象与所述第一样本对象的第一同类特征距离;
根据所述第二特征提取子网络输出的该样本对象的第二模态特征以及所述第一特征提取子网络输出的所述第一样本对象的第一模态特征,计算该样本对象的第二模态特征与所述第一样本对象的第一模态特征之间的特征距离,得到该样本对象与所述第一样本对象的第二同类特征距离;
将所述第一同类特征距离以及所述第二同类特征距离作为该样本对象与所述第一样本对象在不同模态数据下表现出的第二数据特征差异。
5.根据权利要求4所述的训练方法,其特征在于,通过以下方法,确定该样本对象与所述第二样本对象在不同模态数据下表现出的第三数据特征差异:
针对该样本对象,根据该样本对象所属的实体类型,从所述多个样本对象中,确定与该样本对象属于不同实体类型的每一个样本对象作为目标样本对象;
针对每一所述目标样本对象,根据所述第一特征提取子网络输出的该样本对象的第一模态特征以及所述第二特征提取子网络输出的该目标样本对象的第二模态特征,计算该样本对象的第一模态特征与该目标样本对象的第二模态特征之间的特征距离,得到该样本对象与该目标样本对象的第三特征距离;
根据所述第二特征提取子网络输出的该样本对象的第二模态特征以及所述第一特征提取子网络输出的该目标样本对象的第一模态特征,计算该样本对象的第二模态特征与该目标样本对象的第一模态特征之间的特征距离,得到该样本对象与该目标样本对象的第四特征距离;
以该样本对象与每个所述目标样本对象的第三特征距离中的最小值作为第一异类特征距离,以该样本对象与每个所述目标样本对象的第四特征距离中的最小值作为第二异类特征距离,将所述第一异类特征距离以及所述第二异类特征距离作为该样本对象与所述第二样本对象在不同模态数据下表现出的第三数据特征差异。
6.根据权利要求5所述的训练方法,其特征在于,所述根据该样本对象与第一样本对象在不同模态数据下表现出的第二数据特征差异,以及该样本对象与第二样本对象在不同模态数据下表现出的第三数据特征差异,确定该样本对象与不同模态数据下的同类样本对象以及不同模态数据下的异类样本对象之间的跨模态三元组损失,包括:
计算第一预设边界阈值与所述第一同类特征距离之间的第一和值,并将所述第一和值与所述第一异类特征距离之间的差值作为第一目标差值;
计算第二预设边界阈值与所述第二同类特征距离之间的第二和值,并将所述第二和值与所述第二异类特征距离之间的差值作为第二目标差值;
以所述第一目标差值与指定参数中的最大值作为该样本对象在第一模态数据下的第一跨模态损失,以所述第二目标差值与所述指定参数中的最大值作为该样本对象在第二模态数据下的第二跨模态损失,将所述第一跨模态损失与所述第二跨模态损失的和值作为该样本对象对应的所述跨模态三元组损失。
7.根据权利要求3所述的训练方法,其特征在于,通过以下方法,确定所述多个样本对象在第一模态数据下表现出的第一群体特征差异以及所述多个样本对象在第二模态数据下表现出的第二群体特征差异:
针对所述多个样本对象,以每个样本对象的所述第一分类预测结果作为顶点,以每个样本对象的第一模态特征作为每一顶点的顶点属性,构建所述多个样本对象在第一模态数据下的第一邻接矩阵;
以每个样本对象的所述第二分类预测结果作为顶点,以每个样本对象的第二模态特征作为每一顶点的顶点属性,构建所述多个样本对象在第二模态数据下的第二邻接矩阵;
将所述第一邻接矩阵在图结构下表现出的图结构特征作为所述多个样本对象在第一模态数据下表现出的所述第一群体特征差异;
将所述第二邻接矩阵在图结构下表现出的图结构特征作为所述多个样本对象在第二模态数据下表现出的所述第二群体特征差异。
8.根据权利要求1所述的训练方法,其特征在于,当所述第一模态数据与所述第二模态数据属于不同类型的数据时,则确定所述第一特征提取子网络与所述第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数不共享的方式进行训练;当所述第一模态数据与所述第二模态数据属于数据参数不同的同一类型数据时,则确定所述第一特征提取子网络与所述第二特征提取子网络在跨模态检索模型的模型训练过程中按照参数共享的方式进行训练。
9.一种跨模态检索方法,其特征在于,所述跨模态检索方法包括:
将多个检索对象的第一样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第一模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第一模态特征;其中,所述第一样本数据中包括:每一所述检索对象的第一模态数据、第一检索对象的第二模态数据以及第二检索对象的第二模态数据;所述第一检索对象与所述检索对象属于同一实体类型,所述第二检索对象与所述检索对象属于不同实体类型;
将目标对象的第二模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第二模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第二模态特征;
以所述目标对象的第二模态特征作为第一检索数据特征,以每一所述检索对象的第一模态特征作为第一索引数据特征,通过所述跨模态检索模型对所述第一检索数据特征与每一所述第一索引数据特征之间的相似度进行计算,输出相似度计算结果符合检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
10.根据权利要求9所述的跨模态检索方法,其特征在于,所述跨模态检索方法还包括:
将多个所述检索对象的第二样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第二模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第二模态特征;其中,所述第二样本数据中包括:每一所述检索对象的第二模态数据、所述第一检索对象的第一模态数据以及所述第二检索对象的第一模态数据;
将所述目标对象的第一模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第一模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第一模态特征;
以所述目标对象的第一模态特征作为第二检索数据特征,以每一所述检索对象的第二模态特征作为第二索引数据特征,通过所述跨模态检索模型对所述第二检索数据特征与每一所述第二索引数据特征之间的相似度进行计算,输出相似度计算结果符合所述检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
11.根据权利要求9所述的跨模态检索方法,其特征在于,通过以下方法,确定相似度计算结果符合所述检索展示条件的检索对象:
根据所述第一检索数据特征与每一所述第一索引数据特征之间的相似度计算结果,从全部的所述检索对象中,确定相似度计算结果大于或者等于预设相似度阈值的检索对象作为符合所述检索展示条件的检索对象。
12.根据权利要求9所述的跨模态检索方法,其特征在于,所述输出相似度计算结果符合检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果,还包括:
根据所述第一检索数据特征与每一所述第一索引数据特征之间的相似度计算结果,按照所述相似度计算结果由高到低的顺序,输出每一所述检索对象的第一模态数据作为针对所述目标对象的跨模态检索结果。
13.根据权利要求9所述的跨模态检索方法,其特征在于,所述跨模态检索模型是根据权利要求1至8任一所述的训练方法进行训练后得到的。
14.一种跨模态检索模型的训练装置,其特征在于,所述训练装置包括:
第一提取模块,用于针对同批次训练样本中包括的多个样本对象,将每个样本对象的第一模态数据输入至初始模型内的第一特征提取子网络中,得到所述第一特征提取子网络输出的每个样本对象在第一模态数据下表现出的第一模态特征;
第二提取模块,用于将每个样本对象的第二模态数据输入至所述初始模型内的第二特征提取子网络中,得到所述第二特征提取子网络输出的每个样本对象在第二模态数据下表现出的第二模态特征;
第一确定模块,用于根据每个样本对象的第一模态特征以及每个样本对象的第二模态特征,确定同一样本对象在不同模态数据下表现出的第一数据特征差异、所述多个样本对象中同类样本对象在不同模态数据下表现出的第二数据特征差异、所述多个样本对象中异类样本对象在不同模态数据下表现出的第三数据特征差异以及所述多个样本对象在不同模态数据下表现出的群体特征差异;
参数调整模块,用于根据所述第一数据特征差异、所述第二数据特征差异、所述第三数据特征差异以及所述群体特征差异,对所述初始模型的模型参数进行调整,得到包括调整好的模型参数的跨模态检索模型。
15.一种跨模态检索装置,其特征在于,所述跨模态检索装置包括:
第一索引提取模块,用于将多个检索对象的第一样本数据输入至预先训练好的跨模态检索模型中,通过所述跨模态检索模型对每一所述检索对象在第一模态数据下表现出的数据特征进行特征提取,得到每一所述检索对象的第一模态特征;其中,所述第一样本数据中包括:每一所述检索对象的第一模态数据、第一检索对象的第二模态数据以及第二检索对象的第二模态数据;所述第一检索对象与所述检索对象属于同一实体类型,所述第二检索对象与所述检索对象属于不同实体类型;
第一查询提取模块,用于将目标对象的第二模态数据输入至所述跨模态检索模型中,通过所述跨模态检索模型对所述目标对象在第二模态数据下表现出的数据特征进行特征提取,得到所述目标对象的第二模态特征;
第一检索模块,用于以所述目标对象的第二模态特征作为第一检索数据特征,以每一所述检索对象的第一模态特征作为第一索引数据特征,通过所述跨模态检索模型对所述第一检索数据特征与每一所述第一索引数据特征之间的相似度进行计算,输出相似度计算结果符合检索展示条件的检索对象作为针对所述目标对象的跨模态检索结果。
16.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至8任一所述的跨模态检索模型的训练方法的步骤,或者执行如权利要求9至13任一所述的跨模态检索方法的步骤。
17.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至8任一所述的跨模态检索模型的训练方法的步骤,或者执行如权利要求9至13任一所述的跨模态检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210925493.4A CN115221389A (zh) | 2022-08-03 | 2022-08-03 | 一种跨模态检索模型的训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210925493.4A CN115221389A (zh) | 2022-08-03 | 2022-08-03 | 一种跨模态检索模型的训练方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221389A true CN115221389A (zh) | 2022-10-21 |
Family
ID=83615815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210925493.4A Pending CN115221389A (zh) | 2022-08-03 | 2022-08-03 | 一种跨模态检索模型的训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115221389A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116628507A (zh) * | 2023-07-20 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
-
2022
- 2022-08-03 CN CN202210925493.4A patent/CN115221389A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116628507A (zh) * | 2023-07-20 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN116628507B (zh) * | 2023-07-20 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229468B (zh) | 车辆外观特征识别及车辆检索方法、装置、存储介质、电子设备 | |
CN107885778B (zh) | 一种基于动态临近点谱聚类的个性化推荐方法 | |
CN111126396B (zh) | 图像识别方法、装置、计算机设备以及存储介质 | |
CN111061961A (zh) | 一种融合多特征的矩阵分解兴趣点推荐方法及其实现系统 | |
CN106445988A (zh) | 一种大数据的智能处理方法和系统 | |
CN113435253B (zh) | 一种多源影像联合城区地表覆盖分类方法 | |
CN112308115B (zh) | 一种多标签图像深度学习分类方法及设备 | |
CN112085072B (zh) | 基于时空特征信息的草图检索三维模型的跨模态检索方法 | |
CN114298122B (zh) | 数据分类方法、装置、设备、存储介质及计算机程序产品 | |
CN111275060A (zh) | 识别模型更新处理方法、装置、电子设备及存储介质 | |
Choe et al. | Urban structure classification using the 3D normal distribution transform for practical robot applications | |
CN113806582B (zh) | 图像检索方法、装置、电子设备和存储介质 | |
CN111783903A (zh) | 文本处理方法、文本模型的处理方法及装置、计算机设备 | |
CN111310074A (zh) | 兴趣点的标签优化方法、装置、电子设备和计算机可读介质 | |
CN116580257A (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN111639230B (zh) | 一种相似视频的筛选方法、装置、设备和存储介质 | |
CN111325237A (zh) | 一种基于注意力交互机制的图像识别方法 | |
CN115221389A (zh) | 一种跨模态检索模型的训练方法、装置、设备及存储介质 | |
CN112418256A (zh) | 分类、模型训练、信息搜索方法、系统及设备 | |
CN111428741B (zh) | 网络社区的发现方法、装置、电子设备及可读存储介质 | |
CN115344698A (zh) | 标签处理方法、装置、计算机设备、存储介质和程序产品 | |
CN112015937B (zh) | 一种图片地理定位方法及系统 | |
CN114912540A (zh) | 迁移学习方法、装置、设备及存储介质 | |
CN114373088A (zh) | 一种图像检测模型的训练方法和相关产品 | |
CN114511715A (zh) | 一种驾驶场景数据挖掘方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |