文章目录

  • 写在前面的话
  • 1. Motivation
  • 2. Contribution
  • 3.Method
    • 3.1 Problem Statement
    • 3.2 Universal Weighting Framework for Cross-Modal Matching
    • 3.3 Informative Pairs Mining
    • 3.4 Polynomial Loss for Cross-Modal Matching
      • 3.4.1 Avg Polynomial Loss
      • 3.4.2 Max Polynomial Loss
  • 4.Experiments
    • 4.1 Implementation Details
      • 4.1.1 Image-Text Matching
      • 4.1.2 Video-Text Matching
    • 4.2 Image-Text Matching Results
    • 4.3 Video-Text Matching Results
    • 4.4 Ablation Study
      • 4.4.1 Parameter Analysis
      • 4.4.2 Triplet Loss vs.vs.vs. Max Polynomial Loss
      • 4.4.3 Max vs.vs.vs. Avg Polynomial Loss
    • 4.5 Qualitative Results
  • 5. Conclusion

写在前面的话

跨模态检索的关键在于:减少异构之间的差距,利用跨模态之间的判别信息[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

​ Nvi={Si,j,i≠j}N_{v_i}=\{S_{i,j,i\neq j}\}Nvi​​={Si,j,i​=j​}是sample viv_ivi​的所有的negative pairs的相似性得分的集合。Ntj={Sij,j≠i}N_{t_j}=\{S_{ij,j\neq i}\}Ntj​​={Sij,j​=i​}是sample tjt_jtj​的所有的negative pairs的相似性得分的集合。

L=∑i=1i=N{GPos Sii+∑(GNeg Sij,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=1∑i=N​{GPos ​Sii​+∑(GNeg ​Sij,i​=j​)}(4)

其中GPosG_{Pos}GPos​是positive pairs的权重,GNegG_{Neg}GNeg​是negative pairs的权重。两者是相似性得分的函数:

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

GNeg =G(Sjj,Ntj)(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 viv_ivi​,设其positive sample是tit_iti​,negative sample是tj,i≠jt_{j,i\neq j}tj,i​=j​。如果SijS_{ij}Sij​满足:

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

那么,negative pair (vi,tj)(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:

GPos =amSiim+am−1Siim−1+⋯+a1Sii+a0(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 ​=am​Siim​+am−1​Siim−1​+⋯+a1​Sii​+a0​(8)

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

​ 对于给定的negative pairs:

GNeg=bkSijk+bk−1Sijk−1+⋯+b1Sij+b0,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​=bk​Sijk​+bk−1​Sijk−1​+⋯+b1​Sij​+b0​,i​=j(9)

其中,SijS_{ij}Sij​是相似性得分,{bi}i=0i=k\{b_i\}^{i=k}_{i=0}{bi​}i=0i=k​是超参,kkk是正整数。GNegG_{Neg}GNeg​的趋势应该符合Figure 2b.

3.4.1 Avg Polynomial Loss

LAvg=1N∑i=1i=N[GPosSiip+∑Sij∈NviGNegSijqNum(Nvi)+λ1]++1N∑j=1j=N[GPosSjjp+∑Sij∈NtjGNegSijqNum(Ntj)+λ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​=​N1​i=1∑i=N​[GPos​Siip​+Num(Nvi​​)∑Sij​∈Nvi​​​GNeg​Sijq​​+λ1​]+​+N1​j=1∑j=N​[GPos​Sjjp​+Num(Ntj​​)∑Sij​∈Ntj​​​GNeg​Sijq​​+λ2​]+​​(10)

式(10)可以变换为:

LAvg=1N∑i=1i=N[∑apSiip+∑Sij∈Nvi∑QbqSijqNum(Nvi)]++1N∑j=1j=N[∑apSjjp+∑Sij∈Ntj∑QbqSijqNum(Ntj)]+(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​=​N1​i=1∑i=N​⎣⎡​∑ap​Siip​+Num(Nvi​​)∑Sij​∈Nvi​​​∑Qbq​Sijq​​⎦⎤​+​+N1​j=1∑j=N​⎣⎡​∑ap​Sjjp​+Num(Ntj​​)∑Sij​∈Ntj​​​∑Qbq​Sijq​​⎦⎤​+​​(11)

其中,Num(Nvi)Num(N_{v_i})Num(Nvi​​)和Num(Ntj)Num(N_{t_j})Num(Ntj​​)表示sample viv_ivi​和tjt_jtj​的negative pair的数量。PPP和QQQ式positive pair和negative pair的阶数。设置最小的ppp和qqq是0,a0=λ1,b0=λ2a_0=\lambda_1,b_0=\lambda_2a0​=λ1​,b0​=λ2​,因为有v2t还有t2v,所以损失函数有两项,前项代表image retrieval caption;后项代表caption retrieval image。

3.4.2 Max Polynomial Loss

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

LMax=1N∑i=1i=N[GPosSiip+GNegMax{Nvi}q+λ1]++1N∑j=1j=N[GPosSjjp+GNegMax{Ntj}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​=​N1​i=1∑i=N​[GPos​Siip​+GNeg​Max{Nvi​​}q+λ1​]+​+N1​j=1∑j=N​[GPos​Sjjp​+GNeg​Max{Ntj​​}q+λ2​]+​​(12)

其中,Max{Nvi}Max\{N_{v_i}\}Max{Nvi​​}和Max{Ntj}Max\{N_{t_j}\}Max{Ntj​​}表示sample viv_ivi​和tjt_jtj​的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的参数为{ap}\{a_p\}{ap​}和{bp}\{b_p\}{bp​}。使用启发式(heuristic)方法选择超参数。具体来说(Concretely),初始化G(⋅)G(\cdot)G(⋅)保证其趋势符合Figure 2. 接下来,使用网格搜索的方法(grid search technology)来选择超参。对于MS-COCO设置P=2,{a0=0.5,a1=−0.7,a2=0.2};Q=2,{b0=0.03,b1=−0.3,b2=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,{a0=0.6,a1=−0.7,a2=0.2};Q=2,{b0=0.03,b1=−0.4,b2=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的参数为{ap}\{a_p\}{ap​}和{bp}\{b_p\}{bp​}。对于ActivityNet-captions,P=2,{a0=0.5,a1=−0.7,a2=0.2};Q=2,{b0=1,b1=−0.2,b2=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,{a0=0.5,a1=−0.7,a2=0.2};Q=2,{b0=0.03,b1=−0.3,b2=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,参数集{ai}\{a_i\}{ai​}和{bj}\{b_j\}{bj​},可选范围过于广,所以在此只分析超参的敏感性。作者表示,参数集{bj}\{b_j\}{bj​}对于模型的表现更为敏感。b0=0.3b_0=0.3b0​=0.3,探索b1b_1b1​和b2b_2b2​对模型表现的影响:

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

4.4.2 Triplet Loss vs.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 vs.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,因此很难找到一组参数PNegP_{Neg}PNeg​来拟合所有的含有信息的negative pairs。

4.5 Qualitative Results

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

5. Conclusion

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

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

[论文阅读] Universal Weighting Metric Learning for Cross-Modal Matching相关推荐

  1. 论文阅读笔记:SCAN: Learning to Classify Images without Labels

    论文阅读笔记:SCAN: Learning to Classify Images without Labels 摘要 简介和相关工作 方法 表征学习 语义聚类损失 2.3 通过自标记进行微调 3 实验 ...

  2. Zero-shot Learning零样本学习 论文阅读(一)——Learning to detect unseen object classes by between-class attribute

    Zero-shot Learning零样本学习 论文阅读(一)--Learning to detect unseen object classes by between-class attribute ...

  3. 年龄论文阅读——Deep Label Distribution Learning With Label Ambiguity

    论文阅读--Deep Label Distribution Learning With Label Ambiguity 版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.c ...

  4. 论文阅读|node2vec: Scalable Feature Learning for Networks

    论文阅读|node2vec: Scalable Feature Learning for Networks 文章目录 论文阅读|node2vec: Scalable Feature Learning ...

  5. 【论文阅读】Occupancy Networks: Learning 3D Reconstruction in Function Space

    论文题目:Occupancy Networks: Learning 3D Reconstruction in Function Space(占据网络:在函数空间内学习三维重建,简称ONet) 论文作者 ...

  6. 【论文阅读】Neural Transformation Learning for Deep Anomaly Detection Beyond Images 异常检测,可学习变换,时间序列,表格数据

    本博客系博主阅读论文之后根据自己理解所写,非逐字逐句翻译,预知详情,请参阅论文原文. 论文标题:Neural Transformation Learning for Deep Anomaly Dete ...

  7. 【论文阅读】Weakly Supervised Learning of Instance Segmentation with Inter-pixel Relations

    一篇经典的弱监督分割论文,发表在CVPR2019上面 论文标题: Weakly Supervised Learning of Instance Segmentation with Inter-pixe ...

  8. 论文阅读:Personalized Federated Learning with Moreau Envelopes

    论文名字 Personalized Federated Learning with Moreau Envelopes 来源   年份 2021.3.3 作者 Canh T. Dinh, Nguyen ...

  9. 三维目标检测论文阅读:VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

    VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection 理解了PointPillars这篇文章后,看这篇文章就清 ...

  10. 论文阅读笔记:ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections

    提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 相关工作 神经投影网络(Neural Projection Networks) Pro ...

最新文章

  1. 图解VC++2012编译安装GDAL1.11.0和入门例子
  2. python怎么编辑文件夹_python创建修改文件
  3. 为什么说OLAP产品毁了BI?
  4. 【caffe-Windows】添加工程-以classification为例
  5. 全球500强企业人力资源管理之道
  6. module.js:549 throw err;
  7. mysql存储过程参数与属性同名问题_存储过程中参数与表名相同的二义性问题
  8. HTML+CSS+JS实现 ❤️H5 3D传送带视差照片特效❤️
  9. utf-8编码用于asp出现乱码的问题--从数据库调用的是乱码
  10. Xshell连接mysql数据库乱码问题解决思路总结
  11. 为什么都建议学java而不是python-就目前来说,学Java好还是学Python好?
  12. ctf镜子里面的世界_在秋天遇见“冰雪世界”,好像老天给我变了个魔法
  13. 三星android安卓版本怎么升级,大神教你三星S7如何更新安卓7.0 三星S7升级安卓7.0详细教程...
  14. Hadoop3.3.1 踩坑笔记
  15. 如何快速增长支付宝会员成长值
  16. OpenCV-绘制圆角矩形
  17. 外贸电商:除了paypal,这些支付方式也能帮到你
  18. Codeforces Round #429 (Div. 2) B. Godsend
  19. Instagram Win10 UWP版更新:新增故事滤镜等大波功能
  20. 网吧服务器点歌系统,网吧点歌系统(网吧点歌曲软件)

热门文章

  1. linux系统安装word,如何在Linux中安装FreeOffice 2018
  2. break 通过自定义标签跳到指定位置
  3. Ubiquitous Religions
  4. Medusa 破解centos密码
  5. 阻止冒泡事件(兼容大部分浏览器)
  6. 中国大数据论坛第八期教育成都沙龙成功
  7. idea 去掉author波浪线
  8. HTML 页面中点击 a标签实现添加QQ好友功能
  9. TCP/IP(3)——IPV6
  10. Python制作动态桌面壁纸程序-摆脱付费-Mili_Wallpaper