基于特征融合的无监督跨模态哈希

2023-02-20 09:38梁天佑孟敏武继刚
计算机工程 2023年2期
关键词:哈希检索模态

梁天佑,孟敏,武继刚

(广东工业大学 计算机学院,广州 510006)

0 概述

互联网和自媒体的兴起使得网络上充斥着海量的数据,且数据形式多样而复杂(图像、文本、声音、视频等)。为了能以灵活的方式从庞大的数据库中找到感兴趣的信息,跨模态检索成为一项重要技术,近年来引起研究者广泛的研究兴趣。哈希技术因其计算速度快、存储需求低而成为跨模态检索的热门技术,称为跨模态哈希(Cross-Modal Hashing,CMH)。总体而言,CMH 的目标是为每种数据模态学习一个哈希函数,用哈希码对数据进行编码,使得内容相关的数据汉明距离更短。

已有的CMH 研究可以分为2 类:有监督的跨模态 哈希(Supervised CMH,SCMH)[1-7]和无监督的跨模态哈希(Unsupervised CMH,UCMH)[8-14]。SCMH 方法假设每个训练数据都有相应的人工标注,而这些标注可以导出数据之间真实的相似性关系,从而引导哈希函数的学习。这种设置往往能取得较好的检索性能,但因为标注成本大而难以扩展到大规模数据集。UCMH 方法则不依赖于人工标注,一般借助其他任务的预训练模型进行知识迁移,构造较弱的监督信息(如关系图或相似矩阵)。笔者主要关注UCMH 方法。虽然近年来这方面研究取得了较好的进展,但现有方法依然存在以下2 个问题:

第一个问题是现有方法在设计哈希函数时,往往为不同模态设置独立的哈希函数,在生成哈希码时只关注单一模态的信息,然而不同的模态数据往往包含互补的信息,例如图像信息可以对场景、物体进行细节描绘,而文本、自然语言更抽象,且可能包含对多个实体、概念之间关系的描述。模态独立的哈希函数并不能有效捕捉并综合这种模态间的互补信息,从而导致生成的哈希码表现欠佳。

第二个问题是现有多数方法[9-12,14]在构造完相似矩阵之后整个训练过程都保持不变,然而生成预提取特征的预训练模型往往是在不同的数据集、用不同的任务进行训练的,因此,预提取特征会带有对原数据集和原训练任务的偏见,其结构信息并非完全适合跨模态检索任务。例如,图像的预训练模型一般都是在ImageNet[15]数据集上按分类任务训练的,文本Word2Vec[16]模型的skip-gram 和CBoW 模型也并不是为跨模态检索任务所设计,简单地完全沿用预提取特征的结构信息会带来负面迁移的效果。

为解决上述2 个问题,本文分别提出多模态嵌入融合策略和相似矩阵动态更新策略。为不同模态设置单独的嵌入函数,之后再设置一个嵌入融合模块用于融合来自不同模态的嵌入并生成统一哈希码,从而充分利用不同模态信息。在训练过程中,提出一种对预构建的相似矩阵进行动态更新的策略,在保留预提取特征中有用结构信息的同时,逐步缓解相似矩阵对原数据集和原训练任务的偏见,使其更适合跨模态检索任务,并避免因过度更新导致对训练集过拟合、泛化性能变差的问题,保证在测试集上的泛化性能。最后在2 个常用数据集上对所提出的模型进行实验和分析,验证本文方法的有效性。

1 相关工作

1.1 有监督跨模态哈希

传统浅层的跨模态哈希方法使用手工设计的数据特征进行学习。文献[1]将哈希码学习转化为最小化汉明距离分布和标签相关度分布之间的KL 散度。文献[2]则构建真实相似矩阵的似然函数并最大化,且使用了非对称的哈希码学习方法。文献[3]也用了非对称的方法,同时把映射矩阵拆分成公共部分和模态独有的部分,挖掘不同模态之间的内在联系。

深度学习的兴起使得跨模态哈希得到长足发展。文献[4]是深度跨模态哈希的一个经典工作,其以端到端的方式把表征学习和哈希码学习统一到一个框架内。文献[5]引入标签网络学习多标签表征,从表征和标签2 个层面监督哈希函数的学习。文献[6]在进行表征学习时用图卷积网络[17]建模局部流形结构。文献[7]引入注意力[18]模块学习表征,并使用非对称的哈希码生成方式。与无监督方法相比,有监督方法一般效果会更好,但往往需要大量的专家标注信息,难以扩展到大规模数据集。

1.2 无监督跨模态哈希

由于没有标签信息,无监督跨模态哈希的一个重要问题是监督信号的构造,一般是利用预提取特征构建关系图或相似矩阵。文献[8]利用对抗学习的思想进行训练,其中判别模型用预提取特征以k 近邻法构造关系图,将相互连通的数据点视为相关数据。文献[10,12]简单地融合2 个模态预提取特征的距离信息来构造相似度矩阵。文献[9]则在聚合2 个模态的余弦相似度之后,进一步基于扩散过程计算二阶相似性。文献[11]首先融合2 个模态的余弦相似度,然后分别用正态分布和拉普拉斯分布拟合数据对的相似度分布,并利用拟合分布的参数对相似度分级和加权。文献[15]则提出同时考虑余弦相似性和邻域结构。这些方法的问题在于关系图或相似矩阵完全由预提取特征确定,简单沿用预提取特征的结构信息而没有考虑预提取特征对原数据集的偏向,以及原训练任务与跨模态检索任务之间的差异。文献[13]首先用k 近邻构建关系图,然后在训练过程中逐步用数据嵌入更新边的权重,但没有考虑邻域结构信息和过度更新可能造成的过拟合问题。

现有方法的另一个问题是,各模态的哈希函数是独立的,在生成哈希码时只用到单个模态的数据,无法有效综合多个模态的信息。根据以上分析,现有方法在相似矩阵构造和哈希函数设计2 个方面依然存在不足。下文将详细介绍本文针对这2 个方面的改进。

2 本文方法

不失一般性,本文考虑图像和文本2 个模态。给定一个具有n个样本的训练集,每个训练样本oi=(vi,ti)包括2 个模态的特征。其中:vi∈Rdv表示第i个样本对应的dv维图像预提取特征;ti∈Rdt是对应的dt维文本特征。UCMH 的目的是为2个模态各学习一个哈希函数h*:Rd*↦{-1,1}K,使得内容上相关的数据具有较短的汉明距离,而不相关的则距离较远。其中:*=v,t 分别代表图像和文本2 个模态;K是哈希码的长度。此处规定哈希码的范围是{-1,1},只是为了方便汉明距离的计算,后续可以通过简单变换转换为{0,1}范围的哈希码。本章首先介绍总体框架和训练目标函数,然后给出相似矩阵的构造方法和更新策略,最后总结训练算法。

2.1 模型框架

本文模型的总体结构如图1 所示,其中主要包含5 个模块,即图像处理模块、文本处理模块、相似矩阵模块、对偶预测模块和模态融合模块。

2.1.1 分模态处理

图像处理模块的左半部分是一个在ImageNet[15]上预训练过的卷积神经网络,称为骨干网络,用以预先提取深度特征v;右半部分是图像模态的嵌入函数ζv(·;θv),其将深度特征v映射至K维的图像嵌入zv,θv为参数。

文本处理模块结构与图像处理模块类似:左半部分使用某种文本编码模型预提取文本特征,例如LDA[19]、Word2Vec[16]、Doc2Vec[20]、词袋模型;右半部分的嵌入函数类似地记为ζt(·;θt)。

2.1.2 模态融合

融合函数f:R2K↦RK综合来自2 个模态的信息,生成统一嵌入:

其中:θf为参数。测试时用符号函数sign将zf转换为最终二值化的哈希码b。sign 函数定义为:

由此,2 个模态的哈希函数可以表示为:其中:◦表示函数复合。

2.1.3 跨模态生成

由于在测试时只有一个模态的输入,因此在输入融合函数f生成哈希码之前,需要用对偶预测模块生成另一个模态的嵌入。以图像到文本的生成方向为例,生成过程可表示为:

其中:是基于图像嵌入zv生成的文本嵌入;φv是生成函数的参数。文本到图像的生成过程类似。

2.2 目标函数

本文的总目标函数为:

其中:前3 项基于S对模态嵌入和统一嵌入进行结构控制;第4 项用于约束跨模态生成函数。为方便描述,记分别为图像、文 本和统一嵌入组成的矩阵。

LID是实例级的控制,用于强化统一样本的图像和文本之间的真实配对关系。这个思想在最近的对比学习[21-22]中很常用,称为实例判别,表示为:

其中:tr{·}表示矩阵迹;I是单位矩阵;表示矩阵的F-范数。

LF以矩阵分解的形式控制嵌入空间的结构,表示为:

其中:p∈{v,t,f};q∈{v,t}。

LC约束模态内、不同模态之间嵌入空间的结构一致性,表示为:

其中:p,q,x,y∈{v,t,f}。

LG最小化真实嵌入z*和生成嵌入之间的差异,促使gv→t和gt→v生成真实的预测,表示为:

2.3 相似矩阵的构造和动态更新

在现有的UCMH 方法[9-14]中有多种构造方法,本文采用文献[14]的方法,同时考虑距离和邻域结构2 种信息,给出一种动态更新的优化策略。

2.3.1 余弦相似度

本文利用余弦相似度度量2 个向量之间的距离关系。考虑到2 个模态的预提取特征会从不同的角度表达数据之间的关系,为融合来自该模态的结构信息,本文以加权平均的形式进行综合:

其中:α∈[0,1]是调节2 个模态信息比重的参数,保证综合后的相似度与原本的余弦相似度是同一尺度,即范围也是[-1,1]。

2.3.2 邻域相似度

除了一阶的距离信息,本文通过邻域考虑2 个数据的二阶相似性:先考虑一个数据与其邻域点的相似性,再聚合2 个数据的公共邻域相似性信息作为这2 个数据的综合邻域相似度。

对于一个数据oi和另外任一数据oq,本文将它们的邻域相似度建模为一个概率。记σ(x,y)为表示x和y相似的谓词,则oi和oq的邻域相似度表示为:

2.3.3 总相似度

基于上述2 种相似度,oi和oj的总相似度为:

其中:γ调节2 种相似度的比重;β是缩放系数。这样得出的相似度范围是[0,1]。考虑到嵌入之间的余弦相似度范围是[-1,1],本文对s做一次线性变换得到相似矩阵S中相应的一项,即:

2.3.4 动态更新

本文提出一种相似矩阵的动态更新策略。直观来看,在前述的目标函数约束下,各模态嵌入所学习得到的结构在保持预提取特征的语义信息之外,同时考虑到模态之间的关系,更适应跨模态检索的任务。为保证训练的稳定性,在本文训练过程中,用滑动平均的方式逐步更新S。当第t轮训练结束时,用新学习得到的嵌入根据式(14)构造相似矩阵S~来更新S:

其中:μ∈[0,1]是动量系数。

另一方面,为了避免对S的更新产生过拟合而影响泛化性能,本文限制更新只进行δ次,之后保持S固定不变。

2.4 训练算法

本文采用交替训练的策略,对每一个训练轮次,首先固定S不变,用式(5)训练更新θv、θt、θf、φv、φt;在一轮结束后,固定θv和θt,提取新学习得到的嵌入zv和zt计算~,并用式(15)更新S。完整的训练过程见算法1。

算法1训练算法

3 实验与结果分析

3.1 实验设置

3.1.1 数据集

本文使用Flickr25k[23]和NUS-WIDE[24]这2个广泛应用的数据集进行实验和分析。根据文献[14]的划分,每个数据集都随机划分为3 个数据子集,即检索集、测试查询集、验证查询集。

Flickr25k 数据集包含20 015 个图文对、24个类别,3 个数据子集的数据量分别为16 015、2 000、2 000对,训练集是从检索集中随机选的5 000对。

原始NUS-WIDE 数据集包含269 648 个图文对、81 个类别。根据文献[2]的设置,本文取其中仅包含数据量最多的10 个类别的子集(即NUS-WIDE-TC10),共有186 577 个图文对和10 个类别,3 个数据子集的数据量分别为182 577、2 000、2 000对,训练集是从检索集中随机选的5 000对。

所有实验都使用在ImageNet[15]上预训练过的VGG-19[25]模型为图像提取4 096 维特征向量作为图像数据;Flickr25k 和NUS-WIDE 的文本数据用词袋模型分别处理成1 386 维和1 000 维的词袋向量。

3.1.2 评价指标

本文通过以图搜文(I→T)和以文搜图(T→I)2 个方向的检索任务测试模型效果,检索性能用平均精度均值(mAP)指标评估,其定义为所有查询数据的平均精度(AP)的均值。给定一个查询样本及其检索结果序列的前R个结果,AP 的计算公式为:

其中:rel(q)=1 当且仅当第q个检索数据与查询数据相关,否则rel(q)=0;P(q)是前q个位置的检索精度。设定R为整个检索集大小,所有实验都重复进行5 次取平均。

3.2 实现细节

图像、文本模态的嵌入函数、融合函数和对偶生成函数都实现为多层感知机,它们的维度设置分别为(dv,4 096,K)、(dt,4 096,K)、(2K,4 096,K)、(K,2K,K)和(K,2K,K)。除了最后一层的激活函数是tanh,其他层都是ReLU。本文使用Adam[26]优化器进行训练,学习率为0.000 1,批次大小为128。

3.3 超参数选择

本文模型涉及的超参数有α、k、β、γ、μ、δ,共6个。其中:α是融合2个模态一阶距离信息时的权重;k、β、γ是考虑二阶邻域相似性信息时的调节系数;μ、δ是与相似矩阵动态更新相关的控制参数。根据这些参数的功能,本文相应地分3批对它们进行搜索。本节以Flickr25k数据集64 位哈希码为例,分析它们的不同取值组合对本文模型性能的影响,图2展示了在这些取值组合下I→T和T→I这2 个方向的mAP 曲线或柱状图。

图2 参数敏感性分析Fig.2 Sensitivity analysis of parameters

第1 轮搜索α,候选范围是0.01、0.99 和0.1 至0.9的等差序列,同时将γ置零以暂时屏蔽二阶邻域信息,并暂时禁用S更新。图2(a)显示,在α取较小值时效果较好,对照式(10)可以看出,在构造初始相似矩阵时,图像模态的预提取特征提供了较多有意义的结构信息。笔者猜测这是因为图像的特征预提取模型是在大规模图像数据集ImageNet 上预训练过的模型,故能提供较多有效的结构信息;而文本模态是社交网络的用户标签,噪声大且词袋模型较简单,故提供的结构信息有限。

第2 轮用网格法搜索k、β、γ,将α置为第1 轮搜索的最优值,同时禁用S更新。k的范围是[500,2 000],β是[2 000,4 500],步长都是500,γ的范围同α。结合图2(b)和式(13)可知,距离信息和邻域结构信息在比较均衡时能产生较好的结果,说明2 种信息的重要性相当。图2(c)显示,总体来说当k取较小值时效果较好。笔者猜测这是因为以k 近邻方式选取邻域点时,较小的k值可以保证采样的邻域点与中心点同处特征空间中一个高密度区域,减少了来自不相关点的影响,使式(11)估计更准确。

第3 轮以网格法搜索μ、δ,启用S更新。μ的范围同α、δ的范围[8,14]。结合图2(d)和式(15)可知,当μ取较大值时效果更好,此时相似矩阵S更新得更慢。笔者猜测这是因为缓慢的更新可使监督信息更加稳定,且保留更多的原始结构信息,减少了对训练集过拟合的风险。

在NUS-WIDE 数据集上的搜索过程类似,从而得到最终的搜索结果如下:

对于Flickr25k 数据集:α=0.01,k=500,β=2 000,γ=0.5,μ=0.99,δ=12;

对于NUS-WIDE 数据集:α=0.01,k=500,β=3 000,γ=0.3,μ=0.9,δ=8。

3.4 结果对比

本文选取10 个最近本领域的模型进行对比,分别是CVH[27]、FSH[28]、CMFH[29]、LSSH[30]、UGACH[8]、DJSRH[9]、UKD-SS[10]、JDSH[11]、DSAH[12]、DGCPN[14]。其中:CVH、FSH、CMFH、LSSH 是传统浅层模型;UGACH、DJSRH、UKD-SS、DSAH、JDSH、DGCPN 是深度模型。

在2 个数据集上,3 种不同哈希码位长的检索性能分别如表1 和表2 所示,其中:最优的结果加粗标明;次优的加下划线标明;“本文-F”表示本文模型保留嵌入融合模块、禁用相似矩阵的动态更新;“本文-M”表示本文模型启用动态更新、移除嵌入融合模块,此时哈希码由其嵌入直接施加符号函数生成。

表1 Flickr25k 数据集上的实验结果比较 Table 1 Comparison of experimental results on Flickr25k dataset

表2 NUS-WIDE 数据集上的结果比较 Table 2 Comparison of experimental results on NUS-WIDE dataset

由表1 和表2 可以看出,本文方法构建的模型在所有数据集和哈希位长上的平均检索性能和I→T 方向的检索都取得最优。具体来说,相比于较新的DGCPN 模型,本文模型在Flickr25k 数据集上3 种位长的平均检索性能分别提升了1.43%、1.82% 和1.52%,在NUS-WIDE 数据集上则分别提升了3.72%、3.77%和1.99%。而在I→T 检索方向的提升更为明显,在Flickr25k 数据集上为5.69%、5.17%和4.14%,在NUS-WIDE 上为10.08%、9.02%和7.09%。这些提升展示了本文方法的有效性。

相对于I→T 方向的提升,本文模型在T→I 方向的检索性能有所欠缺,其原因可能是Flickr25k 和NUS-WDIE 中的文本主要是社交网站上的用户标签,其中还包含一些与数据内容无关的冗余信息,相对于图像提供的有效信息较少。因此,在构建相似矩阵和融合嵌入时,模型都更偏向于来自图像模态的信息,故而对文本内容的建模不够理想。这一猜测在前一节α的选择和后面的消融实验中都得到部分验证。如果换用质量更高的关键字或句子描述作为文本模态数据,可能在T→I方向会得到更好的效果。

3.5 收敛性分析

通过分析本文模型在训练过程中的损失函数值变化来分析其收敛性。图3 展示了本文模型在Flickr25k 数据集64 位哈希码实验中的损失值随训练轮次增加的变化曲线。可以看到,模型在前30 轮训练中损失下降明显,80 轮之后基本稳定,模型收敛。

图3 收敛性分析Fig.3 Convergence analysis

3.6 消融实验

为验证本文提出的嵌入融合和相似矩阵动态更新2 个模块的效果,本节从检索性能和运行代价2 个方面进行考察。

对于检索性能的影响,引入本文模型的2 个变体进行消融实验,即表1和表2中的“本文-F”和“本文-M”。2 个变体模型在2 个数据集上的实验结果也分别在表1和表2 中列出。可以看出,移除任一模块都会对平均检索性能造成不同程度的影响。值得注意的是,在移除嵌入融合模块之后,T→I方向的检索性能有所提升,超过本文完整模型,这验证了前文的猜测,即不使用嵌入融合模型减轻了模型对图像信息的偏好,但代价是对图像数据的建模效果下降,同时影响I→T 方向和平均检索性能。

对运行代价的影响,通过参数量和计算量2 个方面进行比较,其中计算量以乘加累积操作数(Multiply-Accumulate Operations,MACs)为指标。由于相似矩阵动态更新不引入新的网络,因此此处仅对比本文完整模型和本文-F 变体模型。两者对比见表3,从中可以看到,模型大部分的参数和计算量都集中在各模态的嵌入函数里,而本文为多模态融合而引入的融合函数f和跨模态生成函数gv→t、gt→v参数量和计算量仅分别占总体的3.63%和3.61%,基本可以忽略。

表3 运行成本对比 Table 3 Comparison of running cost

4 结束语

本文针对无监督跨模态检索任务,提出多模态嵌入融合策略和相似矩阵动态更新策略。嵌入融合模块能有效综合来自不同模态的信息,生成质量更优的统一哈希码;相似矩阵更新策略能在训练过程中逐步优化相似矩阵,缓解预提取特征过度偏向原始数据集和训练任务的问题,减少负面迁移。在2 个数据集上的实验和分析验证了本文方法的有效性。未来的研究方向是优化对文本模态信息的建模,利用大规模预训练模型对文本数据进行特征预提取,从而更充分地利用文本模态的结构信息,提高以文搜图方向的检索性能。

猜你喜欢
哈希检索模态
基于BERT-VGG16的多模态情感分析模型
多模态超声监测DBD移植肾的临床应用
哈希值处理 功能全面更易用
文件哈希值处理一条龙
车辆CAE分析中自由模态和约束模态的应用与对比
专利检索中“语义”的表现
基于OpenCV与均值哈希算法的人脸相似识别系统
巧用哈希数值传递文件
国际标准检索
国际标准检索