一种基于对抗学习和非对称哈希的跨模态检索方法与流程

文档序号:18642605发布日期:2019-09-11 23:41阅读:637来源:国知局
一种基于对抗学习和非对称哈希的跨模态检索方法与流程

本发明涉及一种基于对抗学习和非对称哈希的跨模态检索方法,属于计算机软件技术领域。



背景技术:

随着网络社交媒体和搜索引擎中多媒体数据的大量增加,在不同模态数据(如视频、图像、文本等)之间进行相互检索的需求日益增大。比如,用户输入文本查询时需要得到与查询文本相关的图片信息或者音视频信息。为解决在大规模跨模态数据中进行的检索问题,一种高效并且快速的方法就是哈希方法,跨模态哈希方法主要有两个阶段,一是各个模态数据特征的提取,二是各个模态数据之间相似性的挖掘。当前存在的跨模态哈希方法大致可分为两种:传统的跨模态哈希方法和基于深度学习的跨模态哈希方法。

以图像和文本的跨模态检索为例,传统的跨模态哈希方法一般使用手工构建的特征(如sift特征)作为图片的输入特征,然后通过关联矩阵分解等手段进行图片和文本相似度的挖掘,然后生成图像和文本的哈希码。例如,中国专利(申请号:201410532057.6,公开号:cn104317837a)通过构建基于主题的跨模态检索图模型,建立不同模态数据所包含主题之间的相关关系,同时能利用跨模态数据所具有的标签信息学习不同数据主题间的差异信息,最终进行跨模态之间相似性度量,实现跨模态检索。

近年来,随着深度学习的不断发展,基于深度神经网络的跨模态哈希方法取得了一定的突破,在跨模态检索任务中达到了很好的效果。与传统的跨模态哈希方法不同的是,基于深度学习的跨模态哈希方法利用卷积神经网络来提取图像模态数据的特征,多层感知机网络来提取文本模态的特征,然后通过一系列相似度学习方法来保证各个模态数据之间的相似度,从而生成哈希码。例如,中国专利(申请号:201711184981.x,公开号:cn107871014a)通过捕获视觉数据和自然语言之间的内在交叉对应关系,从而在端到端深度学习架构中生成图像和语句的紧凑哈希码,降低了距离计算开销,实现高效的跨模态检索。

由于传统的跨模态哈希方法使用人工构建的特征,因此对于各个模态数据的特征的提取不够充分,不能准确表达各个模态的数据。并且,通过矩阵分解等线性操作来生成哈希码,对各个模态之间的关联度的提取也不够充分,模态间数据的相似性不能完全保留,在一定程度上会对哈希码的生成造成影响,降低跨模态检索的效果。

基于深度学习的跨模态方法,因为使用深度神经网络较好的表达能力,通过卷积神经网络或者多层感知机网络提取的数据特征较传统方法有了很大提升。但是现有的基于深度学习的跨模态方法,在特征提取阶段不能充分提取各个模态数据的特征,在哈希码生成阶段生成的哈希码也不是最优的。因此,现有的基于深度学习的跨模态方法仍然需要改进,以取得更好地跨模态检索效果。



技术实现要素:

由于现有的深度跨模态哈希方法在特征提取阶段没有关注各个模态数据本身的标签分类信息,因此提取到的数据特征不具有充分的判别性。此外,在相似度学习阶段,大多数基于深度学习的跨模态方法都是使用基于对的数据(如“图像-文本”对)来进行相似度的提取,但是一个模态的某个数据,在另一个模态中可能存在多个与之相似或者不相似的数据,通过基于对的方法提取相似度,不能保证所有相似的数据对的相似度都比不相似的数据对大。同时,因为大多数实际数据会存在多个标签信息,如何保证在学习相似度的同时保留多标签的语义信息,大多数基于深度学习的跨模态方法都没有考虑。

针对上面分析的现有跨模态哈希方法的不足,本发明提出了一种新的基于深度学习的跨模态哈希方法,该方法通过对抗学习和注意力机制进行各个模态数据特征的提取,保证了提取到的数据特征在不同模态之间的分布一致性,以及标签分类的有效判别性。同时,该方法利用基于三元组(如“图像-相似文本-不相似文本”三元组)的方法进行相似度的提取,并且使用非对称哈希方法保证学到的哈希码能够保留跨模态数据多标签的语义信息,从而提高生成的哈希码的准确度,提升跨模态检索的效果。

本发明中提出的基于对抗学习和非对称哈希的跨模态检索方法,将跨模态数据特征表示的学习和哈希码的学习整合到一个端到端的网络框架中。该框架首先通过特征提取网络提取各个模态数据的特征,包括图像特征提取网络和文本特征提取网络,为了强化数据特征的提取过程,本方法使用了由对抗学习引导的注意力模块,该模块由一组判别网络和一个多标签注意力矩阵组成,包括文本特征判别网络和图像特征判别网络,因为每个模态数据包含多个标签信息,而所有的数据共享固定的标签空间,所以多标签注意力矩阵为所有标签的实值表示组成的矩阵。该模块通过对抗学习和注意力机制的共同作用,既使得不同模态的特征达到了跨模态一致性,同时还保留了特征的多标签判别性。具体来说,在对抗学习过程中,将特征的提取阶段看成特征生成器,以图像模态为例,即图片特征提取网络提取的特征看做是由图片生成的文本特征,与文本特征提取网络提取的真实文本特征一同作为输入,经过文本特征判别网络辨别文本特征的真假,文本模态的数据也有相同的操作,特征生成器和特征判别器以对抗的方式进行训练,从而达到跨模态特征的分布一致性。经过生成对抗网络得到的数据特征,在多标签注意力矩阵的作用下,融合多标签分类语义信息,从而使得数据的特征更具有判别性,而多标签注意力矩阵,则是基于生成对抗网络生成的特征得到的。

此外,为了使生成的哈希码在保留相似度关系的同时还能够保证其具有多标签的语义信息,该方法首先使用三元边距约束和基于余弦的量化约束来保证所有相似的数据对比不相似的数据对有更高的相似性,然后提出了一个共享的多标签二值矩阵,利用生成的哈希码与此矩阵的语义相关性,设计了非对称哈希损失,通过优化该损失,可以同时进行多标签二值矩阵和数据哈希码的优化,使生成的哈希码能够保留多标签的语义信息。

按照本发明提供的方案,一种基于对抗网络和非对称哈希的跨模态检索方法的具体步骤如下:

步骤1.数据预处理。由于跨模态数据以数据对(以图像-文本模态数据为例)的形式出现,即每一个实例都包含一个图片-文本对和与其对应的标签信息,每个数据实例被分为图片和文本两个部分,所有的数据被划分为训练集和测试集两个部分。

步骤2.初始化模型框架。该框架由跨模态特征提取和哈希码学习两个部分组成。特征提取部分包含三个主要的模块,一是图片特征提取网络,由卷积神经网络搭建而成,将原始图片像素作为输入,通过多个卷积层,池化层,全连接层以及激活函数的操作,得到输入图像的向量特征;二是文本特征提取网络,通过一个三层的多层感知机实现,先获得文本数据的“词袋(bagofword,bow)”表示,bow表示,即通过预先给定的词典,将一段文本表示成词典大小(词典中词的数目)的向量,向量中的每个位置对应词典的每个词,每个元素的值表示这段文本中该词出现的次数,将文本的bow表示作为输入,通过多个全连接层以及激活函数的操作,得到文本数据的向量特征;三是对抗学习引导的注意力模块,该模块由图像特征判别网络、文本特征判别网络和一个多标签注意力矩阵组成,用来强化跨模态特征的学习,其中两个特征判别网络都是由三层的多层感知机实现,多标签注意力矩阵为每个标签的实值表示组成的矩阵,由于图像和文本数据共享标签空间,所以多标签注意力矩阵在两个模态中共享。哈希码学习部分包括图像哈希码学习网络、文本哈希码学习网络和一个共享的多标签二值矩阵,两个网络都是由两层全连接层组成,多标签二值矩阵则是随机初始化的二值(即只有+1和-1)矩阵,哈希码学习部分为两个模态的数据学习能够保证相似关系和多标签语义信息的哈希码。损失模块包含特征提取部分的对抗损失,以及哈希码学习部分的三元边距损失、余弦量化损失和非对称哈希损失。

步骤3.模型训练。每个跨模态数据对作为输入时,图片数据和文本数据经过各自的特征提取网络,得到各个模态数据的特征,然后在对抗学习的作用下对各个模态数据的特征进行强化,强化的图像和文本特征,按照其多标签分类信息对属于同一标签的特征进行平均,生成共享的多标签注意力矩阵,多标签注意力矩阵生成公式如下:

式中m表示多标签注意力矩阵,fx和fy分别表示通过对抗学习得到的图像特征和文本特征,表示数据的多标签矩阵,其中li∈{0,1}c表示第i个数据对对应的标签向量,n为训练集中数据对的数目,c为标签数目,表示属于标签s的所有数据的数目组成的向量(因为标签是0、1构成的向量,按照向量相加之后得到的是属于每个标签的数据的数目组成的向量)。同时,图像特征和文本特征再分别与多标签注意力矩阵进行相似度计算并经过sigmoid函数的操作获得权重向量(表示特征包含的每一个标签的置信度),再将多标签注意力矩阵基于权重向量进行带权求和,得到一个图像特征或者文本特征的注意力特征,该注意力特征和对应的图像或文本特征按照一定的比例融合起来,即得到每个模态数据经过注意力后的特征。将两个模态的数据特征输入到哈希网络中,通过图像和文本哈希网络,在tanh激活函数的作用下生成各个模态实值的哈希码,然后计算三元边距损失、余弦量化损失和非对称哈希损失,计算的损失通过反向传播,利用随机梯度下降的方法更新模型的参数,多标签二值矩阵则是通过循环坐标下降(ccd)的方法更新,同时,利用对抗学习,特征判别器最大化分辨一个特征是否是真实特征的概率,并且特征生成器最小化特征判别器判别某个特征是生成特征的概率,通过此方式来优化各模态特征提取(生成)网络与判别网络的参数。当模型参数收敛并且在测试机上的检索效果达到最优时,保存此时的最优模型。

步骤4.各模态数据哈希码生成。利用步骤3中得到的最优模型,将数据库中的所有的数据作为输入,分别得到图像模态数据和文本数据的实值哈希码,此时对生成的哈希码进行取符号操作,即对实值哈希码的每一位元素进行符号函数操作后,得到图像和文本模态数据的由+1和-1组成的二值哈希码。

步骤5.检索阶段。在给定新的查询数据(图像或文本)时,通过步骤4,得到查询的二值哈希码,然后在此哈希码与数据库中的与查询不同模态的所有数据的哈希码之间计算汉明距离,按照汉明距离的升序排序,得到满足检索条件的跨模态数据实例,并输出相应的检索结果。

上述的,步骤2中,卷积神经网络由多个卷积层、最大池化层、局部响应归一化层和全连接层组成,具体构成可以参见alexnet网络。每个卷积层通过卷积核与输入的卷积操作,提取输入的特征图,最大池化层则是对特征图进行的下采样处理,局部响应归一化层用来增强模型的泛化能力。

上述的,步骤2中,生成对抗网络中的特征判别网络(包括文本模态特征判别网络和图像模态特征判别网络)都是由3层全连接层组成。

上述的,步骤2中,哈希学习网络(包括文本模态哈希学习网络和图像模态哈希学习网络)都是由全连接层和激活函数层组成。

上述的,步骤2中,对抗损失表达为:

其中,分别表示图像模态和文本模态的对抗损失,dx和dy分别表示图像特征判别网络和文本特征判别网络,分别为dx和dy的参数,分别为第i个数据对中图片的特征和文本的特征,d(f;θ)表示判别网络输出的特征是否为真实特征的概率,n为训练集样本的数目。

上述的,步骤2中,三元边距损失表达为:

其中,分别表示图像模态和文本模态的三元边距损失,的表达式分别为:

其中表示三元组,ui是图片的实值哈希码,是与ui相似的文本的实值哈希码,是与ui不相似的文本哈希码,的定义类似,σi,j,k表示所有满足上述条件的(i,j,k)对应的三元组的求和,cos(·)表示余弦函数。

上述的,步骤2中,余弦量化损失表达为:

其中,分别表示图像模态和文本模态的余弦量化损失,1u示维度与ui相同的值全为1的向量,1v示维度与vi相同的值全为1的向量,exp(·)表示指数函数。

上述的,步骤2中,非对称哈希损失表达为:

其中,分别表示图像、文本和标签的非对称哈希损失,q表示多标签语义二值矩阵,q中的每一行即一个语义标签的二值表示,qi是q的第i行,li表示第i个实例的标签,当第i个实例属于标签空间的某个标签时,li对应的维度的值即为1,否则为0,k为哈希码的长度,iij为指示矩阵i的元素,i∈{-1,+1}c×c,当i=j时,iij=1,否则iij=-1。指示矩阵i计算过程中直接生成的。

上述的,步骤3中,优化对抗损失、三元边距损失和余弦量化损失时,可以直接采用反向传播算法对模型参数进行更新,非对称哈希损失因为有离散值的存在,在优化q时,不能直接进行反向传播,所以使用循环坐标下降(ccd)方法进行优化。在训练过程中,各个网络的参数交替的进行更新。

本发明的关键点包括:

1.本方法提出的跨模态哈希方法将跨模态特征提取、跨模态相似度学习以及哈希码生成整合到一个端到端的框架中,能够高效的生成大规模跨模态数据的哈希码,并显著地提高跨模态检索的效果。

2.本方法提出的跨模态哈希框架包含三个模块,特征提取模块用来提取图像和文本数据的特征;对抗注意力模块用来强化特征的学习,该模块使用基于对抗学习的注意力结构,保证了跨模态特征的分布一致性与判别性;哈希学习模块联合三元组学习和非对称哈希方法,保证了生成哈希码在所有相似数据对上的较高相似度,同时保留了哈希码的多标签语义信息。

3.本方法提出了四种相互作用,共同影响的损失函数,包括:对抗损失、三元边距损失、余弦量化损失和非对称哈希损失。

在模型训练的过程中,使用循环坐标下降的方法进行离散二值矩阵的学习,同时交替的更新各个网络的参数,该训练方式可以同时优化实值参数矩阵和离散二值矩阵,交替的训练,还能够增加模型的鲁棒性。

与现有技术相比,本发明的积极效果为:

1.本发明针对目前的跨模态哈希方法中,跨模态特征提取不够充分,跨模态特征表示不具有判别性,提出的对抗网络引导的注意力模块,利用对抗学习保证各个模态特征的跨模态分布一致性,同时,利用多标签分类注意力矩阵,使得提取的特征能够保证较高的判别性。

2.本发明针对目前方法中跨模态哈希码生成时,不能充分保证所有相似数据对于不相似数据对之间相似度的上下级关系,以及哈希码自身的多标签语义相似度的保留问题,提出的哈希学习网络,整合三元边距损失和非对称哈希损失等多个损失,使得学习的哈希码能够充分的保证所有相似数据对相比不相似数据对具有较高的相似度,同时保证生成的哈希码具有多标签的语义信息,显著地提升了跨模态检索的效果。

3.本发明提供的针对离散二值矩阵的循环坐标下降优化方法以及交替训练模型参数的更新策略,使得整个网络以端到端的方式训练,增强模型的鲁棒性,强化了跨模态特征的抽取,提高了生成的哈希码的准确度。

附图说明

图1是本发明方法的流程示意图;

图2是本发明方法提出的框架结构示意图;

图3是本发明方法提出的注意力模块示意图。

具体实施方式

为更好地表达本发明中提出的基于对抗学习和非对称哈希的跨模态检索方法,下面结合附图和具体实施方式,以224×224像素的图片以及其对应的一段文字描述为例,对本发明作进一步的说明。

图1为本发明的整体流程图,包括数据预处理、初始化模型框架、模型训练、各模态数据哈希码生成以及检索阶段五个部分。

步骤1.数据预处理。将跨模态数据集分为训练集和测试集两个部分,每个数据实例包含图片-文本对以及其相应的标签;

步骤2.初始化模型框架。图2是本发明中设计的模型框架,该框架包含跨模态特征提取模块、对抗网络引导的注意力模块、哈希学习模块以及损失函数模块。卷积层用“cov”表示,全连接层用“fc”表示,最大池化层用“pooling”表示,对抗网络用“d”表示,注意力模块用“attn”表示。卷积层参数配置按顺序设置为:k.64×11×11,st.4×4,pad0,lrn;k.256×5×5,st.1×1,pad2,lrn;k.256×3×3,st.1×1,pad1;k.256×3×3,st.1×1,pad1;k.256×3×3,st.1×1,pad1,其中k.表示卷积核的配置信息(个数×宽度×高度),st.表示步长,pad表示填充维度,lrn表示是否有局部响应归一化操作,fc1的特征数为8192,fc2、fc6、fc7的特征数为4096,fc3和fc8的特征数为跨模态特征的维度,在本实例中为128,哈希学习模块中,fc9和fc10的特征数为哈希码的长度,在本实例中为64。最大池化层的参数均为(3×3)×2。图3是注意力模块示意图,其中表示矩阵乘法操作,表示矩阵加法操作,σ表示sigmoid函数,公式为:

在本实施例中,图片数据通过图片特征提取网络得到128维的特征向量,即为fc8的输出,文本数据通过文本特征提取网络得到128维的特征向量,即为fc3的输出,两个特征在分别被输入到注意力模块中,得到更具判别性的特征表示。随后,图片特征和文本特征分别进入哈希学习网络的全连接层fc9和fc10,分别输出图片和文本长度为48位的哈希码;

步骤3.模型训练。在特征提取网络得到各个模态的特征后,计算对抗网络中的对抗损失,然后反向传播更新特征学习网络与对抗网络的参数,随后,再生成图片和文本的实值哈希码之后,计算三元边距损失、余弦量化损失和非对称哈希损失,通过反向传播更新特征学习网络个哈希学习网络的参数,通过循环坐标下降更新多标签二值矩阵的值。重复参数更新过程,直到模型收敛,并且在测试集中的效果达到最优,保存此时的最优模型;

步骤4.各模态数据哈希码生成。对于数据库中的每一个数据实例(图像-文本对),将其中的图像输入到图像特征提取网络中,经过注意力模块得到具有判别性的图片特征,然后在进入哈希学习网络中,得到实值的哈希码,最后通过符号函数的操作,得到二值哈希码。文本数据也进行类似的操作,得到二值哈希码。

步骤5.检索阶段。将待查询的图片或者文本按照步骤4传入网络中,得到查询的二值哈希码,然后计算其与数据库中另一模态数据哈希码之间的汉明距离,根据汉明距离的升序排列,返回满足要求的查询结果。由于汉明距离可以由位运算中的异或操作快速得到,所以计算距离的开销非常小,能够显著地提升跨模态检索的速度。

尽管为说明目的公开了本发明的具体内容、实施算法以及附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1