简介
联合嵌入(Joint embeddings)在多媒体数据分割中得到了广泛的应用,它将对不同模态的理解整合在一起。这些嵌入通常是将来自两个或多个不同域(例如图像和文本)的输入映射到一个公共潜在空间来学习的,在这个空间中,语义相关输入的转换向量应该是距离紧密的。在许多涉及多种模态的多媒体应用中,学习一个合适的嵌入是高性能的关键。在这项工作中,我们针对的是在图像和语言之间的跨模态检索的任务(见图1) ,即检索图像的句子查询,检索文本的查询图像。
图像-文本检索任务大部分成功的实现都是使用手工标记图像数据集中的图像-文本对(如 MSCOCO,Flickr30k),在有监督下训练联合嵌入模型,而这种数据集的创建是非常困难且劳动密集行的任务,此外做标注的人数量非常有限,这可能导致模型的偏差。因此,尽管训练模型在基准数据集上表现出良好的性能,但在开放世界环境下应用这些模型不太可能表现出令人满意的跨数据集泛化性能。
另一方面,带有噪声标签的图像流在数据集中很容易产生,例如Flickr-1M,而弱注释图像可能增加模糊性,降低模型性能。基于这种观察,本文提出了一个重要问题:带大量噪声注释的网页图像能否利用带文本注释的图像数据集来学习得到一个更好的联合嵌入?。该场景的一种描述如图2所示,由于获取大量的人工注释的图文对训练集的复杂性和不可扩展性,这是一个亟待解决的问题。
在这项工作中,我们研究如何利用网络图像开发一个成功的图像文本检索系统,提出了一个新的框架,可以增强弱监督的网络数据的基于任何排序损失的有监督方式学习一个健壮的联合嵌入。在跨模态图文重构任务中,该方法一直明显优于以往的方法。然而,将网页图像-标签对和图像-文本对结合起来训练嵌入并不是一件容易的事,最大的障碍来自于噪音标签以及句子描述和标签表示之间的内在差异。
方法总览
文本的典型表示方式与标签的表示方式相似,但又有很大的不同:句子通常使用基于 RNN 的编码器和 word-to-vec (Word2Vec)模型来表示,为编码器提供顺序输入向量;而标签一般不具有顺序信息,其表现形式可以是tf-idf的加权BOW(bag of words)向量,或者对应于标签的所有Word2Vec向量的均值。
为链接二者,我们提出了一种两阶段的方法来学习联合图像-文本表示。首先,使用一种有监督的方式利用数据中的可用干净的图像-文本对来学习一种可以跨三种模式(例如:image,tag,text)的共享对齐表示,由于数据集中没有直接可用的标签,我们将句子中的名词和动词视为虚拟标签(如图3所示),利用图像-文本和图像-标签对基于损失的排名方法来学习跨模式的共享表示。其次,我们利用网络上的弱注释图像标签对(例如 Flickr)来更新之前学习的共享表示,这使得我们可以从数以千计的可自由获取的弱注释图像中迁移知识,从而开发出一个更好的跨模态检索系统。
总结
本文提出了一个新颖而实用的问题:如何利用大规模网络数据来学习一种无需大量人工训练数据的有效的多模态嵌入。为了解决这一问题,做出了以下主要贡献:
-
提出了一种利用带有相关噪声标签的网络图像采集和一个包含图像和ground truth句子描述的干净数据集来学习鲁棒性联合表示的方法。
-
提出了一种基于pair-wise排序损失的联合嵌入框架,以增强弱监督网络数据的典型监督方法,从而学习更加健壮的联合嵌入算法。
-
使用MSCOCO和Flicker30K数据集论证了在图像文本检索任务中使用本文方法得到的改进。
方法
网络架构和输入特征
使用深度神经网络框架学习我们的联合嵌入模型,如图3所示:模型有三个不同的分支,用于图像、句子和标签。每个分支都有一个特殊的专家网络模式,然后是两个全连接嵌入层。其思想是,专家网络首先将重点识别模态特征,嵌入层将模态特征转换为模态稳健特征,这些专家网络的参数可以与嵌入层的训练一起调整。为了简单起见,我们将图像编码器(例如,预先训练的 CNN)和标签编码器(例如,预训练的 Word2Vec模型)放在这项工作中,对句子表征的词语嵌入和句子表征的语料库进行端到端的训练。
文本表示:对于句子的编码,我们使用Gated Recurrent Units (GRU),设置联合嵌入空间的维度为1024,输入词嵌入的维度为300。
图像表示:在图像编码方面,采用基于 ImageNet 数据集的深度 CNN 模型作为编码器。特别地,我们试验了最先进的152层 ResNet 模型和19层的VGG模型,直接从倒数第二个完全连接的图层中提取图像特征。图像嵌入维度:ResNet152为2048,VGG19为4096。
标签表示: 通过Word2Vec求和来生成标签特征表示。
使用排序损失训练联合嵌入
给定图像特征表示,在联合空间中的映射可以写成:。类似的,文本表示写为,联合空间中为:。此处,为将视觉内容映射到联合空间的变化矩阵,同理。
给定一个句子中词的特征表示,从GRU的隐含状态中查找句子嵌入,给定图像及其对应文本的特征表示,学习目标是得到一个联合嵌入(即和GRU权重),让二者映射到联合空间中。现在图像-句子的损失函数可以写成:
为图像嵌入的不匹配文本嵌入,为匹配的文本嵌入,同理。为排序损失的边际价值。评分函数评估图像和文本在联合嵌入空间的相似度。在这项工作中,我们在联合表示空间中使用余弦距离来计算相似度,这种方法在图像文本嵌入学习中得到了广泛的应用,并且在许多前人的工作中被证明是非常有效的,但是,该方法并不依赖于对相似性函数的任何特定选择。
公式(1)中的第一项表示不匹配文本嵌入的总和,它尝试让每个视觉特征匹配的文本特性比不匹配的文本特征距离更近,同理第二项处理的是文本特征和视觉特征的匹配。
最近,发现 hard-negatives 可能有利于学习联合嵌入。因此修改公式(1)中的公式令其更专注于hard-negatives(即最接近每个positive(i,s)对的negative),而不是直接计算所有negative的和。对于一个positive对,其最接近的negative样本定义为和。损失函数写作:
文中将公式(1)命名为VSE损失,公式(2)命名为VSEPP损失,两种损失都会应用在本文的方法中。
使用web数据训练联合嵌入
利用来自网络的图像标签对来改善使用一个干净的数据集与图像-句子对训练得到的联合嵌入,目标是学习一个很好的图像文本嵌入的表示,理想情况下可以忽略数据相关的噪声。利用网络数据显著增加了模型的样本容量,可以认为是隐含数据的增加。
这个任务也可以从使用辅助或特权信息策略学习(privileged information strategies )的角度来考虑,因为在文章情况中,一个额外的标签模态在训练时期是可用的,利用这个额外的信息可以训练得到一个更健壮的模型。
训练总共分为两个阶段:
阶段1:训练初始嵌入:利用来自一个带注释数据集的图像-文本对来学习一个图像、标签和文本的联合嵌入。
由于标记不能直接在数据集中使用,我们将相关句子中的名词和动词视为图像的虚拟标记(图3)。为了学习共享表示,结合了图像-文本排序损失目标和图像-标签排序损失目标。
现在学习目标是一个联合嵌入(即,和GRU权重),让图像、句子和标签都映射到联合空间中。将标签的表示映射到联合空间中,即。由此得到的损失函数如下所示:
表示图像-标签排序损失目标,同理为图像-文本的排序损失目标。和VSEPP 损失类似,可以写作:
式子中的为两个权重,在第一个训练阶段,两个损失都会被使用:,在第二个阶段不使用图像-文本损失:。
阶段2:基于 Web 数据的模型自适应:使用来自Flickr的弱注释图像-标签对来更新之前学习到的嵌入网络,使用损失。
这种方式能够从大量可自由获取的弱注释图像中迁移知识到嵌入学习中。在第二阶段使用较小的学习率,因为在第一阶段后网络到达竞争性能,若使用弱标签数据和较高的学习率来调整嵌入网络可能会导致 catastrophic forgetting。
由于 web 数据非常容易出现噪声标签,我们发现在很多情况下很难学到很好的表示方法,因此在第二阶段,在培训中采用了基于课程式学习:curriculum learning 的策略。课程学习允许模型首先从简单的实例中学习,这样它们就可以作为构建块来学习更复杂的实例,从而在最终任务中获得更好的表现。我们的想法是逐步向学习者注入困难信息,这样在训练的前期阶段,网络就会显示与清晰训练集中频繁出现的概念/关键词相关的图像,而与图像相关较少的概念在后面的阶段再出现。由于第一阶段训练的网络有可能已经学会了经常出现的概念,因此噪声标签不太可能影响到网络。
实验
数据集和评估度量
使用的数据集有三个:
-
MSCOCO:一个大型基于句子的图像描述公开数据集。
-
Flickr30K:另一个大型基于句子的图像描述公开数据集。
-
Web Image Collection:使用照片共享网站 Flickr 来检索带有标签的网络图像,并且不需要任何额外的手动标签就可以使用这些图像。为了收集图像,我们创建了一个 MSCOCO 和 Flickr30K 数据集文本描述中1000个最常出现的关键词的列表,并根据频率按降序对它们进行排序。在词典化后,去除停顿词并将相似词组合在一起。然后,使用这个关键字列表查询 Flickr,每次查询一起检索大约200张图片及其标签。通过这种方式,我们收集了大约21万张带有标签的图片。只采集至少带有两个英文标签的图片,且不会从一个单一所有者那里收集超过5张图片,此外还利用前5个标签来删除重复的图片。
评估度量:评估度量和之前大多数图像-文本检索任务中的相同,使用 Recall at K (R@K )和 Median Rank(MedR)来度量基于排序的性能。