梁林清,冯士华
(贵州师范大学数学科学学院,贵阳 550025)
随着社交媒体的发展和普及,互联网上产生了大量的多媒体数据,如图像、文本、视频等。大量多模态数据的产生导致单一模态的数据处理方法已不能满足人们的需求,而是需要跨不同模态分析这些数据。例如从一种模态的数据出发,查询与其语义相关的另一种模态数据,即跨模态检索。由于不同模态数据存在异构鸿沟与语义鸿沟,跨模态检索面临的关键挑战是如何弥合语义差距,以便获取来自不同模态的异构数据之间的语义相关性。
为解决这些问题,直观的思路是利用异构数据学习一个共同的空间,并在此空间中直接度量来自不同模态数据之间的相似性。这种思路代表性的方法有CCA[1],由于不同模态数据有不同的特征空间,CCA 方法只考虑共同语义表征的相关性显然不够。除此之外,现有的子空间方法需要计算大规模高维数据,计算量非常大。近年来,跨模态哈希检索方法[2]由于存储成本低和查询速度快得到了大量的研究。跨模态哈希的主要思想是学习公共汉明空间,从而保留异构数据之间的语义[3]相似性。现有的跨模态哈希方法主要包括无监督方法和有监督方法。无监督方法通过探索模态数据之间的相似性来学习公共汉明空间,如无监督深度跨模态谱哈希(DCSH)[4]等。然而,在无监督信息的情况下学习能保持异构数据的语义相似性的哈希码并不简单,所以在样本标签的指导下,监督方法可以学习到更有判别性的哈希码。例如,Liu 等[5]提出通过集体矩阵分解的图正则化来保持多模态原始特征之间的相似性。
虽然上述方法通过探索各种语义监督信息取得了改进,但不同模态数据的异构鸿沟并未有效弥合,我们应该考虑公共语义表示是否能准确描述模态特定的表征。已有的很多工作都使用集体矩阵分解方法来建模公共语义表示,但只有共同的潜在语义表示,并不能充分表达各模态数据的特征,同时这些基于矩阵分解的方法都忽略了多标签样本对,不能发掘多标签样本对的语义信息。为了解决该问题,本文提出了一种标签语义约束矩阵分解哈希方法,在学习模态特定的语义表示的同时,充分考虑到多标签样本对于模态间的语义相似性建模的重要性,即利用不同模态样本的标签信息来构建语义相似度矩阵,以表征模态特定的语义表示的相关性。图1为本文所提方法的框架图,包括训练集哈希函数学习阶段和训练集以外的样本的哈希码检索阶段。框架图的基本流程如图1所示:首先学习不同模态的潜在语义表征V1和V2,然后利用标签语义相似度矩阵对特定模态的语义表征V1和V2的相关性进行建模。最后,将所有特定模态的语义表示都投影到二进制码中,得到哈希码的封闭解。我们在一个多标签数据集上做了广泛的实验,其结果表明,所提出的方法优于大多数现有的方法。
图1 本文所提方法的框架图
Yao 等[6]提出了一种有效的离散监督哈希(EDSH),该方法首先通过集体矩阵分解学习公共空间,然后学习正交旋转矩阵,将共享空间与汉明空间之间的语义相关性连接起来,最后学习离散哈希码。集体矩阵分解是将原始表示分解为共同的潜在语义表示,但由于不同模态的数据有不同的统计属性,学到的共同语义表示并不能充分表达各模态的信息。
为了分别表达不同模态的独特,Wang 等[7]提出使用联合和私有矩阵分解哈希(JIMFH),该方法使用联合矩阵分解和私有矩阵分解方法,并同时学习特定模态表示和共同语义表示,然后通过量化公共语义表示获得哈希码。Xiong等[8]提出了一种特定模态的矩阵分解哈希(MsMFH),该方法首先使用矩阵分解来学习特定模态的语义表示,然后使用正交旋转矩阵进行对齐。Mandai 等[9]提出了一种基于哈希的标签一致矩阵分解来学习特定模态的哈希函数。为了充分利用语义信息的判别性,Liu 等[10]提出了一种有效的快速鉴别离散哈希(FDDH)方法,该方法利用正交基将目标哈希码化归到相应的语义标签上,并利用ε拖拽技术保证了较大的语义边缘。
以上方法都没有考虑到具有多个类别标签的样本对信息。事实上,在许多标准的跨模态基准数据集中,如MIRFLICKR-25K[11],NUSWIDE[12],每对实例对都具有多个标签,若能充分利用多标签样本对这一信息,则模态间和模态内的语义相似性都能被准确挖掘。在大多数情况下,多标签包含丰富的语义信息,可以为语义相似度的计算提供更详细的语义信息。为此我们提出了特定模态的标签语义约束矩阵分解哈希算法。
受特定模态矩阵分解方法[8,13]的启发,为充分利用各模态数据的语义,分别学习各个模态的表征,然后在语义空间中对各表征进行对齐,建模如下:
其中,Ut∈Rdt×k和Vt∈Rk×N分别是基矩阵和表示矩阵,αt(t=1,2)和μ为平衡参数。
在跨模态检索的研究中,有样本对中存在多个标签的情况,因此为了更好地保留模态间的信息,定义一个语义相似矩阵S=,其中sij的定义如下:
其中,li为第i个样本对的标签向量,lj为第j个样本对的标签向量,‖· ‖是零范数。由sij的定义可看出,其值越大,则表明第i个样本对与第j个样本对在语义上更为相似。因此使用语义相似矩阵对模态间的语义关系进行约束建模:
其中β为平衡参数。
同时,为了保留模态间的信息,本文从潜在语义表示中分别引入正交旋转矩阵Rt,t=1,2用以生成哈希码,并且有:
其中Rt∈Rk×k,t=1,2。通过该公式,可以在训练阶段直接获得哈希码,能在最大程度上减少量化误差。
为了处理训练集外的样本,我们将对图像和文本分别学习哈希映射函数,以将原始的图像和文本特征分别映射到潜在的空间中:
其中Wt∈Rk×d,t=1,2分别是图像和文本的哈希映射矩阵,γ为平衡参数。
联合公式(1)、(3)—(5),得到总的目标函数如下:
公式(6)对所有变量而言都是非凸函数,但固定其他变量时,公式(6)关于非固定变量是凸函数,因此采用最优化算法来对各变量进行更新。
若将除U1以外的所有变量都固定,则公式(6)可变为
将公式(7)对变量U1求导,并令该导数为0,得到关于Ut的封闭解如下:
同理,可求出其他变量的封闭解如下:
由于Rt∈Rk×k,t=1,2 是正交矩阵,故可使用奇异值分解算法(SVD)来求解。
重复以上迭代步骤,直至收敛。事实上,以上每个变量都能获得封闭解。整体算法如算法1:
算法1:基于矩阵分解的标签语义约束跨模态检索
输入:训练数据{X,Y},相应的样本标签,哈希码长度k以及平衡参数α1、α2、β、γ、μ
1:随机初始化B、V1、V2、R1、R2,以及哈希投影矩阵W1、W2
2:for 从第一步开始do
3: 利用公式(8)更新U1
4: 利用公式(9)更新U2
5: 利用公式(10)更新V1
6: 利用公式(11)更新V2
7: 利用公式(12)更新W1
8: 利用公式(13)更新W2
9: 利用公式(14)更新B
10: 使用SVD更新Rt∈Rk×k,t=1,2
11:返回
输出:输出投影矩阵Rt,以及哈希投影矩阵Wt,t=1,2
本文所提方法在公开数据集NUS-WIDE 上进行了验证。NUS-WIDE[12]是一个真实世界的图像数据集。包括186776 对图像-文本对,每个图像-文本对从10 个语义类别中进行标记。其中,随机选择5000 对图像-文本对作为训练集,并选择1867对图像-文本对作为测试集。
本文通过实验确定了参数:αt=1,β=1,γ=1,μ=5,t=1,2。验证了本文所提出方法的两个检索任务:图像检索文本(I2T)和文本检索图像(T2I)。此外,使用平均精度(mAP)来评估本文方法的最终性能。
本文方法与CCA[1]、STMH[13]、CMFH[5]、SMFH[2]、EDSH[6]、JIMFH[7]、MsMFH[8]、SCMFH[14]方法进行比较。
表1 为本文方法和其他方法在NUS-WIDE数据集上的mAP分数,其中,哈希码长度从8位到64 位。从表1 可以看出,本文方法在多数情况下都是优于其他方法的,这是因为我们采用了对各个模态数据的矩阵分解以学习到特定于各模态的语义表示,同时也利用标签做语义相关性,这样能极大地提高检索精度。与此同时可以看到,在大多数方法上,T2I 检索任务的性能优于I2T 检索任务,这是因为文本数据比图像数据编码更多的鉴别信息。
表1 各方法在NUS-WIDE数据集上哈希码长度从8到64之间的mAP
本文提出了一种用于跨模态检索的标签语义约束矩阵分解哈希算法,首先分别学习每个模态数据的语义表征,并且利用样本类别来构造的标签语义相似度矩阵来建模不同模态之间的语义相关性,然后利用学到的模态表征学习哈希码和哈希函数。在NUS-WIDE 数据集上做了大量实验,实验结果也证明了本文方法的有效性。