Universal Weighting Metric Learning for Cross-Modal Retrieval

跨模态检索的通用加权度量学习

看这里

摘要

跨模态检索方法的性能很大程度上依赖于度量学习对信息对进行挖掘和加权的能力。尽管针对单模态检索任务开发了各种度量学习方法,但对跨模态检索任务的研究还不够充分。在本文中,我们开发了一个通用的跨模态检索权重度量学习框架,该框架可以有效地对信息对进行抽样,并根据它们的相似度分配适当的权重值,从而使不同的信息对偏好不同的惩罚强度。

在此基础上,我们引入了两种跨模态检索的多项式损失,即自相似多项式损失和相对相似多项式损失。前者提供了一个多项式函数将权重值与自相似评分关联起来,后者定义了一个多项式函数将权重值与相对相似评分关联起来。自相似和相对相似多项式损失都可以自由应用于现有的检索方法,进一步提高检索性能。

rule:随着正样本对的相似度增加,所对应的权值应该减小,随着负样本对的相似度增加,所对应的权值应该增大

我觉得其中的含义就是,当负样本与Anchor的相似度越大,惩罚的力度也应该更大,所以赋予其更大的权值,当正样本与Anchor的相似度增加,说明很容易就能判别出来,所以不需要过多关注

背景知识

度量学习(Metric Learning)也就是常说的相似度学习。如果需要计算两张图片之间的相似度,如何度量图片之间的相似度使得不同类别的图片相似度小而相同类别的图片相似度大(maximize the inter-class variations and minimize the intra-class variations)就是度量学习的目标。

三元损失

三元组损失的目标是确保:

  • 具有相同标签的两个示例的嵌入在嵌入空间中靠得很近
  • 具有不同标签的两个示例的嵌入相距很远。

原理

  • 输入是一个三元组 <a, p, n>
    • a: anchor
    • p: positive,与a是同一类别的样本
    • n: negative,与a是同一类别的样本

For some distance on the embedding space , the loss of a triplet

  • triplet loss示意
    L = m a x ( d ( a , p ) − d ( a , n ) + m a r g i n , 0 ) L = max(d(a, p) - d(a, n) + margin, 0) L=max(d(a,p)d(a,n)+margin,0)
    • 所以最终的优化目标是拉近 a, p 的距离, 拉远 a, n 的距离
    • easy triplets: L = 0 L = 0 L=0 d ( a , p ) + m a r g i n < d ( a , n ) d(a, p) +margin<d(a,n) d(a,p)+margin<d(a,n),这种情况不需要优化,天然a, p的距离很近, a, n的距离远
    • hard triplets: d ( a , p ) < d ( a , n ) < d ( a , p ) d(a, p)<d(a,n)<d(a,p) d(a,p)<d(a,n)<d(a,p), 即a, p的距离远
    • semi-hard triplets: ( a , p ) < d ( a , n ) < d ( a , p ) + m a r g i n (a,p)<d(a,n)<d(a,p)+margin (a,p)<d(a,n)<d(a,p)+margin, 即a, n的距离靠的很近,但是有一个margin
      在这里插入图片描述

3、训练方法

3.1 offline

训练集所有数据经过计算得到对应的 embeddings, 可以得到 很多<i, j, k> 的三元组,然后再计算 triplet loss
效率不高,因为需要过一遍所有的数据得到三元组,然后训练反向更新网络

3.2 online

从训练集中抽取B个样本,然后计算 B 个embeddings,可以产生 B 3 B^3 B3triplets (当然其中有不合法的,因为需要的是<a, p, n>

介绍

现有的跨模态检索方法侧重于学习共享的嵌入空间,以弥合异质性鸿沟,从而比较不同模态的特征。一般情况下,学习的嵌入空间可以使匹配的对聚类在一起,而不匹配的对离得很远。
在这里插入图片描述

虽然这些方法已经取得了很大的进展,但大多数仍使用未加权三重损耗作为损耗函数。然而,未加权三重损耗对不同的对一视同仁,忽略了对之间的差异,导致收敛速度慢,性能差。

引入了一个通用的跨通道检索加权度量学习框架。最直观的动机是给信息量更大的样本分配更大的权重(信息量越大,越不相关),以便不同的配对偏好不同的惩罚强度。

在这里插入图片描述

正对的权重值随着相似度评分的增加而减小,负对的权重值随着相似度评分的增加而增大。对于相对相似度,其权重值应随着相对相似度得分的增加而增加。请注意,相对相似性被定义为负对和正对相似性得分的差值,即(Sij−Sii)。

在本文中,我们选择小批量中最困难的样本作为信息对。对于选定的信息对,我们定义了一个多项式函数,该函数根据信息对的相似度自适应地为信息对分配合适的权重。具体地说,我们在通用加权度量学习框架下发展了两种多项式损失:自相似多项式损失和相对相似多项式损失。由于多项式函数可以拟合各种函数,因此它在可表示的损失函数方面具有更大的灵活性。

  • 引入了框架
  • 开发了两种类型的多项式损失
  • 实验两个基准数据集(MS-COCO和Flickr30K)和三个基准数据集(MSVD、MSR-VTT和TGIF)

相关工作

本文考虑了两种主流的检索任务 : 图像文本检索和视频文本检索。

图像文本检索:现有的检索工作遵循两个研究方向:全局对齐和局部区域对齐。全局对齐的重点是学习整个图像和句子之间的对应关系。局部区域对齐学习局部图像区域和单词之间的对应关系。

视频文本检索:分别提取视频和文本的全局表示,并计算这些全局表示之间的相似度。

度量学习:度量学习的重点是学习距离度量函数,鼓励语义相关的实例彼此接近。

问题描述

V = v 1 , v 2 , ⋅ ⋅ ⋅ , v n V={v1,v2,···,vn} V=v1,v2vn t = t 1 , t 2 , ⋅ ⋅ ⋅ , t n t ={t1,t2,···,tn} t=t1,t2tn为从两种不同的形态中捕获的两组实例, v i ∈ r d 1 vi∈rd1 vird1为视觉特征向量, t i ∈ r d 2 ti∈rd2 tird2为文本特征向量, d 1 d1 d1 d 2 d2 d2为特征维数。设 ( v i , t j , i 6 = j ) (vi,tj,i6=j) (vi,tj,i6=j)为负对, ( v i , t i ) (vi,ti) (vi,ti)为正对。对于每个查询,跨模态检索的目标是从另一个模态检索其相关实例。跨模态检索的核心思想是度量从不同模态捕获的特征的相似性。在以往的文献中,已经提出了许多方法来建立一个共同的嵌入空间来减少异构间隙。在公共嵌入空间中,定义了一个项目函数 S ( v , t ; W ) = ψ ( v ) T W φ ( t ) S(v,t;W) =ψ(v)TWφ(t) S(v,t;W)=ψ(v)TWφ(t),计算可视表示 ψ ( v ) ψ(v) ψ(v)与句子表示 φ ( t ) φ(t) φ(t)之间的相似性。是要学习的映射矩阵。我们希望负对的相似度分数比正对的相似度分数小很多。这导致了以下约束条件:

在这里插入图片描述

传统的双向检索任务的未加权三重损失定义如下:

在这里插入图片描述
对于跨通道检索任务,在一个小批中,每个锚都有许多负样本,但只有一个正样本。三联体丢失是跨模态检索的主要目标函数。然而,三重损耗对不同的对一视同仁,导致收敛速度慢,性能差。在本文中,我们提出了一种通用的权重度量学习方法来选择信息对,并根据它们的相似度分配适当的权重值。

跨模态检索的通用加权度量学习框架

现有的加权方法给出了一个特殊的函数来表示权重值与相似度之间的关系,函数的形式因任务的不同而不同。
在本文中,我们引入了一个通用的权重度量学习框架来统一这些损失函数:
在这里插入图片描述
理论上,gp和gn的形式是不同的,两者都可以定义为相对或自相似性分数的函数,如图3所示。IfG(·)是自相似度评分的函数,正对的权重值随着相似度评分的增加而减小,负对的权重值随着相似度评分的增加而增大。相似度较大的正对和相似度较小的负对所包含的信息较少(模型对这些对的适应性较好)。

也就是平常的我们的,以广泛应用的三重态损耗为例,介绍了 G p o s G_{pos} Gpos=−1, G n e g G_{neg} Gneg=1,但是他们应该是不同的,它们都可以定义为相对或自相似分数的函数,
在这里插入图片描述

跨模态检索的多项式损失

理论上,G(·)是一个将权重值与相似度评分相关联的函数。

在本小节中,我们引入两种类型的多项式函数来自适应地为选定的信息对分配适当的权重,一种将权重值与自相似评分关联,另一种将权重值与相对相似评分关联。

自相似多项式损失

设g(·)为自相似度评分的多项式函数。
在这里插入图片描述

对于选定的信息对,自相似多项式损失可以自适应地为不同的信息对分配合适的权重。我们可以通过限制多项式函数的阶数来减少超参数。

相对相似多项式损失

G(·)是一个将权重值与相似度评分相关联的函数。

我们介绍了一个更高级的相对相似多项式损失基于提出的通用权重度量学习框架。我们通过限制g(·)的阶来减少超参数。

相对相似多项式损失为相对相似评分分配适当的权重。具体来说,让g(·)是相对相似度评分的函数。
在这里插入图片描述

与自相似多项式损耗相比,相对相似多项式损耗超参数少,且更容易收敛。请注意,自相似性和相对相似性多项式损失都可以通过随机梯度下降来优化。

梯度分析

在这里插入图片描述

在这里插入图片描述

如等式14和15所示,LSELF允许每个相似性分数以自己的速度学习。三重态损耗提供了一个恒定的梯度标度(∂里普利∂Sii=−1.∂里普利∂Sij=1),这会损害模型的灵活性[60]。相比之下,自相似多项式损失通过考虑每个相似分数的硬度来确定梯度的尺度。如等式16和17所示,相对相似多项式损失通过考虑相对相似性得分来确定梯度的规模,这进一步增强了优化的灵活性。容易的正负对具有小的梯度尺度,而硬的正负对具有大的梯度尺度。此属性使SLSelf和LRelt能够向模型提供更丰富的监控信号。

实验

对于所有模型,我们保留了网络结构,仅用我们提出的损耗函数替换三重态损耗。我们使用与原始方法相同的实验设置(即相同的优化器、学习率和小批量等),以确保公平比较。

超参数的选择,;论文中有详细的解释,这里不再指出。

数据集和实施细节

图像-文本检索

我们在两个数据集MS-COCO和Flickr30K上进行了实验。MS-COCO包含123287张图片,每张图片用五句话描述。我们采用其标准拆分为使用113287张图像进行训练,5000张图像进行验证,其余5000张图像进行测试。通过对1000张测试图像进行5倍以上的平均或对5000张测试图像进行测试,报告最终结果。
Flickr30k收集31000张图像,每张图像有5个文本注释。我们采用其标准分割为29000张图像用于训练,1000张图像用于验证,1000张图像用于测试。

多项式损失可自由应用于现成的跨模态检索模型,以进一步提高其性能。在本小节中,我们将多项式损失应用于两种体系结构,堆叠交叉注意网络(SCAN)和图结构匹配网络(GSMN)

SCAN

Scan旨在通过叠加交叉注意学习区域词对应。为了进行公平比较,我们对扫描的实验设置进行了镜像。具体而言,使用预训练的快速RCNN[54]结合ResNet-101[55]来提取图像区域特征,并采用双向选通递归单元(GRU)[56]来编码字特征。对于这两个数据集,我们使用Adam[48]optimizer和minibatch 128从头开始训练模型。我们将最大梯度范数的阈值设置为2。0

视频文本检索

我们在三个数据集上进行了广泛的实验:MSVD、MSR-VTT和TGIF。TGIF包含gif格式的视频,在之后,79451个用于培训的视频剪辑,10651个用于验证的视频剪辑,其余11310个用于测试的视频剪辑。MSVD包含1970个视频,每个视频剪辑包含40个句子。我们使用标准拆分,1200个视频用于培训,100个视频用于验证,670个视频用于测试。MSR VTT拥有10000个网络视频剪辑。每个视频中的平均字幕数是20。我们采用标准拆分为[12],[59],使用6513个视频进行培训,497个视频进行验证,其余2990个视频进行测试。

对于视频文本检索任务,我们将多项式损失应用于两种体系结构,协作专家(CE)[12]和层次图推理(HGR)[25]

CE是一个框架,通过聚合来自不同预训练模型的信息,为每个视频片段生成密集表示。

HGR通过分层图网络对交叉模态组件进行了标定。我们将相对相似多项式损失应用于HGR。

图像文本检索结果

在这里插入图片描述

在这里插入图片描述

视频文本检索结果

在这里插入图片描述

消融实验

参数分析

我们将自相似多项式损失应用于CE模型,并通过固定b0=0来评估B1和B2的影响。表6总结了MSR-VTT的结果。在这里插入图片描述

对于相对相似多项式损失,有三个超参数{e0,e1,e2}。我们将相对相似多项式损失应用于GSMN。我们通过固定 e 0 e_0 e0=0.08来分析 e 1 e_1 e1 e 2 e_2 e2的影响。
在这里插入图片描述

三重损失 VS 相对相似多项式 损失

三重态损失一直是跨模态反演的主要目标函数。相对相似性多项式损失为相对相似性得分分配适当的权重,而三重态损失是相对相似性多项式损失的一种特例。

自我与相对相似多项式损失

细粒度图像检索

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值