图像特征应该在哪个阶段输入到图像描述生成器当中(翻译)

摘要

图像标题生成是生成图像内容的自然语言描述的任务。一种方法是使用神经语言模型,一种逐个生成句子的神经网络。这些工作通过使用循环的神经网络(RNN),基于其前缀或“历史”来预测句子中的下一个单词。然后可以将该预测的单词附加到先前的前缀以便预测之后的单词,等等,直到生成整个句子。通过对图像特征进行预测,可以将简单的神经语言模型扩展为图像标题生成器。换句话说,语言模型不仅要输入前缀,还要输入图像。这就产生了一个问题:应该在哪个阶段将图像信息引入语言模型?

最近有关图像字幕的研究以不同的方式回答了这个问题,提出了字幕生成任务中图像与文字之间关系的不同观点。但据我们所知,这些不同的模型和体系结构还没有系统地进行比较。然而,图像信息应该在字幕中出现的问题是更广泛的问题的核心,哲学家和AI实践者处理的这些问题涉及语言如何以感性信息为基础。

正如我们将在第2节中更详细地展示的那样,标题生成架构处理图像特征的方式的差异可以用两个不同的决定来表征:

通过合并注射和调节进行调节:可以通过注入图像来调节语言模型(参见图1a)。在这些“注入”体系结构中,图像向量(通常从卷积神经网络中的隐藏层的激活值导出)被注入到RNN中,例如通过将图像向量与“单词”等同处理并且包括它作为标题前缀的一部分。

对RNN进行训练,以便可以使用此矢量来预测下一个字的方式来矢量化图像 - 字幕混合。另一方面,语言模型可以通过合并图像来调节(见图1b)。在“合并”体系结构的情况下,图像被排除在RNN子网之外,使得RNN仅处理字幕前缀,即仅处理纯粹的语言信息。在前缀被矢量化之后,图像矢量然后与在RNN子网之后的单独的“多模态层”中的前缀矢量合并。合并可以通过例如将两个向量一起添加到一起来完成。在这种情况下,RNN被训练为仅仅引导前缀,并且混合在后续的前馈层中被处理。

简言之,如果图像以某种方式影响正在处理单词的RNN的状态,那么它将被注入,否则它将被合并。

这里写图片描述

图像特征的早期和晚期包含:正如前面的描述所暗示的,合并体系结构倾向于在图像特征的生成过程中稍晚一些,即在处理整个标题前缀之后。在注入体系结构的情况下,有更广泛的可能性,从处理字幕前缀中的任何单词之前注入图像,到在处理前缀的最后一个单词之后注入图像。第2节更详细地介绍了这些选项。然而,主要的一点是,可以设想视觉信息在不同阶段影响语言选择的模型。

本文的主要贡献是对基于视觉信息的语言选择的“调节”的不同方式进行系统比较,研究它们对字幕生成器结构的影响。因此,我们不是寻求改进现有技术的新的结果,而是基于对通用数据集上的注入和合并体系结构的详尽评估来确定图像特征在字幕生成和图像检索过程中的最佳位置

从科学的角度来看,这样的比较将有助于揭示语言在视觉中的基础。图像和文本应该在整个过程中混合在一起,还是应该在一些多模式层次之前最初保持分离?许多论文将RNN称为“生成”文本。是这种情况还是RNN更好地被视为编码器 是这样的情况还是RNN更好地被视为编码器矢量前缀,以便下一个神经网络层可以预测下一个单词? 这些问题的答案将有助于理解如何执行标题生成的理论。
从工程角度来看,对不同模型的相对性能的洞察可以为选择用于图像字幕的体系结构提供经验法则,也可能用于其他任务。 这将使开发新的体系结构和新的方法来执行标题生成更容易。

本文的其余部分的结构如下。 我们首先给出相关工作的概述,特别是关于字幕生成的架构。 第3节讨论我们比较的体系结构,接下来是第4节的数据和实验的描述。结果在第5节中进行介绍和讨论。我们总结了一些一般性讨论和未来工作的方向。

这里写图片描述

背景

在本节中,我们将讨论一些最近的图像标题生成模型,重点放在图像如何调节神经语言模型,基于图1所示的注入和合并架构之间的区别。在讨论这些模型之前,我们首先概述用于语言建模的RNN视图将在本文的其余部分中进行讨论。这是了解贯穿始终使用的插图的目的的有用背景。

查看循环神经网络的方法:
传统上,神经语言模型如图2a所示,其中字符串被认为是不断产生的。在每个时间步后都会生成一个新的单词,其中RNN的状态与最后生成的单词组合,以生成下一个单词。我们称之为“持续观点”。在本文中,我们对RNNs及其在语言模型中的作用略有不同 - 尽管在功能上是相同的。如图2b所示。我们建议按照一系列不连续快照的方式来考虑RNN,每个单词都是从前面单词的整个前缀中生成的,并且每次都会重新初始化RNN的状态。我们把这称为“不连续的观点”。
不连贯的观点揭示了语言建模中使用的RNN与序列到序列模型(例如神经机器翻译系统中编码RNN之间的一些相似之处。为了将源语句翻译为目标语句,首先将整个源语句编码成固定的向量,然后将其映射到目标语言的翻译中。在语言建模中,我们不是将句子翻译成另一个句子,而是将句子的前缀“翻译”为可能的下一个单词。

体系结构的类型
在第1节中,我们对在多模态层中融合语言和图像特征的体系结构和将图像特征直接注入到字幕前缀编码过程的体系结构进行了高层次的区分。正如我们所指出的那样,在语言字符串被编码之后,合并架构倾向于将图像特征相对较晚。相比之下,注入体系结构已经在文献中以不同的方式进行了许多不同的结合,如图3所示,并在下面进行描述:
•初始注入:RNN的初始状态被设置为图像矢量(或从图像矢量导出的矢量)。这是一个早期的绑定体系结构。
•预注入:RNN的第一个输入是图像矢量(或从图像矢量导出的矢量)。标题前缀的单词向量稍后。图像矢量因此被视为前缀中的第一个单词。这是一个早期的绑定体系结构。
·Par-inject:图像矢量(或从图像矢量派生的矢量)作为RNN的输入并行于字幕前缀的单词矢量,使得(a)RNN需要两个单独的输入;或(b)在传递给RNN之前,单词矢量与图像矢量组合成单个输入。图像矢量对于每个单词不需要完全相同,也不需要被包括在每个单词中。这是一个混合绑定体系结构。
•后注入:这是一个理论上的可能性,虽然没有工作实际上采用这种架构,据我们所知。在这种情况下,RNN的最后一个输入是图像矢量(或从图像矢量导出的矢量),前面是字幕前缀的单词矢量。图像矢量因此被当作前缀中的“最终单词”,在RNN的不连续视图下可能更易于设想(图2b)。这里提到的后注入架构是考虑到我们将它们包含在下面报告的实验中。这是一个晚期绑定体系结构。
考虑到这些区别,我们接下来讨论一些最近的贡献,并将其放在这种分类的背景下。表1提供了更广泛的已发布体系结构的摘要。

这里写图片描述

初始化注入体系结构

符合 init-inject 模型的体系结构将图像向量作为RNN的初始状态。这些包括(Devlin等,2015),他们使用门控循环单元(GRU)模型。(Chung等,2014)用图像向量初始化。将其与最大熵模型(ME)进行比较,该模型将从图像中提取的一包视觉词汇映射到最可能的完整标题上。

在一个相关的方面,(Ma和Han,2016)首先从图像中提取一系列属性,然后用一个长的短期记忆(LSTM)网络(Hochreiter和Schmidhuber,1997) - 解码器框架1a。将一个简单的RNN和一个LSTM结合在一个体系结构中,保持它们独立,直到它们的向量通过加权和被混合在一起。这是由于观察到简单的RNN和LSTM在不同的评估指标中获得更好的分数的动机。

(Liu et al 2016)描述了两个系统,这两个系统都直接通过CIDEr(Vedan-tam et al 2015)和SPICE(Anderson et al。,2016)的字幕质量度量进行了优化 。在学习过程中,系统的误差是通过在训练集中产生(取样)每个前缀的一些延续成整个标题并测量全部产生的标题的平均质量来测量的。这个质量被用来指导优化,所描述的两个系统之一在图像矢量上执行初始注入。

这里写图片描述

2.2.2预注入体系结构
预注入模型将图像视为训练期间前缀中的第一个单词。 (Vinyals等,2015)以这种方式使用LSTM语言模型,发现预注入比par-injection(下面描述)有更好的结果。他们的假设是,这是因为par-injection使得神经网络过度配合图像噪声,而这些噪声总是与前缀中的每个单词一起出现。
(Wu et al。,2015)通过从图像中提取属性并将这些属性作为输入传递给字幕生成器来选择更高层次的方法,而不是注入低层次的图像向量。这个属性矢量通过预注入传递给RNN。
(Krause等,2016)分两个阶段生成段落长度字幕。首先,在每个时间步骤中包含图像的LSTM生成表示句子主题的向量序列;这些构成对另一个产生标题的LSTM的输入,通过注入带有标题前缀的句子向量来预测标题中的下一个词。
(Rennie et al。,2016)描述了两个系统,一个是注意模型和一个非注意模型,两者都使用离散优化来直接优化CIDEr。发现直接优化CIDEr是改善其他指标的最好方法。在学习过程中,通过生成(采样)完整字幕并测量字幕的质量来测量系统的错误。这个质量被用来指导优化。非注意模型预先注入图像矢量(Yao et al。,2016)描述了五种以不同方式混合图像矢量和图像属性的系统。其中三个系统的工作如下:(a)单独预注入属性(b)将图像作为第一个单词注入,将属性注入第二个,(c)将属性注入第一个单词,将图像注入第二个。这最后一个在METEOR(Banerjee和Lavie,2005)方面表现最好。

Par-inject架构
Par-injection将图像特征和单词特征一起传递给RNN。例如,Chen和他的同事(Chen和Zitnick,2014,2015)在两篇论文中使用两个简单的RNN并行处理字幕生成。一个RNN被训练来预测给定字幕前缀的图像矢量,而另一个RNN被训练以预测给定字幕前缀,图像矢量和第一RNN的下一个字。第一个RNN’记住’关于字幕前缀的视觉信息;这比简单的RNN状态提供更稳定的存储器。
同样,(Donahue等人,2015年)描述了一个图像和视频字幕系统,将两个LSTM串联在一起。然而,发现将图像注入第二个(后来的)LSTM比向第一个注入更好。
(Karpathy和Fei-Fei,2015)为图像中的多个子区域生成标题。字幕的生成是通过使用一个简单的使用par注入的RNN来实现的,但是只有第一个字,也就是说,只有第一个字与图像结合在一起。在其他地方,图像矢量被看作是一个全零矢量。发现这样做比单词注入更好。
(Zhou等 2016)也使用了par-injection,但是图像合并的第一个词是全零矢量,即它们使用了预注入和par-injection。对于前缀中的每个单词,图像矢量的元素都有不同的处理,然后将这些单元分别注入到RNN中。
(Rennie et al 2016)的两个系统之一已经在第2.2.2节中描述。注意模型执行注视图像矢量的par注入到LSTM的单元存储器中。注意力被发现提高系统的质量。

合并架构
不是将图像特征与RNN中的语言特征组合在一起,合并体系结构延迟它们的组合,直到标题前缀被矢量化为止。这种方法的代表之一是(Kiros et al。,2014a)的工作,他使用对数双线性语言模型(LBL)(Mnih和Hinton,2007)将字幕前缀转换成一个单一的向量,后来被合并用图像矢量来确定标题中的下一个单词。

在以后的工作中,(Kiros et al。,2014b)描述了一个字幕发生器,它可以根据图像或全字幕进行调节。这是因为图像和字幕矢量都被嵌入到一个共同的多模式空间中,这使得对应的图像和字幕之间的相似性最大化。然后将图像或标题矢量与LBL的输出合并,以预测前缀中的下一个单词。为了帮助生成过程,预期的词性也被传递给LBL。

与Kiros类似,(Mao等,2014,2015a)使用多模态层,其中图像矢量与来自简单RNN的矢量合并。 (Mao等,2015a)对注入和合并架构进行了基本的比较,发现合并工作比注入更好。 (Mao等,2015b)描述了后续的发展,字幕发生器的词汇可以在训练后增加,只要学习新词的嵌入,而使网络的其余部分保持完好。

(Hendricks et al。,2016)也使用了一个多模态层,将图像向量与使用LSTM生成的字幕前缀向量进行合并。由于系统被设计为分别对图像和句子进行训练,所以该体系结构保持图像不受LSTM的影响,从而能够推广到训练集中未找到的对象。因此,一个对象识别器和一个语言模型被分别训练。它们的输出被组合成一个单独的矢量,用于预测字幕前缀中的下一个单词。这使得可以使用非标题图像和自由文本分别提高每个模块的性能。

混合模型
有越来越多的工作已经探索了不同的注入和/或合并策略的组合,其中大部分是基于注意力的模型。 (Xu et al 2015)的作品就是这种情况,他们描述了一种基于注意力的字幕生成器。这里,使用完整的图像来初始化LSTM。图像特征通过par injection被传递给LSTM,引起一个新的状态。然后这个新的状态再次与图像特征合并,以确定下一个单词。因此,该体系结构包含初始注入,并行注入和合并策略的各个方面。

(Lu et al。,2016)描述了一种基于注意力的模型,它也决定了在生成过程中应该给予图像的重要性。如果标题需要生成复合词“停止标志”,则只有“停止”才能访问图像,而“标志”可以在语言上推导出来。出席的图像合并,而整个图像是par-injection。

(Yang等,2016)描述了一种基于注意力的编码器 - 解码器系统,用于图像字幕和源代码注释。出席的图像是par-injection,而注入和完整的图像混合初始注入。

(You et al。,2016)描述了一种基于注意力的字幕生成器,该注释生成器在使用来自图像的属性以在字级别(par-inject)和在RNN级别(合并)执行注意时,注入完整图像。

(Liu等,2016)的两个系统之一已经在第2.2.1节中描述。另一个系统执行图像矢量的初始化注入和图像属性的注入。属性的添加并没有显着改善系统。

(姚等人,2016)的五个系统中的三个已经在第2.2.2节中描述。另外两个系统执行图像属性的预注入和图像矢量的par-inject或者图像矢量的预注入以及图像属性的par-inject。这最后一个系统在CIDEr方面表现最好。

总结和展望
尽管关于字幕生成的文献现在提供了丰富的模型和比较评估,但是上面所考察的体系结构的性能之间还没有很明确的系统比较,其中每一个体现了调节语言预测的不同方式视觉信息序列。已经测试了部分注射和预注射的工作,例如(Vinyals等人,2015),报道预注射更好地工作。 (Mao等,2015a)的工作比较了注入和合并架构,并得出结论:合并比注入要好。然而,毛等人的结构比较是其总体评价的一个相对切合的部分,仅以BLEU度量为基础。

回答哪个体系结构最好的问题是困难的,因为不同的体系结构在不同的评估方法上表现不同,例如(Wang et al 2016),他们比较了简单的RNN和LSTM。虽然字幕生成系统中最先进的系统都使用注入式架构,但是它们也是比已发布的合并架构更为复杂的系统,因此,在一项调查中得出的结论是注入比合并更好是不公平的。单独的文献。
在下文中,我们使用简单的RNN和LSTM对上面讨论的所有不同体系结构进行系统比较。我们使用一个共同的数据集和各种质量指标来执行这些评估,包括(a)字幕生成器的预测能力; (b)生成字幕的质量; (c)生成字幕的语言多样性和(d)网络能够找到最相关的图像给予一个标题。最后一个度量被包含在比较中:许多字幕生成器已被证明可以用于图像描述和检索的双重功能。通过在我们的评估方法中包括检索,我们试图揭示从架构的角度来看,是否可以得出与字幕相同的结论。

架构

在本节中,我们将介绍本文中评估的不同架构。 显示了三种主要体系结构类型的图表

这里写图片描述

图4:本文中测试的不同体系结构的图示。 数字是指由层输出的矢量大小,除了指出丢失率的丢失层。 请注意,7415的softmax大小是指可以选择为下一个单词(由词汇大小确定)的可能单词数。 “密集”意味着完全连接的层。
图4.我们从3.1节的一般性原理架构的描述开始,接着描述了每个评估架构如何在3.2节中修改这个架构。 最后,我们在3.3节中对架构的重要细节进行了正式的描述。

3.1一般架构
本节介绍所有评估架构的基础。它是(Vinyals等,2015)中描述的体系结构的缩小版本。这个架构被选择为简单,同时仍然是2015年MSCOCO图像字幕挑战中表现最好的系统。

字嵌入:字嵌入即在馈送到RNN之前表示已知字的向量由已被随机初始化的256元素向量组成。没有预编译的矢量嵌入,如word2vec(Mikolov等,2013)被使用。相反,嵌入被训练成神经网络的一部分,以便学习单词的最佳表示。

递归神经网络:递归神经网络(RNN)的目的是采用嵌入字(在注入体系结构中具有图像向量)的前缀,并产生表示序列的单个向量。该矢量的大小为256.使用两种类型的RNN:(Mao等人,2015a)中描述的简单RNN和(Vinyals等人,2015)中描述的LSTM。除了整体比较不同的RNN类型之外,该策略考虑了使用被报告在合并架构中运行良好的RNN(Mao等人,2015a)和另一个据报道在注入架构中运行良好的RNN Vinyals等,2015)。

图像在训练之前,所有图像都使用VGG OxfordNet 19层卷积神经网络(Simonyan和Zisserman,2014)的倒数第二层的激活值进行矢量化,该网络经过训练以执行目标识别并返回4096个单元的矢量。卷积神经网络不受字幕生成训练的影响。在训练过程中,一层神经网络(没有激活函数)将这个向量压缩成256个元素的向量(与向量的大小相同)。这是256个元素的向量,在我们的实验中被称为“图像向量”。

输出一旦图像和标题前缀已被矢量化并混合到单个矢量中,下一步就是使用它们预测标题中的下一个单词。这是通过传递混合向量通过soft-max层来完成的,该层预测每个可能的7,415个下一个单词是前缀之后的单词的概率。

正则化为了减少过度拟合,(Srivastava et al。,2014)丢失率为0.5,应用于4096个元素的图像输入和词嵌入。初步实验表明,将输入向量应用到输入向量比向中间层应用丢失要好。

3.2评估架构
本节介绍在我们的实验中评估的每个体系结构。有一个语言模型体系结构(langmodel),三个合并体系结构(merge)和四个注入体系结构(inject),每一个都可以使用一个简单的RNN(srnn)或一个LSTM(lstm)作为递归神经网络。总之,我们因此评估(8×2)16个不同的架构。

3.2.1语言模型体系结构
语言模型体系结构(langmodel)是一个简单的无条件的无图像语言模型,仅在给定前缀的情况下才能预测下一个字词。它被用作衡量包含图像在体系结构中的不同方式的有效性的基线。

3.2.2合并架构
合并体系结构将前缀向量与图像向量合并,然后将结果传递给输出层。我们考虑将图像矢量与前缀矢量合并的三种方式:
merge-concat:图像矢量和前缀矢量被连接成一个长度等于两个矢量长度之和的矢量。虽然这种方法很直观,但我们注意到这个架构需要具有额外的参数来处理更大的层。
•merge-add:将图像矢量和前缀矢量按元素相加成一个长度等于原始矢量(图像矢量和前缀矢量长度相等)的矢量。
•merge-mult:图像矢量和前缀矢量在元素上相乘成一个长度等于原始矢量(图像矢量和前缀矢量具有相等长度)的单个矢量。

3.2.3注入架构
注入体系结构将图像向量注入到RNN中,就好像它是标题前缀的一部分一样。如第2节所述,有四种方法将图像注入到RNN中,这是通过以下方式在我们的实验中实现的:
•inject-init:图像矢量被视为RNN的初始状态。在初始化RNN之后,像往常一样将前缀中的矢量馈送到RNN。我们实验中的每一个架构都使用全零矢量作为初始状态。
•inject-pre:图像矢量用作字幕前缀中的第一个“单词”。这使得图像矢量成为RNN将会看到的第一件事。
•inject-par:将图像矢量添加到元素前缀中的每个单词矢量(元素)以使RNN获取混合的单词图像矢量。 每个单词将有相同的图像矢量添加到它。
•inject-post:图像矢量被用作字幕前缀中的最后一个“单词”。 这使得图像矢量是RNN在预测每个下一个单词之前将看到的最后一个东西。

3.3正式的细节
本节给出了评估体系结构的更正式的描述。 作为符号的一个问题,我们把矢量当作横向的。

这里写图片描述

(Mao等人,2015a)中使用的简单RNN被定义为其中xn是第n个输入,sn是n个输入之后的隐藏状态,s0是初始状态,Wss是状态 - (是平方的),bs是状态偏差向量,ReLU是指整数线性单位函数,它被定义为

这里写图片描述

定义了(Vinallys等,2015)中使用的LSTM模型

这里写图片描述

其中xn是第n个输入,sn是n个输入之后的隐藏状态,s0是初始状态,cn是n个输入之后的单元状态,c0是全零矢量(即使使用初始注入时),in n输入后的输入门,fn是n输入后的遗忘门,n是n输入后的输出门,n是n输入后的输入门,wαβ是α和β之间的权重矩阵,bα是α和⊙是元素向量乘法运算符。在上述中,“sig”是指sigmoid函数,其定义如下:

这里写图片描述

在神经网络的其余部分只使用RNN的最后一个隐藏状态。状态向量(在简单的RNN和LSTM中)和单元向量(在LSTM中)都是256的大小。
用于图像和输出的前馈层是正常的全连接层,其被定义为

这里写图片描述

其中z是结果向量,x是输入向量,W是权重矩阵,b是偏差向量。
然后结果向量可以通过一个激活函数,比如softmax,被定义为

这里写图片描述

其中softmax(x)i是指输出向量的第i个元素。

这里写图片描述

4个实验
本节介绍为了比较前一节中介绍的不同体系结构的性能而进行的实验。表2给出了所有参数和配置的总结。
4.1数据集
图像用于所有实验的数据集是由(Karpathy和Fei-Fei,2015)发布的Flickr30k4(Young等人,2014)的版本5,从Flickr获取的一组31014个图像以及每个图像的五个手写书写字幕。提供的数据集分别分为29,000,1014和1,000幅图像的训练,验证和测试集。通过VGG OxfordNet 19层卷积神经网络(Simonyan和Zisserman,2014)的层“fc7”(倒数第二层)的激活,图像已经被矢量化为4,096个单元的矢量,该单元被训练用于ImageNet上的目标识别数据集(Deng等,2009)。这些载体在训练前被归一化为单位长度的载体。
词汇已知词汇包括字幕训练集中所有出现至少五次的单词(大写字母在构造词汇之前被归一化为小写)。这给了我们总共7,413个已知单词。这些字既用作输入,也用于嵌入并馈送到RNN,用作由softmax给出概率的输出。除了这些内容标记之外,还使用了一些其他的特殊标记:
•PAD:被RNN忽略,用于在等长的训练集中创建所有的标题前缀(仅用于输入字);
START:用于标记字幕前缀的开始,对于预测字幕中的第一个字(仅用于输入字)有用;
•END:用于标记字幕的结尾,可用于预测字幕的结束(仅与输出字一起使用);
•UNKNOWN:用于替换和表示任何不在已知词汇表中的词(与输入和输出词一起使用)。

这里写图片描述

4.2训练集
在第2节中,我们注意到可以在RNN上采用连续或不连续的观点。对于这里报道的实验,采用后者的观点是有利的,因为它自然可以统一处理所有正在考虑的模型。特别是,训练后注射模型要求我们在给定前缀的每个训练阶段注射图像。
因此,在我们的实验中,字幕被分解为长度不断增长的单独前缀,每个前缀在训练集中都被视为一个单独的条目。训练目标是在给定图像和标题前缀的情况下,最大化所有字幕(包括END标记)中的每个单词的单个概率。

从数据集产生的训练集由三元组I,C0 … n,Cn + 1组成,其中I是由标题C描述的图像,C0 … n是具有n个词的标题前缀(加上START标记),并且Cn + 1是下一个单词(可以是END令牌)。每个标题 - 图像对被分解成所有标题的前缀以及跟在前缀和相应图像之后的单词。所有的前缀都以一个START标记开始(包括以第一个词作为下一个词的空白前缀)并填充,以便所有序列具有相同的长度(等于训练集中最长的标题加上START标记) 。图5给出了一个例子。在每个训练时期之前,所有的行都被混洗,然后被分成小块。我们允许将相同标题的前缀放在不同的小型光标中。

4.3学习
我们并没有过多地关注优化超参数,因为很难找到一组能够同时使所有体系结构受益的超参数,而且我们不希望一个体系结构比其他体系结构更具优势。出于这个原因,我们使用默认或一般推荐的设置是可能的。

成本函数作为成本函数,使用了训练集minibatch中所有“I,C0 … n,Cn + 1”三元组(符号定义在第4.2节)的交叉熵之和。
这意味着神经网络被训练来最小化交叉
他们对训练集字幕的概率预测。交叉
定义如下:

这里写图片描述

其中P是被训练的神经网络的输出,这是一个特定单词在字幕前缀中的下一个单词的概率。

优化神经网络学习是使用Adam(P.Kingma and Ba,2014)作为优化方法进行的。所有超参数如原始文献中所建议的:α= 0.001,β1= 0.9,β2= 0.999,ε= 10-8。

梯度控制为了避免梯度爆炸(Pascanu et al。,2012),梯度下降算法中的所有梯度都被限制在±5范围内(Karpathy和Fei-Fei,2015)。

Minibatches Minibatches的大小500被使用。 Minibatches由预处理而不是句子组成(参见图5)。

停止标准:每个训练 epoch 最多持续20个,验证集上也使用了与训练集相同的成本函数,以便在测试集上仅评估给出最小验证成本的权重。使用两个早期停止耐心,以便如果验证集上的两个时期的成本停止下降,则停止训练。

初始化:对于权重初始化,所有的偏差设置为零,所有的前馈权重随机设置使用xavier初始化(Glorot和Bengio,2010),包括词嵌入。 Xavier初始化将图层的权重设置为从正态分布采样的随机数,意思是等于零,标准差等于

这里写图片描述

,其中ni是层的输入数量,no是层的输出数量。使用正交权重来初始化RNN(处理状态的平方矩阵)的递归权重。

评估指标

为了评估不同的体系结构,测试集标题(在所有实验中共享)用于使用可分为四个类的度量标准来测量体系结构的质量,如下所述。

4.4.1概率指标
这些度量标准量化了体系结构在预测字幕词的概率时给定了相应的图像和前缀。 我们报告给出测试字幕的模型的困惑。 一个句子的预测困惑度计算如下:

这里写图片描述

其中P是训练的神经网络,其给出特定单词作为字幕前缀中的下一个单词的概率,C是具有| C | 单词,我是由标题C描述的图像,而H是熵函数。 请注意,Cn是C中的第n个单词,C0 … n是C中的前n个单词(带有START标记)。
为了将整个测试集的标题混淆集合到一个单一的数字中,我们报告了所有标题分数的算术平均值,几何平均值和中值。

4.4.2生成指标
这些指标通过测量生成字幕和测试集中字幕的重叠程度来量化生成的字幕的质量。我们使用MSCOCO评估代码6来衡量标准评估指标BLEU-(1,2,3,4)(Papineni et al。,2002),METEOR(Banerjee and Lavie,2005),CIDEr(Vedantam et al。,2015)和ROUGE-L(Lin和Och,2004)。使用波束宽度为40,最大长度为50个字的波束搜索生成字幕。

4.4.3多样性指标
除了测量字幕与基本事实的相似性之外,我们还测量生成的字幕中使用的词汇的多样性。这是为了说明字幕是“刻板印象”的程度,也就是说,不管输入图像如何,模型在不同情况下重复使用(子)字符串的程度。

作为一个有限情况,考虑一个总是输出相同标题的标题生成器。这有着很低的多样性。为了量化,我们测量了所有生成的caption中使用的已知词汇单词的百分比以及所有生成的caption中的unigram和bigram频率的熵,计算公式如下:

这里写图片描述

其中F是unigrams或bigrams的频率分布,其中| F |不同的unigrams或bigram,pi是遇到unigram或bigram i的最大似然估计概率。请注意,Fn是第n个单字或双字的频率。
熵可以衡量频率分布的均匀性(对于更均匀的分布,熵越高)。更一致的是,每个单字或双字的比例越多,而大部分时间使用的都是相同的单词,因此所使用的单词的种类越多。

4.4.4检索度量
如第2节所述,考虑到文献中常常对图像字幕模型进行双向评估,包括生成和检索,我们将图像检索的性能包括在我们的评估指标中。在目前的情况下,我们主要关心两个任务中所考虑的各种架构是否相同。
检索度量标准是度量标准在给定标题时检索正确图像的体系结构。条件语言模型可以用于检索,通过测量每个图像对给定字幕的相关程度。相关性是衡量整个图像的概率(通过将每个单词的概率相乘)。不同的图像将给同一标题不同的概率。标题越有可能,图像越相关。
我们使用标准的R @ n回忆量度(Hodosh等人,2013),并在1,5和10报告回忆。回忆在n是正确的图像排名在位置n或更少的字幕的百分比根据相关性排序的图像。

结果

每个实验进行三次运行,报告三次运行的不同评估方法的平均值和括号内的标准偏差(报告在括号内)。对于每次运行,初始权重设置,小批次选择和dropout选择都是不同的,因为这些都是随机确定的。其他的一切都是相同的运行。

为了比较,(Mao等人,2015a)和(Vinyals等人,2015)中使用的架构也包括在下表中。这两种方法在文献中都有影响;此外,它们是明确定义的,因此可以很容易地重新实现。为了本实验的目的,它们被重新使用与原始相同的层和层大小;然而,为了确保公平的比较,我们已经像在这里考虑的其他体系结构一样训练和测试它们。这意味着我们已经使用了相同的初始化,正规化,训练方法等。因此,下面报告的毛泽东和Vinyals架构的结果有时会不同于作者最初报告的结果。

这里写图片描述

5.1数据
表3显示了使用概率度量的评估结果,这些度量度量包含了不同的方法来聚合困惑,针对测试集中的标题。
表4显示了衡量生成字幕质量的指标。请注意,这里的无图像语言模型生成一个标题,这是最可能的标题整体,并将其用于所有图像。
表5显示了模型在很大程度上利用可用词汇的程度。我们估计一个模型使用的可用语气(单音或双音)比例。为了比较,我们在测试集中包括人类字幕的比例,考虑基于每个测试集图像(全部人类字幕)的全部五个字幕的总比例和仅基于来自五个可用人的第一个字幕的比例字幕(一个人类字幕)。
最后,表6显示了基于字幕生成过程的“反转”评估模型的结果,考虑到基于测试集中字幕的图像检索。请注意,由于无图像语言模型不能用于检索,因此不包含在此表中。

5.2讨论
如果我们采用后期绑定架构,合并和后期注入,以及早期绑定架构,初始化注入和预注入作为两个组,那么对于使用简单RNN的模型和使用简单RNN的模型都存在明显可辨别的模式LSTM:在给定相同的RNN类型的情况下,后期绑定体系结构比混合绑定体系结构(par-inject)在中间的某处浮动的早期绑定体系结构执行得更好。对于所有评估指标,包括检索,这都是全面的。

这个结果有点令人惊讶,因为LSTM是重新实现的,这个LSTM是
(Vinyals等人,2015)所描述的,这是针对预注入架构而优化的。事实上,似乎没有任何评估标准,早期绑定架构比晚期绑定架构有优势。即使我们忽略比其他体系结构具有更多权重的merge-concat,merge-add总是比inject-par更好,这几乎总是比inject-pre好。

乘法合并似乎在困惑,但在其他措施表现良好。它也是中位数困惑度最高的标准差(三次运行)。这表明,其困惑度排名相对较差的一个可能原因是由于各个运行的输出概率的高度变化。

多样性指标表明,所有的体系结构都有类似的词频分布(虽然简单的RNN早期绑定体系结构相对更倾斜)。尽管如此,词汇使用统计是非常明显的。看来,即使人类使用已知词汇的至少32%来描述测试集图像,所评估的系统中也没有一个使用超过7%。我们将其解释为神经标题生成器需要经常在训练集中看到一个单词,以便学习如何使用它。从方法论的角度来看,这进一步意味着设置一个甚至更高的频率阈值,在这个阈值以下,词被映射到未知词(当前实验将阈值设置为5)是可行的,并且对结果的影响相对较小。此外,这也解释了为什么生成措施的标准偏差与其他措施相比如此之低:字幕生成器保守地使用了一些字,导致字幕的变化程度相对较低。

在结束部分,我们转而对这些结果进行更彻底的解释。 然而,我们的结论必须是相对于基于后来注入或合并图像特征的模型,在图像特征被包含在生成过程早期的模型表现不佳。 那么,看起来,视觉信息破坏了语言信息的处理,相比于预注入和par注入,合并和注入后模型表现更好。 更好的策略似乎是在创建混合或多模式表示之前分别对视觉和语言信息进行编码。

这里写图片描述

结论

本文提出了一系列关于图像标题生成和检索架构变化的系统评估。主要关注的是我们所谓的“注入”和“合并”架构之间的区别。前一种模型将图像和语言信息混合在一起,训练RNN来引导图像语言前缀混合。相比之下,融合架构在编码语言字符串的RNN子网络和图像矢量之间保持分离,在预测模块之前在该过程的晚期合并它们。因此,这些模型与使用“多模式”图层生成图像标题的方法相兼容(Kiros等,2014b,a,Mao等,2014,2015a,Hendricks等,2016,Song and Yoo,2016)。我们提到的一个相关的问题,虽然是一个独特的问题,但它涉及到图像信息被纳入生成过程的阶段,注入体系结构允许早期或晚期插入的各种策略。

尽管这两种架构在文献中都有所应用,但是注入架构已经越来越受欢迎。然而,与合并相比,对其优势的系统评估却很少。我们的实验表明,在实验中使用的任何配置中,后期绑定架构如合并和后期注入优于早期和混合绑定架构,如初始注入,预注入和par注入。无论模型是基于困惑,n-gram与测试集重叠还是词汇多样性(尽管所有模型在后一组度量上都是高度保守的),都是这种情况。后期绑定架构在图像检索任务中也表现更好。

从这项工作可以得出两个主要的结论。首先,我们的结果表明,将图像特征与语言信息等同处理,并在模型的序列处理部分中“混合”它们并不是最优的。相反,就像在后期的绑定模型中一样,将语言编码和图像特征分开,最后合并它们似乎更好。总而言之,在语言以视觉信息为基础的多模式任务中,后者不应被视为“另一个词”。另一个解释为什么后期绑定应该比早期绑定更好是因为通过将图像作为单词来处理,RNN实际上必须处理更大的词汇表,因为词汇表将包括训练集中所有的图像,而不是所有的不同的词。这可能会影响性能。总的来说,向RNN引入“额外”信息似乎破坏了RNN的编码过程,这可以从par注入体系结构表现比注入后更差的事实中看出。

第二组结论与我们对RNN功能的看法有关。正如第2节所指出的,我们假定了两个观点,一个是连续的,一个是不连贯的观点。后者使得RNN的一个重要特征是显式的:在任何时间步,RNN编码一个前缀,结果用于预测序列中的下一个元素。因此,RNN并不是真的“生成文本”。 RNN是真正生成文本的,那么就需要知道它是为哪个图像生成文本,就像在早期的绑定模型中一样,但是与晚期绑定的替代方法相比,这似乎降低了性能。在这个背景下,为什么后期绑定体系结构胜过早期绑定体系结构变得更加清晰:这些体系结构中的预测是基于语言前缀和映像,在预测阶段之前放在一起。总之,最好将RNN专门用于编码语言信息,即解释神经网络中其他层次的序列。似乎使RNN不仅仅是简单地编码一个语言序列并不理想。

这里写图片描述

这里介绍的工作为未来的研究开辟了一些途径。正如我们从一开始就注意到的那样,我们对深度学习架构的看法与之前关于神经机器翻译模型的研究之间有一些相似之处(Sutskever等,2014,Bahdanau等,2014)。在今后的工作中,我们希望通过合并调节是否是在语言翻译模型中调节句子生成器的最好方法,或者是其他序列到序列任务(如问答)的模型。这也将阐明一系列NLP任务之间的相似性和差异性,如序列到序列建模的其他工作所示(Sutskever等,2014)。

而且,通过保持语言和图像信息的分离,合并架构可以提高可移植性和便于训练。 例如,原则上可以采用RNN的参数和通用文本语言模型的嵌入层,并将它们转移到字幕生成器中的相应层。 这将减少训练时间,因为它将避免从头学习RNN权重和字幕生成器的嵌入权重。 随着对NLP社区深度学习架构的理解的发展,我们的目标之一应该是最大化模型组件之间的可转换性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值