一种基于模态特定和共享特征学习的跨模态检索方法

文档序号:25047912发布日期:2021-05-14 12:43阅读:242来源:国知局
一种基于模态特定和共享特征学习的跨模态检索方法

1.本发明涉及一种跨模态的检索方法,特别是涉及一种基于模态特定和共享特征学习的跨模态检索方法。


背景技术:

2.近些年来,海量的多模态数据充斥着我们的生活。就以互联网上的新闻为例,通常包括文字介绍,有时还会在页面上排版一些记者拍下的照片,甚至会有一些独家的视频和音频的报道。像文本、图像、视频、音频等多模态数据是我们从多个角度去高效地获取同一个信息的重要手段。用户不仅仅需要单一模态数据之间地检索,更加需要一种更灵活地检索方式:从一个模态数据去精准地检索到另外一种模态的相关数据。近些年来,跨模态检索这项工作已经成为学术界广泛讨论地热点。但是,多模态数据因为有不同的分布和表示通常具有比较强的异质性,难以直接计算并缩小它们之间的差异。因此,跨模态检索任务存在一定的挑战性。在自编码的学习过程中如何更好地保留原始特征以及消除多模态数据分布的差异是一个重要的研究课题。此外,现有的跨模态检索工作在做特征提取时少有将模态特定信息和模态共享信息结合考虑,造成有效信息的丢失。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种基于模态特定和共享特征学习的跨模态检索方法,通过重新设计的自编码器的框架,有效地减小多模态数据的分布差异,并且通过重新设计哈希网络,使得输出的哈希码在模态间和模态内具有更好的语义区分性。
4.为实现本发明的目的,本发明所述的一种基于模态特定和共享特征学习的跨模态检索方法,包括如下步骤:
5.步骤s1、获取跨模态检索数据集,并且将所述跨模态检索数据集划分为训练集和测试集;
6.步骤s2、对训练集中的文本和图像分别进行特征提取;
7.步骤s3、设置对抗自编码器网络,通过所述对抗自编码器网络提取模态特定特征和模态共享特征;
8.步骤s4、通过哈希网络生成对应模态样本的哈希码;
9.步骤s5、联合对抗自编码器网络的损失函数以及哈希网络的损失函数训练网络;
10.步骤s6、利用步骤s5中训练完成的网络对测试集中的样本进行跨模态检索。
11.进一步的,所述跨模态检索数据集包括多个样本对,每个样本对包括:文本、图像和相应的语义标签。
12.进一步的,在所述步骤s2中,通过vgg

19模型提取第七部分全连接层的图像特征;通过词袋模型提取文本特征。
13.进一步的,所述步骤s3具体包括:
14.步骤s301、设置对抗自编码器网络的生成器,所述生成器包括隐含层生成器和全
局生成器;
15.所述隐含层生成器用以获取图像特征和文本特征在子空间的分布,所述隐含层生成器包括3层全连接层,每一层的神经元数量分别为3000、1000、100,激活函数为tanh;
16.所述全局生成器用以获取图像和文本的重构特征,所述全局生成器包括5层全连接层,每一层的神经元数量分别为3000、1000、100、1000、3000,激活函数为tanh;
17.步骤s302、设置对抗自编码器网络的判别器,所述判别器包括隐含层判别器和全局判别器;
18.所述隐含层判别器用以区分子空间的图像特征和文本特征,所述隐含层判别器包括3层全连接层,神经元个数分别是50、25、1,激活函数为leakyrelu;
19.所述全局判别器用以区分真实图像特征和生成的图像特征以及真实文本特征和生成的文本特征,所述全局判别器包括2层全连接层,每一层的神经元数量分别为20、1,激活函数为leakyrelu;
20.步骤s303、所述全局生成器通过对抗性的训练保留图像模态和文本模态的原始特征,所述全局生成器的损失函数定义为:
[0021][0022]
公式(1)中,v表示为图像模态,t表示为文本模态,e表示为数学期望,表示图像模态通道自编码器重构损失,表示文本模态通道自编码器重构损失,p
gg
表示为全局生成器生成的特征集,和表示p
gg
中图像和文本模态的实例,表示为图像通道的全局判别器,用以区分真实的图片特征和解码生成的图片特征,表示为文本通道的全局判别器,用以区分真实的文本特征和解码生成的文本特征,θ
en
和θ
de
分别表示为自编码器网络编码层和解码层的网络参数,α表示为平衡参数;
[0023]
步骤s304、所述隐含层生成器通过对抗性的训练策略生成模态特定特征以及模态共享特征,所述隐含层生成器的损失函数定义为:
[0024][0025]
公式(2)中,v表示为图像模态,t表示为文本模态,e表示为数学期望,表示为图像模态的共享特征集,表示为文本模态的共享特征集,和分别表示和中的实例,和表示为模态分类器,用以区分隐含层的共享特征来自于哪个模态,θ
en
表示为对抗自编码器网络编码层的网络参数;
[0026]
步骤s305、所述全局判别器的损失函数定义为:
[0027][0028]
公式(3)中,v表示为图像模态,t表示为文本模态,e表示为数学期望,以及分别表示图像和文本模态自编码结构的全局判别器,p
data
表示为在步骤s2中,通过vgg

19模型以及词袋模型提取到的特征集,p
gg
表示为全局生成器生成的特征集,θ
ag
表示为全局判别器网络参数,x
v
和x
t
分别表示p
data
中的图像和文本模态的实例,和表示p
gg
中图像和文本模态的实例;
[0029]
步骤s306、所述隐含层判别器的损失函数定义为:
[0030][0031]
公式(4)中,v表示为图像模态,t表示为文本模态,e表示为数学期望,表示为图像模态的共享特征,表示为文本模态的共享特征,和表示为模态分类器,用以区分隐含层的共享特征来自于哪个模态,θ
as
表示为隐含层判别器的网络参数,x
v
和x
t
表示vgg

19模型以及词袋模型提取到特征向量,和分别表示和中的实例。
[0032]
进一步的,所述步骤s4包括:
[0033]
步骤s401、设置模态特定和共享的哈希网络,包括两层的全连接层,输出为k维特征,其中k为哈希码的位数,输出特征经过sign函数生成哈希码;
[0034]
步骤s402、模态特定和共享的哈希网络将成对的特征映射到汉明空间中,同时增加模态特定和模态共享特征的融合约束,运用标签信息对相似性进行建模。
[0035]
进一步的,所述步骤s402,具体包括:
[0036]
步骤s4021、定义模态特定和共享的哈希网络的输出为:步骤s4021、定义模态特定和共享的哈希网络的输出为:θ
h
为网络参数,其中v
s

和t
s

分别表示图像和文本模态的特定特征,和分别表示图像和文本内模态的共享特征;
[0037]
步骤s4022、定义哈希码分类损失函数:
[0038][0039]
公式(5)中,l
c
表示为哈希码分类损失,l
s
表示为每一个特征的真实标签,具体表现形式为0

1向量;表示为每个的语义类别的概率分布,表示为模态特定和模态共享的拼接;
[0040]
步骤s4023、定义模态特定和模态共享特征的阈值度量损失函数:
[0041][0042]
公式(6)中,h(x)=max(0,x),ξ表示阈值,表示图片模态特定特征和共享特征的范数,示文本模态特定特征和共享特征的范数;
[0043]
步骤s4024、获取模态特定和模态共享哈希网络的优化损失:
[0044]
l
h
=l
c

·
l
lm
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0045]
公式(7)中,β表示为平衡参数。
[0046]
进一步的,所述步骤s5包括:联合对抗自编码器网络的损失函数以及哈希网络的损失函数采用采用极小极大博弈策略进行优化,所述极小极大博弈策略具体通过随机梯度下降的优化算法实现。
[0047]
进一步的,在所述步骤s5中,采用均方根传播优化器实现对抗自编码器网络的损失函数以及哈希网络的损失函数的优化。
[0048]
本发明的有益效果是:
[0049]
1、本发明基于自编码器的框架,用全局对抗网络改进了自编码器模态内重构过
程,极小极大博弈的策略使得模态内的原始特征和重构特征难以判别,更好地保留原始特征。隐含层对抗网络生成模态不变表示的同时使得模态间数据难以被区分,有效地减小多模态数据的分布差异。
[0050]
2、本发明设计了一个新的哈希网络,将图像通道的编码特征和文本通道编码特征以及模态共享特征投影到汉明空间中,并且利用标签信息、模态特定和共享特征进行建模,使得输出的哈希码在模态间和模态内具有更好的语义区分性。
附图说明
[0051]
图1为本发明的流程框图。
具体实施方式
[0052]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053]
实施例1
[0054]
参见图1,本实施例提供一种基于模态特定和共享特征学习的跨模态检索方法,包括如下步骤:
[0055]
步骤s1、获取跨模态检索数据集,并且将跨模态检索数据集划分为训练集和测试集;
[0056]
具体的说,在本实施例中,通过互联网等常规渠道,获取到的数据集,具体包括:wikipedia和nus

wide,这些数据集都是由有标签的图像文本对构成。
[0057]
步骤s2、对训练集中的文本和图像分别进行特征提取;
[0058]
具体的说,在本实施例中,通过vgg

19模型提取第七部分全连接层的图像特征;通过词袋模型提取文本特征。
[0059]
在本实施例中,采用的vgg

19模型包含了16个卷积层和3个全连接层,网络结构为:第一部分由两层的卷积层组成,包含:64个大小为3*3的卷积核,步长是1,0边距,采用relu激活函数。池化用传统的2*2大小的模板。第二部分以第一部分的输出作为输入,由两层卷积层组成,每一层的结构为:用128个3*3大小的卷积核,步长是1,0边距,采用relu激活函数,池化采用2*2大小的模板。第三部分由四个卷积层组成,每一层的结构为256个3*3的卷积核,步长是1,0边距,激活函数为relu,池化用传统的2*2大小的模板。第四部分和第五部分都由四层卷积层组成,每一层的结构为512个3*3的卷积核,步长是1,0边距,激活函数为relu,池化用传统的2*2大小的模板。第六部分和第七部分为全连接层,有4096个神经元,为了减少过拟合,本发明设置dropout参数为0.5,激活函数用relu。然后得到与输入图像对应的尺寸为4096维的特征。第八部分全连接层的神经元个数为1000,后接softmax作为激活函数。
[0060]
更具体的说,本实施例中采用的vgg

19模型为事先使用imagenet数据集预训练好的模型,并且采用s1划分好的数据集作微调,提取第七部分全连接层的图像特征。
[0061]
本实施例中,对文本特征进行学习:
[0062]
数据集不考虑其词法和语序的问题,即每个词语都是独立的,把每一个单词都进行统计,同时计算每个单词出现的次数。词袋模型不考虑文本中词与词之间的上下文关系,仅仅只考虑所有词的权重,而权重与词在文本中出现的频率有关,将关键词表示成向量的形式。
[0063]
步骤s3、设置对抗自编码器网络,通过对抗自编码器网络提取模态特定特征和模态共享特征;给定一个跨模态检索的样本集o
s
=(v
s
,t
s
,l
s
)代表第s个样本的图像、文本以及语义标签的组合,得到n对图像和文本特征实例的集合。其中,vd和td分别是图像和文本特征的维度,l
s
是独热(one

hot)编码,它是语义标签的二进制向量表示;
[0064]
具体的说,在本实施例中,步骤s3包括:
[0065]
步骤s301、设置对抗自编码器网络的生成器,生成器包括隐含层生成器和全局生成器;
[0066]
隐含层生成器经过自编码器的编码过程得到图像和文本特征在子空间的分布,隐含层生成器包括3层全连接层,每一层的神经元数量分别为3000、1000、100,激活函数为tanh;ω
s
=(v
s

,t
s

,l
s
)代表第s个样本的图像和文本的特定特征以及语义标签的组合,代表第s个样本的图像和文本的共享特征以及语义标签的组合;
[0067]
全局生成器经过自编码器的编码和解码过程得到图像和文本的重构特征,全局生成器包括5层全连接层,每一层的神经元数量分别为3000、1000、100、1000、3000,激活函数为tanh;
[0068]
在本实施例中,图片采用vgg

19提取4096维特征,文本采用bow提取1000维特征。编码过程是降维过程,得到图片和文本100维的特定特征。解码过程是编码的逆过程,目的是重构原始特征。
[0069]
步骤s302、设置对抗自编码器网络的判别器,判别器包括隐含层判别器和全局判别器;
[0070]
隐含层判别器用以区分子空间的图像特征和文本特征,隐含层判别器包括3层全连接层,神经元个数分别是50、25、1,激活函数为leakyrelu;
[0071]
全局判别器用以区分真实图像特征和生成的图像特征以及真实文本特征和生成的文本特征,全局判别器包括2层全连接层,每一层的神经元数量分别为20、1,激活函数为leakyrelu;
[0072]
步骤s303、全局生成器通过对抗性的训练保留图像模态和文本模态的原始特征,全局生成器的损失函数定义为:
[0073][0074]
公式(1)中,v表示为图像模态,t表示为文本模态,e表示为数学期望,表示图像模态通道自编码器重构损失,表示文本模态通道自编码器重构损失,p
gg
表示为全局生成器生成的特征集,和表示p
gg
中图像和文本模态的实例,表示为图像通道的全局判别器,用以区分真实的图片特征和解码生成的图片特征,表示为文本通道的全局判别器,用以区分真实的文本特征和解码生成的文本特征,θ
en
和θ
de
分别表示为自编码器网络编码
层和解码层的网络参数,α表示为平衡参数;
[0075]
步骤s304、隐含层生成器通过对抗性的训练策略生成模态特定特征以及模态共享特征,隐含层生成器的损失函数定义为:
[0076][0077]
公式(2)中,v表示为图像模态,t表示为文本模态,e表示为数学期望,表示为图像模态的共享特征集,表示为文本模态的共享特征集,和分别表示和中的实例,和表示为模态分类器,用以区分隐含层的共享特征来自于哪个模态,θ
en
表示为对抗自编码器网络编码层的网络参数;
[0078]
步骤s305、全局判别器的损失函数定义为:
[0079][0080]
公式(3)中,v表示为图像模态,t表示为文本模态,e表示为数学期望,以及分别表示图像和文本模态自编码结构的全局判别器,p
data
表示为在步骤s2中,通过vgg

19模型以及词袋模型提取到的特征集,p
gg
表示为全局生成器生成的特征集,θ
ag
表示为全局判别器网络参数,x
v
和x
t
分别表示p
data
中的图像和文本模态的实例,和表示p
gg
中图像和文本模态的实例;
[0081]
步骤s306、隐含层判别器的损失函数定义为:
[0082][0083]
公式(4)中,v表示为图像模态,t表示为文本模态,e表示为数学期望,表示为图像模态的共享特征,表示为文本模态的共享特征,和表示为模态分类器,用以区分隐含层的共享特征来自于哪个模态,θ
as
表示为隐含层判别器的网络参数,x
v
和x
t
表示vgg

19模型以及词袋模型提取到特征向量,和分别表示和中的实例。
[0084]
步骤s4、通过哈希网络生成对应模态样本的哈希码;
[0085]
具体的说,在本实施例中,步骤s4包括:
[0086]
步骤s401、设置模态特定和共享的哈希网络,包括两层的全连接层,神经元个数分别设置为100,k,输出为k维特征,其中k为哈希码的位数,第一层与第二层的激活函数为tanh,输出特征经过sign函数生成哈希码;
[0087]
步骤s402、模态特定和共享的哈希网络将成对的特征映射到汉明空间中,同时增加模态特定和模态共享特征的融合约束,运用标签信息对相似性进行建模。
[0088]
更具体的说,在本实施例中,步骤s402包括:
[0089]
步骤s4021、定义模态特定和共享的哈希网络的输出为:步骤s4021、定义模态特定和共享的哈希网络的输出为:θ
h
为网络参数,其中v
s

和t
s

分别表示图像和文本模态的特定特征,和分别表示图像和文本内模态的共享特征;
[0090]
步骤s4022、定义哈希码分类损失函数:
[0091][0092]
公式(5)中,l
c
表示为哈希码分类损失,l
s
表示为每一个特征的真实标签,具体表现形式为0

1向量;表示为每个的语义类别的概率分布,表示为模态特定和模态共享的拼接;
[0093]
步骤s4023、定义模态特定和模态共享特征的阈值度量损失函数,保证模态独立特征和模态分享特征之间的差别度:
[0094][0095]
公式(6)中,h(x)=max(0,x),ξ表示阈值,表示图片模态特定特征和共享特征的范数,示文本模态特定特征和共享特征的范数;
[0096]
步骤s4024、获取模态特定和模态共享哈希网络的优化损失:
[0097]
l
h
=l
c

·
l
lm
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0098]
公式(7)中,β表示为平衡参数。
[0099]
步骤s5、联合对抗自编码器网络的损失函数以及哈希网络的损失函数训练网络;
[0100]
具体的说,联合两个网络的生成模型、判别模型以及哈希网络的损失函数,考虑到这生成模型和判别模型的优化目标是相反的,采用极小极大博弈策略进行优化。该博弈策略可以使用随机梯度下降的优化算法来实现,采用均方根传播(rmsprop)优化器。
[0101]
更具体的说,对于判别器、生成器和哈希网络的参数θ
en
,θ
de
,θ
ag
,θ
as
,θ
c
,θ
h
的优化过程如下:
[0102]
步骤s501、固定生成器和哈希网络参数,更新判别器参数:
[0103][0104][0105]
步骤s502、固定判别器参数,更新生成器和哈希网络参数:
[0106][0107][0108][0109][0110]
其中,r是学习率。
[0111]
在本实施例中,最小训练批次大小为256,学习率为0.01,两个权重参数α和β通过实验分别设置为2,5。
[0112]
步骤s6、利用步骤s5中训练完成的网络对测试集中的样本进行跨模态检索。
[0113]
具体的说,待网络收敛后,对测试集的样本进行跨模态检索。计算测试集中每个图像(文本)哈希码与训练集中所有文本(图像)哈希码之间的汉明距离d1(d2);
[0114]
升序排列d1和d2,并根据排列结果查询到文本和图像在模态中对应的索引,并按照相关度排名后取topk个作为检索结果,并基于双模态数据的标签信息对topk个检索结果
进行精度计算,完成图像文本对的跨模态检索。
[0115]
本发明未详述之处,均为本领域技术人员的公知技术。
[0116]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1