一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种特征提取模型的训练方法、对象检索方法以及装置与流程

2022-07-23 04:21:44 来源:中国专利 TAG:


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.图1是根据本公开一种特征提取模型的训练方法的流程图;
32.图2是根据本公开一种对象检索方法的流程图;
33.图3是相关技术中对双塔架构的神经网络进行训练的原理示意图;
34.图4是根据本公开一种对象检索方法的一个具体示例的原理示意图;
35.图5是根据本公开一种特征提取模型的训练方法的一个具体示例的示意图;
36.图6是根据本公开一种特征提取模型的训练方法中损失值计算示意图;
37.图7是根据本公开一种特征提取模型的训练装置的结构示意图;
38.图8是根据本公开一种对象检索装置的结构示意图;
39.图9是用来实现本公开实施例所提供方法的电子设备的框图。
具体实施方式
40.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
41.随着互联网的持续普及,多媒体数据呈现爆炸式增长,如何有效地组织、管理和检索这些大规模多媒体信息已经成为当前的一个热门课题。近年来该领域已经取得了很大的进步,但是多模态检索仍然是一项困难的任务。一方面,网络多媒体信息数据量大,语义类别多,内容复杂多样;另一方面,多媒体数据由于文本、图像等信息表达方式处于异构的特征空间中,它们之间的关联关系复杂多样。
42.针对上述问题,近年来提出了许多基于关联学习思想的多模态数据分析方法,期望将不同模态的数据通过函数映射到新的可比较的特征子空间中,然后在该特征子空间中对不同模态的数据进行后续分析。例如,对于多模态检索任务而言,相关技术中,通常采用基于对比学习思想的检索系统,检索系统可以利用特征提取模型来获取不同模态的对象的特征,然后,比对特征的相似性,以确定最终的检索结果。并且,特征提取模型的训练过程中,将含有相同语义的多模态对象作为正样本对,将含有不同语义的多模态对象作为负样本对,并对比其中的差异,使得正样本对可以获得较之负样本对更高的分数。
43.但是,受限于检索系统本身的对比思想,在此类特征提取模型的训练过程中,需要大量的负样本对来与正样本对进行对比,而提高负样本对的数量会带来更大的计算资源的消耗。
44.基于上述内容,为了在较少样本对资源的情况下,训练得到精度较高的特征提取模型,本公开实施例提供了一种特征提取模型的训练方法。
45.下面,首先对本公开实施例所提供的一种特征提取模型的训练方法进行介绍。
46.需要说明的,在具体应用中,本公开实施例所提供的特征提取模型的训练方法可以应用于各类电子设备,例如,个人电脑、服务器、以及其他具有数据处理能力的设备。另外,可以理解的是,本公开实施例提供的特征提取模型的训练方法可以通过软件、硬件或软硬件结合的方式实现。
47.其中,本公开实施例所提供的一种特征提取模型的训练方法,可以包括如下步骤:
48.确定待训练的特征提取模型;其中,所述特征提取模型包括针对第一模态对象的第一提取网络和针对第二模态对象的第二提取网络,所述第一提取网络和所述第二提取网络均包括多个特征提取层;
49.将表征相同语义的样本对输入所述特征提取模型,得到所述第一提取网络的各特征提取层输出的第一样本特征,以及所述第二提取网络的各特征提取层输出的第二样本特征;
50.基于所述第一样本特征和所述第二样本特征,构建用于表征相同语义的正样本特征对,以及用于表征不同语义的负样本特征对;
51.响应于基于所述正样本特征对和所述负样本特征对,确定所述特征提取模型未收敛,调整所述特征提取模型的模型参数。
52.本公开提供的方案中,在对特征提取模型进行训练时,通过包括多个特征提取层的第一提取网络和第二提取网络,对表征相同语义的样本对进行特征提取,每一提取网络中的每一特征提取层均输出有样本特征;进而,利用该第一提取网络和该第二提取网络中各特征提取层输出的样本特征,构建正样本特征对以及负样本特征对,并利用该正样本特征对以及负样本特征对对该特征提取模型进行训练。由于利用各特征提取层输出的样本特征,构建正样本特征对以及负样本特征对,与相关技术中将含有不同语义信息的特征对作为负样本特征对相比,增加了属于不同特征提取层输出的特征作为负样本特征对,从而得到的负样本特征对的数量大大增加。可见,通过本方案,可以在较少样本对资源的情况下,训练得到精度较高的特征提取模型,并且可以减少计算资源的消耗,进一步降低训练成本。
53.下面结合附图,对本公开实施例所提供的特征提取模型的训练方法进行介绍。
54.如图1所示,本公开实施例所提供的征提取模型的训练方法,可以包括如下步骤:
55.s101,确定待训练的特征提取模型;其中,该特征提取模型包括针对第一模态对象的第一提取网络和针对第二模态对象的第二提取网络,该第一提取网络和该第二提取网络均包括多个特征提取层;
56.本实施例中,第一模态对象和第二模态对象,可以是文本对象、视频对象、图片对象,等等。并且,第一模态对象和第二模态对象为不同模态的对象,例如:第一模态对象为图片对象,第二模态对象为文本对象;或者,第一模态对象为视频对象,第二模态对象为图片对象。可以理解的是,当第一模态对象和第二模态对象为不同模态的对象时,可以通过特征提取模型,提取出针对该不同模态的对象的特征,从而可以对不同模态的对象的特征进行比对。
57.为了提取出第一模态对象和第二模态对象的特征,可以利用包括第一提取网络和第二提取网络的特征提取模型,提取针对不同模态的对象的特征,其中,第一提取网络用于提取第一模态对象的特征,而第二提取网络用于提取第二模态对象的特征。并且,为了使得所提取出的特征精准,需要对该特征提取模型进行训练。
58.需要说明的是,由于特征提取模型的训练过程中,需要大量的负样本对来与正样本对进行对比,而提高负样本对的数量会带来更大的计算资源的消耗,本公开为了解决该问题,对相关技术中的特征提取模型进行了改造,在改造后,本公开中的特征提取模型中的第一提取网络和第二提取网络均包括多个特征提取层,通过该多个特征提取层提取出第一模态对象和第二模态对象在不同特征空间下的特征,后续还可以将属于相同语义的样本对在不同特征空间下的特征作为负样本特征对,从而可以基于有限的样本对资源,构造大量的负样本特征对对模型进行训练。
59.另外,各个特征提取层的输出均为相同维度的特征,从而使得任意组合的两个特征提取层所提取的特征均属于相同维度的特征,从而具有可比性。
60.s102,将表征相同语义的样本对输入该特征提取模型,得到该第一提取网络的各特征提取层输出的第一样本特征,以及该第二提取网络的各特征提取层输出的第二样本特征;
61.本实施例中,为了从不同模态的对象中提取出其表征的语义的特征,可以利用表征相同语义的样本对作为输入数据对该特征提取模型进行训练。可以理解的是,在进行训练时,针对任一表征相同语义的样本对,该样本对中的一对象与其他样本对中的一不同模态对象即可构成负样本对,例如表征“猫”的图片对象和视频对象构成的样本对为表征相同语义的样本对,表征“狗”的图片对象和视频对象构成的样本对为表征相同语义的样本对,则该表征“猫”的样本对中的一图片对象与该表征“狗”的样本对中的一视频对象,即可构成负样本对,从而可以基于表征相同语义的正样本对构造负样本对,进而可以利用对应于该正样本对的特征和对应于该负样本对的特征,对该特征提取模型进行训练。
62.示例性的,该表征相同语义的样本对,可以是从包含不同模态对象的数据库中获取,该不同模态对象可以预先经过人工标注,即每一对象具有该对象所表征的语义的标签,从而可以选取具有相同标签的属于不同模态的对象,作为表征相同语义的样本对。
63.本实施例中,将该表征相同语义的样本对输入该特征提取模型,该特征提取模型中的第一提取网络对该样本对中的第一模态对象进行特征提取,该特征提取模型中的第二提取网络对该样本对中的第二模态对象进行特征提取,从而得到该第一提取网络的各特征提取层输出的第一样本特征,以及该第二提取网络的各特征提取层输出的第二样本特征。
64.可以理解的是,由于第一提取网络和第二提取网络均包括多个特征提取层,每一提取层输出的样本特征为该样本对在不同特征空间下的特征,因此,后续还可以将属于相同语义的样本对在不同特征空间下的特征作为负样本对,从而构造出更多的负样本对对该特征提取模型进行训练。例如,第一提取网络和第二提取网络均包括2个特征提取层,分别为第一提取层和第二提取层,样本对为表征“猫”的文本对象以及图片对象,则可以将表征“猫”的文本对象通过第一提取层输出的特征,与表征“猫”的图片对象通过第二提取层输出的特征,作为负样本特征对,从而可以在较少样本对资源的情况下,构建出更多的负样本特征对。
65.示例性的,在一种具体的实现方式中,该第一提取网络与第二投影网络中的多个特征提取层,可以是多个能够实现非线性操作的神经网络层,例如:神经网络中的卷积层,池化层,等等。在实际应用过程中,该神经网络层可以采用线性投影函数和激活函数,将原始数据中的特征映射到高维的特征空间中。
66.s103,基于该第一样本特征和该第二样本特征,构建用于表征相同语义的正样本特征对,以及用于表征不同语义的负样本特征对;
67.本实施例中,各特征提取层输出的样本特征中,可以将属于相对应位置的特征提取层输出的且属于相同样本对的第一样本特征和第二样本特征,构建为正样本特征对,将属于不同位置的特征提取层输出的或属于不同样本对的第一样本特征和第二样本特征,构建为负样本特征对。
68.需要说明的是,为了布局的清晰,将在下文中对具体的正样本特征对以及负样本特征对构建过程进行介绍,这里不再赘述。
69.s104,响应于基于该正样本特征对和该负样本特征对,确定该特征提取模型未收敛,调整该特征提取模型的模型参数。
70.本实施例中,若模型未收敛,则调整该特征提取模型的模型参数,即调整第一提取网络和/或第二提取网络的参数,并可以返回获取表征相同语义的样本对的步骤,继续对该特征提取模型进行训练,直到模型收敛,结束训练。
71.本公开提供的方案中,在对特征提取模型进行训练时,通过包括多个特征提取层的第一提取网络和第二提取网络,对样本对进行特征提取,每一提取网络中的每一特征提取层均输出有样本特征,利用该第一提取网络和该第二提取网络中各特征提取层输出的样本特征,构建正样本特征对以及负样本特征对,并利用该正样本特征对以及负样本特征对对该特征提取模型进行训练。由于利用各特征提取层输出的样本特征,构建正样本特征对以及负样本特征对,与相关技术中将含有不同语义信息的特征对作为负样本特征对相比,增加了属于不同特征提取层输出的特征作为负样本特征对,从而得到的负样本特征对的数量大大增加。可见,通过本方案,可以在较少样本对资源的情况下,训练得到精度较高的特征提取模型,并且可以减少计算资源的消耗,进一步降低训练成本。
72.可选地,在本公开的另一实施例中,该第一提取网络中的多个特征提取层包括基于第一编码器构建的特征提取层,以及属于神经网络层的特征提取层,该第一编码器为针对第一模态对象的编码器;该第二提取网络中的多个特征提取层包括基于第二编码器构建的特征提取层,以及属于神经网络层的特征提取层,该第二编码器为针对第二模态对象的编码器。
73.本实施例中,通过第一编码器对第一模态对象进行编码,以及第二编码器对第二模态对象进行编码,可以充分利用该第一模态对象以及第二模态的对象中各个位置的特征,并映射到可比较的特征空间中,得到具有相同维度的特征向量,从而可以对该第一模态对象和第二模态对象的特征进行比较。并且,该第一编码器与第二编码器后面均连接有属于神经网络层的多个特征提取层,该第一编码器或第二编码器输出的特征,经过该多个特征提取层进行特征提取,可以得到对应于多个特征提取层的特征。可以理解的是,通过该种编码器与神经网络层相结合的方式,可以使得特征提取的更全面。
74.示例性的,该第一提取网络中属于神经网络的特征提取层,与第二提取网络中属于神经网络的特征提取层,可以是神经网络中的卷积层、池化层等可以做非线性操作的网络层。需要说明的是,该第一提取网络中属于神经网络的特征提取层,与第二提取网络中属于神经网络的特征提取层中,相对应位置的特征提取层可以具有相同的网络结构,从而可以对各个相应的特征提取层提取出的特征进行比较。
75.可见,通过本方案,通过第一提取网络中的第一编码器和第二提取网络中第二编码器,对第一模态对象和第二模态对象进行编码,然后通过属于神经网络层的多个特征提取层进行特征提取,使得特征提取的更全面。
76.可选地,在本公开的另一实施例中,上述步骤s103中,基于所述第一样本特征和所述第二样本特征,构建用于表征相同语义的正样本特征对,以及用于表征不同语义的负样本特征对,可以包括步骤a1-a2:
77.a1,利用第一类提取层针对该表征相同语义的样本对所提取的样本特征,构建正样本特征对;其中,该第一类提取层包括该第一提取网络和该第二提取网络中属于相同位置的两个特征提取层;
78.本实施例中,由于该表征相同语义的样本对为正样本对,且该第一类提取层包括第一提取网络和该第二提取网络中属于相同位置的两个特征提取层,该相同位置的特征提取层可以将输入数据的特征映射到可以比较的特征空间中,使得该相同位置的两个特征提取层输出的特征为属于正样本对、且属于可比较的特征空间中的特征,因此可以利用该第一类提取层针对该样本对所提取的样本特征,构建表征相同语义的正样本特征对。
79.a2,利用第二类提取层针对该表征相同语义的样本对所提取的样本特征,构建负样本特征对;其中,该第二类提取层包括该第一提取网络和该第二提取网络中属于不同位置的两个特征提取层。
80.可以理解的是,由于属于不同位置的两个特征提取层所输出的样本特征,为对输入数据进行了不同程度的非线性处理得到,因此,可以利用第二类提取层针对该表征相同语义的样本对所提取的样本特征,构建用于表征不同语义的负样本特征对。例如,若第一提取网络和第二提取网络均包括2个特征提取层,分别为第一提取层和第二提取层,则第二提取层输出的样本特征为对第一提取层输出的样本特征经过进一步非线性处理得到,因此,该第一提取网络和该第二提取网络中属于不同位置的两个特征提取层,所提取出的样本特征,可以构建表征不同语义的负样本特征对。
81.可见,通过本方案,利用属于第二类提取层输出的样本特征构建负样本特征对,得到的负样本特征对的数量大大增加,使得可以在较少样本对资源的情况下,获得更多用于训练特征提取模型的负样本特征对。
82.可选地,在本公开的另一实施例中,在得到第一样本特征和第二样本特征之后,以及构建正样本特征对和负样本特征对之前,该特征提取模型的训练方法,还可以包括:
83.基于该第一样本特征和该第二样本特征,构建特征矩阵;其中,该特征矩阵中,行的维度数量为该第一提取网络对该表征相同语义的样本对所提取的样本特征的数量,列的维度数量为该第二提取网络对该表征相同语义的样本对所提取的样本特征的数量,且矩阵元素为关于该第一样本特征和该第二样本特征的特征对,行的各个维度的排布方式与列的各个维度的排布方式相同;
84.本实施例中,通过构建特征矩阵的方式,确定用于表征相同语义的正样本特征对,以及用于表征不同语义的负样本特征对。可以理解的是,表征相同语义的样本对输入特征提取模型后,该第一提取网络中的每一特征提取层均输出该样本对的样本特征,该输出的样本特征的数量,为第一提取网络中的特征提取层的层数与样本对的数量之积,在构造特征矩阵时,该第一提取网络输出特征的总数量可以作为特征矩阵中行的维度;该第二提取
网络中的每一特征提取层均输出该样本对的样本特征,该输出的样本特征的数量,为第二提取网络中的特征提取层的层数与样本对的数量之积,在构造特征矩阵时,该第二提取网络输出特征的总数量可以作为特征矩阵中列的维度。并且,特征提取模型中属于相同位置的两个特征提取层,输出的属于同一样本对的特征对,可以作为该特征矩阵的矩阵元素。
85.需要说明的是,在构建特征矩阵时,行的各个维度的排布方式与列的各个维度的排布方式相同。示例性的,若行的排布方式为将每一特征提取层输出的样本特征按照样本对的顺序排列,然后,将各个特征提取层输出的样本特征按照特征提取层的顺序排列,则列的排布方式也为先将每一特征提取层输出的样本特征按照样本对的顺序排列,然后,将各个特征提取层输出的样本特征按照特征提取层的顺序排列。
86.相应的,在本实施例中,上述步骤a1中,利用第一类提取层针对该表征相同语义的样本对所提取的样本特征,构建正样本特征对,包括:
87.从该特征矩阵中,选取主对角线上的矩阵元素,得到该用于表征相同语义的正样本特征对;
88.相应的,在本实施例中,上述步骤a2中,利用第二类提取层针对该表征相同语义的样本对所提取的样本特征,构建负样本特征对,包括:
89.从该特征矩阵中,选取主对角线上的矩阵元素以外的矩阵元素,得到该用于表征不同语义的负样本特征对。
90.可以理解的是,由于构建特征矩阵时,行的各个维度的排布方式与列的各个维度的排布方式相同,因此,主对角线上的矩阵元素,为属于同一表征相同语义的样本对、且属于相同位置的特征提取层输出的样本特征对,即可作为用于表征相同语义的正样本特征对。该特征矩阵中,除主对角线上的矩阵元素以外的矩阵元素,为属于不同样本对或者属于不同位置的特征提取层输出的样本特征对,可以作为用于表征不同语义的负样本特征对。
91.另外,需要说明的是,通过基于所得到的样本特征构建特征矩阵,后续在计算模型损失值时,由于所得到的样本特征数量大大增加,该构建的特征矩阵中,属于各个元素位置的损失值数量也呈指数级增长。此时计算各个矩阵元素位置的损失值,需要耗费较大的计算资源。为了减轻计算量,可以利用特征矩阵中,除中间特征提取层输出的特征位置外,其他位置的矩阵元素的损失值进行梯度回传。
92.可见,通过本方案,基于第一样本特征和第二样本特征,构建特征矩阵,后续可以根据该特征矩阵,快速确定各个正样本特征对以及负样本特征对,从而可以利用该各个正样本特征对以及负样本特征对,计算模型损失值。
93.可选地,在本公开的另一实施例中,基于该正样本特征对和负样本特征对,确定该特征提取模型是否收敛的方式可以包括步骤b1-b2:
94.b1,基于该正样本特征对和负样本特征对,确定该特征提取模型的模型损失;
95.b2,利用该模型损失,判断该特征提取模型是否收敛。
96.可以理解的是,为了进行多模态检索,对该特征提取模型进行训练时,训练目标可以是使得正样本特征对之间的相似度接近于1,负样本特征对之间的相似度接近于0。然后,基于该正样本特征对以及负样本特征对,计算正样本特征对之间的相似度与1之间的损失值,负样本特征对之间的相似度与0之间的损失值,作为模型损失。然后,利用该模型损失,以及预先为该模型设置的损失值阈值,判断该特征提取模型是否收敛。
97.可选的,在一种实现方式中,上述步骤b1中,基于该正样本特征对和负样本特征对,确定该特征提取模型的模型损失,可以包括步骤b11-b12:
98.b11,计算该正样本特征对的特征相似度,以及该负样本特征对的特征相似度;
99.示例性的,可以通过计算样本特征对之间的余弦距离,然后,用1减去该余弦距离,作为该样本特征对的特征相似度。当然,还可以通过其他方式计算该样本特征对的特征相似度,例如利用欧式距离来计算,需要说明的是,本公开实施例对计算该样本特征对的特征相似度的方式并不限定。
100.b12,基于该正样本特征对的特征相似度与第一真值的差异,以及该负样本特征对的特征相似度与第二真值的差异,确定该特征提取模型的模型损失;其中,该第一真值为表征语义相同的相似度真值,该第二真值为表征语义不同的相似度真值。
101.可以理解的是,由于第一真值为表征语义相同的相似度真值,即1或者100%,等等,第二真值为表征语义不同的相似度真值,利用该正样本特征对的特征相似度与第一真值的差异,以及该负样本特征对的特征相似度与第二真值的差异,可以确定该特征提取模型的模型损失,从而后续可以在该特征提取模型的训练过程中,通过最小化该模型损失,对该特征提取模型进行训练。示例性的,可以将该特征提取模型的模型损失确定为:各个正样本特征对的特征相似度分别与第一真值的差异,以及各个负样本特征对的特征相似度分别与第二真值的差异之和。可以理解的是,在计算模型损失时,可以利用交叉熵损失函数进行计算,当然并不局限于此;另外,在调整特征提取模型的模型参数时,可以采用梯度下降方式等方式,当然并不局限于此。
102.可见,通过本方案,通过计算正样本特征对之间的相似度与1之间的损失值,负样本特征对之间的相似度与0之间的损失值,作为模型损失。然后,利用该模型损失,以及预先为该模型设置的损失值阈值,判断该特征提取模型是否收敛。从而可以通过最小化该模型损失,对该特征提取模型进行训练,使得正样本特征对之间的相似度接近于1,负样本特征对之间的相似度接近于0。进而在后续的检索过程中,可以精确的检索出与目标对象相匹配的对象。
103.在通过上述实施例所提供的方案对特征提取模型进行训练后,如图2所示,本公开实施例还提供了一种对象检索方法,包括如下步骤:
104.s201,获取作为检索依据的目标对象;其中,该目标对象属于第一模态;
105.本实施例中,目标对象为进行检索的查询数据,该目标对象属于第一模态,该第一模态可以是图片、文本、视频,等等。在实际的多模态检索过程中,可以根据输入的目标对象,检索与该目标对象语义相同的第二模态对象。
106.s202,将该目标对象输入特征提取模型中的第一提取网络,以使该第一提取网络中的多个特征提取层提取该目标对象的特征,得到该目标对象的第一特征;其中,该特征提取模型为基于上述特征提取模型的训练方法训练得到的模型;该第一提取网络的多个特征提取层中,前一级特征提取层的输出为后一级特征提取层的输入,且第一级特征提取层的输入为该目标对象
107.可以理解的是,由于预先训练的特征提取模型,为经过上述特征提取模型的训练方法训练得到,该特征提取模型中的第一提取网络和第二提取网络,可以对正样本对的特征进行充分的提取,使得正样本特征对具有更高的相似度,负样本特征对具有更低的相似
度。进而,在检索过程中,可以将属于第一模态的目标对象输入第一提取网络,以提取出该目标对象的第一特征,然后利用该第一特征检索与该第一特征相匹配的属于第二模态对象的特征。具体而言,可以将第一特征分别与各个属于第二模态对象的特征构建特征对,根据各个特征对之间的相似度对该各个特征对进行打分,从而可以将分数最高的特征对中所包含的第二模态对象的特征,作为与该目标对象相匹配的第二模态对象的特征,然后确定出该相匹配的第二模态对象,作为该目标对象的检索结果。
108.s203,基于预先构建的特征库以及该第一特征,从包含有属于第二模态的对象的数据库中,确定与该目标对象相匹配的对象,作为该目标对象对应的检索结果;其中,该特征库包括该数据库中的对象的第二特征,该数据库中的对象的第二特征是利用该特征提取模型中的第二提取网络的多个特征提取层,对该数据库中对象进行特征提取得到;该第二提取网络中的多个特征提取层中,前一级特征提取层的输出为后一级特征提取层的输入,且第一级特征提取层的输入为该数据库中的对象。
109.可以理解的是,在实际检索过程中,为了加快检索速度,检索系统可以分为离线与在线两部分。离线部分利用上述特征提取模型中的第二提取网络,提取包含大量第二模态对象的数据库中的各个对象的第二特征,构建特征库。在线部分用于在进行检索时,将目标对象的特征与特征库中的各个第二特征进行相似度计算,并返回与该目标对象的特征相似度最高的第二特征对应的索引,根据该索引,从该数据库中确定相应的对象作为该目标对象对应的检索结果。
110.可见,通过本方案,由于该特征提取模型为经过大量负样本特征对训练的模型,利用该特征提取模型提取目标对象以及各个第二模态对象的特征,可以充分提取出样本对中属于相同语义的特征以及属于不同语义的特征,使得属于相同语义的特征对具有更高的相似度,从而可以使得检索精度大大提高。
111.为了更好的理解本公开实施例的内容,下面结合一个具体的示例进行阐述。
112.图3展示了相关技术中,对双塔架构的神经网络进行训练的原理示意图。如图3所述,第一模态对象为文本对象,第二模态对象为图片对象,输入为n个样本对,n为正整数,每一样本对包含表征相同语义的一个文本对象和一个图片对象。该神经网络中的文本编码器(对应于上文的第一编码器)将该n个样本对中各个第一模态对象进行编码,得到n个特征,分别为图中的t1…
tn。该神经网络中的图片编码器(对应于上文的第二编码器)将该n个样本对中各个第二模态对象进行编码,得到n个特征,分别为图中的i1…in

113.基于该文本编码器和图片编码器输出的特征,构造n*n的特征矩阵,该特征矩阵中,主对角线上的矩阵元素,为属于同一样本对的样本特征对,该主对角线上的矩阵元素的相似度,即可作为正样本对的相似度,该特征矩阵中,除主对角线以外的矩阵元素,为属于不同样本对的样本特征对,即属于负样本对的样本特征对,该主对角线以外的矩阵元素的相似度,可作为负样本对的相似度。例如,图中i1和t1之间的相似度,为正样本对的相似度,图中i1和t2之间的相似度,为负样本对的相似度。
114.可以理解的是,为了后续利用该双塔架构的神经网络进行多模态检索,在该神经网络的训练过程中,可以通过计算特征矩阵中主对角线的相似度与1之间的损失值,以及非主对角线的相似度与0之间的损失值,以该损失值梯度回传,调整该神经网络的参数,从而对该神经网络进行优化。具体的,通过最小化该主对角线的相似度与1之间的损失值,以及
非主对角线的相似度与0之间的损失值,调整该神经网络的参数,使得优化后的神经网络提取出的正样本对的特征之间的相似度更高,负样本对的特征之间的相似度更低,从而可以在后续检索过程中,更加准确的检索出与目标对象相匹配的检索结果。
115.图4展示了利用本实施例提供的对象检索方法进行多模态检索的一种检索系统的原理示意图,该检索系统利用通过本实施例的训练方法所训练的特征提取模型进行特征提取,并且,该特征提取模型可以为对上述的双塔架构的神经网络进行改造后的模型。如图4所示,该检索系统包括离线部分和在线部分两部分。在线部分用于根据输入的查询文本(对应于上文中的目标对象),利用特征提取模型中第一提取网络提取该查询文本的文本特征(对应于上文中的第一特征),然后,基于该文本特征以及预先构建的特征库,对特征库中各个索引下的特征与该文本特征进行相似度计算,从而根据计算得到的各个相似度,对各个索引下的特征进行打分,然后将分数最高的索引对应的图片作为检索结果进行返回。其中,该预先构建的特征库中的特征,为从包含有大量图片的数据库(对应于上文中属于第二模态的对象的数据库)中,利用特征提取模型中的第二提取网络对各个图片所提取的特征。
116.如图5所示,本实施例的训练方式所训练得到的该特征提取模型包括文本编码器、图片编码器以及投影网络(对应于上文中的属于神经网络层的特征提取层),该文本编码器和投影网络构成第一提取网络,该图片编码器和投影网络构成第二提取网络。该图5中虚线框中部分与图3所表示的含义一致,该投影网络包括两个特征提取层,此时n为4,即输入样本对的个数为4对。
117.需要说明的是,在实际应用中,该投影网络的特征提取层的层数可以自行设定,但是层数越多输出的特征越多,会消耗更多的计算资源。该投影网络的输入特征与输出特征的维度等宽,从而可以在属于各个相同位置的特征提取层中,对一样本对的输出特征进行比较。另外,该投影网络的各个特征提取层,可以是任一可以做非线性操作的神经网络层。
118.在该特征提取模型的训练过程中,分别将文本编码器和图片编码器输出的特征,与相应的投影网络中各个特征提取层输出的特征对进行拼接,然后构建特征矩阵。通过计算该特征矩阵中主对角线的相似度与1之间的损失值,以及非主对角线的相似度与0之间的损失值,并以该损失值梯度回传,调整该特征提取模型的参数,从而对该特征提取模型进行优化。
119.可以理解的是,由于该特征提取模型中,增加了多个特征提取层构成的投影网络,将样本对输入该特征提取模型后,可以将得到的属于不同位置的特征提取层提取出的样本特征对,作为负样本特征对,从而可以在样本对资源有限的情况下,构造大量的负样本特征对对模型进行训练,以提高模型的特征提取精度。
120.另外,需要说明的是,在利用损失值梯度回传,调整该特征提取模型的参数时,由于构造的特征矩阵规模大大增加,矩阵中属于各个元素位置的损失值数量也呈指数级增长,此时计算各个矩阵元素位置的损失值,需要耗费较大的计算资源。为了减轻计算量,可以利用特征矩阵中,除中间特征提取层输出的特征位置外,其他位置的矩阵元素的损失值进行梯度回传。具体参与梯度回传的矩阵元素的位置,可参考图6中虚线部分。
121.可见,通过本方案,可以在样本对资源有限的情况下,进行大量负样本特征对的构造,从而基于对比学习的思想,优化特征提取模型。在检索过程中,利用该优化后的特征提取模型提取该目标对象,以及第二模态对象的特征,可以使得提取出的与目标对象具有相
同语义的第二模态对象,获得更高的分数,从而提高检索准确度。
122.基于上述特征提取模型的训练方法的实施例,本公开实施例还提供了一种特征提取模型的训练装置,如图7所示,所述装置包括:
123.确定模块710,用于确定待训练的特征提取模型;其中,所述特征提取模型包括针对第一模态对象的第一提取网络和针对第二模态对象的第二提取网络,所述第一提取网络和所述第二提取网络均包括多个特征提取层;
124.样本特征提取模块720,用于将表征相同语义的样本对输入所述特征提取模型,得到所述第一提取网络的各特征提取层输出的第一样本特征,以及所述第二提取网络的各特征提取层输出的第二样本特征;
125.构建模块730,用于基于所述第一样本特征和所述第二样本特征,构建用于表征相同语义的正样本特征对,以及用于表征不同语义的负样本特征对;
126.调整模块740,用于响应于基于所述正样本特征对和所述负样本特征对,确定所述特征提取模型未收敛,调整所述特征提取模型的模型参数。
127.可选地,所述构建模块,包括:
128.第一构建子模块,用于利用第一类提取层针对所述表征相同语义的样本对所提取的样本特征,构建所述正样本特征对;其中,所述第一类提取层包括所述第一提取网络和所述第二提取网络中属于相同位置的两个特征提取层;
129.第二构建子模块,用于利用第二类提取层针对所述表征相同语义的样本对所提取的样本特征,构建所述负样本特征对;其中,所述第二类提取层包括所述第一提取网络和所述第二提取网络中属于不同位置的两个特征提取层。
130.可选地,所述装置还包括:
131.矩阵构建模块,用于基于所述第一样本特征和所述第二样本特征,构建特征矩阵;其中,所述特征矩阵中,行的维度数量为所述第一提取网络对所述表征相同语义的样本对所提取的样本特征的数量,列的维度数量为所述第二提取网络对所述表征相同语义的样本对所提取的样本特征的数量,且矩阵元素为关于所述第一样本特征和所述第二样本特征的特征对,行的各个维度的排布方式与列的各个维度的排布方式相同;
132.所述第一构建子模块,具体用于:
133.从所述特征矩阵中,选取主对角线上的矩阵元素,得到所述正样本特征对;
134.所述第二构建子模块,具体用于:
135.从所述特征矩阵中,选取主对角线上的矩阵元素以外的矩阵元素,得到所述负样本特征对。
136.可选地,基于所述正样本特征对和负样本特征对,确定所述特征提取模型是否收敛的方式包括:
137.基于所述正样本特征对和所述负样本特征对,确定所述特征提取模型的模型损失;
138.利用所述模型损失,判断所述特征提取模型是否收敛。
139.可选地,所述基于所述正样本特征对和所述负样本特征对,确定所述特征提取模型的模型损失,包括:
140.计算所述正样本特征对的特征相似度,以及所述负样本特征对的特征相似度;
141.基于所述正样本特征对的特征相似度与第一真值的差异,以及所述负样本特征对的特征相似度与第二真值的差异,确定所述特征提取模型的模型损失;
142.其中,所述第一真值为表征语义相同的相似度真值,所述第二真值为表征语义不同的相似度真值。
143.可选地,所述第一提取网络中的多个特征提取层包括基于第一编码器构建的特征提取层,以及属于神经网络层的特征提取层,所述第一编码器为针对第一模态对象的编码器;
144.所述第二提取网络中的多个特征提取层包括基于第二编码器构建的特征提取层,以及属于神经网络层的特征提取层,所述第二编码器为针对第二模态对象的编码器。
145.基于上述对象检索方法的实施例,本公开实施例还提供了一种对象检索装置,如图8所示,所述装置包括:
146.获取模块810,用于获取作为检索依据的目标对象;其中,所述目标对象属于第一模态;
147.特征提取模块820,用于将所述目标对象输入特征提取模型中的第一提取网络,以使所述第一提取网络的多个特征提取层提取所述目标对象的特征,得到所述目标对象的第一特征;其中,所述特征提取模型为按照上述特征提取模型的训练方法训练得到的模型;所述第一提取网络的多个特征提取层中,前一级特征提取层的输出为后一级特征提取层的输入,且第一级特征提取层的输入为所述目标对象
148.检索模块830,用于基于预先构建的特征库以及所述第一特征,从包含有属于第二模态的对象的数据库中,确定与所述目标对象相匹配的对象,作为所述目标对象对应的检索结果;
149.其中,所述特征库包括所述数据库中的对象的第二特征,所述数据库中的对象的第二特征是利用所述特征提取模型中的第二提取网络的多个特征提取层,对所述数据库中的对象进行特征提取得到;所述第二提取网络的多个特征提取层中,前一级特征提取层的输出为后一级特征提取层的输入,且第一级特征提取层的输入为所述数据库中的对象。
150.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
151.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
152.本公开所提供的一种电子设备,可以包括:
153.至少一个处理器;以及
154.与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的相似歌曲检索方法的步骤。
155.本公开所提供的一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一特征提取模型的训练方法的步骤,或者上述任一对象检索方法的步骤。
156.在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一特征提取模型的训练方法的步骤,
或者上述任一对象检索方法的步骤。
157.图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
158.如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
159.设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
160.计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如特征提取模型的训练方法,或者对象检索方法。例如,在一些实施例中,特征提取模型的训练方法,或者对象检索方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的特征提取模型的训练方法,或者对象检索方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行特征提取模型的训练方法,或者对象检索方法。
161.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
162.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
163.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
164.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
165.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
166.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
167.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
168.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献