一种分层监督跨模态图文检索方法

文档序号:29218843发布日期:2022-03-12 12:15阅读:98来源:国知局
一种分层监督跨模态图文检索方法

1.本发明涉及跨模态图文检索技术领域,更具体的,涉及一种分层监督跨模态图文检索方法。


背景技术:

2.随着互联网和物联网的迅速发展,产生了海量有价值的多模态数据。如何在海量数据中快速高效地找到与之相关的多模态信息极其重要,这就使得跨模态检索具有了应用场景和研究意义。
3.现有跨模态检索方法大多针对非层次结构监督信息,无法充分挖掘到标签丰富的语义信息。然而,在许多现实应用场景中,跨模态数据的标签监督信息往往具有某种层次结构,内含丰富的语义信息。因此,构造充分挖掘分层监督信息的跨模态检索方法对信息检索领域是极其重要的。
4.现有技术一种基于多层语义深度哈希算法的图像-文本跨模态检索方法,通过多标签数据之间的共现关系定义数据之间的相似度,并以此作为网络训练的监督信息。设计综合考虑多层语义相似度与二值相似度的损失函数,对网络进行训练,使得特征提取和哈希码学习过程统一在一个框架内,实现端到端学习。该算法充分利用数据之间的语义相关性信息,提高了检索准确率,如图1所示。整体框架包含三个模块:深度特征提取模块、相似度矩阵生成模块、哈希码学习模块;分别采用两个深度神经网络提取图像和文字特征,将特征学习和哈希码学习过程统一在一个框架内,并通过引入基于标签共现的多层次语义监督信息指导整个训练过程,使得到的二值码不仅保留了原样本空间基本的相似/不相似关系,并且能够区分样本间的相似程度,更大程度的保留样本间的高层语义,提高检索准确率;在结构上,通过对网络施加“在语义空间相似的图像和文字在汉明空间具有相似的哈希码”这一约束进行训练,直接将哈希码作为网络的输出,实现端到端学习,从而保证学习到的特征适应特定的检索任务。
5.然而以上现有技术依然存在以下不足之处:
6.1.使用定长哈希编码表示跨模态数据,占用内存较大。
7.2.针对非层次监督信息设计的跨模态检索,无法充分挖掘到标签丰富的语义信息。
8.3.仅在哈希码学习阶段施加约束,在特征学习阶段未施加约束,没有充分最小化含有相同语义信息的多种模态数据在公共空间中的距离。
9.4.没有考虑不同语义类别数据对跨模态检索的干扰。


技术实现要素:

10.本发明为了解决以上现有技术存在的不足的问题,提供了一种分层监督跨模态图文检索方法,其能实现对具有分层监督跨模态数据的检索,提升跨模态检索效率。
11.为实现上述本发明目的,采用的技术方案如下:
12.一种分层监督跨模态图文检索方法,所述的方法包括步骤如下:
13.s1:构建用于提取图像特征和文本特征的特征提取网络;
14.s2:利用特征提取网络提取图像和文本特征,分别得到图像和文本的初步高维特征值;
15.s3:在特征提取阶段,构建模态对抗网络,将图像和文本的初步高维特征值输入模态对抗网络进行对抗学习,使得含有相同语义的不同模态在公共空间中的距离最近;
16.s4:构建哈希码生成网络,并利用所述的哈希码生成网络约束所述的特征提取网络的最后一层全连接层,使得通过最后一层全连接层的图像和文本的初步高维特征值,生成最优哈希码,实现对跨模态数据检索。
17.优选地,所述的特征提取网络包括用于提取图像特征的第一深度神经网络、用于提取文本特征的文本提取网络;
18.将第一深度神经网络的最后一层修改为哈希码输出层,其神经元数为哈希码长度,使用激活函数,将输出映射到-1到1之间;
19.所述的文本提取网络包括:
20.用于向量化数据集中所有文本词袋模型,
21.由五级并联的均值池化层构造的多尺度特征堆叠模型,所述的多尺度特征堆叠模型用于提取不同感受野下的高阶和低阶特征,其窗口大小分别为1
×
1、 2
×
2、3
×
3、5
×
5、10
×
10,
22.由三层全连接层构成的第二深度神经网络。
23.进一步地,所述的第二深度神经网络,具体如下:第一层全连接层的网络节点数为多尺度特征堆叠模型输出维数;第二层是网络节点数为4096维的全连接层,由第二层全连接层输出初步高维特征值;第三层是节点数为哈希码长度h
t
,激活函数为sigmoid的全连接层,即将第三层全连接层作为哈希码输出层。
24.再进一步地,所述的模态对抗网络使用e个具有三层全连接层的网络,第一个隐藏层的结点数与输入的特征维度一样;第二个隐藏层的结点数与第e层标签层的标签总数φe一致;第三层结点数为2,其激活函数是sigmoid函数,输出为二值码,0表示图像模态,1表示文本模态;
25.其中,e代表图像文本对的标签层数,标签层的索引自上而下为{1,2,...,e}。
26.再进一步地,所述的模态对抗网络的对抗损失使用交叉熵损失函数,定义如下所示:
[0027][0028][0029]
其中,l
adv
表示模态对抗网络总的目标函数,l
adv_e
表示第e层标签对应的对抗损失,vi表示每个数据的真实标签监督信息,g(*;ε)是数据集β(i)在模态对抗网络中生成的模态概率分布,ε是模态对抗网络的参数。
[0030]
再进一步地,所述的哈希码生成网络包括
[0031]
不同标签层关联子模块,通过引入标签层内相似性损失和标签层间相关性损失,
来充分挖掘每一层标签存在的内在相似度和标签层间存在的相关性;
[0032]
不同语义类别区分子模块,通过设计一个不同语义类别区分的总目标函数,使不同语义的模态数据在公共空间中彼此保持一定的距离,从而避免不同语义数据对检索的干扰;
[0033]
跨模态哈希损失子模块,将初步高维特征值转换为最优编码长度哈希码,以压缩数据维度并降低数据存储空间,实现对跨模态数据精准快速的检索。
[0034]
再进一步地,所述的不同标签层关联子模块包括2个分支,分别是标签层内相似性损失、标签层间相关性损失;
[0035]
在标签的层次结构中,为了保持每一层标签的相似性,为每一层的每个标签生成标签哈希码ce∈{-1,1}h×
φe
,e∈{1,2,...,e},定义标签层内相似性损失函数:
[0036][0037]
其中,ce是第e层的类别哈希码;代表每一组图像文本对数据集β(i)的标签向量,其中标签向量,其中表示第i个图像文本对数据被第e层的第j个标签标记,否则,f(xi,wf)表示原图像经过特征提取网络中的第二层全连接层的输出,其中wf表示提取图像特征网络的网络参数; g(ti,wg)表示文本经过特征提取网络中的第二层全连接层的输出,其中wg表示提取文本特征网络的网络参数;ζe是第e层标签的置信度,所有标签层的置信度之和为1;
[0038]
为了充分获取跨层相关性,定义跨层标签相似度矩阵,即:
[0039][0040]
其中,e∈{1,2,...,e-1},ei代表第e层的第i个标签,e代表最后一层标签;表示第e层的第j个标签是第e层的第i个标签的子孙结点,否则为0;
[0041]
则标签层间相关性损失函数表示为:
[0042][0043]
其中,ce是第e层标签的哈希矩阵,ηe代表超参数,且
[0044]
再进一步地,在不同语义类别区分子模块,设计一个不同语义类别区分的总目标函数具体如下:
[0045]
在公共空间中,根据不同语义类别、不同模态数据之间的距离应当尽可能远,从而定义第一目标函数表示为:
[0046]
[0047]
其中,dis(w,v)表示两个点w=(w1,w2,...,wn)和v=(v1,v2,...,vn)的余弦距离,f(xi)和f(xj)代表图像特征,g(ti)和g(tj)代表文本特征;
[0048]
在公共子空间,根据不同语义类别、相同模态的数据应当分离,从而定义第二目标函数表示为:
[0049][0050]
不同语义类别区分模块总损失函数表示为:
[0051][0052]
其中,n表示数据集中图像文本对数。
[0053]
再进一步地,将特征提取网络中第二层全连接层的输出结果引入到跨模态哈希模块中,定义跨模态哈希损失函数如下所示:
[0054][0055]
其中,分别是图像和文本模态数据学习到的哈希码;代表斐波那契范数。
[0056]
再进一步地,利用特征提取网络、模态对抗网络、哈希码生成网络构成跨模态图文检索模型,将跨模态图文检索模型的最终损失函数表示为:
[0057]
loss=αl
adv
+βl
intra_layer
+χl
inter_layer
+δl
dis
+φl
hash
ꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0058]
其中,α、β、χ、δ和φ是超参数;l
adv
、l
intra_layer
、l
inter_layer
、l
dis
、l
hash
分别表示交叉熵损失函数、标签层内相似性损失函数、标签跨层相关性损失函数、不同语义类别区分模块总损失函数、跨模态哈希损失函数;
[0059]
根据最终损失函数训练优化跨模态图文检索模型,使得跨模态图文检索模型达到最优。
[0060]
本发明的有益效果如下:
[0061]
针对当前跨模态检索算法中没有充分最小化含有相同语义信息的多种模态数据在公共空间中距离的问题,本发明借鉴对抗思想,通过在深度特征提取阶段施加约束来解决。将特征提取网络作为生成器,模态对抗网络作为对抗器,两者进行对抗学习后,直到对抗器很难区分特征提取网络提取的模态特征的模态类型,这就使得含有相同语义的不同模态在公共空间中的距离最近。
[0062]
针对分层监督信息没有被充分挖掘的问题,本发明同时引入标签层内相似性损失和标签层间相关性损失来充分挖掘每一层标签存在的内在相似度和标签层间存在的相关性,从而提高了跨模态检索的准确性。
[0063]
针对不相似数据对跨模态检索干扰的问题,本发明重新设计了一个不同语义类别数据之间距离的总损失函数来解决,该方式使得不同语义类别的模态数据在公共空间中彼此保持一定的距离。
[0064]
针对当前跨模态检索算法存储成本高、检索速度慢的问题,本发明利用跨模态哈
希损失子模块,将多模态数据特征用最优编码长度的低维二进制哈希码表示,使得在原始空间中相似数据的哈希码的汉明距离最短;反之,原始空间中不相似的数据,其哈希码也是不相似的,而且汉明距离尽可能远。
附图说明
[0065]
图1是现有技术基于多层语义深度哈希算法的图像-文本跨模态检索方法框架图。
[0066]
图2是所述的分层监督跨模态图文检索方法的流程图。
[0067]
图3是分层监督跨模态图文检索方法的整体结构图。
具体实施方式
[0068]
下面结合附图和具体实施方式对本发明做详细描述。
[0069]
实施例1
[0070]
如图1、图2所示,一种分层监督跨模态图文检索方法,所述的方法包括步骤如下:
[0071]
s1:构建用于提取图像特征和文本特征的特征提取网络;
[0072]
s2:利用特征提取网络提取图像和文本特征,分别得到图像和文本的初步高维特征值;
[0073]
s3:在特征提取阶段,利用特征提取网络作为生成器,模态对抗网络作为对抗器,将特征提取网络生成的图像和文本的初步高维特征值输入模态对抗网络进行对抗学习,使得含有相同语义的不同模态在公共空间中的距离最近;
[0074]
s4:构建哈希码生成网络,并利用所述的哈希码生成网络约束所述的特征提取网络的最后一层全连接层,使得通过最后一层全连接层的图像和文本的初步高维特征值,生成最优哈希码,实现对跨模态数据精准快速的检索。
[0075]
在一个具体的实施例中,所述的特征提取网络包括用于提取图像特征的第一深度神经网络、用于提取文本特征的文本提取网络;
[0076]
将第一深度神经网络的最后一层修改为哈希码输出层,其神经元数为哈希码长度,
[0077]
使用激活函数,将输出映射到-1到1之间;
[0078]
将数据集中每张图像调整为224
×
224的大小,输入到预训练好的第一深度神经网络,以提取初步图像高维特征值;本实施例中所述的第一深度神经网络为深度神经网络vgg-16,所述的深度神经网络vgg-16的最后三层是全连接层,原本第一深度神经网络的最后一层是用来做分类任务的,本实施例将其最后一层用来生成哈希码。具体地,所述的深度神经网络vgg-16的第一层和第二层全连接层的网络节点数为4096维,第三层全连接层的神经元数为哈希码长度值hi,使用tanh激活函数,将输出映射到-1到1之间。
[0079]
所述的文本提取网络包括:
[0080]
用于向量化数据集中所有文本词袋模型,
[0081]
由五级并联的均值池化层构造的多尺度特征堆叠模型,
[0082]
由三层全连接层构成的第二深度神经网络。
[0083]
在文本特征提取中,首先,用词袋模型表示每个文本,将文本模态的词袋模型作为文本提取网络的输入。
[0084]
然后,经过由五级并联的均值池化层构造的多尺度特征堆叠模型提取不同感受野下的高阶和低阶特征,其窗口大小分别为1
×
1、2
×
2、3
×
3、5
×
5、10
×
10;
[0085]
最后,由三层全连接层构成的第二深度神经网络提取特征后,输出文本特征的哈希码,第二深度神经网络配置如表1所示。
[0086]
表1文本模态的全连接层特征提取网络的详细配置
[0087][0088]
具体如下:第一层全连接层fc1的网络节点数为多尺度特征堆叠模型输出维数;第二层全连接层是网络节点数为4096维的全连接层,由第二层全连接层fc2 输出初步高维特征值;第三层全连接层fc3是节点数为哈希码长度h
t
,激活函数为sigmoid的全连接层,即将第三层全连接层作为哈希码输出层。
[0089]
本实施例将图像-文本对组成的数据集β(i)={(xi,ti)|i∈1,2,...,n}输入到特征提取网络中,其中xi表示第i个图像数据的原始特征向量,ti表示第i个文本数据。
[0090]
本实施例将第一深度神经网络的第二层全连接层输出的图像初步高维特征值,和文本提取网络中的第二层连接层输出的文本初步高维特征值输入模态对抗网络进行对抗学习,更新图像和文本的特征,使得图像和文本对的特征在公共空间中拉到最近;同时也将图像和文本的第二层连接层分别输入到第一深度神经网络的第三层全连接层,文本提取网络中的第三层连接层,在哈希码生成模块的约束下生成哈希码特征。
[0091]
在一个具体的实施例中,模态对抗网络是基于对抗思想的,学习图像模态和文本模态的公共空间。特征提取网络的任务是图像和文本模态的表征学习,将图像和文本模态映射到公共子空间中,其目的是作为模态对抗模块的对手来混淆模态对抗模块的判别,进而提升模态对抗模块的判别能力。模态对抗模块的任务是判别特征提取网络中数据的模态类型,来提升特征提取网络的表征能力,进一步最小化具有相同语义信息的不同模态数据在公共空间中的距离。
[0092]
其中,所述的模态对抗网络使用e个具有三层全连接层的网络,第一个隐藏层的结点数与输入的特征维度一样;第二个隐藏层的结点数与第e层标签层的标签总数φe一致;第三层结点数为2,其激活函数是sigmoid函数,输出为二值码, 0表示图像模态,1表示文本模态;
[0093]
其中,e代表图像文本对的标签层数,标签层的索引自上而下为{1,2,...,e},φe表示第e层标签层的标签总数。
[0094]
所述的模态对抗网络的网络配置如表2所示。
[0095]
表2模态对抗模块详细的网络配置
[0096][0097]
在一个具体的实施例中,所述的模态对抗网络的对抗损失使用交叉熵损失函数,定义如下所示:
[0098][0099][0100]
其中,l
adv
表示模态对抗网络总的目标函数,l
adv_e
表示第e层标签对应的对抗损失,vi表示每个数据的真实标签监督信息,g(*;ε)是数据集β(i)在模态对抗网络中生成的模态概率分布,ε是模态对抗网络的参数。
[0101]
在一个具体的实施例中,所述的哈希码生成网络包括
[0102]
不同标签层关联子模块,通过引入标签层内相似性损失和标签层间相关性损失,来充分挖掘每一层标签存在的内在相似度和标签层间存在的相关性;
[0103]
不同语义类别区分子模块,通过设计一个不同语义类别区分的总目标函数,使不同语义的模态数据在公共空间中彼此保持一定的距离,从而避免不同语义数据对检索的干扰。
[0104]
跨模态哈希损失子模块,将初步高维特征值转换为最优编码长度哈希码,以压缩数据维度并降低数据存储空间,实现对跨模态数据精准快速的检索。
[0105]
在一个具体的实施例中,所述的不同标签层关联子模块包括2个分支,分别是标签层内相似性损失、标签层间相关性损失。
[0106]
在标签的层次结构中,为了保持每一层标签的相似性,为每一层的每个标签生成标签哈希码e∈{1,2,...,e},定义标签层内相似性损失函数:
[0107][0108]
其中,ce是第e层的类别哈希码;代表每一组图像文本对数据集β(i)的标签向量,其中标签向量,其中表示第i个图像文本对数据被第e层的第j个标签标记,否则,f(xi,wf)表示原图像经过特征提取网络中的第二层全连接层的输出,其中wf表示提取图像特征网络的网络参数; g(ti,wg)表示文本经过特征提取网络中的第二层全连接层的输出,其中wg表示提取文本特征网络的网络参数;ζe是第e层标签的置信度,所有标签层的置信度之和为1。
[0109]
为了充分获取跨层相关性,定义跨层标签相似度矩阵,即:
[0110][0111]
其中,e∈{1,2,...,e-1},ei代表第e层的第i个标签,e代表最后一层标签;表示第e层的第j个标签是第e层的第i个标签的子孙结点,否则为0。
[0112]
则标签层间相关性损失函数表示为:
[0113][0114]
其中,ce是第e层标签的哈希矩阵,ηe代表超参数,且
[0115]
在一个具体的实施例中,在不同语义类别区分子模块,设计一个不同语义类别区分的总目标函数具体如下:
[0116]
在公共空间中,根据不同语义类别、不同模态数据之间的距离应当尽可能远,从而定义第一目标函数表示为:
[0117][0118]
其中,dis(w,v)表示两个点w=(w1,w2,...,wn)和v=(v1,v2,...,vn)的余弦距离,f(xi)和f(xj)代表图像特征,g(ti)和g(tj)代表文本特征;
[0119]
在公共子空间,根据不同语义类别、相同模态的数据在公共子空间中应当分离,从而定义第二目标函数表示为:
[0120][0121]
不同语义类别区分模块总损失函数表示为:
[0122][0123]
其中,n表示数据集中图像文本对数。
[0124]
在一个具体的实施例中,将特征提取网络中第二层全连接层的输出结果引入到跨模态哈希模块中,定义跨模态哈希损失函数如下所示:
[0125][0126]
其中,分别是图像和文本模态数据学习到的哈希码;代表斐波那契范数。
[0127]
本实施例利用跨模态哈希损失子模块提出最优编码长度哈希学习算法,将多模态数据特征用最优编码长度的低维二进制哈希码表示,使得在原始空间中相似数据的哈希码的汉明距离最短;反之,原始空间中不相似的数据,其哈希码也是不相似的,而且汉明距离
尽可能远。
[0128]
在一个具体的实施例中,利用特征提取网络、模态对抗网络、哈希码生成网络构成跨模态图文检索模型,将跨模态图文检索模型的最终损失函数表示为:
[0129]
loss=αl
adv
+βl
intra_layer
+χl
inter_layer
+δl
dis
+φl
hash
ꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0130]
其中,α、β、χ、δ和φ是超参数;l
adv
、l
intra_layer
、l
inter_layer
、l
dis
、l
hash
分别表示交叉熵损失函数、标签层内相似性损失函数、标签跨层相关性损失函数、不同语义类别区分模块总损失函数、跨模态哈希损失函数。
[0131]
根据最终损失函数训练优化跨模态图文检索模型,使得跨模态图文检索模型达到最优。
[0132]
本实施例中有四个参数需要训练优化,分别是提取图像特征的网络参数wf、提取文本特征的网络参数wg和哈希码d
x
、d
t
。在跨模态图文检索模型优化中,使用前向传播网络计算f(xi,wf)和g(ti,wg),在反向传播中采用adam梯度下降算法更新参数wf和wg。经过哈希码生成模块后,根据公式(9)更新哈希码d
x
、 d
t
。通过网格搜索方法给超参数α、β、χ、δ、φ、hi和h
t
赋值,使得跨模态图文检索模型达到最优。
[0133]
本实施例的优化过程见算法1,其中sgn(
·
)是二值判断函数,表达式为:
[0134]
[0135][0136]
实施例2
[0137]
一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述的处理器执行所述的计算机程序时,实现的方法步骤如下:
[0138]
s1:构建用于提取图像特征和文本特征的特征提取网络;
[0139]
s2:利用特征提取网络提取图像和文本特征,分别得到图像和文本的初步高维特征值;
[0140]
s3:在特征提取阶段,构建模态对抗网络,将图像和文本的初步高维特征值输入模态对抗网络进行对抗学习,使得含有相同语义的不同模态在公共空间中的距离最近;
[0141]
s4:构建哈希码生成网络,并利用哈希码生成网络约束特征提取网络的最后一层全连接层,使得通过最后一层全连接层的图像和文本的初步高维特征值,生成最优哈希码,实现对跨模态数据检索。
[0142]
实施例3
[0143]
一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述的计算机程序被处理器执行时,实现的方法步骤如下:
[0144]
s1:构建用于提取图像特征和文本特征的特征提取网络;
[0145]
s2:利用特征提取网络提取图像和文本特征,分别得到图像和文本的初步高维特征值;
[0146]
s3:在特征提取阶段,构建模态对抗网络,将图像和文本的初步高维特征值输入模态对抗网络进行对抗学习,使得含有相同语义的不同模态在公共空间中的距离最近;
[0147]
s4:构建哈希码生成网络,并利用哈希码生成网络约束特征提取网络的最后一层全连接层,使得通过最后一层全连接层的图像和文本的初步高维特征值,生成最优哈希码,实现对跨模态数据检索。
[0148]
本发明的各实施方式可以任意进行组合,以实现不同的技术效果。
[0149]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk)等。
[0150]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
[0151]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1