推荐一篇笔者参与的KDD2024工作,面向多语言场景下的图文检索的CCRK。核心创新点可以用下图总结:
- 我们提出了一种新颖的1对K对比学习损失,同时解决了CCR任务中模态内错误传播和模态间优化偏差问题,在训练中平等对待各种语言。
- 我们改进了现有的预训练中M-ITM和M-MLM任务的难负例采样,并结合1对K对比学习提出了一种新的CCR预训练模型。
- 我们提出了一种新的评价指标MRV,计算不同语言图文互检rank的差异,旨在克服仅使用R@K评估CCR模型的不足,在评估中平等对待每种语言。
论文题目:Improving the Consistency in Cross-Lingual Cross-Modal Retrieval with 1-to-K Contrastive Learning
来源:KDD2024/北航/笔者参与的工作
方向:跨语言跨模态检索
开源地址:https://github.com/BUAADreamer/CCRK
摘要
跨语言跨模态检索(Cross-lingual Cross-modal Retrieval CCR)是网页搜索中的一项重要任务,旨在同时突破模态和语言之间的障碍,实现多语言场景下图文检索的单一模型。近年来,基于跨语言跨模态预训练的研究取得了显著进展,尤其是基于大规模数据对比学习的方法显著提高了检索任务的表现。
然而,这些方法直接遵循现有跨语言或跨模态领域的预训练方法,导致CCR中出现了两种不一致的问题:采用跨语言风格的方法会受到模态内错误传播的影响,导致整个数据集中不同语言的召回性能不一致;采用跨模态风格的方法会受到模态间优化方向偏差的影响,导致每个实例内不同语言的排序不一致,而这无法通过Recall@K反映出来。
为了解决这些问题,我们提出了一种简单但有效的一对多(1-to-K)对比学习方法,平等对待每种语言,消除错误传播和优化偏差。此外,我们提出了一种新的评估指标——平均排名方差(MRV),以反映每个实例内不同语言的排序不一致。在四个CCR数据集上的广泛实验表明,我们的方法在使用较小规模预训练数据的情况下,提高了召回率和MRV,达到了新的SOTA。
CCR的不一致性
CCR中的方法一般可以分为两类,一类是以英语作为锚点(比如CCLM ),一类以图像作为锚点(比如UC2 )。
以英语作为锚点的方法的不一致性
以英语作为锚点的方法分为两方面。一是利用英语图文对(比如CC3M),将图像表征和英文标题表征做对齐;二是利用平行语料(比如WikiPedia),将英语文本表征和其他语言的文本表征做对齐。损失都使用批内对比学习。
对于这种方法来说,图像和英语的对齐本来就相对比较困难,图2(b)中展现出跨模态的损失下界的数量级远高于单模态损失下界。而CCR本来期望的理想情况是,将不同语言的表征和图像表征直接对齐,而利用英语作为锚点就会导致“中间商赚差价”,不同语言和一个中介进行对齐,产生模态内的误差传播问题。
以图像作为锚点的方法的不一致性
以图像作为锚点的方法则是将每种语言的标题表征分别与图像表征用批内对比学习进行对齐。
如图2(b)所示,我们使用CCLM的图像和文本编码器对xFlickr&CO中的一些样本进行了TSNE可视化,然而可以看到,图像表征和每种语言对应标题的文本表征的距离都非常不固定,分布非常杂乱,说明,图像可能会偏好性的和一些语言对齐,而和其他语言没有很好地对齐。因此,以图像为锚点的方法会带来模态间的优化偏差问题。
方法
1对K对比学习
为了解决不一致性的两个问题,我们首先使用Meta开源的m2m-100-lg 将UC2的6语言图文对预训练数据集翻译为10语言图文数据集,从而涵盖了常见的几个多语言图文检索数据集的所有语言。接下来,我们就可以使用以下新颖的1对K对比学习损失进行优化。
用我们讨论过程中画的一个简图来更直观理解一下,下图中的m就是文中的k。简单来说就是将最后的相似度矩阵改为n*(mn)和(mn)*n ,每一行中的黄色部分的标注为正例(图像和对应不同语言标题的表征相似度),蓝色部分标注为负例(图像和其他图像对应的不同语言标题表征相似度)。
预训练模型:CCRK
我们借鉴了ALBEF 架构,使用Dual-Encoder作为粗排Embedding模型,Cross-Encoder作为精排模型。
对于Embedding模型,我们使用1对K对比学习损失进行优化。
对于精排模型,我们对常见的多模态掩蔽语言模型任务(M-MLM)和多模态图像文本匹配任务(M-ITM),进行了改进。我们利用Embedding模型得到的图像和各语言标题的相似度,选取相似度最低的语言标题作为正例,计算如下的损失:
最后我们将提出的损失进行结合,就得到了我们的预训练模型
评价指标:Mean Rank Variation (MRV)
对于每个图像,我们先计算每种语言标题和图像在候选集中互相检索的排序,并计算图像和这些标题的平均排序。接下来我们就使用如下的公式,计算每种语言标题和图像互检排序与平均排序的方差。从而可以反映出,每种语言和图像的对齐是否一致。
实验
主实验
我们使用两张A100 40G,在2M/3M两种预训练图文数据集设置,进行了预训练。下游任务的训练和CCLM使用的损失保持一致,均使用4张V100 32G。可以发现,我们的方法和使用同样规模数据集的模型中对比,在各个数据集常规的Recall@K指标和MRV指标上都取得了SOTA。这证明了我们方法的有效性。
需要注意的是,我们方法并不需要依赖于外部的平行语料,仅依赖于翻译得来的图文数据集,因此可扩展性较强,只需要使用mlm-100对更多语言进行翻译,再进行预训练就可以支持更多语言。
消融实验
我们对提出的创新点进行了消融实验,我们发现1对K对比学习对性能带来的提升最大。难负例采样策略也能够稳定地提升下游任务的性能。
大家好,我是NLP研究者BrownSearch,如果你觉得本文对你有帮助的话,不妨点赞或收藏支持我的创作,您的正反馈是我持续更新的动力!如果想了解更多LLM/检索的知识,记得关注我!
这篇工作是笔者读硕士以来的第一篇收录工作,从22年开始,我主要负责写代码和做实验。实验持续了6个月,论文的投稿持续了一年,终于最终被KDD2024录用,整个过程磕磕绊绊,得益于老师和学长的渊博学识和悉心帮助,总的来说论文和实验比较扎实,我也学到了很多。这个过程也让我相信,老老实实把工作做扎实,一定会有审稿人慧眼识珠,希望未来能够有更多论文发表。检索领域还是非常有趣且实用,欢迎感兴趣的读者批评指正!最后,再次宣传下CCRK的代码仓库,如果您觉得有所帮助,欢迎star!
开源地址:https://github.com/BUAADreamer/CCRK
标签:模态,语言,KDD2024,CCRK,CCR,图像,对齐,表征 From: https://blog.csdn.net/weixin_45783724/article/details/140292592