RNN 在图像描述生成中扮演的角色?(翻译)

摘要

在图像描述生成系统中,递归神经网络(RNN)通常被视为主要的“生成”组件。这个观点表明图像特征应该被注入到RNN中。这实际上是文学中的主导观点。或者,RNN可以被视为仅对先前生成的词进行编码。这个观点表明,RNN只能用来编码语言特征,只有最后的表示与后期的图像特征“合并”。
本文比较了这两种体系结构。我们发现,一般来说,后期合并优于注入,这表明RNN更好地被视为编码器,而不是发生器。

引言

图像描述生成(Bernardi et al。,2016)已经成为解决感知数据中符号或语言信息基础的AI挑战的一个重要测试平台(Harnad,1990; Roy和Reiter,2005)。大多数字幕系统专注于具体的概念性描述,即描述图像中严格内容的字幕,尽管最近人们越来越关注视觉问题回答的研究(Antol et al。,2015 )和其中的基于图像的描述生成(Huang et al。,2016)等。

图像字幕的方法可以分为三大类:
1、依靠计算机视觉技术从源图像中提取物体检测和特征的系统,将其作为NLG阶段的输入。后者大致类似于microplanning和在着名的NLG管道结构中实现模块。

2、通过计算训练数据中的字符串与给定图像的接近度/相关性来识别字幕或其部分的检索问题的系统,这是通过利用单模或多模态的空间。许多基于检索的方法依靠神经模型来处理图像特征和语言信息。

3、系统也依赖于神经模型的系统,而不是执行部分或批量字幕检索,使用生成新颖的字幕递归神经网络(RNN),通常是一个长期的短期记忆(LSTM)。典型地,这样的模型使用从诸如VGG CNN的预先训练的卷积神经网络(CNN)中提取的图像特征来将RNN偏向来自词汇表的采样项,使得这样的序列术语产生与图像相关的标题。

本文重点介绍第三个系统。这些模型的关键特性是CNN图像特征被用来调整最佳字幕的预测来描述图像。但是,这可以通过不同的方式完成,RNN的作用在很大程度上取决于CNN和RNN的组合方式。

RNNs被认为是“生成器”是相当经典的。例如,Bernardi等人(2016)提出“RNN经过培训可以产生下一个字[字幕]”,LeCun等人也表达了这一观点。在使用RNN作为生成语言模型方面也有类似的观点(Sutskever等,2011; Graves,2013)。然而,另一种观点是可能的,即RNN的作用主要被认为是编码序列,而不是直接产生它们。

这里写图片描述

通过注射进行调节意味着注射将图像转换为相同的RNN进程的话。

通过合并图像进行调节意味着合并在RNN的最终状态的图像处理完这个单词之后的“多模态层”。

注入和合并体系结构字幕生成。 RNN之前的状态正在进行进入RNN没有被显示。 图例:RNN - 复发神经网络; FF - 前馈层

这两个视图可以与神经标题生成器的不同体系结构相关联,我们将在下面讨论并在图1中进行说明。
在第一个结构的序列模型中,图像特征和单词特征一起作为注入进RNN。在这些模型中,很自然的将RNN视为图像字幕系统的主要生成器,以图像为条件进行预测。一个不同的架构是将语言和感知特征的编码分开,将它们合并到稍后的多模态层中,在这一点上进行预测(图1b)。在这种类型的模型中,RNN主要作为字嵌入序列的编码器,其视觉特征与后面的多模态层中的语言特征合并。这个多模态层是驱动生成过程的层,因为RNN从不看图像,因此不能直接指导生成过程。

虽然这两个结构的选择已经在文献中得到了证实,但据我们所知,它们的实现并没有经过系统的讨论和比较评估。接下来,我们首先讨论两种架构之间的区别(第二部分),然后介绍一些比较两者的实验(第三和第四部分)。我们的结论是,图像数据中的基本的语言生成最好在一个架构中进行,该架构首先将这两种模式分开编码,然后合并它们以预测字幕。

背景:神经标题生成架构

在一个神经语言模型中,一个RNN编码一个前缀(例如,到目前为止产生的标题),或者它本身在前馈层的帮助下预测序列中的下一个词,否则它将编码传递给下一个层次会做出预测本身。这个新词在下一次迭代中被添加到前缀中以预测另一个词,直到达到序列结尾符号。通常情况下,使用softmax函数根据词汇项目上的概率分布对其下一个单词进行预测,并根据它们的激活情况进行预测。这个过程如图2所示。

这里写图片描述

调节RNN预测图像标题的一种方法是将视觉和语言特征直接注入到RNN中,如图1a所示。我们称之为“注射调理”(或简称注射)。不同类型的注入架构
已经成为图像字幕的深度学习方法中最广泛的证明。给定由图像和标题组成的训练对,这些模型的RNN分量通过暴露于从标题中提取的增加长度的前缀而与图像一起训练。

另一种架构 - 我们称之为“通过合并调节”(图1b)仅将RNN作为一种“语言模型”来对不同长度的语言序列进行编码。随后由此编码产生的语言向量
与单独的多模式图层中的图像特征相结合。这相当于将RNN看作主要是语言信息的编码器。这种类型的体系结构在文献中也得到了证实,尽管程度不如注入体系结构。有限的几种方法也被提出,其中两种结构都被结合起来(Lu等,2016; Xu等,2015)。

请注意,这两种体系结构都与注意机制相容(Xu et al。,2015)。注入架构中注意力的作用是将图像的不同表示与每个单词相结合。在合并的情况下,可以组合图像的不同表示在每个预测之前具有最终的RNN状态。然而,注意力机制超出了目前的工作范围。

注入和合并体系结构之间的主要区别可以概括如下:注入模型中,RNN被训练为基于由语言和感知特征组成的历史来预测序列。因此,在这个模型中,RNN主要负责图像条件语言的生成。相比之下,在合并架构中,RNN实际上编码语言表示,其本身构成对多模式之后的预测阶段的输入层。只有在这个晚期才能使用图像特征来预测。因此,一个涉及通过注入调节的模型被训练成直接学习由图像数据调节的语言表示;合并体系结构保持两种表示之间的区别,但将它们在后面的层次中结合在一起。换言之,可以认为,在给定的时间步骤,合并架构通过将RNN编码到目前为止产生的字符串的前缀(生成过程的“过去”)与非语言信息(生成过程的指导)。另一方面,注入体系结构在使用前缀的每个词时都使用完整的图像特征培训,实际上是学习每个词的“视觉语言”表示。其中一个影响是图像特征可以用来进一步指定或消除单词的“含义”,通过消除相关单词的相关标记
具有不同的图像特征(如“起重机”,如鸟和建筑设备)。这意味着注射模型在训练期间学习更大的词汇量。

这两种体系结构在需要处理的参数数量上也有所不同。如上所述,由于注入体系结构在训练期间将图像与每个单词相结合,因此它有效地处理比合并更大的词汇。假设图像向量与单词嵌入向量(注入)或最终的RNN状态(合并)连接。然后,在注入体系结构中,RNN中权重的数量是字幕嵌入和图像的函数,而在合并中,只有嵌入字决定网络层的大小。

令e为嵌入字的大小,v为词汇大小,i为图像矢量大小,s为RNN的状态大小。在注入情况下,RNN中权重的数量为w α(e + i)×s,而合并时为w α e×s。由RNN在合并中处理的权重的较小数量在最终的 softmax 层处被较大数量的权重抵消,其必须以作为输入的RNN状态和具有大小 α(s + i)×v的图像作为输入。

这两种体系结构的系统比较将揭示RNNs在神经语言生成中作用的最佳方式。除了语言在视觉信息的基础上的理论含义外,这样的比较也具有实际意义。特别是,如果事实证明合并优于注入,这将意味着在RNN中编码的语言表示可以被预先训练并重新用于各种任务和/或图像字幕数据集,其中, 只有最后的前馈层需要进行特定于领域的训练,在这个训练中需要做出在感觉上对基础预测的调整。

我们在6.1节回到这一点。在下面的章节中,我们将介绍一些实验进行这样的比较。

实验

为了评估注入和合并架构的性能,从而评估RNN的作用,我们在Flickr8k(Hodosh et al。,2013)和Flickr30k(Young et al。,2014)图像字幕数据集上对其进行了评估对。为了这个目的,在这些实验中,我们使用了由Karpathy和Fei-Fei发布的数据集版本(2015)2。数据集拆分与Karpathy和Fei-Fei(2015)使用的相同:Flickr8k分为6000个图像进行训练,1000个进行验证,1,000个用于测试,而Flickr30k分为29,000个图像进行训练,1,014个图像用于验证,1,000个图像用于测试。两个数据集中的每个图像都有五个不同的标题。提取了4096个元素的图像特征向量,从预先训练的VGG CNN(Simonyan和Zisserman,2014)也可用于分布式数据集。我们将图像矢量归一化为单位,在预处理期间的长度。在频率低于阈值的令牌训练集被替换为“未知”标记。在我们的实验中,我们改变了 3 和 5 之间的门槛,以衡量每个模型的性能随着词汇大小的变化。对于 3,4,5 的阈值,Flickr8k 的词汇大小分别是 7,415,8275,9544 , Flickr30k 的词汇大小分别为 2,539, 2,918 和 3,478。

这里写图片描述

由于我们的目的是比较体系结构的性能,所以我们使用了“最好”的模型,超参数的数量最少。这意味着避免了通常为了达到最新性能(例如正则化)而引入的复杂性,因为很难确定超参数的哪个组合不会给一个体系结构带来不公平的优势。我们构建了一个基本的神经语言模型,它由一个词嵌入矩阵,一个基本的LSTM(Hochreiter and Schmidhuber,1997)和一个softmax层组成。 LSTM定义如下:

这里写图片描述

其中xn是第n个输入,sn是n个输入之后的隐藏状态,s0是全零矢量,cn是n个输入之后的单元状态,c0是全零矢量,in是n个输入之后的输入门, fn是n输入后的遗忘门,n是n输入后的输出门,n是n输入后的输入门,gn是n输入后用来计算cn的修改输入,Wαβ是α和β之间的权重矩阵, bα是α的偏向量,⊙是元向量乘法算子,sig是sigmoid函数。隐藏状态和单元状态总是具有相同的大小。

在实验中,这个基本的神经语言模型被用作两种不同的体系结构的一部分:在注入体系结构中,图像向量与字幕中的每个单词向量连接在一起。在合并架构中,它只与最终的LSTM状态相关联。为了测量增加网络容量的效果,嵌入,LSTM状态和投影图像矢量的层大小也在实验中变化。所使用的图层大小为128,256和512.实验中使用的架构细节如图3所示。
使用Adam优化算法(Kingma和Ba,2014)进行训练,使用默认的超参数和50个小批量的字幕。所使用的成本函数是和交叉熵。训练是在早期停止标准下进行的,一旦验证数据的性能开始变差(验证性能在每个培训时期后被测量),训练就会终止。使用Xavier初始化(Glorot和Bengio,2010)完成权重的初始化,并将偏差设置为零。
每个架构都经过三次不同的训练。下面报告的结果是这三个单独运行的平均值。

为了评估训练好的模型,我们使用波束宽度为3,截取的最大长度为20个字的波束搜索,为测试集中的图像生成标题。 MSCOCO评估代码3被用于通过使用标准评估指标BLEU-(1,2,3,4)(Papineni et al。,2002),METEOR(Banerjee and Lavie,2005)来评估标题的质量。 CEDER(Vedantam等,2015)和ROUGE-L(Lin和Och,2004)。我们还计算了可用字词类型词汇中实际使用的字词类型的百分比。这个测量表明每个架构如何利用它所训练的词汇。

用于实验的代码是用TensorFlow实现的,可以在线获得[4]。

结果

表1报告了所有MSCOCO措施的三次运行和词汇使用的平均值和标准偏差。由于重点是比较体系结构的影响,而不是达到最新的性能,所以我们不包括表中其他已发布系统的结果。
在所有的实验变量(数据集,词汇和图层大小)中,除了ROUGE-L和BLEU之外,合并结构的性能总体上优于目标结构(ROUGE-L是为评估文摘,而BLEU被批评为与人给出的分数缺乏相关性)。

在下文中,我们重点关注字幕质量的CIDEr测量,因为它是专门为字幕系统设计的。
虽然合并表现优于窄幅注资,但三次训练的低标准偏差表明,在列车测试运行中,这是一个持续的表现优势。无论如何,合并策略在注入图像特征方面显然没有缺点。

一个特点是Flickr8k上的结果比Flickr30k上的更好。这可能意味着Flickr8k字幕包含较少的变化,因此更容易执行。较大数据集MSCOCO(Lin等人,2014)(目前正在进行)的初步结果显示CIDEr结果超过0.7,这意味着与更大的MSCOCO相比,Flickr8k太容易或Flickr30k太难。

性能最好的模型在Flickr8k上合并为256的状态大小,并且在Flickr30k上合并状态大小为128,两者的最小令牌频率阈值均为3.注入模型倾向于随着状态的增加而改善,在两个数据集而合并表现与国家规模之间的关系则没有明显的趋势。

因此,即使在较大的数据集上,注入也不会随着状态大小的增加而过度适应。与此同时,如果注入的层数更大,注入似乎能够超越合并获得的最高分数。因此,实际上,注入模块必须具有更大的容量才能与合并相提并论。换句话说,合并对模型大小比率具有更高的性能,并更有效地利用有限的资源(即使模型大小是用参数数量而不是层大小来定义的,也能保持这种观察)。

给定相同的图层大小和词汇表,合并的参数数量大于注入的数量。随着体积的增加,差异变大。对于词汇大小为2,539和图层大小为512的合并,参数比注入大约多3%,而词汇大小为9,584,图层大小为512时,合并大约多20%的参数。但是,如果参数数量之间的差异很小,则上述有关过度和不足拟合的记录也适用。也就是说,性能差异至少部分是由于体系结构的差异,而不仅仅是参数数量的差异。
合并模型在测试字幕上使用更大比例的训练词汇。但是,对于两种体系结构,所用词汇的比例通常都很小:对于Flickr8k,低于16%,对于Flickr30k低于7%。总的来说,趋势是使用整体训练词汇的比例较小,因为词汇量越来越大,这表明神经语言模型更难以使用不经常的单词(根据定义,在更大的词汇量下词汇量更多) 。在实践中,这意味着减少训练词汇会导致最小的性能损失。
总体而言,有证据表明,延迟图像特征与语言编码的融合到后期的架构可能是有利的,至少就基于语料库的评估措施而言可能是有利的。此外,结果表明,合并架构比注入架构具有更高的容量,并且可以生成具有更小层的更好质量的字幕。

这里写图片描述

讨论

如果RNN的主要作用是产生标题,那么它将需要访问图像,以便知道要产生什么。这似乎并不是这种情况,因为将图像包含在RNN中通常不利于其作为字幕生成器的性能。
当将RNN视为编码的主要角色而不是生成时,与合并架构相比,注入架构通常会受到性能的影响。最可信的解释与处理变化有关。在图像字幕任务中再次考虑RNN的任务:在训练期间,字幕被分解为长度增加的前缀,每个前缀被压缩成一个固定大小的向量,如上面的图2所示。
在注入体系结构中,通过包含图像特征,编码任务变得更加复杂。事实上,在我们的实验中使用的注入版本 - 字幕生成文献中最常用的解决方案 - 图像特征与字幕中的每个单词连接在一起。结果是(a)要求将字幕前缀与图像数据一起压缩成一个固定大小的矢量,(b)RNN必须处理的词汇大小有相当大的增长,因为每个图像+字被处理作为一个单词“单词”。这个问题在合并中得到了缓解,RNN只对语言历史进行编码,而在softmax层中则以更多参数为代价。
这些研究结果的一个实际结果是,虽然合并模型可以处理更多层次的更小的数据,但增加融合架构中RNN的状态大小可能是相当有利的,因为整个状态将被用来记忆更大的变化之前生成的单词。相比之下,在注入体系结构中,这种内存的增加将被用来更好地适应两种截然不同的组合模式的信息。

结论

本文提出了RNN在图像字幕生成器中的作用的两种观点。首先,RNN根据以前生成的内容决定下一个最有可能产生的词。在多模式生成中,这种观点鼓励将图像与RNN结合在一起的体系结构,以及生成的单词,以便RNN进行视觉预测。
第二种观点认为,RNN的作用纯粹是以记忆为基础的,只是在那里编码迄今已经产生的单词的序列。这种表示通过RNN编码和感知特征的函数在网络的后一层通知标题预测。这种观点鼓励在视觉和语言在多模式层面上迟到的架构。

一般来说,当图像特征被注入到RNN中时,标题生成表现更差。因此,RNN的作用在语言表征的学习方面可以更好地设想出来,用来通知神经网络的后面几层,根据过去在图像中产生的信息进行预测那就是引导一代。如果RNN是主要参与制作标题的组成部分,那么就需要了解有关图像的信息,以便了解需要制作的内容;然而,这种推理似乎在应用于系统时损害了性能。这表明RNN并不是生成字幕发生器的主要组成部分。

简而言之,给定一个神经网络结构,期望处理来自多个模态的输入序列,达到联合表示,最好有一个单独的组件来编码每个输入,在晚期将它们集中在一起而不是通过单独的输入通道将它们全部传送到相同的RNN。关于语言如何应该以感性数据为基础的问题,这些实验所提供的试探性答案是,一旦编码已经被执行,代谢和感知之间的联系就应该建立得较晚。为此,循环神经网络最好视为学习表示,而不是生成序列。

未来的工作

这里报告的实验是在两个不同的数据集上进行的。一个令人担忧的问题是,Flickr8k和Flickr30k的结果并不完全一致,尽管合并对于注入的优势在两者中都很明显。我们正在将我们的实验扩展到更大的MSCOCO数据集(Lin et al。,2014)。

本文讨论的见解邀请未来研究合并架构在不同领域的普遍适用性。我们想调查一下结构上的类似变化是否可以在顺序到顺序的任务中起作用,比如机器翻译,而不是在图像上调节语言模型,而是在句子中调整目标语言模型源语言。在图像处理中出现类似的问题。如果CNN的条件是对某些类型的物体或复杂图像区域之间的显着差异更为敏感,是否应该在开始时纳入调节向量,从而调节整个CNN,还是更好而是将其纳入最后一层,其中显著性差异将基于高级视觉特征?

合并架构也有更多的实际优势,例如迁移学习。由于合并使得图像与RNN分离,所以用于字幕的RNN可以被认为是从已经在一般文本上训练的神经语言模型转移的。这不能用注入体系结构来完成,因为RNN需要经过训练才能在输入中结合图像和文本。在未来的工作中,我们打算沿着神经机器翻译的路线,想看到当RNN的权重从一般的神经语言模型初始化的时候,如何影响字幕生成器的性能,。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值