本博客系博主根据个人理解所写,非逐字逐句翻译,预知详情,请参阅论文原文。
论文标题:Emphasizing Complementary Samples for Non-literal Cross-modal Retrieval;
作者:Christopher Thomas 1,Adriana Kovashka 2;
- Columbia University;
- University of Pittsburgh;
发表地点:CVPR workshop 2022;
论文附录:CVPR 2022 Open Access Repository
代码链接:暂无
摘要
现有的跨模态检索方法都基于一个很直接的假设:图像和文本都包含对相同object的描述和提及。然而实际上,现实世界的图文对(image-text pair)常常拥有更复杂的关系(比如新闻中的图像及其标题)。
需要注意的是,并不是所有的图文对都有相同的关系,有些图文对可能对齐地很好(closely aligned),而其他图文对可能对齐地很松散(loosely aligned)但是因此包含一些补充信息。
为了保证模型能够学到不同关系的图文对的更鲁棒的特征,必须要注意让松散对齐(loosely-aligned)的图文对也能对模型训练产生足够的影响。
本文提出了一种新的方法来对松散对齐的样本进行优先排序。不同于以前的样本加权方法,本文依赖于评估在学习到的多模态空间中,不同通道(图像或者文本)中语义相似度(semantic similarity)的保留程度。
尤其是,针对检索损失中的图文对权重的学习,是根据邻居中的多样性和差异性的样本来学的:在语义空间中图像和文本距离较近的样本,在多模态空间中距离较远(多样性 diversity 的样本);或者邻居关系是不对称的(差异性 discrepancy 的样本)。
在三个数据集上的实验表明本文的方法相比于现有SOTA模型性能更好。
本文动机及现有方法问题
- 现有跨模态检索的方法通常假设图像和文本之间存在对齐(alignment),比如图像中有飞机,对应的文本中就有描述飞机的词语。然而,在现实世界中(比如博客或者新闻),图像-文本对的关系类型不是固定的。比如,图像提供了不同于文本的额外信息,或者图像只是强调了文本中的一个点(在这种情况下,也许图文对之间没有任何alignment的对应关系)。
- 检索任务中常用的损失函数是三元组损失(triplet loss),通过hard negative采样或者其他方式训练模型。然而hard样本不一定是有用的,也许是noisy。所以本文使用soft sample weighting方式,赋予不同样本不同权重来训练模型。
本文主要贡献
- 本文提出了一种视觉-语义的编码模型,能够处理抽象的、松散对齐的图文对,提取不同模态的补充信息。
- 本文模型能够直接使用标准的ranking loss进行训练。
- 本文在松散对齐和well-aligned的数据集上都表现出较好的实验结果。
本文方法及模型
借鉴PVSE[1]的思路,本文为每一个样本学习K个embeddings,最终计算两个样本相似度时,计算两个样本的所有K*K个配对,然后取最大值作为这两个样本最终相似度结果。如下面的公式所示。
损失函数:本文loss函数也是检索任务中常用的triplet loss,但是本文与其他方法的不同之处在于为每一个样本赋予了一个权重,来强化不同样本的语义信息。损失函数如下图所示:
其中m是三元组学习中margin值,用来控制正负样本的距离。[x]+表示取max(0,x),I_B 和 T_B 分别代表一个minibatch中的图像和文本。 就是本文方法主要关注的样本权重值。
采样策略:三元组学习中,公式(1)常用的正负样本采样策略是hard negative采样,也就是针对一个anchor样本,只选择它的最难以区分的negative样本来训练模型。但是这样的采样策略导致问题变得非常难,因为hard negative样本很有可能在语义上也是image-text matched(因为hard选的是离anchor最近的negative样本,所以样本特征也会接近anchor)。另一方面,只用hard negative样本导致模型对噪声敏感,比较脆弱。因此本文使用了自己的方法进行采样(就是在公式1中为每一个样本赋予权重,不同的权重值代表对样本不同的采样重要度,如果权重为0就是不采样某个样本了)。
如下图所示,本文采用两种方式进行样本的权重度量。diversity表示一种二阶关系,探讨样本的邻居和邻居之间的关系。discrepancy表示一种一阶关系,探讨样本与其邻居之间的关系。
度量语义邻居的discrepancy
如上图右边所示,首先考虑样本与其邻居的关系,也就是一阶关系。对于给定的image-text pair,其文本模态的语义邻居(semantic neighbors)定义为(因为文本空间中更能提供真实的pair语义相似性,而意思接近的image-text pair中两个图像很可能语义差距很大,所以在文本模态中寻找样本的邻居)。
本文用下面的公式表示image-text pair 样本 (x_i, y_i) 的N个邻居pair(注意,这里的并不一定与图像 x_i 视觉相似)。
另 s_i 表示来自某一个模态的样本,下面的公式代表其语义邻居的语义邻居集合。
将上式得到的所有样本构成一个维度为 [N*N, H ]的矩阵,
计算 ,然后得到 semantic discrepancy score为:
和对应的scaled score是:
其中B是minibatch的大小,r代表V的每一项。最终样本权重计算如下:
最后,对于一个image-text pair,分别计算图像和文本两个数据的上述值,然后将这两个值相加(或者求绝对值)再经过一个softmax得到最终的该pair样本的权重值。
度量语义邻居的diversity
然后度量样本与其语义邻居的一阶关系。针对样本 s_i 的语义邻居矩阵,维度为[N, H]。计算
,然后得到 semantic diversity score:
其中是一个开关参数,控制是否给更多(1)或者更少(-1)的相似样本更多的权重。该参数与上一小节公式(2)中参数作用相同。
最后,借助于注意力类似的机制,得到:
合并方法
经过上述过程,对每一个样本分别计算了两个权重值,本文采取了两种方法合并这两种权重值得到最终的每个样本的权重参数。
1. 加权求和。通过改变下式中的超参数,实现合并:
2. 借助分布的概念。通过计算两个权重值的均值和方差,来合并:
实验及分析
任务:图文检索;
数据集:GoodNews, Politics, and Conceptual Captions,COCO;
baselines:本文对所有baselines方法都采用了PVSE中给每一个样本学习K个emb的方式。
检索结果及分析:如下表2所示,展示了本文不同权重度量方法和其他baselines方法在4个数据集上的图文检索结果,加粗的值是结果最好的两个方法,下划线表明的是本文模型中单个度量方法中较好的那个。从中可以看出,本文方法结果好于其他方法。
另一方面,从倒数第三、四行可以看出,不同数据集的数据特点不同。COCO中图文匹配更加具体,而其他三个数据集的image-text pair对应更加抽象abstract(也就是存在部分对齐,松散对齐的情况)。
消融实验:如下表3所示,体现出本文的各部分的有效性。
总结和展望
充分理解图像和文本之间的关系是非常重要的。特别是,如果一个系统能够理解包括在某一特定文本中的图像实际上是与文本的表面意义相矛盾,它就可以检测出讽刺和嘲弄的情况,从而检测出对传统媒体或社交媒体的滥用。
作者认为,为了确保人工智能系统对社会有益而不是有害,它们需要理解微妙的东西,而本文的方法是朝着这个方向迈出的一步。
参考文献
[1] Yale Song and Mohammad Soleymani. Polysemous visual-semantic embedding for cross-modal retrieval. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1979–1988, 2019.
个人理解和问题
这篇文章博主看的有点懵,对于本文的动机其实很感兴趣,image-text pair不一定是非常完美matching的,但是本文的解决方法没看懂,尤其是两种权重计算方法分别是为了什么,有什么意义,没有理解。如果大家有什么问题或者更深入的理解欢迎在评论区一起讨论。