AI(011) - Paper - Show and Tell A Neural Image Caption Generator
Paper - Show and Tell: A Neural Image Caption Generator
原文标题:Show and Tell: A Neural Image Caption Generator
原文地址:https://arxiv.org/abs/1411.4555v2
译者:DarkRabbit
译者博客:https://blog.****.net/DarkRabbit
一些问题:在论文中有一张表 Table 6 ,此表没有任何地方引用,不过在 章节4.3.7 中,有引用到一张论文中没有的表 Table 4.3.7 ,根据上下文推测 Table 4.3.7 就是 Table 6 ,可能是原作者笔误。
目录 - Menu
-
Show and Tell: 一个神经图像说明文字生成器
Show and Tell: 一个神经图像说明文字生成器
作者 - Authors
Oriol Vinyals, Google, [email protected]
Alexander Toshev, Google, [email protected]
Samy Bengio, Google, [email protected]
Dumitru Erhan, Google, [email protected]
摘要 - Abstract
在计算机视觉领域与自然语言处理中,自动描述图像的内容是一个主要难题。在本论文中,我们提出了一个基于深度循环架构的生成模型,该架构结合了计算机视觉和机器翻译的最新进展,可用于生成描述图像的自然语句。该模型的训练是为了得到训练图像给出的最高可能性的目标描述语句。几个数据集的实验展示了模型的准确度与从图像描述中学得的语言流畅度。经过在数量与质量上的验证,我们的模型通常是非常准确的。例如,在Pascal数据集上,当前最高BLEU-1得分(越高越好)为25,而我们的方法是59,更加接近人工的69。同时我们还提高了在Flickr30k上的BLEU得分,从56提高到66;而在SBU上的,从19提高到28。最后,在新发布的COCO数据集上,我们的BLEU-4得分达到了27.7,成为了当前最高得分。
1. 引言 - Introduction
能够使用正确形式的英语语句自动描述图像内容是一项非常具有挑战的任务,但它可以产生很大的影响,例如帮助有视觉障碍的人们更好的理解网络上的图像内容。这个任务明显更加困难,举例来说,与经过深入研究的图像分类和图像识别相比,后者一直是计算机视觉社区的主要关注点 [27] 。实际上,描述必须不仅要捕获图像中包含的对象,还必须表达这些对象的关联性以及它们的属性和它们所涉及的活动。此外,上述语义知识必须用英语等自然语言表达,这意味着除了要理解视觉信息,还需要语言模型。
为了从图像生成描述,上述大部分子问题在先前的尝试中已经提出了解决方案,并将这些解决方案整合到了一起 [6, 16] 。相反的,我们希望能够提出一个单一的联合模型,它将图像 作为输入,并训练得到图像给出的最高可能性 的目标描述语句,此描述语句充分描述了图像,且由 单词序列组成,其中每个单词 都来自一个给定的字典。
我们工作的主要灵感来自于机器翻译的最新进展,其任务是通过最大化 将源语言编写的语句 转换成目标语言 。多年来,机器翻译一直是通过一系列的单任务(翻译单个单词,对齐单词,重新排序等)来实现,但最近的研究表明,使用循环神经网络(RNN) [3, 2, 30] 可以更简单的完成翻译工作,仍然能达到最先进的表现。一个“编码器(encoder)” RNN 读取(reads) 源语句并将它转换成一个固定长度的富向量表示,其向量表示又用作 生成(generates) 目标语句的“解码器(decoder)” RNN 的初始化隐藏状态。
这里,我们建议遵循这个更简单的方式,并将编码器 RNN 替换成一个深度卷积神经网络(CNN)。在过去的几年中,已经证明了通过将输入图像嵌入到一个固定长度的向量可产生一个富表示(rich representation),使得这种表示可以被用作各种视觉任务 [28] 。因此,很自然的将CNN用作一个图像“编码器”;首先对其预训练用于图像分类任务,然后将最后的隐藏层作为用于生成语句的RNN解码器的输入(见 Fig. 1)。我们称此模型叫做 the Neural Image Caption 或 NIC 。
我们的贡献如下。第一,我们针对此问题提出了一个端到端(end-to-end)的系统。他是一个使用随机梯度下降的完全训练神经网络。第二,我们的模型结合了视觉与语言模型的最先进子网络。这些子网络可以用于一些大的语言资料库预训练,还可利用其它数据。最后,相比较于最先进的方法,它明显有更好的性能;例如,在Pascal数据集中,NIC产生的BLEU分数为59,与当前最高得分的25更加接近于人工得分的69。在Flickr30k数据集上,我们将56提高到66,而在SBU上,我们将19提高到28。
2. 相关研究 - Related Work
从视觉数据生成自然语言描述的问题长期以来是在计算机视觉中进行研究,但主要是针对视频的 [7, 32] 。这导致了由视频源语识别器(visual primitive recognizers)与结构化语言(structured formal language)相结合的系统过于复杂,例如与-或图(And-Or Graphs)或逻辑系统(logic systems),通过基于规则(rule-based)的系统进一步转换为自然语言。这样的系统有大量是手工设计的(hand-designed)并且十分的脆弱,同时还被证明了它只能在有限的领域使用,例如交通场景或运动。
最近,自然文本的静态图像描述问题得到了广泛的关注。根据对象识别的最新进展,它们的属性和位置使得我们能够驱动自然语言系统,虽然它们的表现力有限。 Farhadi et al. [6] 使用检测来推断一个三元场景元素,这个元素是使用模版转换成的文本。同样的, Li et al. [19] 从检测开始,并使用包含检测到的对象和关系的短语拼凑出最终描述。 Kulkani et al. [16] 使用了一个更加复杂的检测图,但它是基于模版(template-based)生成文本。基于语言解析的更强大的模型也被使用 [23, 1, 17, 18, 5] 。上述方法已经能够描述“野外(in the wild)”图像,但它们在文本生成方面是手工设计的,且非常的严格。
大量研究工作已经解决了对给定图像的排名描述问题 [11, 8, 24] 。这些方法是基于再同一个向量空间中共同嵌入(co-embedding)图像与文本的想法。对于一个图像查询,检索位于嵌入空间中的图像附近的描述。最接近的是,神经网络被用于共同嵌入图像与语句 [29] ,甚至包括裁切的图像与子语句 [13],但不会尝试生成新的描述。通常情况下,即使在训练数据中已经观察到各个对象,以上方法不能描述看不见的对象。而且,它们避免发表生成的描述是多么的好。
在这项研究中,我们将深度卷积网络与循环网络相结合的方式建立一个单独的网络负责生成图像描述。其中深度卷积网络负责图像分类 [12] ,而循环网络复杂序列建模 [10] 。RNN在这单独的“端到端(end-to-end)”网络中进行训练。这个模型的灵感来自于机器翻译 [3, 2, 30] 中序列生成的最新成功案例,不同之处在于我们提供了由卷积网络加工过的一张图像来替代一条语句。接近于 Kiros et al. 的研究, [15] 使用了一个神经网络,但使用一个前馈来预测给定图像和前面单词的下一个单词。 Mao et al. 最近的一项工作 [21] 对相同的预测任务使用了一个循环神经网络。这与目前的提案非常的相似,但存在很多重要重要的不同点:我们使用了更强大的RNN模型,并直接对RNN模型提供了视觉输入,这使得RNN可以跟踪已经被文本解释过的对象。这些看似无关紧要的差异使得我们的系统在既定基准上取得了明显更好的结果。最后, Kiros et al. [14] 提出通过使用强大的计算机视觉模型和一个负责编码文本的LSTM来构建一个联合多模态嵌入空间(joint multimodal embedding space)。与我们相反,他们使用两个单独的路径(一个对图像,一个对文本)来定义一个联合嵌入,虽然他们能够生成文本,但他们的方法为了排名进行了高度调整。
3. 模型 - Model
在本论文中,我们提出了一个为图像生成描述信息的神经与概率框架。经过统计机器翻译的最新进展,表明了给定一个强大的序列模型,对训练与推理预测都可以通过“端到端(end-to-end)”的方式给定一个输入语句,直接最大化正确翻译的概率来达到最先进的结果。这些模型使用一个循环神经网络编码可变长度的输入到一个固定维度的向量,并使用该表示“解码”成期望的输出语句。因此,使用相同的方式是很自然的,给定一个图像(替代源语言的输入语句),使用相同原理将其“翻译”成描述。
因此,对应给定图像,我们建议通过使用以下公式直接最大化正确描述的概率:
我们模型的参数是 ,图像是 ,而 是正确的翻译。由于 可表示任意的语句,它的长度是不固定的。因此,通常使用链式规则(chain rule)来共同申请联合概率(joint probability) , 是特定样例的长度:
为了简化,在 上,我们放弃了其依赖项。 在训练时, 是一个样例对,我们对整个训练集使用随机梯度下降来优化对数概率的和,并将其作为 (2) 中的描述(进一步的训练细节见 章节4)。
使用循环神经网络(RNN)对 建模是很自然的事,在 时刻下的可变单词数量可用一个固定长度的隐藏状态或存储器 表示。在见到一个新的输入 时,这个存储器使用非线性函数 来获得更新:
为了使上述RNN更加清晰,两个重要的设计选择是: 的确切形式是什么,和如何将图像与单词作为输入 。对于 ,我们使用一个长短期记忆网络(LSTM),它在序列任务中获得了最佳性能,例如翻译。下一节将对此模型进行叙述。
对于图像的表示,我们使用一个卷积神经网络(CNN)。在图像任务中,它已经被广泛的使用和研究,同时是当前最先进的目标识别与目标检测方法。我们对CNN的特定选择,是使用了一个新颖的方式进行批量标准化(batch normalization),并在ILSVRC 2014分类竞赛中获得当前最佳性能 [12] 。此外,它们已经被证明可以通过迁移学习来进行其他任务 [4] ,例如场景分类。
3.1. 基于LSTM的语句生成器 - LSTM-based Sentence Generator
在(3)中 的选择取决于其处理梯度消失与梯度爆炸的能力 [10] ,这是设计与训练RNN最常见的挑战。为了面对这一挑战而引入了一种特殊方式的循环网络——LSTM [10] ,并成功应用于翻译 [3, 30] 和生成序列 [9] 。
- Figure 2. LSTM:一个记忆块(memory block)包含一个被三个门控制的单元 。
我们用蓝色的线条展示了循环连接——输出 在时间 时刻通过三个门在时间 进行反馈;
单元值通过遗忘门进行反馈;
除了记忆输出 外,预测单词在时间 反馈到用于预测的Softmax中。
LSTM模型的核心是一个记忆单元(memory cell) ,它在每步中编码认知,在此步中观察每个时间的输入(见Figure 2)。这些单元的行为受“门(gates)”控制,这些层是乘法运算,因此如果门为1,则可以在门层(gated layer)中保留一个值,如果为0则直接使用该值。特别地,使用的三个门分别控制是否需要遗忘当前单元的值(遗忘门(forget gate) ),是否应该读取其输入(输入门(input gate) )以及是否需要输出新单元的值(输出门(output gate) )。门、单元和输出的定义如下:
其中 表示一个门中的值与训练出来的权重矩阵参数 的乘积。这些乘法门使得训练LSTM时很好的处理了梯度消失与梯度爆炸问题 [10] 。其中非线性是指sigmoid 和双曲正切 。最后一个等式中, 是Softmax的输入,它将产生所有单词上的概率分布 。
训练(Training)
对LSTM模型进行训,在看到图像和由所有单词的定义 之前来预测语句中的每个单词。为此,以展开形式考虑LSTM是有好处的——为图像与每条语句创建一个LSTM副本,共享相同的参数与LSTM在 时刻的输出 ,然后送入 时刻的LSTM(见 Figure 3)。
- Figure 3. LSTM模型包含了一个CNN的图像嵌入器(定义在 [12])和词嵌入。
LSTM存储器之间的链接使用蓝色线条,它们对应Figure 2中的循环连接。
所有LSTM共享相同的参数。
所有循环连接都转换成展开版本的前馈连接(feed-forward connections)。更详细的,如果我们使用 表示输入图像,并用 表示图像的语句描述的真值,展开过程如下:
其中,我们将每个单词都表示成独热向量(one-hot vector) ,尺寸为字典大小。注意,我们使用 表示一个特殊的起始单词, 表示一个特殊的停止单词,他们代表了语句的开始与结束范围。特别是发出停止单词时,LSTM将发出语句已经生成完成的通知。图像与单词都被映射到同一个空间,其中图像使用一个视觉CNN,而单词使用词嵌入 。图像 只在 时刻被输入一次,来告知LSTM图像的内容。我们凭经验验证到,在每个时间点输送额外的图像将产生较差的结果,因为网络可以明确地利用图像中的噪声,且更容易过拟合。
我们的损失是每步中正确单词的负对数似然(negative log likelihood)的和,其表示如下:
上述损失最小化了LSTM的所有参数 w.r.t 、最顶层图像嵌入器(embedder)CNN和词嵌入 。
推理预测(Inference)
有多种方法可对给定图像生成NIC语句。第一个是 采样(Sampling) ,我们只对第一个单词采样,记作 ,然后提供相对应的嵌入和样本 ,重复这样做,直到我们的采样超过最大长度或者采样到特殊标记——结束符号(end-of-sentence)。第二个是 定向搜索(BeamSearch) ,迭代到 个最佳语句的集合,直到时间 时刻申请生成 个语句,并且只保留最佳的 个。这能够更好的接近 。我们在接下来的实验中使用定向搜索方法,它的束径(beam of size)为20。当束径为1时(即贪心搜索(greedy search)),确实使我们的结果平均下降了2个BLEU点数(points)。
4. 实验 - Experiments
为了与现有技术进行比较,我们使用多种指标、数据源与模型结构进行大量的实验来评估模型的有效性。
4.1. 评价指标 - Evaluation Metrics
尽管评价指标有时是很模糊的,但描述是否应该视为成功或没有给出图像,现有的技术已经提出了若干评价指标。最可靠的(但非常耗时)是要求评价者对给定图像的每个描述都给出主观评分。在本论文中,我们使用这些来强化一些自动评价,这确实与主观得分有关,遵循了 [11] 中的指导方针,它要求评分者用1到41个等级来评价每个生成的语句。
对于这个指标,我们设置了一个Amazon Mechanical Turk实验。每张图像由2名评价者评定。评价者之间具有代表性的标准是,评价一致性达到了65%。如果出现分歧,我们只是将分数进行平均,并将将平均值作为分数。对于方差的分析,我们执行bootstrapping(用替换重采样结果和计算重采样结果的平均误差/标准误差)。与 [11] 一样,我们报告的分数大于等于一组预定义的阈值。
通过取得一个真值,可以自动计算其它的指标,例如人工标注的描述。到目前为止,图像描述文献中最常用的评价标准是BLEU分数 [25] ,它是生成语句和参考语句2之间单词的n-grams精度的一种形式。即使这个指标有一些明显的缺点,但它与人工评价有很好的相关性,这一点已经被证明过。在此次研究中,我们也证实了这一点,正如我们在章节4.3所示。可以在 http://nic.droppages.com/ 上找到扩展的评估协议,以及我们系统生成的输出,
除了BLEU外,人们可以为给定录音使用模型的混乱点(perplexity)(这与我们(1)中的目标函数相同)。混乱点是每个预测单词的反向概率(inverse probability)的几何平均。我们在保留集(held-out set)中使用此评价标准来执行模型选择与超参数调优,但我们并不报告它,因为BLEU始终是首选3。关于指标更详细的讨论可以在 [31] 中找到,研究该主题的小组已经报告了其它指标,这些指标被认为更合适评估标题。我们报告了其中两个指标——METEOR和Cider,同时还希望在选择标准方面有更多的讨论与研究。
最后,当前关于图像描述的的文献也一直在使用代理任务来对给定图像排列一组可用的描述(见参考文献 [14])。这样的好处是可以使用已知的指标排名,比如 [email protected] 。另一方面,将描述生成任务转换成一个排名任务是不能令人满意的:对于一个需要描述的图像,随着它的复杂度与字典大小的增加,可能的语句数量会随着字典的大小呈现指数增长,如果这些语句的数量不呈现指数增长,那么预测语句对新图像的适配度可能会下降,但这是不现实的;更不用说能够有效评价底层的计算复杂度了,这个复杂度包含了为每个图像存储的语句组成的这样一个庞大的语料库。在语音识别中使用了相同的参数,其中某些参数必须产生对应于给定听觉序列(acoustic sequence)的语句;尽管早期的尝试使用分类来隔离音素与单词,但这项任务的最先进的方法是生成性的,并可从大型字典中产生语句。
现在我们的模型可以生成合理并有质量的描述,且尽管图像描述的评价是模糊的(可能有多个描述不在真值中),我们认为应该专注于生成任务的评价指标,而不是排名。
1 评价者在评价描述图像时没有任何错误,还是轻微错误,描述是否相关,评分4为最佳,1为最差。
2 在该文献中,大多数前置研究报告都报告了BLEU-1,即它们仅仅在计算unigram级别的精度,而BLEU-n是超过1到n-grams的几何平均精度。
3 即使它更加理想,优化BLEU分数会产生离散的优化问题。一般来说,混乱点与BLEU分数是高度相关的。
4.2. 数据集 - Datasets
为了进行评估,我们使用了许多数据集,这些数据集包含了静态图像与图像的英语说明语句。数据集的统计数据如下:
Dataset name | train size | valid. size | test size |
---|---|---|---|
Pascal VOC 2008 [6] | - | - | 1000 |
Flickr8k [26] | 6000 | 1000 | 1000 |
Flickr30K [33] | 28000 | 1000 | 1000 |
MSCOCO [20] | 82783 | 40504 | 40775 |
SBU [24] | 1M | - | - |
除了SBU外,每张图像都有包含5个语句的标签,这些语句相对直观且没有偏见。而SBU则是包含了由上传到Flickr的上传者标注的描述。所以不能保证它们的视觉效果没有偏见,因此这些数据集有更多的噪声(noise)。
Pascal数据集通常仅用于其它系统训练后的测试,例如其它四个数据集。在SBU的情况下,我们提取出1000张图像用于测试与训练,其它的用作 [18] 。类似的,我们从MSCOCO验证数据集随机提取出4K的图像用于测试,并称它为COCO-4k,并使用它来报告接下来的结果。
4.3. 结果 - Results
由于我们的模型是由数据驱动和端到端的训练,且考虑到有丰富的数据集,我们想要回答诸如“数据集的大小是如何影响泛化的”、“它能够实现哪种迁移学习”和“如何处理弱标签的(weakly labeled)示例(examples)”等问题。作为一个结果,我们在章节4.2中解释了五个不同数据集的实验,这使得我们能够深度理解我们的模型。
4.3.1 训练细节 - Training Details
我们在训练时遇到的许多挑战都与过拟合有关。实际上,纯粹的监督方法需要大量的数据,但是高质量的数据集只有不到100000万张图像。指定一个描述的任务比对象分类更加严格,数据驱动的方法直到最近才成为主导,这归功于像ImageNet这样大的数据集(数据的数量比我们在论文中描述的数据集多十倍,SBU除外)。所以,我们相信虽然我们获得了不错的结果,但在接下来的几年,我们的方法相对于当前大多数人工设计(human-engineered)方法只会随着训练集规模的增长而增加。
尽管如此,我们还是研究了击中处理过拟合的技术。解决过拟合最显然的方式为使用我们系统CNN组件的权重初始化作为预训练模型(例如,在ImageNet上)。我们在所有实验中都做到了这一点(类似于 [8]),它在泛化方面确实有很大的帮助。另一组词嵌入(wprd embeddings)权重 可以合理的初始化。我们尝试从大型新闻文集 [22] 初始化它们,但没有发现显著的效果,所以我们决定不初始化它们,以简化过程。最后,我们在模型层级使用了一些避免过拟合(overfitting-avoiding)的技术。我们尝试dropout [34] 和ensembling模型,以通过权衡隐藏单元的数量与深度来探索模型的大小(即容量)。dropout和ensembling使BLEU又少许提升,这也是我们在整篇论文中所要报告的。
我们使用固定学习率且无动量的随机梯度下降训练所有权重。除了CNN的权重外,所有权重都是随机初始化的,我们保持不变,因为改变它们会产生负面影响。我们使用512维度的大小作为嵌入和LSTM的内存。
描述使用基础词切分(basic tokenization)进行预处理,在训练集中让所有单词最少出现5次。
4.3.2 生成结果 - Generation Results
我们在Tables 1和2上报告了在所有相关数据集上的主要结果。由于PASCAL没有训练集,所以我们使用MSCOCO训练了系统(对这个任务可以说是最大且最高质量的数据集)。PASCAL和SBU的最新结果并没有使用基于深度学习的图像特征,因此可以说这个改变在评分上将会是一个重大改进。Flickr数据集最近已经被 [11, 21, 14] 使用,但主要是在检索框架(retrieval framework)中。一个值得关注的例外是 [21] ,他同时做了检索与生成,并在Flickr上获得了到目前为止最佳的性能。
在Table 2中的Human得分是一个人工标题与其它4个进行比较得来的。每五个评级计算一次,最后取他们的平均BLEU分数。由于这给我们的系统带来了少许的好处,考虑到BLEU分数是根据五个参考语句而不是四个计算的,我们将Human得分加回到了五个的平均代替四个。
鉴于该领域在过去几年获得了重大进展,我们认为报告BLEU-4更有意义,这将成为机器翻译前进的标准。此外,我们的报告指标与人工指标有更好的关联性,见Table 14。尽管最近在更好的评价指标 [31] 上做出了努力,我们的模型与人工评估相比表现强劲。然而,在人工评估(见 章节 4.3.6)我们的标题时,我们的模型表现的就差强人意了,这表明了我们需要更多的研究获得更好的指标。在官方测试集中,标签只能通过官网获得,我们的模型有 27.2 BLEU-4 。
4 我们使用了由 http://www.mscoco.org 善意地提供的这些指标。
Metric | BLEU-4 | METEOR | CIDER |
---|---|---|---|
NIC | 27.7 | 23.7 | 85.5 |
Random Nearest Neighbor Human |
4.6 9.9 21.7 |
9.0 15.7 25.2 |
5.1 36.5 85.4 |
Table 1. Scores on the MSCOCO development set.
Approach | PASCAL(xfer) | Flickr30k | Flickr8k | SBU |
---|---|---|---|---|
Im2Text [24] | 11 | |||
TreeTalk [18] | 19 | |||
BabyTalk [16] | 25 | |||
Tri5Sem [11] | 48 | |||
m-RNN [21] | 55 | 58 | ||
MNLM [14] 5 | 56 | 51 | ||
SOTA | 25 | 56 | 58 | 19 |
NIC | 59 | 66 | 63 | 28 |
Human | 69 | 68 | 70 |
Table 2. BLEU-1 分数。我们仅报告了以前可用的工作成果。SOTA代表当前最高的分数。
5 我们计算的这些BLEU分数,是由OxfordNet系统得出,这个系统是由 [14] 的作者们善意地提供的。
4.3.3 迁移学习,数据大小与标签质量 - Transfer Learning, Data Size and Label Quality
由于我们已经训练了许多模型,且同时拥有许多测试集,我们想要研究是否能从一个模型迁移到其他的模型,和在不匹配的领域中需要补充多少高质量的标签与训练数据。
最显而易见的迁移学习是Flickr8k与Flickr30k之间的数据量差距。由于这两个数据集创建自同一个小组,所以它们拥有相似的标签。因此,当在Flickr30k上训练时(大约4倍的训练数据),最好能获得4 BLEU点(points)。在这种情况下,很明显的,由于整个过程是由数据驱动(data-driven)且过拟合(overfitting)的,所以我们通过添加更多的训练数据来观察收益。MSCOCO也非常大(数据量是Flicrk30k的5倍),但其收集过程采用的是不同方式,因而在词汇表上会有更多的差异,不匹配项也会更多。因此,所有的BLEU分数(scores)都降低了10点(points)。尽管如此,描述仍然是合理的。
由于PASCAL没有正式的训练集,并且收集方式独立于Flickr与MSCOCO,我们报告了来自MSCOCO的迁移学习(见 Table 2)。从Flickr30k做迁移学习中,在53(cf. 59)会产生更差的结果。
最后,虽然SBU拥有弱标签(即标签中的标题不是由人工标注的),但如此巨大的噪声词汇表使得此任务更加难以完成。不过可以有更多的数据用于训练。在SBU上运行MSCOCO模型时,我们的性能从28降低到了16。
4.3.4 详述生成多样性 - Generation Diversity Discussion
在训练一个生成模型 后,一个明显的问题是该模型是否会生成新的标题,生成的标题是否具有多样性且高质量。 Table 3 展示了一个从定向搜索(beam search)解码器中返回含前N个最佳语句的列表,而不是假设的最佳语句。请注意样本的多样性,展示了同一张图像的不同方面。在BLEU协议中,前15个生成的语句得分为58,它们与人工结果是非常接近的。这表明我们的模型产生了多样性。粗体是训练集中不存在的语句。如果我们选择最佳的候选项,这个语句在训练集中出现的几率为80%。由于训练数据集非常的小,这并不会让人惊讶,模型选择l呃“范例(exemplar)”语句并使用它生成描述信息。如果我们改为分析前15个生成的语句,出现的约一半语句都是全新的描述,但任然具有相似的BLEU分数,这表明它们的质量非常好,也就是说它们提供了健康的多样性。
A man throwing a frisbee in a park. A man holding a frisbee in his hand. A man standing in the grass with a frisbee. |
A close up of a sandwich on a plate. A close up of a plate of food with french fries. A white plate topped with a cut in half sandwich. |
A display case filled with lots of donuts. A display case filled with lots of cakes. A bakery display case filled with lots of donuts. |
Table 3. 从MSCOCO测试集中选出的N个最佳样本。粗体线条表示没有在训练集中出现过的新句子
4.3.5 排名结果 - Ranking Results
虽然我们认为排名可以评估从图像生成标题的方式令人不快,但许多论文报告了排名分数,它们使用测试标题集(set of testing captions)作为候选给出测试图像的排名。最适合这些指标的方法(MNLM)专门实现了排名感知损失(ranking-aware loss)。尽管如此,NIC在两种排名(给定图像的描述排名和给定描述的图像排名)中都表现出色,如Table 4和5所示。请注意,对于图像标注(Image Annotation)任务,我们将分数进行了标准化,就像 [21] 所做的那样。
Approach | Image Annotation [email protected] [email protected] Med |
Image Search [email protected] [email protected] Med |
---|---|---|
DeFrag [13] m-RNN [21] MNLM [14] |
13 44 14 15 49 11 18 55 8 |
10 43 15 12 42 15 13 52 10 |
NIC | 20 61 6 | 19 64 5 |
- Table 4. [email protected] and median rank on Flickr8k.
Approach | Image Annotation [email protected] [email protected] Med |
Image Search [email protected] [email protected] Med |
---|---|---|
DeFrag [13] m-RNN [21] MNLM [14] |
16 55 8 18 51 10 23 63 5 |
10 45 13 13 42 16 17 57 8 |
NIC | 17 56 7 | 17 57 7 |
- Table 5. [email protected] and median rank on Flickr30k.
4.3.6 人工评估 - Human Evaluation
- Figure 4.
- Flickr-8k:NIC:NIC在Flickr8k测试集中生成的预测(平均分数:2.37);
- Pascal: NIC:(平均分数:2.45);
- COCO-1k:NIC:来自MSCOCO测试集中1000张图像的子集包含NIC生成的描述(平均分数:2.72);
- Flickr-8k:ref:这些是来自 [11] 使用相同的协议的Flickr8k评估结果,结果基于基线(baseline)(平均分数:2.08);
- Flickr-8k:GT:我们使用相同的协议对Flickr8k的真值标签进行评级。这位我们提供了分数的“校准(calibration)”(平均分数:3.89)
Figure 4 展示了对NIC提供的描述的人工评估的结果,以及各种数据集的参考系统与真值(groundtruth)。我们可以发现,NIC比参考系统更好,但显然的,预期结果比真值更糟糕。这就表明了BLEU不是一个完美的指标,它不能很好的捕捉NIC与人工描述之间的差异。评估图像(rated images)的示例可以在 Figure 5 中查看。有趣的是,在第一列的第二个图像上,模型如何才能注意到飞盘的大小。
- Figure 5. 人工评级分组的一系列评估结果。
4.3.7 嵌入分析 - Analysis of Embeddings
为了将前一个单词 作为解码器LSTM的输入产生 ,我们使用了词嵌入(word embedding)向量 [22] ,其优点是相对独立于字典的大小(相反于简单的独热编码(onhot-encoding)方法)。此外,这些词嵌入可以与模型的其余部分共同训练。值得关注的是,学习出的表示是如何从语言统计中捕捉到语义的。 Table 4.3.7 展示了少量的示例单词,在学得的嵌入空间中找到一些接近的单词。
Word | Neighbors |
---|---|
car | van, cab, suv, vehicule, jeep |
boy | toddler, gentleman, daughter, son |
shreet | road, streets, highway, freeway |
horse | pony, donkey, pig, goat, mule |
computer | computers, pc, crt, chip, compute |
Table 6. Nearest neighbors of a few example words
请注意一些从模型学习到的关系,它们会帮助视觉组件。实际上,让“horse”、“pony”和“donkey”彼此接近有助于CNN提取与马相关的动物特征。我们假设在极端情况下,我们看到一个拥有很少实例的类别(例如“独角兽(unicorn)”),与它接近的其它词嵌入(例如“马(horse)”)应该提供更多的信息,这些信息在基于bag-of-words的传统方法中将完全丢失。
5. 结论 - Conclusion
我们介绍了NIC,一个端到端的神经网络系统,它可以自动查看图片并用简单的英语生成一个合理的描述。NIC是基于卷积神经网络的,它将一张图像编码成一个紧凑表示,随后是生成相应语句的循环神经网络。模型训练后对图像给出最大可能性的语句。几个数据集的实验表明了NIC拥有很好的健壮性,其根据为定性结果(生成的内容非常合理)与定量评价,并使用了排名指标(ranking metrics)或BLEU,这些指标常用来度量机器翻译中生成语句的质量。从这些实验中可以清楚的看出,随着图像描述可用数据集的增加,类似于NIC方法的性能也会增加。此外,有趣的是,人们是如何使用无监督数据来改进图像描述方法的,这些数据可以是单独的图像数据,也可以是单独的文本数据。
鸣谢 - Acknowledgement
我们要感谢 Geoffrey Hinton,Ilya Sutskever,Quoc Le,Vincent Vanhoucke 和 Jeff Dean ,感谢他们对论文背后的想法以及写作的有益讨论。
参考资料 - References
[1] A. Aker and R. Gaizauskas. Generating image descriptions using dependency relational patterns. In ACL, 2010.
[2] D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly learning to align and translate. arXiv:1409.0473, 2014.
[3] K. Cho, B. van Merrienboer, C. Gulcehre, F. Bougares, H. Schwenk, and Y. Bengio. Learning phrase representations using RNN encoder-decoder for statistical machine translation. In EMNLP, 2014.
[4] J. Donahue, Y. Jia, O. Vinyals, J. Hoffman, N. Zhang, E. Tzeng, and T. Darrell. Decaf: A deep convolutional activation feature for generic visual recognition. In ICML, 2014.
[5] D. Elliott and F. Keller. Image description using visual dependency representations. In EMNLP, 2013.
[6] A. Farhadi, M. Hejrati, M. A. Sadeghi, P. Young, C. Rashtchian, J. Hockenmaier, and D. Forsyth. Every picture tells a story: Generating sentences from images. In ECCV, 2010.
[7] R. Gerber and H.-H. Nagel. Knowledge representation for the generation of quantified natural language descriptions of vehicle traffic in image sequences. In ICIP. IEEE, 1996.
[8] Y. Gong, L. Wang, M. Hodosh, J. Hockenmaier, and S. Lazebnik. Improving image-sentence embeddings using large weakly annotated photo collections. In ECCV, 2014.
[9] A. Graves. Generating sequences with recurrent neural networks. arXiv:1308.0850, 2013.
[10] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Computation, 9(8), 1997.
[11] M. Hodosh, P. Young, and J. Hockenmaier. Framing image description as a ranking task: Data, models and evaluation metrics. JAIR, 47, 2013.
[12] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In arXiv:1502.03167, 2015.
[13] A. Karpathy, A. Joulin, and L. Fei-Fei. Deep fragment embeddings for bidirectional image sentence mapping. NIPS, 2014.
[14] R. Kiros, R. Salakhutdinov, and R. S. Zemel. Unifying visual-semantic embeddings with multimodal neural language models. In arXiv:1411.2539, 2014.
[15] R. Kiros and R. Z. R. Salakhutdinov. Multimodal neural language models. In NIPS Deep Learning Workshop, 2013.
[16] G. Kulkarni, V. Premraj, S. Dhar, S. Li, Y. Choi, A. C. Berg, and T. L. Berg. Baby talk: Understanding and generating simple image descriptions. In CVPR, 2011.
[17] P. Kuznetsova, V. Ordonez, A. C. Berg, T. L. Berg, and Y. Choi. Collective generation of natural image descriptions. In ACL, 2012.
[18] P. Kuznetsova, V. Ordonez, T. Berg, and Y. Choi. Treetalk: Composition and compression of trees for image descriptions. ACL, 2(10), 2014.
[19] S. Li, G. Kulkarni, T. L. Berg, A. C. Berg, and Y. Choi. Composing simple image descriptions using web-scale n-grams. In Conference on Computational Natural Language Learning, 2011.
[20] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Doll´ar, and C. L. Zitnick. Microsoft coco: Common objects in context. arXiv:1405.0312, 2014.
[21] J. Mao, W. Xu, Y. Yang, J. Wang, and A. Yuille. Explain images with multimodal recurrent neural networks. In arXiv:1410.1090, 2014.
[22] T. Mikolov, K. Chen, G. Corrado, and J. Dean. Efficient estimation of word representations in vector space. In ICLR, 2013.
[23] M. Mitchell, X. Han, J. Dodge, A. Mensch, A. Goyal, A. C. Berg, K. Yamaguchi, T. L. Berg, K. Stratos, and H. D. III. Midge: Generating image descriptions from computer vision detections. In EACL, 2012.
[24] V. Ordonez, G. Kulkarni, and T. L. Berg. Im2text: Describing images using 1 million captioned photographs. In NIPS, 2011.
[25] K. Papineni, S. Roukos, T. Ward, and W. J. Zhu. BLEU: A method for automatic evaluation of machine translation. In ACL, 2002.
[26] C. Rashtchian, P. Young, M. Hodosh, and J. Hockenmaier. Collecting image annotations using amazon’s mechanical turk. In NAACL HLT Workshop on Creating Speech and Language Data with Amazon’s Mechanical Turk, pages 139– 147, 2010.
[27] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual Recognition Challenge, 2014.
[28] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. arXiv preprint arXiv:1312.6229, 2013.
[29] R. Socher, A. Karpathy, Q. V. Le, C. Manning, and A. Y. Ng. Grounded compositional semantics for finding and describing images with sentences. In ACL, 2014.
[30] I. Sutskever, O. Vinyals, and Q. V. Le. Sequence to sequence learning with neural networks. In NIPS, 2014.
[31] R. Vedantam, C. L. Zitnick, and D. Parikh. CIDEr: Consensus-based image description evaluation. In arXiv:1411.5726, 2015.
[32] B. Z. Yao, X. Yang, L. Lin, M. W. Lee, and S.-C. Zhu. I2t: Image parsing to text description. Proceedings of the IEEE, 98(8), 2010.
[33] P. Young, A. Lai, M. Hodosh, and J. Hockenmaier. From image descriptions to visual denotations: New similarity metrics for semantic inference over event descriptions. In ACL, 2014.
[34] W. Zaremba, I. Sutskever, and O. Vinyals. Recurrent neural network regularization. In arXiv:1409.2329, 2014.