深度学习神经网络学习笔记-多模态方向-08-Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answ

摘要

自顶向下的视觉注意机制已广泛应用于图像字幕和视觉问答(VQA)中,通过细粒度分析甚至多步推理,实现更深层次的图像理解。在这项工作中,我们提出了一种自下而上和自上而下相结合的注意机制,使注意力能够在物体和其他突出图像区域的层面上进行计算。这是需要考虑的注意力的自然基础。在我们的方法中,自下而上的机制(基于Faster R-CNN)提出图像区域,每个区域都有一个相关的特征向量,而自上而下的机制决定特征权重。将这种方法应用于图像字幕,我们在MSCOCO测试服务器上的结果为该任务建立了一个新的最先进的技术,分别实现了CIDEr / SPICE / BLEU-4分数117.9、21.5和36.9。展示了该方法的广泛适用性,将相同的方法应用于VQA,我们在2017年VQA挑战赛中获得了第一名。

介绍

结合图像和语言理解的问题,如图像字幕[4]和视觉问答(VQA)[12],继续在计算机视觉和自然语言处理的边界上激发大量的研究。在这两个任务中,通常都需要执行一些细粒度的视觉处理,甚至是多个推理步骤来生成高质量的输出。因此,视觉注意机制在图像字幕[34,27,48,46]和VQA[11, 28, 45,47, 51]中都得到了广泛的采用。这些机制通过学习关注图像中突出的区域来提高性能,这些区域目前基于深度神经网络架构。

在这里插入图片描述
在人类视觉系统中,注意力可以通过由当前任务决定的自上而下的信号(例如,寻找某物)来有意识地集中,也可以通过与意外的、新颖的或显著的刺激相关的自下而上的信号来自动集中[3,6]。在本文中,我们采用类似的术语,将由非视觉或任务特定上下文驱动的注意机制称为“自上而下”,将纯视觉前馈注意机制称为“自下而上”。
在图像字幕和VQA中使用的大多数传统视觉注意机制都是自上而下的。将部分完成的字幕输出的表示或与图像相关的问题作为上下文,这些机制通常被训练为选择性地关注卷积神经网络(CNN)的一个或多个层的输出。然而,这种方法很少考虑如何确定需要关注的图像区域。如图1概念上所示,结果

不管图像的内容是什么,输入区域都对应于大小和形状相同的神经接受区组成的统一网格。为了生成更像人类的字幕和问题答案,物体和其他突出的图像区域是一个更自然的注意力基础[10,36]。
在本文中,我们提出了一种自下而上和自上而下相结合的视觉注意机制。自下而上的机制提出了一组显著图像区域,每个区域由一个汇集的卷积特征向量表示。实际上,我们使用Faster R-CNN[33]实现了自下而上的注意,它代表了自下而上注意机制的自然表达。自上而下的机制使用特定于任务的上下文来预测图像区域上的注意力分布。然后将被关注的特征向量计算为所有区域上图像特征的加权平均值。
我们评估结合自下而上和自上而下的注意力对两个任务的影响。我们首先提出了一个图像字幕模型,该模型在字幕生成过程中对显著图像区域进行多次瞥见。从经验上看,我们发现包含自下而上的注意力对图像字幕有显著的积极好处。我们在MSCOCO测试服务器上的结果为该任务建立了一个新的状态,实现了CIDEr / SPICE / BLEU-4分数分别为117.9、21.5和36.9。分别(优于当时所有已发表和未发表的作品)。为了证明该方法的广泛适用性,我们另外提出了一个使用相同自下而上注意力特征的VQA模型。使用这个模型,我们在2017年的VQA挑战赛中获得了第一名,在VQA v2.0测试标准服务器上实现了70.3%的总体准确率。代码、模型和预先计算的图像特征可从项目网站1获得。

相关工作

大量基于注意力的深度神经网络已经被提出用于图像字幕和VQA。通常,这些模型可以被描述为自上而下的方法,在图像字幕的情况下,由部分完成的字幕的表示提供上下文[34,27,48,46],或者在VQA的情况下,由问题的表示提供上下文[11,28,45,47,51]。在每种情况下,通过预测CNN输出中每个空间位置的权重,将注意力应用于CNN的一个或多个层的输出。然而,确定图像区域的最优数量总是需要在粗糙和精细的细节水平之间进行不可避免的权衡。此外,区域相对于图像内容的任意定位可能会使检测与区域对齐不良的对象以及绑定与同一对象相关的视觉概念变得更加困难。

相对而言,很少有先前的作品考虑ap-关注突出的图像区域。我们注意到两篇论文。Jin等人[18]使用选择性搜索[42]来识别显著的图像区域,然后用分类器对其进行过滤,然后调整大小并进行cnn编码,作为带有注意力的图像字幕模型的输入。area of Attention字幕模型[30]使用边缘框[52]或空间变压器网络[17]来生成图像特征,这些特征使用基于三个双线性成对交互的注意力模型进行处理[30]。在这项工作中,我们没有使用手工制作或可微分的区域建议[42,52,17],而是利用Faster R-CNN[33],在视觉和语言任务与最近的目标检测进展之间建立了更紧密的联系。通过这种方法,我们能够在目标检测数据集上预训练我们的区域建议。从概念上讲,其优势应该类似于在Ima- geNet[35]上预训练视觉表示,并利用更大的跨领域知识。我们还将我们的方法应用于VQA,建立了我们方法的广泛适用性。

方法

给定图像I,我们的图像字幕模型和我们的VQA模型都将k个图像特征的集合作为输入,V = {V1,…, vk}, vi ∈RD,使得每个图像特征编码图像的一个显著区域。空间图像特征V可以被不同地定义为我们自下而上的注意力模型的输出,或者按照标准的做法,作为CNN的空间输出层。我们在3.1节中描述了我们实现自下而上注意力模型的方法。在3.2节中,我们概述了我们的图像字幕模型的架构,在3.3节中,我们概述了我们的VQA模型。我们注意到,对于自上而下的注意力组件,两个模型都使用简单的一次注意机制,而不是最近模型中更复杂的方案,如堆叠、多头或双向注意[47,16,20,28],这些也可以应用。

自下而上的注意模型

空间图像特征V的定义是通用的。然而,在这项工作中,我们根据边界框定义空间区域,并使用Faster R-CNN实现自下而上的关注[33]。Faster R-CNN是一种对象检测模型,旨在识别属于特定类别的对象实例,并使用边界框对其进行定位。其他区域提议网络也可以作为一种关注机制进行训练[32,25]。
更快的R-CNN分两个阶段检测对象。第一阶段被描述为区域提议网络(RPN),预测目标提议。在CNN的中间级别滑动一个小网络的特征。在每个空间位置,该网络预测一个与类别无关的物体得分,并对多个尺度和宽高比的锚盒进行边界盒细化。使用贪心非最大值
在这里插入图片描述
使用交叉-过并(IoU)阈值进行抑制,选择顶部的框建议作为第二阶段的输入。在第二阶段,使用感兴趣区域(RoI)池化来为每个盒子提案提取一个小的特征图(例如14×14)。然后这些特征图被批处理在一起,作为CNN最终层的输入。模型的最终输出由类标签上的softmax分布和每个盒子提案的特定于类的边界盒细化组成。
在这项工作中,我们将Faster R-CNN与ResNet-101 [13] CNN结合使用。为了生成用于图像字幕或VQA的图像特征V的输出集,我们采用模型的最终输出,并使用IoU阈值对每个对象类执行非最大抑制。然后我们选择任何类检测概率超过置信度阈值的所有区域。对于每个选择的区域

区域i, visi 定义为该区域的均值池卷积特征,使得图像特征向量的维数D为2048。以这种方式使用,Faster R-CNN有效地发挥了“硬”注意机制的作用,因为从大量可能的配置中只选择了相对较少数量的图像边界盒特征。
为了预训练自下而上的注意力模型,我们首先使用在ImageNet上预训练的ResNet-101初始化Faster R-CNN[35]。然后我们在Visual Genome[21]数据上进行训练。为了帮助学习好的特征表示,我们添加了一个额外的训练输出来预测属性类别(除了对象类别)。为了预测区域i的属性,我们将平均池化卷积特征i v与ground-truth对象类的学习嵌入连接起来,并将其馈送到一个额外的输出层,该输出层定义了每个属性类上的softmax分布以及一个“无属性”类。
原始的Faster R-CNN多任务损失函数包含四个组件,分别在RPN和最终对象类建议的分类和边界盒回归输出上定义。我们保留了这些分量,并添加了一个额外的多类损失分量来训练属性预测器。在图2中,我们提供了一些模型输出的例子。

字幕模型

给定一组图像特征V,我们提出的字幕模型使用“软”自上而下的注意力机制,在字幕生成过程中对每个特征进行加权,使用现有的部分输出序列作为上下文。这种方法与之前的几项工作大致相似[34,27,46]。然而,下面概述的特定设计选择使得一个相对简单但高性能的基线模型。即使没有自下而上的关注,我们的字幕模型在大多数评估指标上也实现了与最先进的性能相当的性能(参见表1)。
在高层次上,字幕模型使用标准实现[9]由两个LSTM[15]层组成。在接下来的章节中,我们将使用以下表示法来参考LSTM在单个时间步长的操作:
在这里插入图片描述
其中xt 为LSTM输入向量,hist 为LSTM输出向量。在这里,为了符号方便,我们忽略了存储单元的传播。现在,我们描述了模型每一层的LSTM输入向量xandt t 输出向量h的公式。整体的字幕模型如图3所示。

自上而下的注意力LSTM

在字幕模型中,我们将第一个LSTM层描述为自上而下的视觉注意模型,并且第二个LSTM层作为语言模型,在后面的方程中用上标表示每一层。请注意,自底向上的注意力模型在第3.1节中进行了描述,在本节中,它的输出被简单地视为特征V。在每个时间步,注意力LSTM的输入向量由语言LSTM之前的输出组成,与平均池化的图像特征v¯=k1P v和之前i i的编码相连接
生成的词,由:

在这里插入图片描述
其中We∈rex|Σ|是词汇表Σ的词嵌入矩阵,Πis是输入词在时间步长t时的one-hott 编码。这些输入分别为注意力LSTM提供了关于语言LSTM状态的最大上下文,图像的整体内容,以及到目前为止生成的部分标题输出。单词嵌入是在没有预训练的情况下从随机初始化中学习的给定注意力LSTM的输出1t ,在每个时间步t,我们为k个图像特征中的每一个生成一个归一化的注意力权重i,t α,如下所i 示:
在这里插入图片描述
其中,Wva∈RH×V,Wha∈RH×M, wa∈RH为学习参数。作为语言LSTM输入的出席图像特征被计算为所有输入特征的凸组合:
在这里插入图片描述

语言LSTM

语言模型LSTM的输入由被关注的图像特征组成,与注意力LSTM的输出相连接,给出如下:

在这里插入图片描述
使用符号y1:T 来指代单词序列(y1,…), yT ),在每个时间步t上,可能输出单词的条件分布为
在这里插入图片描述
其中,Wp∈R|Σ|×M, bp∈R|Σ|是习得的权重和偏差。完整输出序列上的分布被计算为条件分布——分布的乘积:
在这里插入图片描述
在这里插入图片描述
图3。提出的字幕模型概述。两个LSTM层被用来选择性地关注空间图像特征{v1,…vk}。这些特征可以定义为CNN的空间输出,或者按照我们的方法,使用自下而上的注意力生成。

客观

给定一个目标地面真值序列1:T∗ y和一个参数为θ的字幕模型,我们最小化以下交叉熵损失:
在这里插入图片描述
为了与最近的工作[34]进行公平比较,我们还报道了针对CIDEr[43]进行优化的结果。从交叉熵训练模型初始化,我们寻求最小化负期望分数:
在这里插入图片描述
其中r为分数函数(如CIDEr)。按照自临界序列训练34的方法,这种损失的梯度可以近似地表示为:

在这里插入图片描述
其中y1:Ts是一个采样的标题,r(y1:T)定义了通过贪婪解码当前模型获得的基线分数。SCST(与其他强化[44]算法一样)在训练期间通过从策略中采样来探索标题的空间。这种梯度倾向于增加采样字幕得分高于当前模型得分的概率。
在我们的实验中,我们遵循SCST,但我们通过限制采样分布来加快训练过程。使用波束搜索解码,我们只从解码波束中的那些标题中采样。经验上,我们在使用波束搜索解码时观察到,所得到的波束通常至少包含一个非常高分的标题——尽管这个标题经常没有集合的最高对数概率。相比之下,我们观察到很少有无限制的标题样本得分高于贪婪解码的标题。使用这种方法,我们在单个历元内完成了CIDEr优化。
在这里插入图片描述
图4。提出的VQA模型概述。深度神经网络实现了问题和图像特征{v1,…, vk}。这些特征可以定义为CNN的空间输出,或者按照我们的方法,使用自下而上的注意力生成。输出是由一个多标签分类器在一组固定的候选答案上操作生成的。灰色数字表示层与层之间向量表示的维度。黄色元素使用学习参数。

酒瓶模型

给定一组空间图像特征V,我们提出的VQA模型还使用“软”自上而下的注意机制来加权每个特征,使用问题表示作为上下文。如图4所示,所提出的模型实现了众所周知的问题和图像的联合多模态嵌入,然后对一组候选答案的分数进行回归预测。这种方法已经成为许多先前模型的基础[16,20,39]。然而,与我们的字幕模型一样,实现决策对于确保这个相对简单的模型提供高性能非常重要。
学习到的网络内的非线性变换是通过门控双曲正切激活来实现的[7]。这是高速公路网的一个特例[37],它比传统的ReLU或tanh层显示出强大的经验优势。我们的每一个“门控tanh”层都实现了一个函数fa : x∈n Rm →y∈R,参数a = {W0, W, b0, b}定义如下:
在这里插入图片描述
其中σ是sigmoid激活函数,W, W 0∈Rn×m是学习到的权重,b, b∈Rare0 学习到的偏差n ,◦是Hadamard (element-wise)乘积。向量g相乘地充当中间激活函数y ~上的门。
我们提出的方法首先将每个问题编码为门控循环单元5的隐藏状态q,每个输入词使用学习词嵌入表示。与公式3类似,给定GRU的输出q,我们为每个问题生成一个非标准化的注意力权重i k个图像特征vasi 如下:
在这里插入图片描述
其中wTa是一个学习参数向量。使用公式4和式5(忽略下标t)计算归一化的关注权值和被关注的图像特征v↓。可能输出响应y上的分布由下式给出:
在这里插入图片描述
其中h为问题和图像的联合表示,Wo∈R|Σ|×M为习得权值。
由于篇幅限制,我们的VQA方法的一些重要方面不在这里详细介绍。有关VQA模型的全部细节,包括对架构和超参数的详细探索,请参阅Teney等人[38]。

评价

数据集

可视化基因组数据集

我们使用Visual Genome[21]数据集来预训练自下而上的注意力模型,并在训练我们的VQA模型时进行数据增强。该数据集包含108K图像,密集标注了包含对象、属性和关系的场景图,以及1.7M视觉问题答案。
对于自下而上的注意力模型的预训练,我们只使用对象和属性数据。我们保留5K图像用于验证,5K图像用于未来的测试,将剩余的98K图像视为训练数据。由于在MSCOCO字幕数据集中也发现了大约51K的视觉基因组图像[23],我们小心地避免了我们的MSCOCO验证和测试集的污染。我们确保在两个数据集中发现的任何图像都包含在两个数据集中的相同分割中。
在这里插入图片描述
由于对象和属性注释由自由注释的字符串组成,而不是类,我们对训练数据进行了广泛的清理和过滤。从2000个对象类和500个属性类开始,我们手动移除在初始实验中表现出较差检测性能的抽象类。我们最终的训练集包含了1600个对象类和400个属性类。请注意,我们没有合并或删除重叠的类(例如“人”、“人”、“家伙”)、同时具有单数和复数版本的类(例如“树”、“树”)和难以精确定位的类(例如“天空”、“草”、“建筑物”)。
在训练VQA模型时,我们使用Visual Genome问题和答案对增强VQA v2.0训练数据,前提是正确答案存在于模型的答案词汇表中。这代表了大约30%的可用数据,或485K个问题。

微软COCO数据集

为了评估我们提出的字幕模型,我们使用了MSCOCO 2014字幕数据集[23]。为了验证模型超参数和离线测试,我们使用了“Karpathy”分割[19],该分割在之前的工作中被广泛用于报告结果。这个分割包含113287张训练图像,每张图像有5个标题,分别有5K张图像用于验证和测试。我们的MSCOCO测试服务器提交是在整个MSCOCO 2014训练和验证集(123K图像)上进行训练的。
我们遵循标准实践,只执行最小的文本预处理,将所有句子转换为小写,对空白进行标记,并过滤不进行标记的单词

至少出现五次,得到10,010个单词的模型词汇表。为了评估标题质量,我们使用标准的自动评估指标,即SPICE[1]、CIDEr[43]、METEOR[8]、ROUGE-L[22]和BLEU[29]。

VQA v2.0数据集

为了评估我们提出的VQA模型,我们使用了最近引入的VQA v2.0数据集[12],该数据集试图通过平衡每个问题的答案来最小化学习数据集先验的有效性。该数据集被用作2017年VQA挑战2的基础,包含与MSCOCO图像相关的110万个问题和110万个答案。
我们执行标准的问题文本预处理和标记化。为了提高计算效率,问题被裁剪到最多14个单词。候选答案集被限制为训练集中出现8次以上的正确答案,导致输出词汇量为3129。我们的VQA测试服务器提交是在训练集和验证集以及来自Visual Genome的额外问题和答案上进行训练的。为了评估答案质量,我们使用标准VQA度量[2]报告准确性,该度量考虑了注释者之间对基本真实答案的偶尔分歧。

ResNet baseline

为了量化自下而上注意力的影响,在我们的字幕和VQA实验中,我们都评估了我们的全部
在这里插入图片描述
模型(Up-Down)与先前的工作以及消融的基线相对照。在每种情况下,基线(ResNet)都使用在ImageNet[35]上预训练的ResNet [13] CNN对每个图像进行编码,以代替自下而上的注意力机制。
在图像标注实验中,与之前的工作[34]类似,我们使用Resnet-101的最终卷积层对全尺寸输入图像进行编码,并使用双线性插值将输出大小调整为10×10的固定大小的空间表示。这相当于我们完整模型中使用的空间区域的最大数量。在VQA实验中,我们使用ResNet-200对调整大小的输入图像进行编码[14]。在单独的实验中,我们使用评估将空间输出的大小从其原始大小14×14改变为7×7(使用双线性插值)和1×1(即,不加注意的平均池化)的效果。

图片字幕结果

在表1中,我们报告了与现有最先进的自临界序列训练34 ap-相比,我们的完整模型和ResNet基线的性能

方法在Karpathy分裂的测试部分上的表现。为了公平比较,报告了使用标准交叉熵损失训练的模型和针对CIDEr分数优化的模型的结果。请注意,SCST方法使用完整图像的ResNet- 101编码,类似于我们的ResNet基线。所有的结果都是针对单一模型报告的,没有对输入ResNet / R-CNN模型进行微调。然而,SCST结果是从四个随机初始化中的最佳结果中选择的,而我们的结果是单个初始化的结果。
相对于SCST模型,我们的ResNet基线在交叉熵损失下的性能略好,而在针对CIDEr分数进行优化时的性能略差。在纳入自下而上的注意力之后,我们的完整Up-Down模型无论使用交叉熵损失还是CIDEr优化,都在所有指标上显示出显着的改进。仅使用单个模型,我们就获得了Karpathy测试分裂的最佳报告结果。如表2所示,自下而上注意力的贡献具有广泛的基础,在
在这里插入图片描述
在识别对象、对象属性以及对象之间的关系方面。
表3报告了在官方MSCOCO评估服务器上使用CIDEr优化训练的4个集成模型的性能,以及之前公布的最高排名结果。在提交时(2017年7月18日),我们在所有报告的评估指标上都优于所有其他测试服务器提交的结果。

结果

在表4中,我们报告了相对于VQA v2.0验证集上的几个ResNet基线,我们的完整Up-Down VQA模型的单个模型性能。添加自下而上的注意力在所有问题类型上提供了比最佳ResNet基线的显着改进,即使ResNet基线使用了大约两倍的卷积层。表5报告了30个集成模型在官方VQA 2.0测试标准评估服务器上的性能,以及之前发布的基线结果和排名最高的其他条目。在提交时(2017年8月8日),我们的表现优于所有其他提交的测试服务器。我们的提交作品还在2017年VQA挑战赛中获得了第一名。

在这里插入图片描述

定性分析

为了帮助定性地评估我们的注意力方法,在图5中,我们将Up-Down字幕模型生成的不同单词的参与图像区域可视化。如本例所示,我们的方法同样能够专注于精细细节或大图像区域。这种能力的产生是因为我们模型中的关注候选者由许多具有不同尺度和长宽比的重叠区域组成——每个区域与一个物体、几个相关物体或其他显著的图像补丁对齐。
与传统方法不同,当候选注意区域对应于一个对象或几个相关对象时,与这些对象相关的所有视觉概念似乎在空间上是共存的,并且被一起处理。换句话说,我们的方法能够同时考虑与一个对象相关的所有信息。这也是实现注意力的一种自然方式。在人类视觉系统中,将物体的独立特征以正确的组合方式进行整合的问题被称为特征绑定问题(feature binding problem),实验表明,注意力在解决方案中起着核心作用[41,40]。我们在图6中包含了一个VQA注意力的例子。

结论

我们提出了一种新的自下而上和自上而下相结合的视觉注意机制。我们的方法使注意力能够在物体和其他突出区域的层面上更自然地计算出来。将这种方法应用于图像字幕和视觉问答,我们在这两个任务中都获得了最先进的结果,同时提高了所得到的注意力权重的可解释性。
在高层次上,我们的工作更紧密地将涉及视觉和语言理解的任务与最近在目标检测方面的进展结合起来。虽然这为未来的研究提出了几个方向,但我们的方法的直接好处可能是通过简单地用预训练的自下而上的注意力特征替换预训练的CNN特征来获得的。

猜你喜欢

转载自blog.csdn.net/CSDNXXCQ/article/details/130805010