刘雨萍,葛 红,曾奕斌
华南师范大学 计算机学院,广州510631
给定一个图像(文本),跨模态检索的目的是找到与其最相关的文本(图像),但是很难直接测量多模态样本特征之间的相似性。已经有很多方法提出通过学习公共子空间来缩小不同模态样本特征之间的差异性[1-3]。
基于用于公共子空间学习的信息,跨模态检索方法主要可分为监督学习、无监督学习、基于文档对排序的方法和基于列表排序的方法。无监督学习方法中最经典的算法之一是典型相关分析(canonical correlation analysis,CCA)[4],其通过最大程度地利用不同模态数据之间的相关性来学习公共子空间。CCA 有很多变体,例如深度典型相关分析(deep canonical correlation analysis,DCCA)[5],该算法用于研究两个数据视图的复杂非线性变换以使样本特征的最终表示形式高度相关。公共子空间的学习方法使跨模态检索的发展向前迈进了一步,像文档[4,6]这样的无监督方法利用在模态文档中共存的信息来学习跨模态数据的通用表示。偏最小二乘法(partial least squares,PLS)[6]与CCA[4]类似,它选择善于区分不同标签的特征向量。
有监督的子空间学习方法使同一类别的样本尽可能靠近,而不同类别的样本尽可能远离。例如广义多视角分析(generalized multiview analysis,GMA)[7]是CCA 的拓展算法,它使用数据的类别信息来学习子空间。学习耦合特征空间(learning coupled feature spaces,LCFS)[8]同时从两种模态中选择相关特征和判别特征,使得学习空间更加有效。
近年来,跨模态检索中普遍使用基于文档对和列表排序的方法,使得检索性能得到了很大的提高。文献[9]提出了自适应列表约束,通过强调样本间的不相关信息与相关信息一样重要来学习排序。文献[10]提出了一种判别性排序模型,以利用单模态之间的关系来提高排序性能。文献[3]通过成对约束找到隐藏在不同模态中的共同结构,并展示了具有语义诱导的成对约束的不同模态联合建模的有效性。基于排序的方法,例如文献[9-11],通过利用按列表排序的方法来学习样本之间的共同表示。基于文档对的方法,例如文献[12-14],对文档对进行分组,不仅考虑了单个文档,而且考虑了各个文档之间的分组是否合理。
克服不同模态内容的语义鸿沟是跨模态检索的一大挑战。文献[15]运用SAN(saliency-guided attention network)在跨模态数据之间建立非对称连接,从而有效地学习细粒度的跨模态相关性。文献[16]利用注意力机制来定位语义上有意义的部分,并利用记忆网络捕获长期的上下文知识来学习不同模态的有力和鲁棒性表示。文献[17]提出了SER2(squeeze-andexcitation recurrent residual)模型,并将其并入到端到端网络中,能够有效地生成多级语义特征,以增强两种模态的表示能力。作者还提出了CMSD(crossmodal semantic discrepancy)损失,通过挖掘跨模态数据之间的常见语义相关性,在多个级别上减轻了跨模态之间的分布差异。文献[18]利用对抗性学习指导的多标签注意模块来增强特征学习部分,从而学习判别性特征表示并保持跨模态不变性。
对于跨模态检索,许多常见的子空间学习方法都取得了优异的结果,但是仍然有很大的进步空间,它们中的大多数方法未能有效地识别类内相关性和类间相关性。为了同时充分利用类内信息和类间信息,本文引入了支持邻域(support neighbor,SN)损失[19],以更有效地区分相关样本和无关样本,为了使所提出方法的性能更好,使用了文档列表排序方法,而不是文档对排序方法。
尽管已有很多方法致力于改进训练模型,但损失函数在模型中也起着至关重要的作用。好的损失函数将大大改善模型的性能。因此,在本文方法中,为了加强类内样本凝聚力,集中于惩罚锚点到其最远的正样本的距离与到其最近的正样本的距离之差。为了确保类间样本之间的分离,将正样本与锚点的相似度最大化,同时将负样本与锚点的相似度最小化。
本文的主要贡献如下:首先,将SN 损失函数使用到跨模态检索中,使用该损失函数来训练网络模型,从而使样本在共同学习子空间中具有更明显的类内和类间关系。然后,通过充分利用样本之间的类别信息,提高对映射到公共子空间中的正样本特征和负样本特征的识别。最后,在最经典的跨模态检索数据集中进行了大量实验,通过与最经典的几种跨模态检索方法进行比较,证明了本文方法的有效性。
1 C2MLR2算法1.1 问题描述
给定包含有n对图像-文本对的数据集,设定图像模态特征集和文本模态特征集分别表示为I=I1,I2,…,In和T=T1,T2,…,Tn。令匹配对表示为Pi={xi,yi},其中xi∈I和yi∈T分别表示第i个输入实例的图像样本和文本样本。
Fig.1 Overview of C2MLR2 model图1 C2MLR2模型概览
在学习的公共子空间中使用欧氏距离来测量图像和样本之间的相似度,其表示如下:其中,f I(xi)是图像映射函数,fT(yi)是将文本映射到公共空间的函数。欧式距离通过测量空间中样本之间的距离来度量样本间的相似性。距离越大,样本差异越大,否则差异越小。
为了充分利用样本之间的结构信息,以学习到一个更好的使用类别信息的相似性排序模型,C2MLR2(cross-modal retrieval by listwise ranking and class information)采用了基于列表排序而不是基于文档对排序的方法。在模型中,本文使用SN损失来训练模型,不仅考虑了同类样本之间的相关信息,并且对不同类样本之间的不相关信息赋予同样的关注度,从而可以更好地对样本进行分类来实现图像和文本的双向查询。
1.2 模型表示
如图1 所示,SN 损失在模型中起着至关重要的作用。在SN损失的作用下,本文模型取得了很好的分类效果。为了符合本文的实际查询需求,本文模型同时考虑了图像-文本和文本-图像的双向检索。
该模型将SN损失用于处理种类信息,并通过两个分支网络将图像和文本特征嵌入到公共子空间中,然后将处理后的特征通过最后一层的网络传递,并使用基于列表排序的方法进行图像-文本和文本-图像检索。
从模型图中可以看出,随着模型的训练学习,本文算法对样本实现了不错的分类效果。属于同一类别的样本彼此靠近,而不同类别的样本则相互推离,形成了各自的类别区域,从而提高了样本查询的准确性及效率。
1.3 算法描述
verification loss 和identification loss[20]广泛应用于行人重识别中,但是两者都有一定的局限性。verification loss 旨在减少类内差异,同时扩大类间差异,但是当数据集很大时,verification loss 易于低收敛和不稳定。尽管identification loss具有良好的分离性和可扩展性,但它忽略了类内差异,从而明显降低了样本判别的性能。为了避免这两种损失的局限性,SN loss采用了双损失的组合,而不是简单地将两种损失合并在一起。为了提高类内样本特征的聚拢性,SN 损失惩罚离锚点最远的正样本和最近的正样本之间的距离;为了确保类间特征的区别性,使用类似于softmax的损失函数来最大化锚点和正样本之间的相似度,同时最小化锚点与负样本之间的相似性。原理图如图2所示。
Fig.2 Schematic illustration of SN loss图2 SN loss示意图
具体上,SN loss 由separation loss 和squeeze loss组成。在行人重识别中,SN loss用于单模态样本中,由于其不仅对样本之间的相关信息还对样本之间的不相关信息进行探索,本文在跨模态检索中对其进行研究,克服不同模态间样本的异构性,通过不断的努力,最后成功将其与基于列表排序而不是文档对排序用于跨模态检索中,充分考虑样本特征之间的类别信息,并取得了可观的效果。
1.3.1 separation loss
separation loss 的目标在于将正样本和负样本分离开来。对于图像-文本搜索,该损失旨在最大化图像锚点(xi)和文本正样本之间(yp)的相似性,同时最小化图像锚点和文本负样本(yn)之间的相似性。用于图像-文本搜索中的separation loss表示为:
separation loss 强调了样本相关信息和不相关信息的重要性,不仅探索了同一类样本之间的关联,同时将不同类样本之间的不相关性扩大,从而使得不同类样本之间的距离尽可能远,减少分类误差。
1.3.2 squeeze loss
为了惩罚锚点的最近正样本和最远正样本之间距离的偏差,同时拉近正样本之间的距离以形成更紧凑的样本簇,引入了squeeze loss。
对于图像-文本检索,squeeze loss损失表示如下:
同理,对于文本-图像检索,squeeze loss表示为:
squeeze loss考虑到了与查询样本属于同一种类的样本的相关特征信息,将相关信息之间的联系扩大化,将同一类别的样本调整靠近,避免了同一类别的样本距离过大,便于同类样本的检索。
1.3.3 SN loss
将separation loss和squeeze loss联系起来,图像-文本搜索的SN loss表示为:
同理,文本-图像搜索的SN loss表示为:
为了取得更好的查询效果,将以上两个方向查询的损失共同优化为:
其中,β是两个方向查询的平衡参数。因为跨模态检索不仅仅只是为了单向检索,而是实现双向检索来满足日常检索需求。β平衡了图像-文本和文本-图像损失对双向检索的影响,使得两个方向的检索都占据着一定的比重,β的取值不同,检索性能也会有差别,通过大量实验来确定其最佳值,使得双向检索性能达到最优。
本文方法结合了促进类内聚拢,同时确保类间分离的SN loss和充分考虑类间的结构信息的列表排序,大大提高了算法的分类效果。在实际应用中,跨模态检索不仅涉及到一个方向而是多个方向的检索。对于图像和文本匹配,不仅要考虑到图像-文本,还要考虑到文本-图像之间的检索,因此SN loss对两个方向的检索问题都加以考虑,使得检索更富实用性。
1.4 方法细节
分析单个样本对或三元组无法充分利用邻域结构之间的上下文信息,因此模型很难学习到所有样本之间的联系。为了解决这个问题,本文采用了列表排序的方法,将SN loss 用于模型训练中。与基于匹配对的方法不同,本文方法遍历每一批样本,并且将每个样本作为锚点来查找其对应的正负样本集,也因此充分考虑了样本之间的类别信息,充分发挥了SN loss的优势。
对于网络模型结构,很多方法由于没有充分考虑类别信息,从而采用了混合结构,将一些常用的分类损失与自身的算法结合在一起。相反,本文算法充分考虑了类内和类间关系,因此本文的网络仅使用了SN loss来对样本特征进行分类而不需要借助其他的分类分支。
实验结果表明,本文方法在性能上具有相当大的优势。
2 实验结果与分析2.1 多模态数据集
2.1.1 Wikipedia数据集
Wikipedia数据集[21]由2 866对图像-文本对组成,其中2 000对作为训练集,866对作为测试集,该数据集包含了10 个类别的样本。在每对样本中,图像样本涉及艺术、生物学、地理学、历史等邻域的内容,文本是描述与图像相关内容的文章。为了增强实验的可比性,本文使用与文献[22]相同的样本组成分布。
2.1.2 Pascal数据集
Pascal 数据集[23]广泛应用于跨模态检索中,其由包含20种类别信息的5 011/4 952(训练集/测试集)对图像-文本对构成,其中一个样本特征对可能属于一个类别也可能属于多个类别。对数据集进行处理,从数据集中删除了不包含标签信息的样本,因此最后用作训练集的样本有5 000对图像-文本对,用于测试集的有4 919对图像-文本对。
2.2 评估指标
为了测量样本特征的相似性,使用了余弦相似度。平均精度均值(mean average precision,MAP)[8]是跨模态检索中常用的评估指标,因此在实验中使用MAP评估算法的整体性能,而MAP是查询结果中所得AP(average precision)的平均值,其中AP表示为:
其中,T是检索集中相关样本集的数量,P(r)表示排序中前r个检索样本集的精度,如果第r个查询与该查询相关,则δ(r)=1,否则δ(r)=0。
将本文算法与跨模态检索中几种经典算法进行比较,例如CCA[4]、LCFS[8]、广义多视角线性判别分析和广义多视角临界费舍尔分析(generalized multiview linear discriminant analysis &generalized multiview marginal Fisher analysis,GMLDA&GMMFA)[7]、多标签典型相关分析(multilabel canonical correlation analysis,ml-CCA)[24]、基于局部组的一致性特征学习(local group based consistent feature learning,LGCFL)[25]、跨媒体多深度网络(cross-media multiple deep network,CMDN)[26]和深度成对排序模型(deep pairwise ranking model with multi-label information for cross-modal retrieval,DPRCM)[12]等,实验结果证明了本文算法的有效性。
2.3 实验结果
2.3.1 实验对比方法
(1)CCA
CCA[4]是最流行的无监督子空间学习方法之一,通过最大化图像特征和文本特征空间之间的相关性来学习公共子空间。可以看作是找到两组变量的基向量的问题,从而使变量在这些基向量上的投影之间的相关性最大,其寻求一对线性变换,每个变量对应一个线性变换,当变量组进行变换时,对应的坐标将最大程度相关。
(2)LCFS
LCFS[8]将耦合线性回归、L21范数和迹范数统一到一般最小化公式中,以便可以同时执行公共子空间学习和耦合特征选择,其通过学习不同的投影矩阵来将不同的模态数据投影到由标签信息定义的公共子空间中,并且在投影中同时选择耦合空间的相关性特征和判别特征。
(3)GMLDA&GMMFA
广义多视角线性判别分析(GMLDA)[7]是广义多视角分析(GMA)[7]和线性判别分析(linear discriminant analysis,LDA)[27]的结合,广义多视角临界费舍尔分析(GMMFA)[7]是GMA 和临界费舍尔分析(marginal Fisher analysis,MFA)[28]的结合。GMA是一种泛化的多视角特征提取方法,是CCA的有监督扩展,可将其泛化到看不见的类,具有多视角和可内核化的特性,提供了一个有效的基于特征值的解决方法。LDA将高维样本投影到最佳鉴别向量空间,使得投影后的样本在新的空间中有最小的类内距离和最大的类间距离。MFA尝试在特征空间中分离不同类和同类样本。GMLDA&GMMFA[7]通过学习一个具有判别性的公共子空间来解决跨视角分类问题。
(4)MMs
基于多阶空间的度量(metric based on multi-order spaces,MMs)[29]用于表示图像以丰富语义信息,并且共同学习多空间之间的度量以测量两种不同模态之间的相似性,其通过多阶统计量丰富了图像的表示方式,并且在多个空间之间的度量标准共同用于测量两个模态之间的相似性。在MMs 中,度量框架同时使用正对和负对约束来约束损失函数,从而可以有效地度量两种不同模态之间的相似性。
(5)ml-CCA
ml-CCA[24]是CCA 的扩展,它通过同时考虑以多标签注释形式出现的高级语义信息来学习公共子空间。与CCA不同,ml-CCA不依赖于模态之间的显式配对,而是使用多标签信息来建立对应关系,这样就产生了一个判别子空间,该子空间更适合于跨模态检索任务。
(6)CML2R
通过潜在联合表示进行排序的跨模态学习(crossmodal learning to rank via latent joint representation,CML2R)[30]尝试学习多模态数据之间的潜在联合表示,而不是学习各个模态的单独潜在表示,其通过条件随机场和以列表排序方式的结构学习来发现多模态数据对的潜在联合表示。在CML2R 中,多模态数据之间的相关性是根据它们共享的隐藏变量(例如主题)来捕获的,并且以列表排序的方式学习了隐藏主题驱动的判别排名函数。
(7)LGCFL
LGCFL[25]利用类标签进行联合特征学习,将每种模态的原始特征投射到所学习的特征空间上以获得特征编码,并计算出特征编码之间的相似度以进行跨模态检索。该方法提出基于局部组的先验以利用基于块的特征,用监督式联合特征学习公式来学习跨模态匹配的一致特征。
(8)CMDN
CMDN[26]通过分层学习来利用复杂而丰富的跨媒体相关性。CMDN先对媒体和媒体间的信息进行联合建模,以获取每种媒体数据的互补独立表示,接着将媒体内和媒体间的表示形式进行分层组合,以通过更深层次的两级网络策略进一步学习丰富的跨媒体相关性,最后通过堆叠式网络样式获取共同表示。与现有仅采用具有媒体内信息作为输入的单级网络方法相比,CMDN 以堆叠网络的方式学习共同表示,以充分挖掘复杂的跨媒体相关性,与浅层网络结构相比,具有更好的学习能力。
(9)DPRCM
为了充分考虑图像和文本之间的不相关信息,跨模态检索的具有多标签信息的深度成对排序模型(DPRCM)[12]利用双三元组损失来增大公共子空间中不相关的图像和文本之间的距离,利用来自图像和文本两个方向的语义信息来学习更好的公共子空间。结合了两个分类函数来捕获多标签信息,从而减少图像和文本特征之间的语义鸿沟。
2.3.2 Wikipedia数据集实验结果
表1展示了Wikipedia数据集上几种不同方法的MAP 得分。从表1 中可以看出,本文方法优于其他几种方法,图像-文本和文本-图像检索的MAP 分别为0.436 1 和0.337 8,平均MAP 达到0.387 0,比次优的方法DPRCM(0.379 0)高出约2%,这是因为C2MLR2同时考虑了类内和类间信息,在拉近同类样本的同时使得不同类样本相互远离,从而可以达到很好的分类效果。
Table 1 MAP scores on Wikipedia datasets表1 Wikipedia数据集上的MAP
2.3.3 Pascal数据集实验结果
表2 展示了跨模态检索中几种常见方法取得的MAP,从表中可以看出,LCFS 高于其他几种方法对应的MAP,这是因为LCFS同时从两种模态中选择了相关特征和判别特征。
ml-CCA是CCA的扩展,它通过考虑多标签注释形式的高级语义信息来取得良好的效果。相比之下,本文方法在图像-文本和文本-图像检索中均取得更好的结果,平均MAP 为0.476 0,优于DPRCM(0.434 3),这是因为其基于文档对排序,并随机选择锚点,而本文扩大了排序范围,采用了列表排序,每一训练批次的所有样本都作为锚点,来查找其对应的正样本和负样本,从而加强了对样本特征之间类别关系的探索。
Fig.3 Visualization of Wikipedia datasets图3 Wikipedia数据集的可视化
Table 2 MAP scores on Pascal datasets表2 Pascal 数据集上的MAP
2.4 结果可视化
图3展示了Wikipedia数据集上的跨模态特征可视化结果。图中相同的颜色代表相同的种类,不同的颜色代表不同的类别。算法的分类性能越好,相同颜色的样本就越聚拢,不同颜色的样本就越远离。
从图3 可以看出,随着实验迭代次数的增加,本文算法的分类效果越来越明显,并且本文算法充分考虑了类内样本之间以及类间样本之间的关系,使得分类后类内样本相对紧凑,而类间样本之间则相对远离,从而达到理想的分类效果。
3 结束语
本文提出了一种新的方法(C2MLR2),用文档列表排序的方法来学习跨模态数据的共同表示。对类内和类间信息都赋予同等的重要性,充分考虑样本之间的类别信息,使用SN loss来减少类内偏差,同时增大类间偏差,从而同时考虑了样本之间类内和类间的类别信息,而没有忽略掉其中任何一方,使得同类样本相对紧凑而不同类样本相对远离。C2MLR2采用批训练,将所有样本都作为锚点,并将正样本拉向锚点,同时将负样本推离锚点,从而提高了检索的准确性和效果。实验结果表明了本文方法在跨模态检索中取得了相当可观的效果。