本文主要是介绍Show,Attend and Tell: Neural Image Caption Generation with Visual Attention,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简单的翻译阅读了一下
Abstract
受机器翻译和对象检测领域最新工作的启发,我们引入了一种基于注意力的模型,该模型可以自动学习描述图像的内容。我们描述了如何使用标准的反向传播技术,以确定性的方式训练模型,并通过最大化变分下界随机地训练模型。我们还通过可视化展示了模型如何能够自动学习将注视固定在显着对象上,同时在输出序列中生成相应的单词。我们通过三个基准数据集(Flickr9k,Flickr30k和MS COCO)的最新性能验证了注意力的使用。
1.Intraduction
为图像自动生成字幕是一项与场景理解的核心接近的任务,这是计算机视觉的主要目标之一。字幕生成模型不仅必须能够解决确定图像中存在哪些对象的计算机视觉挑战,而且它们还必须足够强大,以自然语言捕获和表达它们之间的关系。由于这个原因,字幕生成长期以来一直被视为一个难题。它相当于模仿人类将大量重要视觉信息压缩为描述性语言的非凡能力,因此对于机器学习和AI研究而言是一项重要的挑战。
尽管该任务具有艰巨的性质,但是在解决图像字幕生成问题方面,近来的研究兴趣激增。在深层神经网络训练(Krizhevsky等人,2012年)和大型分类数据集(Russakovsky等人,2014年)的帮助下,最近的工作显著提高了捕获生成的质量,使用非递归神经网络(convnets)的组合来获得图像的矢量表示,并使用递归神经网络将这些表示解码成自然语言句子(见第二节)。2).人类视觉系统最奇怪的方面之一是注意力的存在(伦斯克,2000;Corbetta & Shulman,2002)。注意力不是将整个图像压缩成静态表示,而是允许显著特征根据需要动态地出现在最前面。当图像中有很多杂波时,这一点尤其重要。使用表示(例如,来自卷积网络最上层的表示)将图像中的信息提取到最显着的对象是一种有效的解决方案,在以前的工作中已被广泛采用。不幸的是,这有一个潜在的缺点,即丢失可能对更丰富、更描述性的字幕有用的信息。使用较低级别的表示可以帮助保存这些信息。我们提出了两种变体:“硬”随机注意力机制和“软”确定性注意力机制。我们还展示了吸引注意力的一个优势是如何通过近似可视化模型“所见”而获得的见解。受到字幕生成的最新进展的鼓舞,以及受机器翻译(Bahdanau等,2014)和对象识别(Ba等,2014; Mnih等,2014)对象识别的最新成功的启发,我们研究了可以在生成标题时注意图像的显着部分。
这篇文章的主要贡献有如下几点:
- 我们在一个通用框架下介绍了俩个基于注意力机制的图片字幕生成器。(Sec. 3.1):1)可通过标准反向传播方法训练的“软”确定性注意力机制 2)一种“硬的”随机注意机制,可以通过最大化一个近似的变分下限来训练,或者等效地通过强化来训练(Williams,1992)。
- 我们通过可视化注意力关注在哪儿是什么来展示这个框架是如何获得洞察力和解释这个结果。
- 最后,最后,我们用最先进的性能(SEC)定量验证了注意在字幕生成中的有用性。5.3)基于三个基准数据集:Flickr8k(Hodosh等人,2013年)、Flickr30k(Y oung等人,2014年)和MS Coco数据集(Lin等人,2014年)。
2.Related Work
在这节我们展示了图像字幕生成和注意力在先前工作的相关背景。最近,一些模型被提出用于生成图像描述。这些模型很多都是基于最近的神经网络和受到了神经网络在机器翻译端到端成功训练的激励。机器翻译的编解码器框架(Cho等人,2014年)非常合适,因为它类似于将图像“翻译”成句子。
Kiros等人(2014a)提出了第一种神经网络适应生成方法,该方法使用了受图像特征影响的多模态对数双线性模型。Kiros等人(2014b)随后进行了这项工作,他们的方法被设计为明确地允许以一种自然的方式进行排名和生成。Mao等人(2014)使用了类似的生成方法,但用递归神经语言模型取代了前馈神经语言模型。Vinyals等人(2014)和Donahue等人(2014)在他们的模型中使用了基于长短期记忆(LSTM)单元的递归神经网络(RNN) (Hochreiter & Schmidhuber, 1997)。与Kiros等人(2014a)和Mao等人(2014)的模型在输出字序列的每个时间步都看到图像不同,Vinyals等人(2014)在开始时只向RNN显示图像。除了图像,Donahue et al.(2014)和Y ao et al.(2015)也将LSTMs应用于视频,允许他们的模型生成视频描述。这些作品大多以预先训练的卷积网络顶层的单个特征向量来表示图像。Karpathy&Li(2014)提议学习一种用于排名和生成的联合嵌入空间,该模型的学习方法是根据带有双向RNN输出的R-CNN对象检测对句子和图像相似性进行评分。fang等。 (2014)提出了一个三步流水线,通过结合对象检测来生成。他们的模型首先基于多实例学习框架为几种视觉概念学习检测器。然后,对字幕进行训练的语言模型应用于检测器输出,然后从联合imagetext嵌入空间重新评分。与这些模型不同,我们提出的注意框架并没有明确地使用物体探测器,而是从头开始学习潜在的对齐。这使得我们的模型超越了“客体性”,学会关注抽象概念
在使用神经网络生成字幕之前,有两种主要的方法占主导地位。第一个是根据目标检测和属性发现的结果生成标题模板(Kulkarni et al. (2013), Li et al. (2011), yang et al. (2011), Mitchell et al. (2012), Elliott & Keller(2013))。第二种方法是基于一个大型数据库中的firstretrievingsimilarcaptioneimages,然后修改这些检索到的标题以适应查询(Kuznetsova et al., 2012;2014)。这些方法通常涉及一个中间的“泛化”步骤,以删除只与检索到的图像相关的标题细节,例如城市的名称。从那以后,这两种方法都不再受到现在占主导地位的神经网络方法的青睐。这些方法通常涉及一个中间的“泛化”步骤,以删除只与检索到的图像相关的标题细节,例如城市的名称。从那以后,这两种方法都不再受到现在占主导地位的神经网络方法的青睐。之前已经有很多工作将注意力的概念融入到神经网络中。与我们的作品有着相同精神的作品包括Larochelle & Hinton (2010);Denil等人(2012);Tang等人(2014)以及最近的Gregor等人(2015)。特别是,我们的工作直接扩展了Bahdanau等人(2014)的工作;Mnih等人(2014);Ba等(2014);格雷夫斯(2013)。
3. Image Caption Generation with Attention Mechanism
3.1. Model Details 模型细节
在这节,我们首先描述他们的共同框架来描述了我们基于注意力机制的两个变体模型。关键的区别是我们在第4节中详细描述的φ函数的定义。本文模型的图解如图1所示。
我们用粗体表示向量,用大写字母表示矩阵。在我们下面的描述中,为了可读性,我们抑制了偏见术语。
3.1.1. ENCODER: CONVOLUTIONAL FEATURES
我们的模型取单个原始图像并生成一个标题y,它被编码为一个由1-of-K编码的单词序列。
其中K是词汇表的大小,C是标题的长度。
我们使用卷积神经网络来提取一组我们称之为标注向量的特征向量。提取器产生L向量,每一个向量都是对应于图像的一部分的d维表示
为了获得特征向量和部分二维图像之间的对应关系,我们从较低的卷积层提取特征,而不像以前的工作那样使用完全连接的层。这允许解码器通过对所有特征向量的子集加权,有选择地聚焦于图像的某些部分。
3.1.2. DECODER: LONG SHORT-TERM MEMORY
NETWORK
我们使用了一个长短期记忆(LSTM)网络(Hochreiter & Schmidhuber, 1997),该网络在每个时间步骤上根据上下文向量、之前的隐藏状态和之前生成的单词生成一个单词,从而产生一个标题。我们的LSTMs实现如图2所示,与Zaremba等人(2014)使用的LSTMs非常相似:
这里,it、ft、ct、ot、ht分别是LSTM的输入、遗忘、记忆、输出和隐藏状态。•W•U, Z•b•是学习的权重矩阵和偏差。E∈Rm×Kis是一个嵌入矩阵。设m和n分别表示嵌入维数和LSTM维数,σ为logistic sigmoid激活。
图二
简单地说,上下文向量ˆztis是时间t的图像输入的相关部分的动态表示。我们定义了一个机制φ,从注释向量ai, i = 1,…, L对应于图像不同位置提取的特征。我为每一个位置,生成机制积极重量α我位置的概率可以被解释为我是正确的地方集中生产下一个单词(随机注意机制),或位置的相对重要性给我一起混合人工智能的(确定的注意机制)。每个注释向量的权α iis由注意模型fatt计算,我们使用基于前一个隐藏状态ht−1的多层感知器。为了强调,我们注意到隐藏状态随着输出RNN在其输出序列中前进而变化:网络下一步看“哪里”取决于已经生成的单词序列。
一旦权重(总和为1)被计算,上下文向量ˆztis将被计算
其中φ是一个函数,给定带有注释向量及其相应权值,返回单个向量。φ函数的细节将在第4节讨论。
LSTM的初始内存状态和隐藏状态是通过两个单独mlp (init,c和init,h)输入的注释向量的平均值来预测的:
在这项工作中,我们使用了一个深度输出层(Pascanu et al., 2014)来计算输出词概率。它的输入是来自图像(上下文向量)、先前生成的单词和解码器状态(ht)的提示。
其中Lo∈RK×m, Lh∈Rm×n, Lz∈Rm×D, E是随机初始化的学习参数。
4. Learning Stochastic “Hard” vs Deterministic “Soft” Attention 学习随机“硬”注意力vs确定性“软”注意力
在本节中,我们将讨论注意模型fatt的两种替代机制:随机注意和确定性注意。
4.1. Stochastic “Hard” Attention
我们表示位置变量stas,当生成第t个单词时,模型决定在此集中注意力。如果第i个位置(L之外)是用于提取视觉特征的位置,则将其设置为1。通过将注意位置视为中间潜变量,我们可以指定一个由{αi}参数化的多鲁利分布,并将ˆzt视为随机变量:
我们定义了一个新的目标函数Ls,它是观察给定图像特征a的单词序列y的边际对数似然logp(y|a)上的变分下界。类似于创成式深度创成式建模中的工作(Kingma & Welling,2014;Rezende等人,2014),模型参数W的学习算法可以通过直接优化得到。
跟随它的梯度:
我们用蒙特卡罗方法来近似这个梯度
其中˜sn=(sn 1,sn 2,.。。。)。是一系列采样的注意位置。我们从由公式定义的多项式分布中抽样位置snt。(3):
我们用移动平均基线技术降低了这个估计量的方差。在看到第k个小批次后,移动平均基线被估计为具有指数衰减的先前对数概率的累加和:
为了进一步降低估计方差,将多项式分布的熵H[s]的梯度加到Eq的RHS上。(7)。然后,模型的最终学习规则是
其中,λ和λ是通过交叉验证设置的两个超参数。正如Ba等人(2014)和Mnih等人(2014)所指出和使用的,这个公式等价于REFERENCE学习规则(Williams,1992),其中对选择一系列动作的注意力的奖励是与目标句子在采样的注意力轨迹下的对数似然性成比例的实值。为了进一步提高这种学习规则的鲁棒性,对于给定的图像,在概率为0.5的情况下,我们将采样的注意力位置\\ s设置为其期望值α(相当于Sec中的确定性注意力。4.2).通过对注意力权重进行上采样和平滑处理获得的粗略可视化效果。(上)“软”和(下)“硬”注意(注意,在这个例子中,两个模型生成了相同的标题)。
学习随机注意需要定期对注意位置进行采样,取而代之的是我们可以直接获取上下文向量的期望值,并通过计算Bahdanau等人提出的软注意加权注释向量φ({ai},{αI })= PL Iαiaiaias来公式化确定性注意模型。这对应于将软α加权上下文馈入系统。整个模型在确定性注意下是平滑的和可微的,因此端到端的学习在标准的反向传播下是微不足道的。
学习确定性注意也可以理解为近似优化方程中的边际似然。(5)在注意位置随机变量st来自Sec的情况下。4.1.LSTM的隐藏激活是随机上下文向量ˆZT的线性投影,随后是TANH非线性。对于一阶泰勒近似,期望值Ep(st|a)[ht]等同于利用期望上下文向量Ep(st|a)[ˆzt]使用单个正向计算来计算ht.让我们用Nt表示,ias n在等式中。(2)ˆztset为ai。然后,我们可以将第k个词预测的Softmax的归一化加权几何平均值(NWGM)写为
这意味着可以通过使用预期上下文向量E[ˆzt]而不是采样的上下文向量ai来很好地近似单词预测的NWGM。此外,根据Baldi&Sadowski(2014)的结果,方程中的NWGM。(9)可以通过一次前馈计算来计算,它近似于由随机变量st引起的所有可能的注意位置上的输出的期望E[p(yt=k|a)]。这表明所提出的确定性注意模型在所有可能的注意位置上近似最大化了边际似然。
4.2.1. DOUBLY STOCHASTIC ATTENTION
在我们的模型的确定性版本的训练中,我们引入了一种双重随机正则化的形式,它鼓励模型对图像的每个部分给予同等的关注。尽管每个时间点的注意力通过构造加起来为1(即P iαti=1),但是注意力P iαtii不受任何方式的限制。这使得解码器可以忽略输入图像的某些部分。为了缓解这一问题,我们鼓励使用Ptαti≈τWhereτ≥L.D.在我们的实验中,我们观察到这种惩罚在数量上提高了整体性能,并且定性地导致了更具描述性的字幕。另外,软注意模型在每个时间步t预测来自先前隐藏状态htβ1的门控标量−,使得φ({ai},{αi})=βPL iαiAi,其中βt=σ(fβ(ht−1))。该门控变量让解码器决定在每个时间步是更强调语言建模还是更强调上下文。定性地,我们观察到选通变量大于解码器描述图像中的对象。通过最小化以下惩罚的负对数似然率来端到端地训练软注意力模型:
其中我们简单地将τ固定为1
4.3. Training Procedure
我们的注意力模型的两个变体都是使用自适应学习率的随机梯度下降来训练的。对于Flickr8k数据集,我们发现RMSProp(Tieleman&Hinton,2012)效果最好,而对于Flickr30k/MS Coco数据集,我们发现最近提出的Adam算法(Kingma&Ba,2014)相当有效。
为了创建解码器使用的注释,我们使用在ImageNet上预训练的VGGnet网络进行微调。在我们的实验中,我们使用了最大合并前的第四卷积层的14×14×512特征图。这意味着我们的解码器工作在平坦的196×512(即L×D)编码上。然而,原则上可以使用任何编码函数。此外,有了足够的数据,编码器还可以与模型的其余部分一起从头开始训练(或微调)。
由于我们的实现需要与每次更新最长句子的长度成比例的时间,我们发现对随机一组标题进行训练在计算上是浪费的。为了缓解这个问题,在预处理中,我们建立了一个字典,将一个句子的长度映射到相应的字幕子集。然后,在训练期间,我们随机抽样一个长度,并检索该长度的大小为64的小批量。我们发现,这大大提高了收敛速度,而性能没有明显下降。在我们最大的数据集(MS COCO)上,我们的软注意力模型在NVIDIA Titan Black GPU上花了不到3天的时间来训练。
除了dropout (Srivastava et al., 2014),我们使用的唯一的其他正规则策略是在BLEU得分时提前停止。在我们的实验中,在训练的后期阶段,我们观察到验证集对数似然和BLEU之间的相关性出现了故障。由于BLEU是最常被报道的指标,我们在模型选择的验证集中使用了BLEU。在我们的软注意实验中,我们使用了Whetlab1(Snoek et al., 2012;在我们的Flickr8k实验中。我们从它所探索的超参数区域中获得的一些直觉在我们的Flickr30k和COCO实验中尤为重要。我们公开了这些模型的代码,以鼓励未来在这一领域的研究。
5. Experiments
我们描述了我们的实验方法和定量结果,验证了我们的模型在字幕生成中的有效性。
5.1. Data
我们报告关于广泛使用的Flickr8k和Flickr30k数据集以及最近引入的MS COCO数据集的结果。Flickr8k/30k数据集中的每张图像都有5个参考字幕。在对我们的COCO数据集进行预处理时,我们通过丢弃超过5个的标题来保持我们数据集之间相同数量的引用。我们只将基本的标记化应用于MS COCO,以便它与Flickr8k和Flickr30k中存在的标记化一致。在我们所有的实验中,我们使用的词汇量都是固定的10000。
我们基于注意力的架构的结果报告在表1中。我们用常用的BLEU度量作为图像标题生成的标准来报告研究结果。我们报告BLEU4从1到4,没有简短的处罚。然而,一直有人批评BLEU,所以我们报道了另一颗常见的公制流星(Denkowski&Lavie,2014年),并尽可能地进行比较。
5.2. Evaluation Procedures
比较时存在一些挑战,我们在这里对此进行解释。第一个挑战是卷积特征提取器的选择不同。对于相同的解码器架构,使用较新的架构,如GoogLeNet(Szegedy等人,2014)或Oxford VGG(Simonyan&Zisserman,2014)可以比使用AlexNet(Krizhevsky等人,2012)提升性能。在我们的评估中,我们只与使用GoogLeNet/Oxford VGG可比功能的结果进行直接比较,但对于流星比较,我们包括一些使用AlexNet的结果。第二个挑战是单一模型与整体模型的比较。虽然其他方法已经报告了通过使用集成来提高性能,但在我们的结果中,我们报告了单个模型的性能。
最后,由于数据集拆分之间的差异,存在一个挑战。在我们报告的结果中,我们使用了Flickr8k的预定义分裂。然而,对于Flickr30k和Coco数据集,缺乏报告结果的标准化拆分。因此,我们使用以前使用的公开可用的拆分5来报告实验结果。然而,我们注意到,拆分的差异并不会对整体表现产生实质性影响。
5.3 Quantitative Analysis
在表1中,我们提供了验证注意数量有效性的实验总结。我们在Flickr8k、Flickr30k和MS Coco上获得了最先进的性能。此外,我们注意到,在我们的实验中,我们能够显著提高MS Coco上最先进的流星性能。我们推测这与我们使用的一些正则化技术有关(参见SEC。4.2.1)和我们较低级别的代表。
5.4.定性分析:
通过将模型学习到的注意力可视化来学习参与,我们能够为模型的输出增加一层额外的可解释性(参见图1)。其他已经做到了这一点的系统依赖于物体检测系统来产生候选对准目标(Karpy&Li,2014)。我们的方法更加灵活,因为该模型可以关注“非对象”的显著区域。19层OxfordNet使用3x3过滤器堆栈,这意味着功能地图的大小唯一减小的时候是由于最大的池层。调整输入图像的大小,使最短的边是256维的,并保留纵横比。卷积网络的输入是中央裁剪的224x224图像。因此,对于四个最大汇聚层,我们得到顶卷积层的输出尺寸为14x14。因此,为了可视化软模型的注意力权重,我们将权重上采样24=16倍,并应用高斯过滤器以模仿较大的接受场大小。
正如我们在图3和图4中看到的,模型学习的排列非常符合人类的直觉。特别是从图5中的错误例子中,我们可以看到,利用这种可视化来获得关于为什么会犯这些错误的直觉是可能的。我们提供了一个更广泛的可视化列表,作为读者的补充材料。
6. Conclusion
们提出了一种基于注意力的方法,在使用BLEU和流星度量的三个基准数据集上给出了最新的性能。我们还展示了如何利用学习的注意力来给模型生成过程提供更多的解释性,并证明学习的比对非常符合人类的直觉。我们希望这篇论文的研究结果能对未来利用视觉注意的研究有所启发。我们还期待编解码器方法的模块性与关注度相结合,在其他领域有有用的应用。作者要感谢Theano的开发者(Bergstra等人,2010年;Bastien等人,2012年)。我们感谢以下组织对研究资助和计算支持的支持:NSERC、三星、NVIDIA、魁北克计算、加拿大计算、加拿大研究主席和CIFAR。作者还想感谢Niish Sriastava在他的ConvNet软件包方面的帮助,以及牛津卷积网络的准备和Relu Patrascu的帮助,他们帮助解决了许多与基础设施相关的问题。
这篇关于Show,Attend and Tell: Neural Image Caption Generation with Visual Attention的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!