【翻译】Deep Visual-Semantic Alignments for Generating Image Descriptions

用于生成图像描述的深度视觉语义对齐

摘要:我们提出了一个模型,该模型生成图像及其区域的自然语言描述。 我们的方法利用图像数据集及其句子描述来了解语言和视觉数据之间的模态对应关系。 我们的对齐模型基于图像区域上的卷积神经网络,句子上的双向递归神经网络以及通过多模态嵌入将两种模态对齐的结构化目标的新颖组合。 然后,我们描述一种多模态递归神经网络架构,该架构使用推断的路线来学习生成图像区域的新颖描述。 我们证明,在Flickr8K,Flickr30K和MSCOCO数据集的检索实验中,我们的比对模型可产生最新的结果。 然后,我们表明,在完整图像和区域级注释的新数据集上,生成的描述明显优于检索基准。

引言

快速浏览图像就足以使人们指出并描述有关视觉场景的大量细节。 但是,对于我们的视觉识别模型来说,这种非凡的能力已被证明是一项艰巨的任务。 在视觉识别方面,以前的大部分工作都集中在用固定的视觉类别对图像进行标记上,并且在这些工具上已经取得了很大的进步。 但是,尽管虚拟概念的封闭式词汇构成了一个方便的建模假设,但与人类可以组成的大量丰富的描述相比,它们具有很大的局限性。
已经开发出一些解决生成图像描述挑战的开拓性方法。 但是,这些模型通常依赖于硬编码的视觉概念和句子模板,这对其种类施加了限制。 此外,这些作品的重点是将复杂的视觉场景简化为一个句子,我们认为这是不必要的限制。

在这项工作中,我们努力朝着图1的目标迈进。动机/概念图:我们的模型将语言视为丰富的标签空间,并生成图像区域的描述。
生成图像的密集描述(图1)。 达到此目标的主要挑战是设计一个模型,该模型足够丰富,可以同时推理图像的内容及其在自然语言领域中的表示形式。 此外,该模型应没有关于特定硬编码模板,规则或类别的假设,而应依赖于从训练数据中学习。 第二个实际挑战是图像标题的数据集可以在Internet上大量使用[21、58、37],但是这些描述多路复用了一些在图像中位置未知的实体的提及。
我们的核心见解是,我们可以通过将句子视为弱标签来利用这些大型图像句子数据集,其中单词的连续片段对应于图像中某些特定但未知的位置。 我们的方法是推断这些对齐方式,并使用它们来学习描述的生成模型。 具体来说,我们的贡献是双重的:

  • 我们开发了一个深层神经网络模型,该模型可以推断出句段和它们所描述的图像区域之间的潜在对齐方式。我们的模型通过共同的多模式嵌入空间和结构化目标将这两种模式关联起来。 我们在超越现有技术的图像句子检索实验中验证了这种方法的有效性。
  • 我们介绍了一种多模式递归神经网络体系结构,该体系结构可获取输入图像并以文本形式生成其描述。 我们的实验表明,生成的句子明显优于基于检索的基线,并且产生了合理的定性预测。 然后,我们在推断的对应关系上训练模型,并在区域级注释的新数据集上评估其性能。

2、相关工作

  • 密集的图像注释。 我们的作品有一个高层次的目标,即在我们面前的许多作品中对图像的内容进行密集注释。 巴纳德等研究了单词和图像之间的多峰对应关系,以注释图像片段。 数篇著作研究了整体场景理解的问题,其中可以推断出场景的类型,对象及其在图像中的空间支持。 但是,这些工作的重点是使用一组固定的类别正确标记场景,对象和区域,而我们的重点是对区域进行更丰富和更高级的描述。
  • 生成描述。 还探讨了用句子描述图像的任务。 许多方法将任务摆成一个检索问题,将训练集中最兼容的注释转移到测试图像上,或者破坏训练注释。 并缝合在一起。 有几种方法基于固定模板生成图像标题,这些模板基于图像的内容或生成语法进行填充,但是这种方法限制了 可能的输出。 与我们关系最密切的是Kiros等。  [26]开发了一个对数双线性模型,可以生成图像的完整句子描述,但是他们的模型使用固定的窗口上下文,而我们的递归神经网络(RNN)模型则判断了下一个单词的概率分布 在所有先前生成的单词上。 在提交这项工作期间,在Arxiv上出现了多个密切相关的预印本,其中一些也使用RNN生成图像描述。 我们的RNN比大多数这些方法都更简单,但在性能上也会受到影响。 我们在实验中量化此比较。
  • 在图像中使用自然语言。我们的方法受到Frome等人的启发。  [16]他们通过语义嵌入将单词和图像关联起来。  Karpathy等人的工作更紧密相关。  [24],他们将图像和句子分解成碎片,并使用排名目标推断出它们的模态对齐。 与基于基础依赖树关系的模型相反,我们的模型将句子的连续片段对齐,这些片段更有意义,更可解释且长度不固定。
  • 视觉和语言领域的神经网络。 已经开发出了多种方法来在更高层次的表示中表示图像和单词。 在图像方面,卷积神经网络(CNN)[32,28]最近作为图像分类和物体检测的强大模型类别而出现[45]。 在感觉方面,我们的工作利用预训练的单词向量[41,22,3]来获得单词的低维表示。 最后,递归神经网络先前已在语言建模中使用[40,50],但我们还在图像上附加了这些模型的条件。

3、我们的模型

  • 概述。 我们模型的最终目标是生成图像区域的描述。 在训练期间,我们模型的输入是一组图像及其相应的句子描述(图2)。 我们首先提出一个模型,该模型通过多模式嵌入将句子摘要与它们描述的视觉区域对齐。 然后,我们将这些对应关系视为第二种多模态递归神经网络模型的训练数据,该模型学习生成摘要。

  • 3.1 学习对齐视觉和语言数据

我们的对齐模型假定图像和句子描述为输入数据集。 人们写的词句经常引用图像中某些特定但未知的位置。 例如,在图2中,“虎斑猫在学习”是指猫,“木桌”是在桌子等。我们想推断出这些潜在的对应关系,最终目的是 学习从图像区域生成这些片段。 我们基于Karpathy等人的方法。  [24],他们学习将依赖树关系与具有排名目标的图像区域建立基础。 我们的贡献在于使用双向递归神经网络来计算句子中的单词表示,免除了计算依赖关系树的需要,并允许单词及其上下文在句子中的无限交互。 我们还大大简化了他们的目标,并表明这两种修改都可以改善排名效果。
   我们首先描述将单词和图像区域映射到常见的多峰嵌入的神经网络。 然后我们介绍我们的新目标,它学习了嵌入表示形式,以便在两种模态上语义相似的概念占据空间的附近区域。

  • 3.1.1表示图像

在先前的工作[29,24]之后,我们注意到句子描述经常引用对象及其属性。 因此,我们遵循Girshick等人的方法。  [17]使用区域卷积神经网络(RCNN)检测每个图像中的对象。  CNN在ImageNet [6]上进行了预训练,并在200种ImageNet检测挑战[45]上进行了微调。 继Karpathy等。  [24],我们除了使用整个图像之外,还使用检测到的前19个位置,并根据每个边界框内的像素Ib计算表示形式,如下所示:

其中CNN(Ib)将边界框Ib内的像素转换为紧接在分类器之前的全连接层的4096维激活。  CNN参数θc包含约6000万个参数。 矩阵Wm的尺寸为h×4096,其中h是多峰嵌入空间的大小(在我们的实验中,h的范围为1000-1600)。 因此,每个图像都表示为一组h维向量{vi |  i = 1 ... 20}。

  • 3.1.2表示句子

为了建立多模态关系,我们希望在图像区域所占的同一h维嵌入空间中表示句子中的单词。 最简单的方法可能是将每个单独的单词直接投影到此嵌入中。 但是,此方法不考虑句子中的任何顺序和单词上下文信息。 这种想法的扩展是使用单词bi​​grams或先前提出的依赖树关系[24]。 但是,这仍然强加了上下文窗口的任意最大大小,并且需要使用可能在不相关的文本语料库上进行训练的依赖树解析器。

   为了解决这些问题,我们建议使用双向递归神经网络(BRNN)[46]来计算单词表示。  BRNN采用以下顺序N个单词(以k的1表示编码)将每个单词转换为h维向量。 但是,每个单词的表示形式都被围绕该单词的大小可变的上下文所丰富。 使用索引t = 1。  。  。  N表示单词在句子中的位置,BRNN的精确形式如下:

在这里,它是一个指示符列向量,在单词词汇的第t个单词的索引处具有一个。 权重Ww指定一个词嵌入矩阵,我们使用300维word2vec [41]权重进行初始化,并由于过拟合的考虑而保持固定。 但是,在实践中,即使对这些向量进行了初始化,我们对这些向量进行训练后,最终性能几乎没有变化。 请注意,BRNN由两个独立的处理流组成,一个从左向右(hft)移动,另一个从右向左(hb)移动(请参见图3)。 第t个单词的最终h维t表示st是该位置的单词及其在句子中周围环境的函数。 从技术上讲,每个st都是整个句子中所有单词的函数,但是我们的经验发现是最终单词表示(st)与该位置的单词的视觉概念(It)最紧密地对齐
   我们学习参数We,Wf,Wb,Wd以及相应的偏差be bf,bb,bd。 在我们的实验中,隐藏表示的典型大小在300-600维度之间。 我们将激活函数f设置为整流线性单位(ReLU),该线性单位可计算f:x􏰀→max(0,x)。

  • 3.1.3对齐目标

我们已经描述了将每个图像和句子映射到公共h维空间中的一组向量的转换。 由于监督是在整个图像和句子的层面上,因此我们的策略是制定一个图像句子分数与各个区域词分数的关系。 从直觉上讲,如果句子-图像对的词在图像中有可靠的支持,则其匹配分数应较高。  Karpathy等人的模型。  [24]将第i个区域和第t个词之间的点积viT st解释为相似度,并用它来定义图像k和句子l之间的分数为:

此处,gk是图像k中的图像片段集,而gl是句子l中的句子片段集。 索引k,l覆盖训练集中的图像和句子。 连同其附加的“多实例学习”目标一起,此分数可解释为只要点积为正,句子片段就会与图像区域的子集对齐。 我们发现以下重新编写形式简化了模型并减轻了对其他目标及其超参数的需求:

在这里,每个单词st都与单个最佳图像区域对齐。 正如我们在实验中显示的那样,这种简化的模型还可以改善最终排名效果。 假设k = l表示对应的图像和句子对,则最终的最大边距结构化损失保持不变:该目标鼓励对齐图像句子对比未对齐对具有更高的分数。

  • 3.1.4将文本段对齐方式解码为图像

考虑训练集中的图像及其对应的句子。 我们可以将数量viT st解释为描述图像中任何边界框的第t个单词的未归一化对数概率。 但是,由于我们最终对生成文本片段而不是单个单词感兴趣,因此我们希望将扩展的连续单词序列与单个边界框对齐。 请注意,单独将每个单词分配给得分最高的区域的简单解决方案是不够的,因为它会导致单词不一致地分散到不同的区域。

   为了解决这个问题,我们将真正的比对视为马尔可夫随机场(MRF)中的潜在变量,其中相邻单词之间的双向相互作用会鼓励对准同一区域。 具体地,给定一个具有N个单词的句子和一个具有M个边界框的图像,我们引入潜在的对齐变量aj∈{1。  。  。  M}对于j = 1 ... N,并沿着句子在链结构中制定MRF,如下所示:

在此,β是一个超参数,它控制着对较长单词短语的相似性。 此参数允许我们在单字对齐(β= 0)之间进行插值,并在β大时将整个句子对齐到单个最大得分区域。 我们使用动态编程将精力降至最低,以找到最佳路线。 该过程的输出是一组带有文本段的图像区域。 现在我们描述一种基于这些对应关系生成新颖短语的方法。

3.2 多模态递归神经网络,用于生成描述

在本节中,我们假设输入一组图像及其文字描述。 如上一节所述,它们可能是完整的图像及其句子描述,也可能是区域和文本片段。 关键挑战在于模型的设计,该模型可以预测给定图像的可变大小的输出序列。 在先前基于递归神经网络(RNN)[40、50、10]开发的语言模型中,这是通过在给定当前单词和上下文(根据先前时间步长)的情况下定义序列中下一个单词的概率分布来实现的 。 我们探索一个简单的但是有效的扩展,额外限制了输入图像内容的生成过程。 更重要的是,在训练过程中,我们的多模态RNN会获取图像像素I和一系列输入向量(x1,...,xT)。 然后,通过将t = 1到T的以下递归关系进行迭代,计算出一系列隐藏状态(h1,。。。ht)和一系列输出(y1,。。。yt)。

在以上等式中,Whi,Whx,Whh,Woh,xi和bh,bo是可学习的参数,而CNNθc(I)是CNN的最后一层。 输出向量yt包含字典中单词的(未归一化)对数概率,以及一个特殊END令牌的一个附加维。 请注意,我们仅在第一次迭代时将图像上下文向量bv提供给RNN,我们发现其效果要好于每个时间步。 在实践中,我们还发现将bv((Whx xt))同时传递给激活函数也有帮助。  RNN的隐藏层的典型大小是512个神经元。

RNN训练。  RNN被训练为组合单词(xt),前一个上下文(ht-1)来预测下一个单词(yt)。 第一步,我们通过偏差交互作用将RNN的预测作为图像信息(bv)的条件。 训练过程如下(请参见图4):我们将h0 =⃗0,x1设置为特殊的START向量,并将所需标签y1设置为序列中的第一个单词。 类似地,我们将x2设置为第一个单词的单词向量,并期望网络预测第二个单词,等等。最后,在xT表示最后一个单词的最后一步,目标标签设置为特殊的END令牌。 成本函数是为了最大化分配给目标标签(即Softmax分类器)的对数概率。

测试时的RNN。 为了预测句子,我们计算图像表示bv,将h0 = 0,x1设置为START向量,并计算第一个单词y1的分布。 我们从分布中采样一个单词(或选择argmax),将其嵌入向量设置为x2,然后重复此过程,直到生成END令牌。 在实践中,我们发现波束搜索(例如,波束大小7)可以改善结果。

3.3 优化

我们将SGD与100个图像句对的小批量和0.9的动量结合使用,以优化对齐模型。 我们对学习率和权重衰减进行交叉验证。 除了递归层[59]以外,我们还在所有层中都使用掉落正则化,并逐个剪切梯度为5(重要)。 由于稀有词和常用词(例如“ a”或END令牌)之间的词频差异,生成RNN更难以优化。 我们使用RMSprop [52]取得了最佳结果,RMSprop是一种自适应步长方法,通过其梯度范数的移动平均值来缩放每个权重的更新。

4.实验

  • 数据集

我们在实验中使用Flickr8K [21],Flickr30K [58]和MSCOCO [37]数据集。 这些数据集分别包含8,000、31,000和123,000个图像,并且使用Amazon Mechanical Turk用5个句子分别注释。 对于Flickr8K和Flickr30K,我们使用1,000张图像进行验证,使用1,000张图像进行测试,其余用于训练(与[21,24]一致)。 对于MSCOCO,我们使用5,000张图像进行验证和测试。

  •    数据预处理。

我们将所有句子转换为小写字母,并丢弃非字母数字字符。 我们将单词过滤为在训练集中出现至少5次的单词,分别为Flickr8k,Flickr30K和MSCOCO数据集生成2538、7414和8791个单词。

4.1 图像句子对齐评估

我们首先通过实验研究推断文本和图像对齐的质量。 我们考虑一组隐含的图像和句子,并根据图像句子得分Skl进行排序,从一个模态中检索项目,然后通过对另一个模态的查询进行检索(第3.1.3节)。 我们在列表和Recall @ K中报告最接近的地面真相结果的中位数等级,它衡量在前K个结果中找到正确项目的次数的分数。 这些实验的结果可以在表1中找到,而示例检索可以在图5中找到。我们现在重点介绍一些要点。
   我们的完整模型优于以前的工作。 首先,我们的完整模型(“我们的模型:BRNN”)优于Socher等人。  [49]训练有类似的损失,但对句子使用单个图像表示和递归神经网络。  Kiros等人采用了类似的损失。  [25],他们使用LSTM [20]编码句子。 我们列出了与CNN功率相同的性能(AlexNet [28]),尽管与[54]类似,但它们在功能上比功能更强大的CNN(VGGNet [47],GoogLeNet更好)  [51])。  “碎片整理”是Karpathy等人报道的结果。  [24]。 由于我们使用了不同的词向量,用于正则化的dropout以及不同的交叉验证范围和较大的嵌入大小,因此我们重新实现了它们的损失,以进行合理的比较(“碎片整理”)。 与使用AlexNets的其他作品相比,我们的完整模型显示出持续的改进。

  •    我们更简单的成本函数提高了性能。

我们努力更好地了解我们绩效的来源。 首先,我们完全按照Karpathy等人的描述删除了BRNN,并使用了依赖树关系。  [24](“我们的模型:DepTree边缘”)。 此模型与“我们对DeFrag的重新实现”之间的唯一区别是第3.1.3节中引入的新的,更简单的成本函数。 我们看到我们的配方显示出持续的改进。BRNN优于依赖树关系。 此外,当我们用BRNN替换依赖关系树关系时,我们观察到了其他性能改进。 由于依赖关系被证明比单个单词和双字母组更好[24],这表明BRNN正在利用比两个单词更长的上下文。 此外,我们的方法不依赖于提取依赖树,而是直接使用原始单词。

  •    MSCOCO结果供将来比较。 我们不知道MSCOCO上其他已发布的排名结果。因此,我们报告了1,000张图像的子集和5,000张测试图像的全部结果,以便将来进行比较。 请注意,由于Recall @ K是测试集大小的函数,因此5000张图像数要少一些。
  •    定性的。 从图5中的示例性基础可以看出,该模型发现了可解释的视觉语义对应关系,即使对于较小或相对稀有的对象(例如“手风琴”)也是如此。 仅考虑完整图像的模型可能会忽略这些。
  •    学习的区域和单词矢量幅度。 我们模型的一个明显特征是它学会调节区域的大小和单词嵌入。 由于它们的内在产物相互作用,我们观察到诸如“皮划艇,南瓜”之类的视觉上具有区别的词的表示具有较高幅度的嵌入向量,这反过来又对图像句子得分产生了较大影响。 相反,停用词(例如“现在,简单,实际上,但是”)被映射到原点附近,从而降低了其影响力。 请参阅补充材料中的更多分析。

4.2 生成的描述:全帧评估

我们现在评估RNN模型描述图像和区域的能力。

我们首先训练了多模式RNN以在完整图像上生成句子,目的是验证模型是否足够丰富以支持从图像数据到单词序列的映射。 对于这些完整的图像实验,我们使用功能更强大的VGGNet图像功能[47]。 我们报告BLEU [44],METEOR [7],在这里,我们用最相似的训练集图像的句子注释每个测试图像,这是由VGGNet [47] fc7功能上的L2规范确定的。 表2显示,多模式RNN肯定胜过该检索方法。 因此,即使MSCOCO中有113,000个火车设置图像,检索方法还是不够的。 此外,RNN仅花费一秒钟的时间来评估每个图像。

  • 定性的。 尽管我们考虑了最后两个图像失败的情况,但是该模型会生成图像的合理描述(请参见图6)。 第一个预测“穿着黑衬衫的男人正在弹吉他”没有出现在训练集中。 但是,模型可能已经组成了20个“穿着黑衬衫的人”事件和60个“正在付钱的吉他”事件,以描述第一张图像。 通常,我们发现在训练数据中可以找到相对较大比例的生成语句(60%的波束大小为7)。 该分数随着光束尺寸的减小而减小。 例如,光束尺寸为1时下降到25%,但性能也会下降(例如,从0.66降低到0.61 CIDEr)。
  •    多峰RNN优于检索基准。 我们的第一个比较是到最近的邻居检索基线。
  •    与其他工作的比较。 自从最初发表这项工作以来,在Arxiv预印本中已经提出了几种相关的模型。 为了比较,我们还将它们包括在表2中。 与我们的模型最相似的是Vinyals等。  [54]。 不同于这项工作的第一步是通过一个偏差项来传递图像信息,他们将它作为第一个单词并入,他们使用了一个功能更强大但更复杂的序列学习器(LSTM [20]),一个不同的CNN  (GoogLeNet [51]),并报告模型集成的结果。  Donahue等。  [8]使用2层因子LSTM(结构与Mao等人[38]中的RNN相似)。 两种模型似乎都比我们的模型差,但是这在很大程度上可能是由于它们使用了功能较弱的AlexNet [28]功能。 与这些方法相比,我们的模型优先考虑了简单性和速度,而性能却有所降低。
  • ​​

   4.3 生成的描述:区域评估

现在,我们根据对齐模型推断出,在图像区域与文本摘要之间的对应关系上训练多峰RNN。 为了支持评估,我们使用了Amazon Mechanical Turk(AMT)来收集使用coco-caption 2代码[4]计算出的新数据集CIDEr [53]分数。 每种方法都通过测量候选句子与人类撰写的五个参考句子的匹配程度来评估候选句子。仅在测试时使用的区域级别注释的集合。 标签界面显示单个图像,并要求注释者(每个图像使用9个)绘制五个边界框并用文本注释每个边界框。 在我们的MSCOCO测试组中,我们总共为200张图像收集了9,000个文本摘要(即每个图像45个摘要)。 这些摘要的平均长度为2.3个字。 注释示例包括“跑车”,“老年夫妇坐着”,“建筑工地”,“三只拴在皮带上的狗”,“巧克力蛋糕”。 我们注意到,要求注释者提供扎根的文本片段会导致语言统计不同于完整图像标题中的统计。 我们的区域注释更全面,并且场景的特征元素很少被认为非常显眼,以至于不能包含在有关完整图像的单句中,例如“加热口”,“皮带扣”和“烟囱”。

  • 定性的。 我们在图7中显示了示例区域模型预测。要重申任务的难度,请考虑图7右侧图像上生成的短语“带酒杯的桌子”。该短语仅出现在训练集中 30次。 每次它可能具有不同的外观,并且每次都可能占据我们的对象边界盒中的几个(或没有一个)。 要为该区域生成此字符串,模型必须首先正确学习将字符串接地,然后再学习生成它。

  • 区域模型的性能优于全帧模型和排名基线。 与完整图像描述任务类似,我们将这些数据作为从2D像素数组(一个图像区域)到单词序列的预测任务进行评估,并记录BLEU得分。 排名基线检索由BRNN模型判断的与每个区域最兼容的训练句子子字符串。 表3显示,区域RNN模型产生的描述与我们收集的数据最一致。 请注意,全帧模型仅在完整图像上进行训练,因此将其馈入较小的图像区域会降低其性能。 但是,其句子也比区域模型句子长,这可能会对BLEU分数产生负面影响。 使用RNN来控制句子长度并非易事,但我们注意到区域模型在所有其他指标上也胜过全帧模型:分别对于区域/全帧而言CIDEr 61.6 / 20.3,METEOR 15.8 / 13.3,ROUGE 35.1 / 21.0  。

4.4 局限性

尽管我们的结果令人鼓舞,但多峰RNN模型仍受到多种局限。 首先,该模型只能生成一个固定分辨率的像素输入阵列的描述。 一种更明智的方法可能是在生成描述之前,使用围绕图像的多个扫视来识别所有实体,它们之间的相互作用以及更广泛的上下文。 另外,RNN仅通过加性偏差交互作用来接收图像信息,已知该交互作用比较复杂的多重交互作用[50,20]更具表现力。 最后,我们的方法由两个单独的模型组成。 作为端对端训练的单个模型的一部分,直接从图像句子数据集转到区域级注释仍然是一个未解决的问题。

5 结论

我们引入了一个模型,该模型基于弱标签以图像和句子数据集的形式生成图像区域的自然语言描述,并且几乎没有硬编码的假设。 我们的方法采用一种新颖的排名模型,该模型通过常见的多模式嵌入将视觉和语言模态的各个部分对齐。 我们证明了该模型在图像句子排名实验中提供了最先进的性能。 其次,我们描述了一种多模式递归神经网络体系结构,该体系结构生成视觉数据的描述。 我们在全帧和区域级实验中评估了它的性能,并表明在两种情况下,多峰RNN都优于检索基准。

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值