深度联合语义跨模态哈希算法

2022-03-05 07:52王展青王晓雨
小型微型计算机系统 2022年3期
关键词:哈希模态检索

熊 威,王展青,王晓雨

(武汉理工大学 理学院,武汉 430070)

1 引 言

随着互联网信息和科学技术的高速发展,多媒体数据呈现爆炸式增长.为满足人们对多样化数据的需求,跨模态数据的检索技术成为人工智能领域的研究热点.例如,给定一个查询图像,可能需要检索一组最能描述该图像的文本,或者将给定的文本匹配一组在视觉上关联的图像.跨模态检索任务能够高效地分析多模态数据的语义关联性,实现不同模态之间的相互匹配.在信息检索[1,2]、图像分类[3,4]和目标检测[5]等计算机视觉应用中,最近邻(NN)[6,7]搜索是一种应用广泛的检索技术,能根据特定的距离测量方法从数据库中找到最接近查询样本的数据.对于大规模数据或类型复杂的样本,在数据库中计算查询样本与检索样本之间的距离需要大量的计算.为了降低查找最近邻的代价,近似最近邻(ANN)[8]成为跨模态检索任务中最常用的检索方式.近年来,由于数据的哈希特征表示具有存储空间小和检索速度快、通讯开销低等优点,因此在大规模信息检索领域得到广泛的关注和重视[9].

跨模态检索的关键问题是如何学习不同模态数据之间的内在相关性[10].早期基于哈希的跨模态检索方法[11-13]通常将手工特征(SIFT、GIST等)投影到汉明空间,并在哈希码的学习过程中保持数据特征的关联性.然而这些哈希方法将特征提取和哈希学习视为两个独立的过程,不能在同一框架内进行特征学习和哈希学习[14].

随着深度学习的迅速发展,许多基于深度学习的哈希方法被提出.然而,这些方法大多采用由标签信息构成的传统相似性度量,简单的将数据间的关联性分为相似与不相似.一些深度学习方法提出了相似性度量上的改进(如余弦相似度[15]和杰卡德相似系数(Jaccard coefficient)[16]),取得了检索性能上的提升.由于来自不同模态的数据具有特定的表示形式,因此进一步挖掘数据内容的潜在关联性能够提高跨模态检索模型的性能.

为了深入挖掘潜在多模态数据的深度特征信息和空间结构信息,本文提出一种新的深度联合语义模型(DJSH)如图1所示.算法的主要贡献总结如下:

1)提出一种端对端的深度联合语义框架,能够充分挖掘跨模态数据的深度特征关联性和原始数据的近邻关系.

2)构造能够平衡数据分布的特征学习损失,不仅能判别数据是否相似,还保留了数据内容的相似性.

3)引入基于拉普拉斯约束(Laplace Constrain)的图近邻结构,使学习到的哈希码不仅能够保持原始数据的近邻关系,还可以保留原始数据的相似度排序.

4)为学习到具有高效鉴别能力的哈希码,通过标签预测和标签对齐技术,使生成的哈希码有不同类别的判别信息.

2 相关工作

根据在训练过程中是否使用标签等先验知识,跨模态哈希方法大致可以分为无监督方法[17-21]和监督方法[11-14,22-36].

2.1 无监督跨模态哈希

无监督跨模态哈希方法通常从未标记的多模态数据中挖掘模态内和模态间的相关性,并学习原始数据到公共子空间的映射.跨媒体哈希(Inter-Media Hashing,IMH)[17]利用线性回归模型学习哈希函数,将来自异构数据源的未标记数据映射到一个公共的特征子空间.无监督深度跨模态哈希(Unsupervised Deep Cross-Modal Hashing,UDCMH)[18]利用深度神经网络和矩阵分解建立二元潜在因子模型,并在哈希学习过程中引入Laplace约束.基于字典学习的跨模态哈希(Dictionary Learning Cross-Modal Hashing,DLCMH)[19]通过字典学习生成数据的稀疏表示,再投影到潜在的公共子空间中进行哈希学习.深度联合语义重构哈希(Deep Joint-Semantics Reconstructing Hashing,DJSRH)[20]计算原始数据特征的余弦相似性并构造联合语义一致性矩阵,较好地捕捉未标记实例潜在的语义相关性.循环一致性深度生成哈希(Cycle-consistent deep generative hashing,CYC-DGH)[21]设计生成网络和判别网络,其中生成网络通过数据的概率分布,将任意模态的数据生成另一模态的数据,而判别网络用于判别数据的真假,生成网络和判别网络通过对抗博弈的训练方式提高各自的学习能力.

2.1 监督跨模态哈希

监督跨模态哈希方法通常利用训练数据标签或标签的语义相关性等监督信息来挖掘多模态数据之间的关联.跨视图哈希(Cross-View Hashing,CVH)[22]扩展了单模态视图哈希,针对不同的模态数据学习各自的哈希函数,同时在训练过程中保留了视图内和视图间的关联性.判别式跨模态哈希(Discriminant Cross-modal Hashing,DCH)[23]构造一个具有二进制约束的线性分类器,最小化哈希码与标签之间的线性映射误差.语义最相关性最大化(Semantic Correlation Maximization,SCM)[24]通过构造成对相似度矩阵最大化多模态数据的语义相关性.语义保留哈希(Semantics-Preserving Hashing,SePH)[25]利用原始数据的概率分布构造关联性矩阵,并最小化KL 散度(Kullback-Leibler Divergence)进行哈希学习.深度跨模态哈希(Deep Cross-Modal Hashing,DCMH)[26]结合端对端的学习思想,首次提出特征提取和哈希学习并行的深度框架.自监督对抗哈希(Self-Supervised Adversarial Hashing,SSAH)[27]利用标签信息训练标签语义网络,作为其他网络的监督网络进行哈希学习.基于三元组的深度哈希(Triplet-based Deep Hashing,TDH)[28]引入基于三元组的相似度损失函数,既能保留成对数据间的相似性,同时也能捕捉到实例间的差异性.注意力感知的深度对抗哈希(Attention-aware Deep Adversarial Hashing,ADAH)[29]引入注意机制,用于区分注意区域(前景)与非注意区域(背景),提取到数据的显著特征.

3 跨模态检索问题描述

(1)

其中θx和θy分别表示图像网络和文本网络的参数,f(xi;θx)表示图像网络中哈希层的输出,g(yj;θy)表示文本网络中哈希层的输出.图像和文本的跨模态检索模型的主要任务是学习高质量的哈希函数f(xi;θx)和g(yj;θy),使得当Sij=1时图像哈希特征Fi*和文本哈希特征Gj*有尽可能一致的表达; 而当Sij=0时图像哈希特征Fi*和文本哈希特征Gj*的相似性尽可能低.

4 深度联合语义算法模型

4.1 模型框架

本文提出的深度联合语义框架如图1所示,该框架由两个部分组成: 特征学习模块,通过图像和文本网络分别学习具有强关联性的深度图像特征和深度文本特征,并构造图像模态和文本模态的邻接矩阵保留原始数据特征的相似度排序;标签预测与对齐模块,能够生成与真实标签维度相同的预测标签,并将富含语义信息的标签矩阵对齐到哈希码矩阵中,提高不同类别实例生成的哈希码的区分能力.

图1 本文的算法框架Fig.1 Framework of deep joint-semantic hash(DJSH)

在图像模态数据的特征学习中,使用的深度神经网络由8个层次组成,包括5个卷积层(conv1-conv5)和3个全连接层(fc6-fc8).网络的前7层与CNN-F完全相同,均使用relu作为激活函,在第7层之后添加一个具有r+c个隐藏节点的全连接层.其中包含哈希层和标签层,哈希层具有r个隐藏节点,并使用tanh激活函数生成r位的哈希特征; 标签层则有c个隐藏节点,并使用sigmoid作为激活函数生成c类的预测标签.具体的图像网络设置如表1所示.

表1 图像网络设置Table 1 Configuration of image modality

对于文本模态的特征学习,使用的深度神经网络是由3个全连接层组成的深度前馈神经网络.文本网络的输入是由词袋(Bag of Words,BoW)模型提取到的文本表示,经过3个全连接层,输出深度文本特征和预测标签.其中fc1层的长度等于词向量的长度,fc2层有512个隐藏节点,fc3层是一个具有r+c个隐藏节点的全连接层.网络的前两层(fc1、fc2)均使用relu作为激活函数,最后一层(fc3)的哈希层和标签层分别使用tanh和sigmoid作为激活函数,分别生成哈希特征和预测标签.具体的文本网络设置如表2所示.

表2 文本网络设置Table 2 Configuration of textual modality

4.2 特征学习模块

4.2.1 哈希特征学习

深度跨模态哈希算法通常利用标签信息构造数据间的相似度度量,并在高层空间保持特征的关联性,从而学习不同模态的哈希函数.标签语义相似度通常将样本间的关联性描述为相似或不相似,其似然函数的定义如式(2)所示:

(2)

(3)

对于存在相同类标的样本,标签语义相似度难以区分其相似程度,因此当训练数据集中相似样本对的比例较高时,该特征学习损失无法有效地胜任特征匹配任务.受文献[16]的启发,杰卡德系数能够有效地反映样本数据内容的相似性,计算方式如式(4)所示:

(4)

其中li(lj)是标签矩阵的第i(j)行,li(lj)={0,1}∈c*1.Nli(Nlj) 表示li(lj)中元素1的个数,Nli,lj表示li和lj对应位置上都有1的个数.

(5)

(6)

(7)

Jinter仅考虑了不同模态样本对的相似性,可能导致模型难以衡量相同模态样本之间的关联性.为使生成的哈希特征在公共空间保持相同模态样本的关联性,增强数据模态内的成对相似性,模态内成对的相似性损失如式(8)所示:

(8)

4.2.2 相似度排序学习

监督哈希方法大多利用基于多标签信息的语义相似度来度量两个实例之间的关联性,而不同模态数据都有特定的表示形式,因此跨模态数据的关联信息可能不只存在于抽象形式.为深入挖掘多模态数据的近邻结构,分别用I和T表示原始图像和原始文本的近邻矩阵,其矩阵元素通过式(9)进行计算:

(9)

式(9)中ui和uj分别表示第i个图像与第j个图像的SIFT特征,vi和vj分别表示第i个文本与第j个文本由词袋模型提取到的文本特征.为克服神经网络特征与原始数据特征的不兼容问题,分别为图像模态和文本模态构造特定的拉普拉斯约束(Laplace Constrain) ∑ijIij‖Fi*-Fj*‖2和∑ijTij‖Gi*-Gj*‖2,确保生成的哈希码保留原始数据的相似度排序.以图像模态为例,如果I12>I13,则在训练过程中F1*与F2*的相似程度比F1*与F3*的相似程度更高.因此拉普拉斯约束能够在哈希学习中保留原始数据的近邻结构,同时保留了原始数据的相似性排序.然而优化拉普拉斯约束项是个离散问题,需要逐一计算批量训练数据的特征距离,因此将拉普拉斯约束改写成式(10):

(10)

其中LI=diag(I1)-I,LI=diag(T1)-T.因此相似度排序损失如式(11)所示:

Jrank=β(Tr(FTLIF)+Tr(GTLTG))

(11)

其中β是参数.

4.2.3 联合语义特征损失

联合语义特征损失通过基于内容的相似度度量深度挖掘图像、文本数据内容的关联性,并引入基于拉普拉斯约束的图近邻结构保留原始数据特征的相似度排序.因此联合语义特征损失包含图像、文本网络特征的模态间损失、模态内损失和原始数据的相似度排序损失,其能够表示为式(12):

Jjoint=Jinter+Jintra+Jrank

(12)

4.3 标签预测与对齐模块

受SSAH[26]的启发,DJSH还为每个模态的神经网络训练一个标签层,能够生成与真实标签维度相同的预测标签.跨模态数据生成的预测标签与真实标签尽可能保持一致,因此预测标签损失定义如式(13)所示:

(13)

大多数深度哈希方法在学习哈希码的过程中仅关注实例间的相似性度量,因而不能保证学习到具有高效鉴别能力的哈希码.为了使不同类别实例生成的哈希码有更好的区分能力,受一些自编码方法[30-32]的启发,DJSH引入标签对齐技术,将标签中不同类别的判别信息嵌入到哈希码中.具体来说,DJSH额外学习到一个标签矩阵L到哈希矩阵B的稳定线性映射P,使得LP≈B.因此标签对齐损失如式(14)所示:

(14)

标签对齐技术通过学习标签矩阵到哈希码的映射,能够保证哈希码的每一位都具有丰富的类别信息.

4.4 目标函数

为了进一步提高模型的性能,在训练阶段保证图像和文本数据学习到相同的哈希码,因此量化损失如式(15)所示:

(15)

本文的算法模型包含特征学习模块和标签预测、对齐模块,综合两个组成成分,本文的目标函数如式(16)所示:

J=Jjoint+λJ4+μJ5+ηJ6

(16)

其中η、λ和μ是平衡参数.

5 算法与优化

对于含有2个矩阵变量P,B和两个网络参数θx,θy来说,目标函数式(16)是非凸的,采用交替迭代策略更新各参数.

5.1 θx的学习

(17)

(18)

5.2 θy的学习

(19)

(20)

5.3 P的学习

固定其他参数B,θx和θy,式(16)可简化为式(21):

(21)

通过计算式(21)的迹,可以得到式(22):

(22)

式(22)对P的导数可表示为式(23):

(23)

令其导数的值等于0,得到P的表达式如式(24)所示:

P=μ(LTL+I)-1LTB

(24)

5.4 B的学习

固定其他参数P,θx和θy,式(16)可以简化为式(25):

(25)

式(25)能够转化为基于迹的问题,如式(26)所示:

(26)

其中H=ηF+ηG+μLP,哈希码矩阵通过式(27)进行更新:

B=sign(ηF+ηG+μLP)

(27)

5.5 样本外扩展

在检索过程中,对于一个不在训练集里的图像数据xquery,能够通过图像模态网络生成哈希码如式(28)所示:

(28)

同样地,对于需要检索的文本数据yquery,能够通过文本模态网络生成哈希码如式(29)所示:

(29)

深度联合语义算法的具体过程如算法1所示.

算法1.深度联合语义跨模态哈希算法

输入:图像集X,文本集Y,标签矩阵L.

输出:网络参数θx和θy,线性投影矩阵P和哈希码矩阵B.

1.初始化参数α,β,η,λ,μ,矩阵P和B,设置图像和文本的批量值nx和ny,最大迭代数Tmax,图像网络和文本网络迭代次数Tx和Ty

2.for i=1 toTxdo

4.通过链式法则和反向传播更新图像网络参数θx

5.end for

6.fori=1 toTydo

8.通过链式法则和反向传播更新文本网络参数θy

9.end for

10.通过式(24更新)P;

11.用式(27)更新B;

12.重复步骤2-步骤11直到目标函数达到收敛阈值或达到最大迭代数Tmax.

6 实 验

本文在MIRFLICKR25K[34]、NUS-WIDE[35]以及IAPR-TC12[36]基准数据集上进行了实验验证,并与最先进的跨模态哈希方法进行检索性能的比较和分析.

6.1 数据集

MIRFLICKR25K[34]:该数据集包含从flickr网站收集的25015张图片.实验中只保留那些至少有20个文本标记的实例,形成20015个图像-文本对.其中文本数据描述为1386维的单词包向量,且每个样本对都用一个或多个标签进行注释,总共有24个语义标签.

NUS-WIDE[35]:该数据集包含195834幅网络图像和相关的文本标签.每个样本对都带有21个概念标签,文本被表示为一个1000维的词向量,而手工制作的图像特征是一个500维的视觉单词包(bag-of-visual words,BOVW)向量.

IAPR-TC12[36]:该数据集由20000幅图像组成,这些图像来自广泛的领域,如运动和行动、人、动物、城市、景观等.每张图像至少提供一个句子注释,且每个样本对使用275个标签进行注释.为了评估,使用12个最常见概念标签的18715幅图像,然后生成33447个图像句子对.

6.2 实验细节与评估指标

实验环境为Ubuntu18.04,CPU为E5-2670,内存64G,显卡型号为1080Ti 11G.在实验中设置参数α=β=η=λ=μ=1,图像模态网络的学习率为[10-9,10-5.5],文本模态网络的学习率为[10-9,10-4.5],并从每个数据集中随机取样12000个实例进行实验,其中10000个实例用于训练,2000个实例用于测试.模型的性能评估指标采用平均精度均值(Mean Average Precision)[37]和精度-召回率(Precision-Recall)[38].所有的实验都是在pytorch框架下进行,并取3次实验结果的平均值进行展示.

平均精度均值(mAP)是信息检索中常用的评估指标,是查询平均精度(AP)的平均值,能够反映检索精度的平均水平,计算方式如式(30)所示:

(30)

其中,M是查询数据集,AP(qi)是查询数据qi的平均精度.精确度的平均值计算如式(31)所示:

(31)

其中N是检索数据集里与qi相关的实例数量,R表示数据总量.p(r)为前r个被检索实例的精度.d(r)为指标函数,d(r)=1表示检索实例与查询实例相关;d(r)=0表示两者不相关.

精度-召回率(Precision-Recall,P-R)是哈希查询中常用的重要评估指标,能反映模型在不同召回率下的精度.精度和召回率计算如式(32)所示:

(32)

其中TP表示检索的相关数据,FP表示检索的不相关数据,FN表示未检索的不相关数据.

6.3 检索性能比较

本文与7种先进的跨模态哈希算法CVH[22]、STMH[11]、SCM[24]、SePH[25]、DCMH[26]、SSAH[27]、ADAH[29]进行比较.其中,CVH、STMH、SCM、SePH算法均采用手工特征,其它算法通过深度神经网络提取数据特征.

表3展示了不同方法在3个数据集上的图像检索文本和文本检索图像两种任务下的mAP,其中I→T和T→I分别表示图像检索文本和文本检索图像任务.从表中容易看出,深度哈希方法要比非深度哈希方法性能更好.

表3 本文算法与其他跨模态检索算法的mAP对比Table 3 mAP comparison of different methods

在数据集MIRFLICKR25K上,很容易发现与其他方法相比,DJSH的mAP有明显的提升.具体而言,该算法与非深度框架比较,mAP提高了15%~25%;而对于深度框架(DCMH、SSAH和ADAH)而言,也同样有4%~10%的提升.特别的是,该算法在64位码长下的mAP高达0.851(I→T)和0.855(T→I).在数据集NUS-WIDE和IAPR-TC12下的实验结果显示,DJSH的mAP平均高出其它深度框架0.1左右,由于DJSH较其它算法融入更加丰富的数据内容信息,基于拉普拉斯约束的特征相似度排序能够克服原始数据特征和神经网络特征的不兼容问题,因此学习到的哈希码有更好的语义判别性,更能适应多模态数据的相互检索任务.

图2给出了所有比较方法在不同数据集下码长为16的精度-召回率曲线(precision-recall curves).从图2(a)-图2(c)容易看出,DJSH在图像检索文本任务上有明显的优势,在不同召回率下的mAP普遍高于其它方法; 从图2(d)-图2(f)同样能够看出,DJSH在文本检索图像任务上具有更高的检索效果,在不同召回率下的mAP普遍高于其它方法.DJSH算法提出的联合语义特征损失同时考虑了模态间数据特征的关联性损失和模态内数据特征的关联性损失,不仅能够保持多模态数据内容的相似性,而且能够平衡相似样本对与非相似样本对的分布,因此DJSH的精度-召回率曲线更加平滑.

图2 各算法的P-R曲线对比(16bit)Fig.2 Precision-recall curves of different methods(16bit)

6.4 参数敏感性分析

图3展示了5个参数在MIRFLICKR25K数据集上的敏感性分析.在实验中,将哈希码长度为16,设置参数的取值范围设置为{0.01,0.1,1,10,100},通过改变其中一个参数值,同时固定其他参数值为1,研究该参数对mAP的影响.通过图3(a)-图3(f)容易看到DJSH算法模型的mAP对参数α,β,η,λ的敏感性较高,其中α和λ在1附近达到mAP的最大值,β和η在区间[0.1,1]达到mAP的最大值.通过图3(e)可以发现DJSH算法模型的mAP对参数μ的敏感性较低,当μ∈[1,10]时mAP最大.

图3 各参数的敏感度分析(MIRFLICKR25K,16bit)Fig.3 Sensitivity analysis of five hyper-parameters (MIRFLICKR25K,16bit)

6.5 样本适应度分析

为进一步研究样本数据对模型检索性能的影响,本章节针对不同数量训练样本对mAP的影响进行了研究.在MIRFLICKR25K和NUS-WIDE数据集下码长为16的实验中,分别设置训练样本数据大小为2500、5000、7500和10000.图4给出了MIRFLICKR25K数据集和NUS-WIDE下mAP随样本大小的变化曲线,容易看出DJSH算法模型能够在少量训练样本的情况下,也同样能够获取到较高性能的哈希函数.

图4 MAP在不同样本大小下的变化Fig.4 MAP of different sample size

6.6 变体实验分析

为进一步研究深度联合语义算法的有效性,在实验中设计一些DJSH算法的变体: DJSH-1、DJSH-2、DJSH-3、DJSH-4.其中DJSH-1不考虑相同模态数据的关联性,DJSH-2不考虑原始数据的相似性排序,DJSH-3不考虑0-1标签相似度损失,DJSH-4不考虑跨模态数据的内容损失.表4给出了4种变体在两个数据集上的图像检索文本和文本检索图像两种检索任务下的mAP.实验结果表明,相同模态数据的关联性、原始数据的相似性排序、标签相似度损失和基于杰卡德系数的内容损失都对DJSH算法模型的检索性能有显著影响,验证了深度联合语义算法的可行性.

表4 各变体的MAP对比(16bit)Table 4 MAP comparison of DJSH variants(16bit)

7 结 论

本文提出了一种深度联合语义跨模态哈希算法,通过构造联合语义特征损失保持跨模态数据的特征关联性和相似性排序,既增强多模态数据内容的相似性,同时有效地解决了原始数据特征和神经网络特征的兼容性问题.此外,通过标签预测与对齐技术,把标签语义信息嵌入到网络特征的学习过程中,生成富含类别信息的哈希码.在MIRFLICKR25K、NUS-WIDE以及IAPR-TC12数据集上的实验结果表明,本文提出的算法模型在检索精度上有明显的优势.然而本文的算法在模型训练中需要不同模态的成对样本学习相同的哈希码,这可能导致原始数据的部分信息流失.我们将在下一步的工作中研究非对称哈希方法,在每个模态的深度网络中不要求样本对学习到相同的哈希码.非对称哈希方法仅通过深度哈希函数学习查询实例的哈希码,而单独学习数据库实例的哈希码,不仅避免哈希学习过程中的信息流失,还能减少训练时间.

猜你喜欢
哈希模态检索
联合仿真在某车型LGF/PP尾门模态仿真上的应用
EASY-EV通用底盘模态试验
哈希值处理 功能全面更易用
Windows哈希值处理不犯难
文件哈希值处理一条龙
CNKI检索模式结合关键词选取在检索中的应用探讨
通过实际案例谈如何利用外文库检索提高检索效率
瑞典专利数据库的检索技巧
模态可精确化方向的含糊性研究
英国知识产权局商标数据库信息检索