深度共性保持哈希

2021-07-01 13:21娟,谢德,蒋
西安电子科技大学学报 2021年3期
关键词:汉明哈希模态

石 娟,谢 德,蒋 庆

(1.广西大学 计算机与电子信息学院,广西壮族自治区 南宁 530004;2.西安电子科技大学 电子工程学院,陕西 西安 710071;3.百色干部学院 信息化建设与管理部,广西壮族自治区 百色 533013)

随着信息技术的发展,社交网络和存储设备中存在大量的多模态数据。为了有效地处理和分析这些数据,跨模态检索作为一个基础的计算机视觉应用,近年来受到了越来越多的关注。所谓跨模态检索,就是设计一种算法,使得不同模态之间的数据可以相互查询。其原理是:虽然不同模态的数据之间结构大相径庭,但是它们之间具有很强的语义相关性。因此,研究跨模态检索的首要任务是研究如何打破语义鸿沟、探索多模态数据之间的共同表征。如何有效地捕获不同数据结构的多模态数据之间的语义相关性,仍然是一个具有挑战性的问题。

有的传统跨模态检索方法基于传统的统计相关性、图正则以及字典学习,这些方法的主要思想是子空间学习,将不同模态的数据映射到一个共同空间并在这个空间中度量它们的相似性。然而,这些方法通常计算成本过高而检索效率却很低。为了克服这些缺点,基于哈希的跨模态检索逐渐取代传统的跨模态检索。哈希方法[1-3]可以将高维数据映射到低维汉明空间并保持数据之间的相似性,从而将高维数据转化为紧凑的二值码,将数据的相似关系转化为汉明距离并通过快速的异或运算来度量,提高了检索效率。

传统的跨模态哈希方法依赖浅层模型,在方法上可以分为两种:无监督跨模态哈希方法和有监督跨模态哈希方法。相比于无监督方法,有监督哈希方法可以通过语义标签来建立不同模态数据之间的联系,从而获得更加优异的性能。然而这种方法依赖于浅层特征,缺乏足够的判别性,不能有效地表征多模态数据,因而导致检索性能陷入瓶颈,很难进一步提升。近年来,由于深度学习及其相关应用的兴起与成功[4-7],深度跨模态哈希方法因其能够学习更有效的数据表征及数据相似关系而逐渐取代传统跨模态哈希算法,成为热门的研究对象[8-11]。然而大多数深度模型不能准确地学习多模态数据之间的语义相似关系,因为它们没有明确的学习和区分模态共享表示和模态私有表示。文献[12-14]提出一种域自适应自编码机结构来提取跨域共同子空间图像表示以及每个域独特的私有空间图像表示。受这种思想的启发,文献[15-18]利用生成注意力模块组成不同的深度网络模型来同时提取模态间的相似信息以及不同模态的特有信息。虽然上述方法可以提取到模态共享表示和模态私有表示,但是这些方法的模型设计过于复杂,很难有效地训练。

针对上述方法的不足,笔者提出了一种简单而有效的深度网络结构,即深度共性保持哈希(Deep Consistency-Preserving Hashing,DCPH)。该方法可以在一个统一的框架内学到不同模态的模态共享表示和对应的紧凑哈希码。首先将每种模态的表示分为模态私有表示和模态共享表示,通过一层网络来显式地学习模态私有表示;其次,采取一种交替学习机制,在训练的过程中利用相减操作在每个模态的表示中逐渐消去模态私有表示,从而获得准确的模态共享表示,有效地保留不同模态数据之间的共同信息;最后,利用模态共享信息便可生成具有判别性的紧凑哈希码。所提方法的创新点在于:① 设计了一个端到端的跨模态哈希方法,通过构建特殊的网络结构,以消去模态私有表示的方式来简单而有效地提取不同模态间的一致性信息;② 通过交替学习逐步对模态共享表示进行精细化提取,该方法可以在加速模型训练的同时根据精细的模态共享表示生成具有判别性的紧凑哈希码。大量实验结果表明,所提方法相比于其他先进的传统或深度跨模态哈希检索方法,在性能上有显著的提高。

1 深度共性保持哈希算法

笔者所提算法模型的整体框架如图1所示。该模型包括两组网络:图像网络和文本网络。这两个网络分别对应图像模态和文本模态,分别学习两个不同的哈希函数。

图1 深度共性保持哈希模型框架

1.1 问题公式化定义

(1)

因此,内积可以被用来衡量两个哈希码的相似性。给定一个相似性矩阵S,则S在B*(*=v,t)下的条件概率为

(2)

1.2 模型设计

如图1所示,所提方法的主框架使用在跨模态哈希检索中广泛使用的CNN-F[9]网络构建图像网络。原始的CNN-F网络包含5个卷积层(C1~C5)和三个全连接层(F6~F8)。该方法设计Ftotal替换掉F8,并且添加了两个全连接层Fp和Fc。Ftotal、Fp和Fc拥有相同数量的神经元节点D,目的是获得图像特征Itotal,图像模态私有表示Ip和图像模态共享表示Ic。在这里通过相减操作,将Itotal-Ip输入Fc,得到图像模态共享表示Ic。在Fc之后,利用Fh作为哈希层,用来将学习到的图像模态共享表示嵌入到低维汉明空间。针对文本网络,使用了多层感知机来提取文本特征。类似于图像网络,Mtotal、Mp和Mc被设计用来获取文本特征Ttotal、文本模态私有表示Tp以及文本模态共享表示Tc。类似于Fh、Mh为哈希层,将文本模态共享表示嵌入到低维汉明空间以生成文本的哈希码。记f(vi;Θv)和g(ti;Θt)为图像样本vi和文本样本ti经由深度神经网络分别学到的特征,其中Θv表示图像网络的参数,Θt表示文本网络的参数。

为了得到具有判别力的模态共享表示Ic和Tc,采用交替优化策略并使用Kullback-Leibler散度对Ic和Tc进行约束。因此衡量约束两个模态的模态共享表示的损失函数Lcom可以定义为

(3)

其中,DKL(PC‖QC)是Ic和Tc数据分布之间的Kullback-Leibler散度。Ic和Tc概率分布可以定义为

(4)

因为Kullback-Leibler散度是对概率分布的非对称度量,需要定义DKL(PC‖QC)来衡量Tc和Ic数据分布之间的距离。由于一对相似的图像和文本数据共享同样的语义标签,即它们的模态共享表示也应该共享同样的语义标签并受其监督,因此多类标损失函数Lcls可以被定义为

(5)

其中,Lc是交叉熵损失函数,l是数据对应的语义类标向量。将式(4)和式(5)合并之后,便可得到模态共享表示的总损失L1:

(6)

其中,α是权重系数。

在哈希码学习过程中,Fh和Mh将Ic和Tc映射到低维汉明空间来获得图像和文本的哈希码,则图像和文本的成对损失Lp可以被定义为

(7)

(8)

其中,Bv=sign(Hv),Bt=sign(Ht)。在理想情况下,图像的哈希码应该和文本的哈希码是相同的,即Bv=Bt=B。Hv和Ht实际上是Bv和Bt的连续松弛变量,因此S中的相似性将保存在Bv和Bt内。结合式(7)和式(8),便可得到哈希学习过程总损失函数L2为

(9)

其中,β是权重系数。综合以上分析,所提方法的总损失函数为

(10)

为了获得准确的哈希码,使用交替优化的方式最小化公式(10)。

1.3 算法优化

在优化过程中采用交替优化方式来训练模型。每次更新模型一部分参数的时候会保持另外一部分参数固定不变。首先通过L1训练图像网络,使用自适应动量估计优化器(Adam)优化网络,初始学习率设为10-4;其次通过BP算法更新网络参数。在训练完图像网络后,设置文本网络的初始学习率为10-3,其他部分采用相同的优化设置。在学习模态共享表示之后,通过L2训练哈希码的学习。在该步骤中,图像和文本网络均采用随机梯度下降法优化图像网络,初始学习率设为0.02,并且每隔40次迭代学习率衰减为原来的1/10,使用BP算法更新网络参数。

2 实验结果与分析

2.1 实验数据与实验设置

本实验采用了跨模态检索算法最常用的3个数据集:MIRFLICKR-25K、IAPRTC-12以及NUS-WIDE。数据集的划分方式与文献[9]的保持一致。本实验在一台双NVIDIA TITAN X显卡的机器上展开,并使用深度框架Tensorflow来完成网络框架的搭建和测试。

2.2 评价准则与对比方法

2.2.1 评价准则

在这一部分针对两种跨模态检索方式进行评估(图像文本检索以及文本图像检索),即通过给出查询图像,检索到与之相关的文本数据以及给出查询文本,检索到与之相关的图像数据。为了合理地评估所提的算法模型,采取两种广泛使用的评价准则:汉明距离排序和哈希查询。这两种查询一般采用平均精度均值(Mean Average Precision,MAP)与精度-召回(Precision-Recall,PR)曲线进行度量。

为了计算平均精度均值,首先需要计算平均精度。给定一组查询数据在检索数据中进行查询,可以得到检索结果的排序列表R,则平均精度Pɑ可以定义为

(11)

其中,N是检索数据中与查询数据相关的数据数量;p(r)表示在查询排序结果中前组数据中是否存在与查询数据相关的检索数据,即它们至少拥有一组相同的语义信息。当p(r)=1时,表示查询排序结果中前组数据中存在与查询数据相关的检索数据;反之,p(r)=0,则表示不存在。在计算完所有查询数据平均精度之后取平均,即可得到MAP值。通常来说,MAP代表跨模态检索的性能,一种算法的MAP值越高,代表这种算法性能越好。在实验中,针对所有数据集,取R=50。

PR曲线反映了不同召回率下的检索精度,可以通过在一定范围内改变被检索数据的汉明半径来计算,可以有效地评估算法的正确率和召回率。

2.2.2 对比方法

实验中使用了7种当前最先进的跨模态检索方法来对比所提出的深度共性保持哈希算法(包括5种浅层算法和2种深度算法)。为了对比的公平性,所有浅层算法均使用基于ImageNet预训练的CNN-F网络提取的图像特征作为输入。

2.3 性能分析

2.3.1 汉明距离排序

表1列出了在MIRFLICKR-25K、IAPRTC-12以及NUS-WIDE这3个数据集上基于CNN-F特征的MAP值。

表1 3个数据集上基于CNN-F特征的MAP值

表1中,“I→T”代表查询数据是图像数据,检索数据是文本数据;“T→I”代表查询数据是文本数据,检索数据是文本数据。针对这3个数据集评估3种长度的哈希码:16 bit,32 bit和64 bit。对于传统浅层算法来说,基于深度学习的算法一般来说性能会更优越,这是因为深度端到端网络会根据目标来调整网络中的参数,这样会根据任务自适应提取更具有判别性的特征。因此所提方法性能优于表1中的所有浅层算法。同样是基于深度的跨模态哈希算法,该方法同样比DCMH[7]方法的性能要好。但是DCMH没有明确探究两种模态能够表示同一语义的本质原因,没有对如何跨越语义鸿沟做出解释。而文中方法将两种模态数据分为共享和私有子空间表示,因为相同语义的部分一定存在于两种模态的共享表示之中,所以这样处理可以让语义信息在特征信息提取的时候更加集中。

2.3.2 哈希查询

在查询阶段,通过给定任意汉明半径返回的检索数据计算PR曲线。实验中将汉明半径的范围设置在[0,64]之间,每次增加的步长为1。如图2所示,在3个数据集上计算并绘制了PR曲线,码长为64 bit。根据图2中所示,图2(a)和图2(d)是在MIRFLICKR-25K图像检索文本以及文本检索图像的PR曲线,图2(b)、(e)和图2(c)、(f)分别是IAPRTC-12和NUS-WIDE两个模态互相检索的PR曲线。由图2可知,在召回率和准确率的双重指标考核下,所提方法仍然优于其他对比方法。

(a) 图像检索文本(MIRFLICKR-25K)

(b) 图像检索文本(IAPRTC-12)

(c) 图像检索文本(NUS-WIDE)

(d) 文本检索图像(MIRFLICKR-25K)

(e) 文本检索图像(IAPRTC-12)

(f) 文本检索图像(NUS-WIDE)

表2 在IAPRCT-12数据集上Top-500的MAP值

在与CMDVH[8]和SSAH[11]的对比过程中,为了公平比较,实验中采用和CMDVH文中相同的数据集设置。表2列出了文中方法与这两个方法在IAPRTC-12上Top-500的MAP值。由表2可知,文中方法的性能依然优于当前最先进的方法。

2.4 超参数分析

实验进一步研究了参数α以及β对所提方法的影响。图3中(a)、(b)表示了α和β在IAPRTC-12数据集码长为16 bit、Top-50MAP下对模型性能的影响。当改变α或β的值时,保持另外一个参数不变。由图3可知,当α在1附近时,模型的性能最好;当β在0.01附近时,图像检索文本精度最高;当β在1附近时,文本检索图像的精度最高。综合图像检索文本以及文本检索图像两个任务,当β在1附近时,模型的综合性能最好。综上所述:实验过程中设置α=1,β=1为模型的超参数。

(a) α参数分析

(c) 图像检索文本

(d)文本检索图像

2.5 训练效率分析

图3(c)、(d)表示,由所提方法和DCMH的训练效率的对比可知,在相同的训练时长下,所提方法可以获得更高的精度,因此证明该方法可以大幅度节约训练时间。当用固定方式来引导网络学习模态共享表示时,网络的学习目标变得很明确,这意味着网络学习过程会加速,训练效率会得到提升。

3 结束语

笔者提出了一个新型的跨模态哈希检索算法,即深度共性保持哈希。该方法可以通过端到端的网络对文本和图像进行编码。为了将原始数据之间的相似性在哈希学习过程中保留下来,该方法使用数据分布约束以及多类标语义信息约束来充分挖掘模态共享表示。另外,在哈希学习阶段,则使用了成对损失和量化损失来约束紧凑哈希码的生成。在3个通用的数据集上进行大量实验,结果表明,所提方法获得了显著的性能提升。

猜你喜欢
汉明哈希模态
联合仿真在某车型LGF/PP尾门模态仿真上的应用
多模态超声监测DBD移植肾的临床应用
有限域上一类极小线性码的构造
哈希值处理 功能全面更易用
Windows哈希值处理不犯难
文件哈希值处理一条龙
模态可精确化方向的含糊性研究
媳妇管钱
巧用哈希数值传递文件
日版《午夜凶铃》多模态隐喻的认知研究