当前位置: 首页 > 科技观察

视觉问答全景概述:从数据集到技术方法

时间:2023-03-21 21:39:10 科技观察

印度理工学院AkshayKumarGupta最近发表了一篇论文,对视觉问答的数据集和技术进行了盘点和比较。机器之心对本文的内容做了总结整理和介绍。视觉问答(VQA)是一项结合了自然语言处理和计算机视觉技术的新兴任务。在本文中,对视觉问答技术的研究现状进行了调查,我们列出了一些用于解决该任务的数据集和模型。调查的第一部分详细介绍了用于VQA的不同数据集,并比较了每个数据集的特征。调查的第二部分详细介绍了VQA的不同模型,分为四种类型:非深度学习模型、无注意力的深度学习模型、有注意力的深度学习模型和其他模型。最后,我们比较了这些模型的性能,并为未来的工作提供了一些方向。I.Introduction视觉问答是近年来出现的一项新任务,引起了机器学习界的关注(Antoletal.,2015)(Wuetal.,2016a)。这个任务通常分为两个步骤:向计算机展示图像和向计算机询问有关图像的问题。答案可以是以下任何一种形式:单词、短语、是/否回答、从几个可能的答案中选择或填空。视觉问答的任务很重要也很有吸引力,因为它结合了计算机视觉和自然语言处理领域。计算机视觉技术用于理解图像,NLP技术用于理解问题。此外,必须将两者结合起来才能有效地回答图像上下文中的问题。这非常具有挑战性,因为传统上这两个领域使用不??同的方法和模型来解决各自的任务。该调查详细介绍了用于解决视觉问答任务的数据集和模型,并比较了这些模型在各种数据集上的表现。本文分为4个部分:第2节介绍VQA数据集,第3节介绍模型,第4节讨论结果并提供一些可能的未来方向。2.数据集在过去的2-3年里,出现了几个大规模的面向任务的VQA数据集。表1是这些数据集的摘要。表1:VQA数据集3.模型随着深度学习技术的广泛普及,当VQA任务被提出时,深度学习领域的各种计算机视觉和NLP技术都取得了长足的进步。因此,文献中几乎所有关于VQA的工作都涉及深度学习方法,而不是图形模型等更经典的方法。在这部分的第1小节中,作者详细介绍了几个不使用神经网络方法的模型,以及作者在这些模型中使用的几个简单的基线算法。第2节介绍了无注意力深度学习模型。第3节详细介绍了用于VQA的具有注意机制的深度学习模型。所有模型的结果总结在表2和表3中。1.非深度学习方法(1)AnswerTypePrediction(ATP)(KafleandKanan,2016)提出了VQA的贝叶斯框架,他们使用模型来预测答案问题的类型,并用它来生成答案。可能答案的类型因数据集而异。例如,对于COCO-QA,他们考虑四种答案类型:对象、颜色、计数和位置。给定图像x和问题q,模型计算答案a和答案类型t的概率:遵循贝叶斯定理。然后,计算所有答案类型的边际分布概率,得到P(A=a|x,q)。对于给定的问题和答案,分母是一个常数,可以忽略不计。他们用三个独立的模型对分子中的3个概率进行建模。第二和第三概率都使用逻辑回归建模。使用skip-thought向量表示来表征问题(Kirosetal.,2015)(他们使用预训练的skip-thought模型)。第一个概率是一个条件多元高斯模型,它在原理上类似于二次判别分析。该模型使用原始图像特征。作者还介绍了一些简单的基线算法,例如仅将图像特征或仅问题特征提供给逻辑回归,将图像和问题特征同时提供给逻辑回归,以及将相同的特征提供给多层感知器。他们在DAQUAR、COCO-QA、Visual7W和VQA数据集上进行了评估。(2)Multi-WorldQuestionAnswering(MalinowskiandFritz,2014)本文将基于问题和图像的答案概率建模为。这里的T是一个隐变量,它对应的是从问题语义解析器(semanticparser)得到的语义树。W是world,代表image。它可以是原始图像或从分割块中获得的附加特征。P(A|T,W)使用确定性评估函数进行评估。使用简单的对数线性模型得到P(T|Q)。该模型称为SWQA。作者进一步将其扩展到多世界场景,以对分割和分类标签的不确定性进行建模。不同的标签代表不同的W,所以概率模型为。这里,S是一组具有类标签分布的分割图像。因此,从分布中采样分割图像将导致可能的W。由于上述等式的复杂性,作者只从S中抽取了固定数量的W。这个模型被称为MWQA。这些模型在DAQUAR数据集上进行评估。2.没有注意力机制的深度学习模型VQA的深度学习模型通常使用卷积神经网络(CNN)嵌入图像和递归神经网络(RNN)词嵌入(wordembedding)来嵌入问题。这些嵌入以各种方式组合和处理以获得答案。以下模型描述假设读者熟悉CNN(Krizhevsky等人,2012年)和RNN变体,例如长短期记忆(LSTM)单元(Hochreiter和Schmidhuber,1997年)和门控循环单元(GRUs)(Cho等人)等人,2014年)。有些方法不涉及使用RNN。我们在一开始就讨论了这些模型。(1)iBOWING(Zhouetal.,2015)提出了一个名为iBOWING的基线模型。他们使用预训练的GoogLeNet图像分类模型的层输出来提取图像特征。问题中每个词的词嵌入都被视为文本特征,因此文本特征只是词袋。连接图像和文本特征,同时使用softmax回归进行答案分类。结果表明,该模型在VQA数据集上的性能与几种RNN方法相当。(2)Full-CNN(Maetal.,2015)提出了一种称为Full-CNN的纯CNN模型。该模型使用三种不同的CNN:一种用于对图像进行编码,一种用于对问题进行编码,一种用于将图像和问题的编码结合起来并产生联合表示。图像CNN使用与VGG网络相同的架构,并从该网络的第二层获取长度为4096的向量。这通过另一个全连接层获得大小为400的图像表示向量。句子CNN涉及3层卷积和最大池化。卷积感受野的大小设置为3。换句话说,内核对单词及其相邻的邻居进行计数。联合CNN称为多模态CNN(multi-modalCNN),在问题表示上卷积感受野大小为2。每个卷积操作都是在完整图像上执行的。将多模态CNN的最终表示馈送到softmax层以预测答案。该模型在DAQUAR和COCO-QA数据集上进行评估。以下模型同时使用了CNN和RNN算法。(3)AskYourNeurons/AYN(Malinowskietal.,2016)该模型使用CNN对图像x进行编码,并获得图像的连续向量表示。问题q使用LSTM或GRU网络进行编码,其中第t步的输入是问题的第t个词q_t的词嵌入和图像向量编码。问题编码是在最后一个时间步获得的隐藏向量。作者使用的一个简单的词袋基线是作为编码的问题的所有词嵌入的总和。解码答案可以通过两种不同的方式来完成,一种是对不同答案进行分类,另一种是答案生成。分类由生成输出并传递到涵盖所有可能答案的softmax函数的全连接层组成。另一方面,生成由解码器LSTM执行。每个时间点的LSTM将先前生成的单词以及问题和图像编码作为输入。使用覆盖词汇表的softmax函数预测下一个单词。需要注意的一件事是,该模型在编码器和解码器LSTM之间共享一些权重。该模型在DAQUAR数据集上进行评估。(4)Vis+LSTM(Renetal.,2015)这个模型和AYN模型非常相似。该模型使用VGG网络的最后一层得到图像编码使用LSTM来编码问题。与之前的模型相比,他们在编码问题之前将图像代码作为第一个“单词”传递给LSTM网络。这个LSTM的输出通过一个全连接层,然后是一个softmax层。作者还提出了使用双向LSTM的2Vis+BLSTM模型。后向LSTM也将图像编码作为第一个输入。两个LSTM的输出被连接起来,然后通过一个密集的softmax层。(5)DynamicParameterPrediction(DPPnet)(Nohetal.,2016)本文作者认为设置一组固定的参数不足以完成VQA任务。他们采用了VGG网络架构,去掉了最后的softmax层,增加了三个全连接层,最后使用了一个覆盖所有可能答案的softmax函数。这些全连接层的第2层没有一组固定的参数。相反,参数来自GRU网络。这个GRU网络用来对问题进行编码,GRU网络的输出通过一个全连接层给候选参数一个小的权重向量。然后使用逆哈希函数将该向量映射到第二个全连接层所需的参数权重向量。这种哈希技术用于避免预测所有参数权重的计算成本并避免过度拟合。或者,动态参数层可以看作是通过将图像表示和问题表示相乘而获得的联合表示,而不是传统的线性组合。该模型在DAQUAR、COCO-QA和VQA数据集上进行评估。3.基于注意力机制的深度学习技术基于注意力机制的技术是机器翻译(Bahdanau等人,2014)、图像描述(Xu等人,2015)和图像描述等许多任务中最流行的技术之一。好多其它的。对于VQA任务,注意力机制模型关注图像、问题或两者的重要部分,以高效地给出答案。(1)WhereToLook(WTL)(Shihetal.,2016)提出了一种基于注意力机制的模型,以下简称WTL。他们使用VGGnet对图像进行编码,并将VGGnet最后两层的输出连接起来以获得图像编码。问题表示是通过对问题中每个词的词向量进行平均得到的。在图像特征集上计算注意力向量以确定图像中的哪些区域是重要的。该向量按以下方式计算:如果V=(-→v1,-→v2...-→vK)是图像特征集,-→q是问题嵌入,则计算第j个区域的重要性由于g_j=(A-→vj+bA)T(B-→q+bB),attentionvector的权重是通过归一化-→g得到的。最终的图像表示是来自不同区域的注意力值的加权和。这与嵌入问题有关,并传递到dense+softmax层。该模型在VQA数据集上进行评估。损失函数是基于VQA评估指标的最大边距损失。(2)RecurrentSpatialAttention(R-SA)(Zhuetal.,2016)该模型在两个方面领先于之前的模型。首先,它使用LSTM对问题进行编码,其次,在扫描问题的每个单词后,它会迭代计算图像的注意力值。更具体地说,在LSTM的每个时间步t,我们迭代计算图像特征的注意力加权和r_t,并将r_t作为LSTM下一个时间步的附加输入。使用LSTM之前的隐藏状态ht-1和图像本身,用于获取r_t的注意向量的权重是使用dense+softmax层计算的。生理上,当我们阅读一个问题时,我们在不断地决定图像的哪一部分需要注意,而现在要注意的部分取决于当前单词和ht-1状态之前的注意力加权图像。该模型在Visual7W数据集上进行评估,该数据集用于文本回答任务以及指向任务(指出图像中的区域作为答案)。实际答案和预测答案之间的softmax交叉熵损失用于文本回答任务。对于指向任务,候选区域的对数似然是通过取表示该区域的特征与LSTM的最后状态的点积来获得的。再次使用交叉熵损失函数来训练模型。(3)StackedAttentionNetworks(StackedAttentionNetworks/SAN)(Yangetal.,2016)该模型在思想上与之前的模型类似,因为它迭代计算图像上的注意力向量以获得更细粒度的视觉信息来预测答案.然而,虽然以前的模型逐字计算问题,但该模型首先使用LSTM或CNN对整个问题进行编码。这里的问题使用与以前类似的方程式对图像进行编码。然后,将注意力加权图像与问题编码连接起来,再次用于计算对原始图像的注意力。这可以重复k次,之后使用问题和最终图像表示来预测答案。作者认为,这种“堆叠”的注意力有助于模型迭代地丢弃图像中不重要的区域。作者使用k=1和k=2进行实验,并在DAQUAR、COCO-QA和VQA数据集上进行评估。(4)HierarchicalCo-attention/CoAtt(Luetal.,2016)本文不同于以往的基于注意力的方法。除了视觉注意力之外,它的模型还关注问题(问题的哪一部分是重要的)。该模型有两种形式的共同注意:1)并行共同注意,其中图像和问题注意同时进行。这是通过计算亲和力矩阵C=tanh(Q^TWI)来完成的,其中W是可学习的权重矩阵,C_ij表示问题中第i个词和图像中第j个区域的亲和力值。该矩阵C用于获取图像和问题注意力向量。2)Alternatecollaborativeattention,这里我们迭代attendtoimages,然后query,再attendtoimages(类似于SAN的思想)。作者使用的另一个想法是在不同的抽象级别对问题进行编码:单词、短语和问题级别。问题的表示是通过LSTM获得的,而单词和短语的表示是从CNN获得的。该模型在VQA和COCOQA数据集上进行评估。4.其他型号与以往型号不同。以下模型在计算图像或问题的注意力值时使用了更多的想法,而不仅仅是进行更改。(1)神经模块网络(NMN/NeuralModuleNetwork)(Andreasetal.,2016)该模型同时不间断地为每个图像和问题生成一个神经网络。具体实现是:从各种基于问题的子模块中进行选择,并将它们组合起来生成神经网络。有五个模块:attention[c](计算给定图像和给定c的注意力图;c可以是“狗”,然后attention[dog]将尝试找到包含狗的图像),classification[c](对于给定一个图像和一个注意图,其输出属于c的标签分布;c可以是“颜色”),重新注意[c](使用注意图并根据c重新计算该图;c可以是“top”,表示将attention上移),measure[c](只通过attentionmap输出labels的分布),combine[c](合并由c确定的两个attentionmap,可以是“and”或“或”)。在决定组合哪些模块之前,模型首先使用依赖解析器解析问题,并使用该依赖创建基于中心词的符号表示。本文中的一个例子是“Whatisstandingonthefield(什么站在运动场上)”变成了“what(stand)”。然后使用这些符号形式来确定要使用的模块。然后通过反向传播对整个系统进行端到端训练。模型在VQA数据集和更具挑战性的合成数据集上进行评估(由于发现VQA数据集不需要太多高级推理或组合)。(2)包含知识库(Wuetal.,2016b)提出了AskMeAnything(AMA)模型,该模型试图借助来自外部知识库的信息来帮助指导视觉问答。它首先根据图像的标题获取一组属性,如对象名称、属性等。图像描述模型使用标准图像描述技术在MS-COCO数据集上进行训练。该模型生成256个可能的属性,属性生成器使用VGG网络的变体在MS-COCO数据集上进行训练。前5个属性用于生成查询DBpedia数据库的语句。每个查询返回使用Doc2Vec算法排序和汇总的文本。此摘要文本作为附加输入传递给生成答案的LSTM解码器。模型在VQA和COCO-QA数据集上进行评估。表2:不同模型在DAQUAR(部分)、DAQUAR(完整)、COCO-QA数据集上的表现表3:不同模型在VQA数据集上的表现讨论和未来工作在所有VQA数据集上,近年来深度学习模型优于基于图形模型的早期方法已成为近年来的趋势。然而,有趣的是,我们看到ATP模型优于非注意力模型,证明简单地引入卷积和/或递归神经网络是不够的:原则上识别相关图像部分很重要。ATP甚至可以媲美甚至优于WTL和SAN等一些注意力模型。CoAtt的性能有了显着提高,模型首先关注问题,然后关注图像。这对于长问题可能会有帮助,因为这些问题更难用LSTM/GRU编码表示为单个向量,因此先对每个单词进行编码,然后使用图像关注重要单词将有助于提高模型的性能准确性.NMN模型使用了为每个(图像/问题)对自动组合子模型的新颖思想,其在VQA数据集上的表现类似于CoAtt模型,但在需要更高层次推理的合成数据集上表现优于所有模型。模型,表明该模型在实践中可能是一种有价值的方法。然而,需要更多的测试来判断这个模型的性能。COCO-QA数据集上表现最好的模型是AMA模型,它结合了来自外部知识库(DBpedia)的信息。一个可能的原因是知识库有助于解决涉及可能不在数据集中的常识的问题。该模型在VQA数据集上表现不是很好,可能是因为这个数据集没有很多需要常识的问题。自然地,这个模型导致了未来工作的两个主要方向。第一个方向是认识到对外部知识的需求:CoAtt和AMA的某种混合模型加上是否访问知识库的决策者可以结合两种模型的优点。该决策者可能面向应用程序以启用端到端培训。第二个方向是探索使用其他知识库(如Freebase、NELL或OpenIE)进行信息提取。正如我们所见,注意力值的新颖计算持续改进了模型在此任务上的性能。这在文本问答的任务中也有体现,所以可以用更多的文本问答模型来指导VQA模型。为了找到可能的改进,特别是对于自动生成的COCO-QA数据集,对各种VQA数据集的性能界限估计的研究将非常有价值。最后,大多数VQA任务将回答视为分类任务。将回答替换为生成任务会很有趣,但数据集收集和评估的方法仍然是一个悬而未决的问题。五、结论尽管VQA的发展才几年,但VQA任务却突飞猛进。VQA的深度学习方法继续受到最多的关注,并取得了最先进的结果。我们调查了其中一些最突出的模型,并列出了它们在各种大型数据集上的表现。我们继续看到许多数据集的显着性能改进,这意味着未来在这项任务上有很大的创新空间。论文原文请访问:https://arxiv.org/abs/1705.03865【本文为专栏机器心原创翻译,微信公众号“机器心(id:almosthuman2014)”】点此查看作者原文更多多么好的文章