[论文阅读] Universal Weighting Metric Learning for Cross-Modal Matching
文章目录
- 写在前面的话
- 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 =amSiim+am−1Siim−1+⋯+a1Sii+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=bkSijk+bk−1Sijk−1+⋯+b1Sij+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=N1i=1∑i=N[GPosSiip+Num(Nvi)∑Sij∈NviGNegSijq+λ1]++N1j=1∑j=N[GPosSjjp+Num(Ntj)∑Sij∈NtjGNegSijq+λ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=N1i=1∑i=N⎣⎡∑apSiip+Num(Nvi)∑Sij∈Nvi∑QbqSijq⎦⎤++N1j=1∑j=N⎣⎡∑apSjjp+Num(Ntj)∑Sij∈Ntj∑QbqSijq⎦⎤+(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=N1i=1∑i=N[GPosSiip+GNegMax{Nvi}q+λ1]++N1j=1∑j=N[GPosSjjp+GNegMax{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相关推荐
- 论文阅读笔记:SCAN: Learning to Classify Images without Labels
论文阅读笔记:SCAN: Learning to Classify Images without Labels 摘要 简介和相关工作 方法 表征学习 语义聚类损失 2.3 通过自标记进行微调 3 实验 ...
- 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 ...
- 年龄论文阅读——Deep Label Distribution Learning With Label Ambiguity
论文阅读--Deep Label Distribution Learning With Label Ambiguity 版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.c ...
- 论文阅读|node2vec: Scalable Feature Learning for Networks
论文阅读|node2vec: Scalable Feature Learning for Networks 文章目录 论文阅读|node2vec: Scalable Feature Learning ...
- 【论文阅读】Occupancy Networks: Learning 3D Reconstruction in Function Space
论文题目:Occupancy Networks: Learning 3D Reconstruction in Function Space(占据网络:在函数空间内学习三维重建,简称ONet) 论文作者 ...
- 【论文阅读】Neural Transformation Learning for Deep Anomaly Detection Beyond Images 异常检测,可学习变换,时间序列,表格数据
本博客系博主阅读论文之后根据自己理解所写,非逐字逐句翻译,预知详情,请参阅论文原文. 论文标题:Neural Transformation Learning for Deep Anomaly Dete ...
- 【论文阅读】Weakly Supervised Learning of Instance Segmentation with Inter-pixel Relations
一篇经典的弱监督分割论文,发表在CVPR2019上面 论文标题: Weakly Supervised Learning of Instance Segmentation with Inter-pixe ...
- 论文阅读:Personalized Federated Learning with Moreau Envelopes
论文名字 Personalized Federated Learning with Moreau Envelopes 来源 年份 2021.3.3 作者 Canh T. Dinh, Nguyen ...
- 三维目标检测论文阅读: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这篇文章后,看这篇文章就清 ...
- 论文阅读笔记:ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections
提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 相关工作 神经投影网络(Neural Projection Networks) Pro ...
最新文章
- 图解VC++2012编译安装GDAL1.11.0和入门例子
- python怎么编辑文件夹_python创建修改文件
- 为什么说OLAP产品毁了BI?
- 【caffe-Windows】添加工程-以classification为例
- 全球500强企业人力资源管理之道
- module.js:549 throw err;
- mysql存储过程参数与属性同名问题_存储过程中参数与表名相同的二义性问题
- HTML+CSS+JS实现 ❤️H5 3D传送带视差照片特效❤️
- utf-8编码用于asp出现乱码的问题--从数据库调用的是乱码
- Xshell连接mysql数据库乱码问题解决思路总结
- 为什么都建议学java而不是python-就目前来说,学Java好还是学Python好?
- ctf镜子里面的世界_在秋天遇见“冰雪世界”,好像老天给我变了个魔法
- 三星android安卓版本怎么升级,大神教你三星S7如何更新安卓7.0 三星S7升级安卓7.0详细教程...
- Hadoop3.3.1 踩坑笔记
- 如何快速增长支付宝会员成长值
- OpenCV-绘制圆角矩形
- 外贸电商:除了paypal,这些支付方式也能帮到你
- Codeforces Round #429 (Div. 2) B. Godsend
- Instagram Win10 UWP版更新:新增故事滤镜等大波功能
- 网吧服务器点歌系统,网吧点歌系统(网吧点歌曲软件)