[论文阅读] Universal Weighting Metric Learning for Cross-Modal Matching

写在前面的话

跨模态检索的关键在于:减少异构之间的差距,利用跨模态之间的判别信息[19,33,31,25]

1. Motivation

  • 现有的方法都是为unimodal匹配开发的,而不适用于跨模态的multimodal有着异构特征(heterogeneous features)的数据匹配
  • 以往的跨模态检索使用的损失函数是ranking loss,训练时候是随机选择的sampling,会造成收敛过慢、效果不佳的问题
  • 以往的方法对待positive pairs和negative pairs是相等的(没有区别对待),另外传统的triplet loss会丢弃那些信息比hardest pairs的pairs

2. Contribution

  • 为跨模态匹配,提出了一个通用的加权框架,分别为positive sample和negative sample提出了两个计算多项式权重的函数。
  • 介绍了一种新的多项式损失函数,该函数可以有效的从冗余对中选择信息对

3.Method

3.1 Problem Statement

​ 以往的方法都是使用margin将positive pair的得分变得高于negative pair。(也就是triplet loss)而这些方法是丢掉了比hardest pairs的信息少的pairs。

3.2 Universal Weighting Framework for Cross-Modal Matching

N v i = { S i , j , i ≠ j } N_{v_i}=\{S_{i,j,i\neq j}\} Nvi={Si,j,i=j}是sample v i v_i vi的所有的negative pairs的相似性得分的集合。 N t j = { S i j , j ≠ i } N_{t_j}=\{S_{ij,j\neq i}\} Ntj={Sij,j=i}是sample t j t_j tj的所有的negative pairs的相似性得分的集合。

L = ∑ i = 1 i = N { G Pos  S i i + ∑ ( G Neg  S i j , i ≠ j ) } (4) L=\sum_{i=1}^{i=N}\left\{G_{\text {Pos }} S_{i i}+\sum\left(G_{\text {Neg }} S_{i j, i \neq j}\right)\right\}\tag{4} L=i=1i=N{GPos Sii+(GNeg Sij,i=j)}(4)

其中 G P o s G_{Pos} GPos是positive pairs的权重, G N e g G_{Neg} GNeg是negative pairs的权重。两者是相似性得分的函数:

G Pos  = G ( S i i , N v i ) (5) G_{\text {Pos }}=G\left(S_{i i}, N_{v_{i}}\right)\tag{5} GPos =G(Sii,Nvi)(5)

G Neg  = G ( S j j , N t j ) (6) G_{\text {Neg }}=G\left(S_{j j}, N_{t_{j}}\right) \tag{6} GNeg =G(Sjj,Ntj)(6)

其中 G ( ⋅ ) G(\cdot) G()表示权重和相似性得分之间的关系。理论上来讲, G ( ⋅ ) G(\cdot) G()可以是自相似性和相对相似性的函数。但是 G ( ⋅ ) G(\cdot) G()应该满足:

  • positive pairs的相似性得分增加,他的权重的值减小
  • negative pairs的相似性得分怎去,他的权重增加

式(4)式一个通式,现有的方法都是他的特殊性的表达。

3.3 Informative Pairs Mining

​ 本节介绍,通过在positive 和 negative pairs之间比较相似性得分,选择含有有用信息的negative pairs。对于给定的anchor v i v_i vi,设其positive sample是 t i t_i ti,negative sample是 t j , i ≠ j t_{j,i\neq j} tj,i=j。如果 S i j S_{ij} Sij满足:

S i j , i ≠ j > S i i − λ (7) S_{i j, i \neq j}>S_{i i}-\lambda\tag{7} Sij,i=j>Siiλ(7)

那么,negative pair ( v i , t j ) (v_i, t_j) (vi,tj)就被选中。其中式(7)中的 λ \lambda λ margin。Figure 3.展示了sample。注意,在一个mini-batch中,每个anchor只有一个positive sample。

3.4 Polynomial Loss for Cross-Modal Matching

​ 通过以上的方法,具有更多信息的negative pairs会被选出,而更少信息的negative pairs则会被丢掉。理论上来讲, G ( ⋅ ) G(\cdot) G()可以是一个自相似和相对相似的函数(G can be a function of self-similarity and relative similarity.),但是越复杂的G会有越多的超参数,因为该文章定义 G ( ⋅ ) G(\cdot) G()为自相似的函数,对于给定的positive pairs:

G Pos  = a m S i i m + a m − 1 S i i m − 1 + ⋯ + a 1 S i i + a 0 (8) G_{\text {Pos }}=a_{m} S_{i i}^{m}+a_{m-1} S_{i i}^{m-1}+\cdots+a_{1} S_{i i}+a_{0}\tag{8} GPos =amSiim+am1Siim1++a1Sii+a0(8)

其中, S i i S_{ii} Sii是相似性得分, { a i } i = 0 i = m \{a_i\}^{i=m}_{i=0} {ai}i=0i=m是超参, m m m是正整数。当相似性得分升高, G P o s G_{Pos} GPos的值应该减小。其趋势应该符合Fugure 2a.

​ 对于给定的negative pairs:

G N e g = b k S i j k + b k − 1 S i j k − 1 + ⋯ + b 1 S i j + b 0 , i ≠ j (9) G_{N e g}=b_{k} S_{i j}^{k}+b_{k-1} S_{i j}^{k-1}+\cdots+b_{1} S_{i j}+b_{0}, i \neq j\tag{9} GNeg=bkSijk+bk1Sijk1++b1Sij+b0,i=j(9)

其中, S i j S_{ij} Sij是相似性得分, { b i } i = 0 i = k \{b_i\}^{i=k}_{i=0} {bi}i=0i=k是超参, k k k是正整数。 G N e g G_{Neg} GNeg的趋势应该符合Figure 2b.

3.4.1 Avg Polynomial Loss

L A v g = 1 N ∑ i = 1 i = N [ G P o s S i i p + ∑ S i j ∈ N v i G N e g S i j q N u m ( N v i ) + λ 1 ] + + 1 N ∑ j = 1 j = N [ G P o s S j j p + ∑ S i j ∈ N t j G N e g S i j q N u m ( N t j ) + λ 2 ] + (10) \begin{aligned} L_{A v g}=& \frac{1}{N} \sum_{i=1}^{i=N}\left[G_{P o s} S_{i i}^{p}+\frac{\sum_{S_{i j} \in N_{v_{i}}} G_{N e g} S_{i j}^{q}}{N u m\left(N_{v_{i}}\right)}+\lambda_{1}\right]_{+}+\\ & \frac{1}{N} \sum_{j=1}^{j=N}\left[G_{P o s} S_{j j}^{p}+\frac{\sum_{S_{i j} \in N_{t_{j}}} G_{N e g} S_{i j}^{q}}{N u m\left(N_{t_{j}}\right)}+\lambda_{2}\right]_{+} \end{aligned}\tag{10} LAvg=N1i=1i=N[GPosSiip+Num(Nvi)SijNviGNegSijq+λ1]++N1j=1j=N[GPosSjjp+Num(Ntj)SijNtjGNegSijq+λ2]+(10)

式(10)可以变换为:

L A v g = 1 N ∑ i = 1 i = N [ ∑ a p S i i p + ∑ S i j ∈ N v i ∑ Q b q S i j q N u m ( N v i ) ] + + 1 N ∑ j = 1 j = N [ ∑ a p S j j p + ∑ S i j ∈ N t j ∑ Q b q S i j q N u m ( N t j ) ] + (11) \begin{aligned} L_{A v g}=& \frac{1}{N} \sum_{i=1}^{i=N}\left[\sum a_{p} S_{i i}^{p}+\frac{\sum_{S_{i j} \in N_{v_{i}}} \sum^{Q} b_{q} S_{i j}^{q}}{N u m\left(N_{v_{i}}\right)}\right]_{+}+\\ & \frac{1}{N} \sum_{j=1}^{j=N}\left[\sum a_{p} S_{j j}^{p}+\frac{\sum_{S_{i j} \in N_{t_{j}}} \sum^{Q} b_{q} S_{i j}^{q}}{N u m\left(N_{t_{j}}\right)}\right]_{+} \end{aligned}\tag{11} LAvg=N1i=1i=NapSiip+Num(Nvi)SijNviQbqSijq++N1j=1j=NapSjjp+Num(Ntj)SijNtjQbqSijq+(11)

其中, N u m ( N v i ) Num(N_{v_i}) Num(Nvi) N u m ( N t j ) Num(N_{t_j}) Num(Ntj)表示sample v i v_i vi t j t_j tj的negative pair的数量。 P P P Q Q Q式positive pair和negative pair的阶数。设置最小的 p p p q q q是0, a 0 = λ 1 , b 0 = λ 2 a_0=\lambda_1,b_0=\lambda_2 a0=λ1,b0=λ2,因为有v2t还有t2v,所以损失函数有两项,前项代表image retrieval caption;后项代表caption retrieval image。

3.4.2 Max Polynomial Loss

​ 最大多项式损失函数仅使用hardest negative pair:

L M a x = 1 N ∑ i = 1 i = N [ G P o s S i i p + G N e g M a x { N v i } q + λ 1 ] + + 1 N ∑ j = 1 j = N [ G P o s S j j p + G N e g M a x { N t j } q + λ 2 ] + (12) \begin{aligned} L_{M a x}=& \frac{1}{N} \sum_{i=1}^{i=N}\left[G_{P o s} S_{i i}^{p}+G_{N e g} M a x\left\{N_{v_{i}}\right\}^{q}+\lambda_{1}\right]_{+}+\\ & \frac{1}{N} \sum_{j=1}^{j=N}\left[G_{P o s} S_{j j}^{p}+G_{N e g} M a x\left\{N_{t_{j}}\right\}^{q}+\lambda_{2}\right]_{+} \end{aligned}\tag{12} LMax=N1i=1i=N[GPosSiip+GNegMax{Nvi}q+λ1]++N1j=1j=N[GPosSjjp+GNegMax{Ntj}q+λ2]+(12)

其中, M a x { N v i } Max\{N_{v_i}\} Max{Nvi} M a x { N t j } Max\{N_{t_j}\} Max{Ntj}表示sample v i v_i vi t j t_j tj的hardest negative pair。

4.Experiments

​ 使用image-text matching和video-text matching任务来验证多项式损失的作用。使用Recall@K作为指标,式(7)中的margin λ \lambda λ设为0.2。

4.1 Implementation Details

4.1.1 Image-Text Matching

​ 使用两个benchmarks作为image-text matching的标准:MS-COCO和Flickr30K。MS-COCO包含123,287个图片,每个图片有5个描述。数据划分根据[16],使用113,287张图片作为训练集,5,000张图片作为验证集,5,000张图片作为测试集。Flickr30K包含31,783张图片,每张图片有5个句子描述。数据划分根据[16],使用1,000张图片作为验证集,1,000张图片作为测试集,剩余的作为训练集。

​ 使用Stacked Cross Attention Network(SCAN)作为实验的网络。作为对比实验,不更改网络,仅更换损失函数。SCAN的输入有两个:一个是图片的特征是使用ResNet-101预训练的Faster-RCNN;另一个是通过biGRU编码的word features。

​ 训练策略:使用Adam作为优化器,batch size为128。对于MS-COCO,前10个epoch,学习率为0.0005,接下来的10个epoch,设置为0.00005;对于Flickr30K,前15个epoch的学习率为0.0002,接下来的15个epoch,设置为0.00002。ploynomial loss的参数为 { a p } \{a_p\} {ap} { b p } \{b_p\} {bp}。使用启发式(heuristic)方法选择超参数。具体来说(Concretely),初始化 G ( ⋅ ) G(\cdot) G()保证其趋势符合Figure 2. 接下来,使用网格搜索的方法(grid search technology)来选择超参。对于MS-COCO设置 P = 2 , { a 0 = 0.5 , a 1 = − 0.7 , a 2 = 0.2 } ; Q = 2 , { b 0 = 0.03 , b 1 = − 0.3 , b 2 = 1.2 } P=2,\{a_0=0.5,a_1=-0.7,a_2=0.2\}; Q=2,\{b_0=0.03,b_1=-0.3,b_2=1.2\} P=2,{a0=0.5,a1=0.7,a2=0.2};Q=2,{b0=0.03,b1=0.3,b2=1.2};对于Flickr30K, P = 2 , { a 0 = 0.6 , a 1 = − 0.7 , a 2 = 0.2 } ; Q = 2 , { b 0 = 0.03 , b 1 = − 0.4 , b 2 = 0.9 } P=2,\{a_0=0.6,a_1=-0.7,a_2=0.2\};Q=2,\{b_0=0.03,b_1=-0.4,b_2=0.9\} P=2,{a0=0.6,a1=0.7,a2=0.2};Q=2,{b0=0.03,b1=0.4,b2=0.9}

4.1.2 Video-Text Matching

​ 使用两个数据集。ActivityNet-captions和MSR-VTT。ActivityNet-captions包含20k个视频,每个视频有5个描述,数据分割方法和[20]一致,10,009个视频作为训练集,4,917个视频作为测试集。MSRVTT包含10k个视频,每个视频大概有20个描述,数据分割方法和[20]一致,6,513个视频作为训练集,2,990个视频作为测试集。

​ 使用Collaborative Experts(CE)框架作为实验的网络,CE是一个融合了多个预训练视频特征的框架。作为对比实验,保持网络结构不变,使用多项式损失函数替换原本的损失函数。

​ 训练策略:使用Adam作为优化器,batch size为64。学习率为0.0004。ploynomial loss的参数为 { a p } \{a_p\} {ap} { b p } \{b_p\} {bp}。对于ActivityNet-captions P = 2 , { a 0 = 0.5 , a 1 = − 0.7 , a 2 = 0.2 } ; Q = 2 , { b 0 = 1 , b 1 = − 0.2 , b 2 = 1.7 } P=2,\{a_0=0.5,a_1=-0.7,a_2=0.2\};Q=2,\{b_0=1,b_1=-0.2,b_2=1.7\} P=2,{a0=0.5,a1=0.7,a2=0.2};Q=2,{b0=1,b1=0.2,b2=1.7};对于MSRVTT P = 2 , { a 0 = 0.5 , a 1 = − 0.7 , a 2 = 0.2 } ; Q = 2 , { b 0 = 0.03 , b 1 = − 0.3 , b 2 = 1.8 } P=2,\{a_0=0.5,a_1=-0.7,a_2=0.2\};Q=2,\{b_0=0.03,b_1=-0.3,b_2=1.8\} P=2,{a0=0.5,a1=0.7,a2=0.2};Q=2,{b0=0.03,b1=0.3,b2=1.8}

4.2 Image-Text Matching Results

​ Table 1中,SCAN使用Max Polynomial Loss效果最佳。

​ Table 2展示了MS-COCO上的结果,其中使用了文章所提出的方法的实验,召回率表现出色。

​ 传统的三元组loss尝试从冗余对中选取具有信息的pairs,但是该方法对positive pairs和negative pairs是一视同仁的。与此相反,所提出的多项式loss为正负对分配了适当的权重值,并且权重值与其相似性得分有关。 所提出的方法可以同时选择和加权信息对。

4.3 Video-Text Matching Results

​ 根据Table 3.和Table 4.可以看出,使用了文章的loss的实验,在所有指标上均优于baseline。注意,在与CE的Triplet loss做对比时,两组实验采用的是相同的video encoder和text encoder。

4.4 Ablation Study

4.4.1 Parameter Analysis

​ 对于多项式loss,参数集 { a i } \{a_i\} {ai} { b j } \{b_j\} {bj},可选范围过于广,所以在此只分析超参的敏感性。作者表示,参数集 { b j } \{b_j\} {bj}对于模型的表现更为敏感。 b 0 = 0.3 b_0=0.3 b0=0.3,探索 b 1 b_1 b1 b 2 b_2 b2对模型表现的影响:

值得一提的是,Table 5.中所有的结果都比baseline要好。

4.4.2 Triplet Loss v s . vs. vs. Max Polynomial Loss

​ 最大多项式损失函数仅包含hardest negative pairs,可以看作是加权版的triplet loss,在MS-COCO数据集上比较max polynomial loss和triplet loss的表现:

Figure 4.可以看到,Max Polynomial Loss比Triplet Loss收敛的更快。该对比实验证明了多项式加权机制的优越性(superiority)。

4.4.3 Max v s . vs. vs. Avg Polynomial Loss

​ 在本节,探索了Max和Avg Polynomial Loss的影响。

​ Max Polynomial Loss加权了positive pairs和对于每个anchor来说的hardest negative pairs,因此Max Polynomial Loss可以看作是对hardest negative paris加权版的Triplet Loss。

​ 相反,Average Polynomial Loss包含了negative pairs的信息,同时对他们分配不同的权重。

​ 因此,Max Polynomial Loss只处理了信息对的子集,因此,他的计算复杂度低于包含了所有信息对的Average Polynomial Loss:

​ Figure 5. 展示了在MS-COCO上两个方法的表现。可以看出,Avg Polynomial Loss在第一次迭代的时候就先于Max Polynomial Loss,可以解释为:Avg Polynomial Loss包含更多的信息对。但是,对于最后的结果,Max Polynomial Loss的结果略(slightly)好于Avg Polynomial Loss,其原因可能是不合理的参数设置(喵喵喵???)。由于Avg Polynomial Loss包含过多的negative pairs,因此很难找到一组参数 P N e g P_{Neg} PNeg来拟合所有的含有信息的negative pairs。

4.5 Qualitative Results

​ 在本节,在MS-COCO上可视化的展示了Top-3的检索结果,定性的结果如Firuge 6.:

5. Conclusion

​ 作者为跨模态匹配问题设计了一个通用的加权框架,该框架分别为正负例都设计了一个加权函数。进一步的,作者基于提出的框架提出了多项式损失函数。实验结果证明在四个跨模态匹配问题上证明,所提出的多项式损失函数有着出色的表现。

​ 未来将会探索用于跨模态匹配的更加高级的加权函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值