论文下载地址:https://link.springer.com/article/10.1007/s10462-020-09832-7
目录
3.4 Recent trends in text embedding
4 Joint comprehension of image and text
4.2 End‑to‑end neural network models
4.2.1 Encoder–decoder architecture
Abstract
视觉问答(VQA)是计算机视觉和自然语言处理两大研究领域广泛关注的课题。近年来,图灵测试作为一种替代视觉图灵测试的人工智能完成任务得到了广泛的应用。在它最常见的形式中,它是一个多模态的挑战任务,要求计算机提供关于输入图像的自然语言问题的正确答案。它吸引了许多深度学习研究人员,因为他们在文本、语音和视觉技术方面取得了卓越的成就。本综述在逐步解决方法、数据集和评估指标方面广泛和批判性地审查了VQA研究的现状。最后,本文还分别对上述各方面的VQA今后的研究方向进行了探讨。
1 Introduction
Matt King, FACEBOOK表示,但是从我一个盲人用户的角度来看,对一张照片的满意度从基本上零上升到一半左右已经是一个巨大的飞跃了,因为FACEBOOK试图为盲人用户的照片自动配上标题。由此可以推断,如果机器能像人类一样聪明,能够理解图像内容,并能有效地传达这种理解,那就太好了。VQA是这种视觉对话的人工智能之梦(ai之梦)的垫脚石。在最常见的视觉问题回答(VQA)形式中,计算机会被提供一个图像和一个关于该图像的文本问题。然后,机器的任务是生成正确答案,通常是几个单词或一个短语。也就是说,VQA是在计算机视觉(CV)和自然语言处理(NLP)领域成熟研究的指导下进行的一项任务,两者都属于人工智能的研究领域。
与其他视觉语言任务(如图像字幕、文本到图像检索)相比,VQA具有更大的挑战性:(1)问题不是预先确定的。在其他任务中,要回答的问题是fxed,因此回答它所需的操作只需要图像改变。(2)支持视觉信息的高维性。(3) VQA需要解决很多计算机视觉子任务。表1给出了一些问题,第二列有一个代表性的问题。在这方面,VQA可以用来替代计算机视觉系统的视觉图灵测试(Geman等人,2015年),或者换句话说,VQA是一个人工智能完成的任务,因为它需要超越单一领域的多模态知识。
在看到卷积神经网络的胜利后;AlexNet (Krizhevsky et al. 2012)、ZFNet (Zeiler and Fergus 2014)、VGGNet (Simonyan and Zisserman 2014)、GoogleNet (Szegedy et al. 2015)、ResNet (He et al. 2016);在ImageNet挑战和RNNs在文本处理领域产生的著名结果(Cho等人,2014;Sutskever等人,2014;Prakash等人2019),许多研究人员变得热衷于VQA工作。
另一个吸引研究人员的因素是VQA的大量潜在应用。其中一个最具社会相关性和直接的应用是帮助盲人用户与图片交流。它可以用来改进图像检索,在线购物网站可以通过提供准确的搜索结果来吸引顾客。VQA的加入可能会增加网络的教育服务知名度,让学习者与图像互动。VQA的另一个应用是在监视数据分析领域,其中VQA可以帮助分析人员总结可用的可视数据。正如前面提到的,VQA可以用来衡量和演示系统的AI能力。作为VQA的后继者,视觉对话甚至可以用来给机器人提供自然语言指令。
许多研究人员提出了解决VQA任务的解决方案或算法,如图2所示,VQA任务一般可以想象为三个阶段的过程。基本上,VQA与深度学习研究有它的根源,因为大多数成功的VQA解决方案利用深度学习模型,cnn的图像featurization(第一阶段)和RNN及其变体LSTM和格勒乌问题featurization(第一阶段),勘探的主要阶段是第二阶段的加工特征相结合对图像回答这个问题。文献中有很多方法可以做到这一点,从简单的连接到复杂的注意机制,这在第4节中进行了探讨和比较。目前最先进的fnal建模阶段,要么作为分类问题,在一个预定的候选答案集合上学习分类器,要么作为生成问题,在这里生成一个自由格式的句子作为答案,这是VQA的实际目标。Kafe和Kanan 2016也在他们的工作中尝试了这两种方法的混合。
本文的主要贡献包括:
1、本调查可作为专家的集中参考,也可作为初学者指南,为那些对理解VQA问题、其智能解决方案、可用数据集和评估方法感兴趣的学习者。
2. 这是第一个关于VQA的分阶段回顾,提供了VQA不同步骤(包括图像特征化、问题特征化以及将图像和问题特征联合理解以生成答案)所使用的不同方法的广泛分析和比较。
3.它讨论和分析各种公开可用的数据集,其中给出了相同的分类基于图像的性质和其中包含的问题,以及识别每个数据集的局限性,以打开研究人员的眼睛,以开发新数据集的需要。
4. 用公式简单地为VQA解决方案提供所有可用的评估指标,并讨论使用一些新指标的可能性。
5. 最后,本文综述了实现人工智能梦想可能的和需要的未来研究方向。
本文的其余部分组织如下。第2节和第3节分别对第一阶段的任务、图像特征化和问题特征化进行了详细的说明。第4节包括结合在阶段i中提取的多模态特征的最简单到复杂的方法的细节。第5节是可用于热心的研究人员用他们的特征来尝试他们的模型的不同数据集的概述。对于任何有多个解的问题,第6节讨论了评估VQA解决方案的不同度量标准。最后,本文第7节通过识别现有文献的空白,为未来的研究方向打开了视野。
2 Image featurization
图像特征化是VQA的两个准备任务之一。图像特征将图像描述为一个数值向量,因此可以方便地应用不同的数学运算。有很多方法可以明确地做到这一点,比如简单的RGB向量、尺度不变特征变换(SIFT) (Lowe 1999)、HAAR变换(Lienhart and Maydt 2002)、梯度定向直方图(HOG) (Dalal and Triggs 2005)等。在深度学习时代,它不需要显式特征化,因为它是通过深度神经网络自学习的。从头开始训练深度学习模型需要大量的数据集和大量的计算资源。使用预先训练的深度神经网络模型从图像中提取相关特征,可以很容易地完成这项任务。卷积神经网络是图像特征化的最佳神经网络之一(CNN)。表2提供了一些知名的细节和广泛接受最先进的CNN变种相同的任务以及介绍,深度模型的层数,输入图像的大小,提取特征向量的大小从去年完全连接层和报告错误的数据集,这些最初训练和标准化ImageNet数据集和优于其竞争对手的。
大多数最先进的VQA模型使用了这些成功的CNN,并去掉了最后一层,有时随后进行标准化(Kafe和Kanan 2016;Saito等人2017;Fukui等人2016年)和降维(Kafe和Kanan 2016年;Ma等人2016年;Antol et al. 2015),将视觉内容表示为数值向量。表3给出了基于使用情况的VQA模型到ImageNet赢家的映射,其中列列出了5个CNN模型,行表示主要的VQA系统。用于VQA图像特征化的预训练cnn的总体统计如图3所示。由此,该领域的研究人员可以快速识别出VGGNet和ResNet在VQA系统中得到了广泛的应用。人们更喜欢VGGNet的一个原因是,它提取的特征对于数据集比ImageNet(这些模型是在ImageNet上训练的)更一般和更有效。其他原因包括fne的快速收敛-调优,与初始相比的简单实现,如googleet的架构和ResNet的剩余连接。读者可以很容易地在最近的论文中注意到从VGG迁移到ResNet的趋势,因为有足够的计算资源和合理的成本。
3 Question featurization
词嵌入是从词汇表到数字向量的词或短语映射,以便计算机可以方便地处理它们。主要用于自然语言处理(NLP)中的语言建模和特征学习。所有单词嵌入方法背后的基本思想是尽可能多地捕捉语义、形态或上下文信息。为特定的应用选择最佳嵌入的问题总是需要一个反复试验的方法,因为有不同的训练算法和文本语料库,它们都对生成的词嵌入有不同的影响。VQA的任务要求单词嵌入来表示问题,因为大多数机器学习算法和几乎所有的深度学习架构都不能处理原始形式的字符串或纯文本。
主要的词或文本嵌入方法分为三种:(1)基于计数的方法;(2)基于预测的方法和(3)混合方法。所有的嵌入方法都是以互联网或出版物中大量的文本作为输入,形成语料库。将语料库中所有唯一的单词集合形成其词汇(V),嵌入的结果是V中每个单词的表示。
3.1 Count based methods
其中最简单的是one-hot编码,其结果是大小为|V|的向量。图4显示了一热编码的示例,其中顶部给出了所用语料库的细节,然后给出了语料库中每个单词的嵌入向量。
这种嵌入的主要缺点是它没有捕捉到相似性的概念。即任意两个词之间的欧氏距离为根号2,余弦相似度为0。当时,这一领域的研究人员受到Firth, J. R.(1957)的一段话的启发。这导致了基于共生矩阵的基于分布相似度的词嵌入(Miller和Charles 1991)。共生矩阵是一个项X项矩阵,它捕获了一个项在另一个项的上下文中出现的次数。上下文被定义为围绕术语的k个单词的窗口。这可以看作是一个单词X上下文矩阵。例如,假设与图4所示相同的语料库。然后共生矩阵如图5所示。共生矩阵的每一行(列)都给出相应单词(上下文)的向量表示。
在这里,可以从上下文中避免一些单词(比如,停止词或不必要的单词),以便列的数量将小于行的数量。否则,他们的票数会非常高。这样一个表是高度稀疏的,因为大多数频率等于零。在实践中,共现次数被转换为概率。尽管如此,这个矩阵的大小将随着v的大小而增长。对此的简单数学解决方法是使用奇异值分解(SVD)给出的原始共生矩阵的低秩近似(Eckart and Young 1936)。这是通过保持顶部k左奇异向量(U上的k列),顶部k奇异值(S的k行和k列)和顶部k右奇异向量(VT的k行)来实现的。它发现语料库中的潜在语义。Ak = UkSkVTk×n
3.2 Prediction based methods
下一类包括直接学习单词表示的技术(这些称为(直接)基于预测的模型)。这些是模型,使用神经网络作为其基本组成部分。Xu和Rudnicky(2000)的最终目标是创建一个分布式的词语表示,他们创建了一个神经网络模型,作为其起点。而这一类的经典模型是Bengio等人(2003)引入的三层网络,如图7所示。许多后来的作品都依赖于这个模型。
随后,谷歌将skip-gram作为一个名为word2vec的开源项目,得到了用户的广泛认可。在CBOW中,他们将预测第n个给定单词(n个1)的问题建模为使用前馈神经网络的多类分类。例如,假设上述语料库只有一个句子,考虑预测单词回答的任务(第n个单词),给定单词视觉问题(前n个单词)。网络的输入将是上下文单词(视觉的,问题的)的一个热连接表示,输出将是所有可能的|V|单词(类)的概率分布。本例CBOW网络的基本结构如图8a所示。简而言之,它预测给定的输出单词,一袋上下文单词。训练后,以隐含层和输出层(Wword)之间的权值作为单词的词向量表示,其中每一列代表一个大小为[1 * |V|]的词向量。由于CBOW可以使用许多上下文词来预测一个目标词,因此它基本上可以平滑分布,这只适用于输入数据较小的情况。Skip-gram模型(图8b)正好相反。它会预测输入单词(比如,问题)两边的上下文单词(比如,视觉的,回答的)。Mikolov等人(2013b)在他后来的一篇论文中提出了对基本跳跃模型的各种扩展,以避免输出层的昂贵操作。一个被广泛接受的扩展是使用word2vec中使用的负抽样。Levy et al.(2015)的研究表明,帮助基于预测的模型取得良好效果的因素可以转移到传统的分配模型上,产生类似的效果。
3.3 Hybrid methods
基于预测的方法使用同现信息学习单词表示。Pennington等人(2014)提出了全局向量(Glove),将两者结合起来产生一个词嵌入。他们提出了一种基于共现矩阵的全局信息训练的加权最小二乘模型(仅针对非零元素,而不是整个稀疏矩阵或大型语料中的单个上下文窗口)。表4对所有这些技术进行了比较研究,其中列出了3.1、3.2和3.3节中所述的上述每种模型的优缺点。
3.4 Recent trends in text embedding
用于问题特征提取的CNN (Kim 2014)以问题的所有n个单词的串接向量表示作为输入。然后,它使用多个卷积筛选器,然后是最大池操作。对得到的特征图进行增强,形成倒数第二层作为问题向量。LSTM是一种循环神经网络(Elman 1990),它是为解决梯度爆炸或消失问题而设计的。LSTM层将上下文信息存储在其存储单元中,并充当序列中的单词(例如一个问题)之间的桥梁。为了更有效地对数据的长期依赖性进行建模,LSTM在传统RNN结构的基础上增加了三个门节点:输入门、输出门和遗忘门。输入门和输出门调节对LSTM存储单元的读和写访问。当内存单元的内容过期时,遗忘门将重置它们。最后一次步骤的输出状态向量可以用作一个问题特征。图9解释了LSTM网络中的基本信息。
与LSTM单元类似,GRU也有门控单元来调节单元内的信息流动,但不需要单独的存储单元。与LSTM不同的是,这里将输出门和遗忘门的功能合并。在这里,最后一个隐藏的状态表示也可以用作问题特征。
3.5 VQA question embeddings
这些词嵌入方法在VQA上的使用统计数据见表5(其中列列了7个有希望的词嵌入模型,行表示文献中提出的主要VQA系统)和图10。这项统计研究表明,VQA研究人员更喜欢LSTM(一般为RNN族),Young等人(2018)明确表示。他们指出,像RNN这样基于序列的模型比不依赖于词序列的方法(如word2vec)做得更好。但是,如果没有传统的嵌入,它们就不能独立存在,因为使用表4中列出的任何模型创建的词向量都是作为LSTM或GRU的输入输入。与此同时,训练需要大量的标记数据。在Shih等人(2016)的一项研究中,他们指出简单的词袋(BoW)嵌入对于VQA已经足够,不需要训练和使用LSTM或GRU。一个事实是,尽管已经证明与SVD共现在捕获潜在语义方面表现良好,但在VQA中并没有经常将其用于问题特征化。SVD也有助于降低维度。Levy和Goldberg(2014)表明,对于单词相似度任务,使用SVD的精确因子分解至少可以达到与负抽样的skip-gram (SNGS)解决方案相同的效果。本节描述一些从VQA文献中精选出来的值得注意的文本嵌入用例。
Antol et al.(2015)在数据集的问题中利用了top1000 words创建BoW的想法。他们还利用了开始提问和回答的单词之间的强烈关联,通过挑选问题的前10名、后10名和后10名单词,形成另一个弓形,并最终将其与第一个表示连接起来。
Noh等人(2016)将词嵌入作为包括GRU细胞的参数预测网络的一部分,以产生候选权值映射到动态参数层。
•针对VQA提出了一种新的平衡二进制数据集,Zhang等(2016)提出了一种以元组形式(PRS元组- p和S形式名词短语,R构成动词,简洁地表示P和S之间的关系定义一个视觉概念,它的存在将被验证以回答这个问题。它将指导视觉特征提取过程。
他们把问题分成了四个不同的类别:(1)使用前两个单词的问题类型,(2)标称主语,(3)所有名词词和(4)所有剩下的词。此外,由于该模型执行多项选择VQA任务,也为候选答案指定了一个ffth bin。Yu等人(2018a, b)利用tree-LSTM网络来捕捉语言的语言结构。他们将数据集中的每个问题映射到一个语义树,其中每个节点指单个LSTM单元,并设置根节点表示序列。这种组合语义表示技术可以将问题分解为逻辑表达式,提高推理能力。最近Toor等人(2019)通过使用两个新概念报告了他们的VQA模型令人兴奋的结果:(1)问题行动相关性(QAR)和(2)问题行动编辑(QAE)。QAR从生成的图像标题中识别不相关的问题动作词,QAE编辑问题,将不相关的词映射到相关的动作。
4 Joint comprehension of image and text
在前两节中详细介绍并理解了实现此目的的不同方法。现在,在VQA的下一步,将这些特征映射到共同空间,然后组合并反馈到答案生成阶段。这篇文献综述广泛地识别了用于巩固图像和问题特征的广泛分类的技术,从简单的连接到复杂的联合注意网络。
4.1 Baseline fusion models
基线方法包括串联(Zhou et al. 2015;Jabri等人2016年;余等。2018 a, b;黄等人2018),元素的加法和元素的乘法(Antol等人,2015;Zhang等人2016;Goyal等人,2017;Lin and Parikh 2016;Teney和Hengel 2018),其中最后两个要求在特征向量维度上兼容。另一个重要的发现是视觉特征的L2归一化对融合性能有显著的影响,特别是在连接和求和方面。结果表明,归一化后的求和具有较高的精度。Shih等人(2016)使用了区域视觉特征的点积和问题嵌入。Saito等人(2017)提出了一种多模态融合的混合方式。它们通过实现一个多项式函数(如式2)来集成元素的求和和元素的乘法其中xI和yI分别表示图像和问题的维度。这种集成背后的直觉是,乘法和求和的特性本质上是不同的。Lioutas等人(2018)提出了一种集成注意力模型,该模型通过问题、答案和图像特征的连接进行多模态融合,其中问题和答案特征首先在元素方面相乘。
在VQA的情况下,图像向量和问题向量是两个多维因子之间的联合表示。CCA的一个可伸缩扩展是Gong等人(2014)提出的归一化CCA (nCCA),即显式核映射,然后进行降维。Yu et al.(2015)和Tommasi et al.(2019)对VQA的CCA和nCCA模型进行了训练,发现nCCA具有很好的性能,特别是在选择题的情况下。
4.2 End‑to‑end neural network models
在这里,研究人员为VQA任务训练端到端的深度神经网络,使用特定的层来联合理解图像和问题特征。对于不同的VQA端到端模型,这一层的结构和功能可能有所不同。
Gao et al.(2015)将图像问题融合作为一个额外的层,使用非线性激活函数称为,缩放双曲正切函数为其中x是问题,图像和答案的嵌入结合使用元素的加法。Andreas等人(2016)描述了一个用于构建和学习神经模块网络的系统(NMN),将联合训练的神经“模块”集合成用于VQA的深度网络。他们的方法将问题分解为语义子结构,并且利用这些结构来强大地实例化模块化系统(使用可重用的部件来感知对象、分类颜色,等等)。随后的复合系统是联合训练的。
Fukui等人(2016)提出了一种带有多模态紧凑双线性池化(MCB)层的端到端模型(见图11),用于联合表示图像和问题特征。他们的直觉是使用双线性池进行多模态融合特征向量的外积比简单的基线方法(如连接)更具表达性。
DPPN由用于嵌入疑问词的GRU细胞和用于为CNN层分配权重的哈希函数组成。Ma et al. s(2016)的解决方案也包括cnn。他们建立了一个多模态卷积层,用于图像和问题特征的联合嵌入。在此基础上,基于图像向量和问题侧的两个背靠背语义部分,进行多模态卷积,以捕获两个多模态输入之间的协作关系。深度网络的另一种特殊类型是深度残差网络(He et al. 2016),它的工作的最初想法是,一个良好的浅网络的深层版本也可以通过在新层中学习身份转换来实现fne。因此,来自输入的身份连接允许深度残差网络保留输入的副本。这个概念的基本图示见图12。然而,这一想法可能不适用于多模态学习,因为模态可能有相关性。
因此,Kim等人(2016a)巧妙地将联合残差函数定义为VQA任务的多模态残差网络(MRN)的非线性映射。Lao等人(2018)引入了另一种受残差学习影响的端到端模型。他们在特征表示和最终答案预测之间使用了跨模态多步融合(CMF)网络。它着重于通过生成各种各样的多通道功能。该方法在每一步中融合特性,而不是等待最后一步进行融合。CMF的不同层共享参数,以优化计算资源的使用。
Gao等人(2018)指出,将图像特征作为任何预训练CNN的最后一层的单维向量进行端到端的主要限制VQA任务网络。这种趋势忽略了图像中物体之间的空间关系等详细信息。为了避免这种信息丢失,他们提出了一种新的融合形式——问题引导卷积。即根据问题特征设计一系列的核,与图像特征进行卷积。主要思想是在VQA模型的早期阶段进行多模态融合,以保留更多的信息。Bai等人(2018)使用深度注意神经张量网络扩展了基本的MCB模型(DA-NTN)模块作为VQA模型的最后阶段,用于检验融合的多模态特征向量(问题和图像特征)与答案嵌入之间的相似性。
Narasimhan和Schwing(2018)提出了一个端到端系统,使用多层感知器(MLP)来结合从CNN和LSTM分别。他们还从知识库中检索了一个相关的“事实”作为回答问题的支持材料。然后,MLP的输出与事实一起被传递到一个分数函数。这里,该函数计算输入之间的余弦相似度,以确保事实对回答图像-问题对的效用。
4.2.1 Encoder–decoder architecture
下面显示了两种实现此功能的通用架构。图13a显示了一种融合两个特征向量的方法,将图像编码作为问题的第一个(也可以是最后一个)词(Ren et al. 2015a, b;Zhu等人2016)。图13b给出了更明确的方法,即提供解码LSTM的每个时间步的图像(Malinowski et al. 2017)。Ruwa等人(2018)使用三组作为输入,对LSTM、图像嵌入和问题嵌入以及问题情绪嵌入进行解码,生成一个带有答案的情感形容词。Wu et al.(2018)提出了与图13a相似的模型,但第一LSTM细胞的输入是三个向量的组合:视觉特征向量、图像标题嵌入以及基于外部来源问题提取的知识的向量嵌入。这对于开放式问题特别有用,通常是为什么?的问题。
4.3 Joint attention models
Lu等人(2016)提出了一种对视觉注意力和问题注意力进行联合推理的技术,称为共同注意(co-attention)。协同注意多模态融合的共同主题是,用图像表示引导问题注意,用问题表示引导图像注意。上述论文对一个问题提取了单词、短语和问题层次的嵌入,在每个层次上都对图像和问题进行共同注意。最后的答案是基于所有共同出席的图像和问题的特征。
Chen等人(2015)描述了一种问题引导的注意图(QAM),它是通过扫描作为图像特征化一部分创建的空间图像特征图中与输入问题语义相对应的图像区域而生成的。为此,他们设计了一个confgurable convolution kernel (CCK),并将图像特征映射与CCK进行卷积。CCK是通过将问题编码从语言空间映射到包含问题意图所指示的视觉数据的视觉空间而产生的。
Xu and Saenko(2016)使用了空间注意和语义注意两种类型的平行注意。空间注意力权重是根据相关矩阵确定的,其中每个值衡量每个单词和每个位置的视觉特征之间的相似性。与此同时,语义注意的执行基于证据嵌入,检测语义概念或对象的存在,并将嵌入结果与空间注意权重相乘,并对所有位置求和,生成视觉证据向量。
Yu et al.(2017)使用了三种成分的联合注意学习。首先,语义关注关注高层次的图像特征,从图像中识别出需要回答问题的重要概念。其次,空间注意作为情境感知的视觉注意被用来推断问题可能出现的图像区域。第三,联合学习通过元素相乘的方式将所学习的区域、所学习的概念和问题特征向量整合在一起。
Shi et al.(2018)证明了问题类型信息在回答一个问题时是非常重要的,无论这个问题是否针对图像提出。因此,他们用问题类型引导注意(QTA)取代了流行的问题引导注意机制,帮助图像特征提取。无论如何,这将是直接有用的数据集与许多问题类别是正确标记。
简单地说,软注意(通常使用的注意)是选择性增强,而硬注意是通过避免不必要的信息过滤,这是计算机视觉中最少被探索的领域。他们已经在VQA系统管道中使用了这种方法,以筛选出融合的多模态特征向量(图像-问题向量)中不需要的或最不重要的元素,以便进一步处理。然而,主要的问题是它是不可微分的,这使得梯度爱好者的工作有点受干扰。
后续接下一篇文章。