【论文阅读】Polysemous Visual-Semantic Embedding for Cross-Modal Retrieval 多义性 视觉-语义编码 跨模态检索 视频 图像 文本

本博客系博主根据个人理解所写,非逐字逐句翻译,预知详情,请参阅论文原文。

论文标题: Polysemous Visual-Semantic Embedding for Cross-Modal Retrieval

作者: Yale Song 1,Mohammad Soleymani 2;

  1. Microsoft Cloud & AI
  2. USC Institute for Creative Technologies

出处: CVPR 2019

论文下载地址: PVSE paper

代码地址: PVSE code

摘要

视觉-语义编码致力于找到一个共享的隐式空间,其中有关联的视觉和文本实例距离相近。

现有大多数方法都是学习一个单射的编码函数(injective embedding function)能够将一个实例映射到共享空间中的一个单点(single point)。不幸的是,单射编码无法有效处理有多种含义的多义实例;最好的情况下,它们会将不同的含义进行平均处理。这阻碍了这些方法在现实场景中的应用,个别实例及其跨模态关联通常是有歧义的。

本文提出了多义实例编码网络(Polysemous Instance Embedding Networks (PIE-Nets)),使用多头自注意力机制和残差学习,将局部引导的特征和全局上下文特征合并起来,能够得到一个实例的多个不同表示。

为了学习视觉-语义编码,本文合并两个PIE-Nets,然后在一个多实例的学习框架中优化它们。

现有大多数有关跨模态检索的工作都是专注于图像-文本数据,本文另外还能解决更具有挑战性的视频-文本检索任务。

为了促进未来的视频-文本检索任务的反战,本文发布了一个新的有50K个视频-文本对的数据集,数据来自社交媒体,命名为MRW(my reaction when)。

在图像-文本和视频-文本检索场景下,本文在MS-COCO,TGIF,MRW数据集上进行了实验。

本文动机及现有方法问题

  • 现有的直接将样本实例映射为隐式空间中一个single point的单射编码方法,无法应对单个实例有多个含义的问题,比如多义词或者包含多个目标的图像。面对视频-文本的检索任务,单射编码的问题更严重。
  • 另一方面,单射编码针对部分跨域关联(partial cross-domain assciation)数据也存在问题。比如一段文本只描述了一张图像中的部分目标,只对应了视频中某几帧。这样的对应关系如果使用单射编码学习,就会丢失没有没有跨域关联的数据信息,而且无法恢复。
  • 现有的基于attention机制处理多义问题和部分关联问题的方法,通常要将实例根据给定的样本映射到不同空间点,因此计算量显著增大,扩展性差。
  • 现有的非单射方法还有,通过将样本表示成分布来处理。但是学习分布比较复杂且计算分布的关系还需要使用近似方法,比如蒙特卡洛估计,复杂度很高。

本文主要贡献

  • 本文将实例编码过程公式化为一个一对多的匹配任务(one-to-many mapping task),从而解决多义和部分跨模态关联问题。
  • 本文构建了一个新的视频-文本数据集MRW,包含多义和部分关联问题。

本文模型及结构

本文为每一个样本数据学习一个global features及若干local features,然后使用transformer计算局部引导的特征(locally-guided features),最后合并global features和locally-guided feature得到一个样本数据的K个emb表征。模型整体结构如下图所示:
图3 本文模型整体结构

图像编码器: 图像使用预训练模型ResNet-152获取最后一层avg pooling之前的feature maps作为local features。然后用avg pooling再经过一层FC得到global feature。

视频编码器: 视频是用预训练模型ResNet-152将视频中每一帧图像的avg pooling结果作为local features。然后把local features放入bi-GRU得到视频的global feature。

句子编码器: 句子用glove得到的word emb作为local features。然后local经过bi-GRU得到global feature。

局部特征transformer:

本文使用两层的感知机实现多头自注意力模块。给定一个样本的B个(图像是7*7=49个,视频是8个,句子是由word token结果决定的若干个)local features Ψ ( x ) ∈ R B × D \Psi(x) \in \mathbb{R}^{B \times D} Ψ(x)RB×D,其中B是local features的个数,D是local features的维度,
使用如下的方式计算样本的K个locally-guided feature:
在这里插入图片描述
在这里插入图片描述
其中w_1的维度是A*D,w_2的维度是K*A,所以上面两个公式能够得到K个结果。

残差学习的特征融合

由于global feature和若干K个locally-guided features有冗余信息,所以本文采用残差连接的方式将这两者融合。
具体而言,本文将global feature作为残差模块的input,将locally-guided features作为residuals部分。这种方式下,局部特征更易被优化,因此能帮助模型找到更有意义的局部信息。在极端情况下,residual部分甚至可以是0,于是模型就只与global features有关,变成了一个标准的单射编码模型了。
在这里插入图片描述

优化和inference

本文的最终损失函数由三部分组成:
在这里插入图片描述
其中第一项借助了多实例学习框架(Multiple Instance Learning (MIL) frameword)[1],如下面公式。x和y代表两个来自不同模态的样本,i和j表示这两个样本是否匹配(i和i就是匹配,i和j就是不匹配),p和q分别代表两个样本的K个embeddings。
所以下面公式的含义是:第一个min项是找出不匹配样本对的各自K个emb对应关系下的最小距离值;第二个min项找出匹配的样本对的各自K个emb对应下的最小距离值(每个样本都有K个emb,所以一个样本对一共有K*K个可能的距离值)。然后令匹配样本对的距离更小,不匹配样本对的距离更大,两者距离差由 ρ \rho ρ 来界定:
在这里插入图片描述
但是上述公式要计算不匹配的样本对的最小距离值,计算量太大,样本数太多,所以本文采取了一种hard negative mining的样本选择方式来训练模型,更有效且能加速模型收敛。

第二个损失函数是为了让一个样本学到的K个emb之间尽量包含更多信息量,而不要互相之间有冗余的信息,所以对样本的locally-guided features进行了限制。通过矩阵相关变换,令K个emb之间尽可能互相正交:
在这里插入图片描述
在这里插入图片描述
第三项损失函数是用于补充第一个loss。因为第一个loss只对匹配样本对的K个emb中最小距离值进行了限制,而其他K*K-1个emb关系都没有限制,所以本文用第三项领域差异损失(domain discrepancy loss)来限制。
具体而言,针对两个分布P和Q,可以用Maximum Mean Discrepancy (MMD)计算它们之间的差异性:
在这里插入图片描述
于是本文得到 L m m d = \mathcal{L}_{mmd}= Lmmd=在这里插入图片描述

inference:

在测试阶段,假定数据集中有M个视频样本,及其K*M个embeddings。给定一个查询文本,也拥有K个embeddings,本文计算所有 K*K*M 个可能的对应结果下的匹配概率,取其中最好的结果作为查询结果。

MRW数据集

现有的视频-文本数据集一般都是做video captioning的,text是对visual的内容的描述。而本文提出的MRW数据集不一样,video内容是对text的反应,因此存在多义和部分对齐问题(视频内容和文本内容完全没有一样的object)。如下面几个实例:
在这里插入图片描述
本文数据集和其他常用的video-text数据集的统计信息比较:
在这里插入图片描述

实验及分析

任务:图文检索 image-text retrieval,视频-文本检索 video-text retrieval;
数据集:图文检索任务用数据集MS-COCO,视频检索任务用TGIF和MRW;
结果及分析:图文检索的结果见下表,可以看出,本文模型效果超过大多数的baselines,并且在5K上的image-text任务上达到了新的SOTA结果。
在这里插入图片描述
视频-文本的检索结果见下面两个表格,可以看出整体的检索结果值相比于图文检索非常低,这表明视频-文本检索是一个更具有挑战性的任务,需要更多的研究和探索。同时从这两个数据集的检索结果对比可以看出,这两个视频数据集自身特征也有很大的不同,TGIF更多的是句子用于描述视频内容,而MRW中视频内容是对句子的一种反应。导致MRW中视频和文本之间的联系更弱,要提取跨模态特征就更难。
在这里插入图片描述
消融实验:本文为每个样本学习了K个embeddings,K的取值如何影响最终结果,见下图5。当K=0时,意味着模型只使用global features而不用local features。从K=0到K=1,检索结果有一个明显的提升,这说明使用local features是非常有用的。而针对不同数据集,K的最佳取值有不同,这可能说明不同数据集的多义性程度不同。
在这里插入图片描述
针对本文模型各个部分所进行的消融实验如下图所示,可以看出global feature对检索也很有帮助。no residual表示不使用残差连接合并global和local features,而是直接将两者concat起来,这个的结果表明残差连接是有效的。如果将MIL loss替换成普通的triplet loss结果也有所下降(no MIL柱状图)。
在这里插入图片描述
对总loss中不同项的权重进行的实验,如下图,表明总loss中的每一项都是必要的。
在这里插入图片描述

参考文献

[1] Thomas G Dietterich, Richard H Lathrop, and Tom´as Lozano-P´erez. Solving the multiple instance problem with axis-parallel rectangles. Artificial intelligence, 1997.

个人理解和问题

  1. 有一个问题没有搞懂,L_mmd部分是如何把样本的K个表征,转化成样本的分布的呢?然后计算两个样本分布之间的关系。

猜你喜欢

转载自blog.csdn.net/me_yundou/article/details/127976490