本文是一篇计算机软件论文,本文从算法、数据集等方面讨论了视觉问答的现状以及存在的问题,对视觉问答算法进行分类并概括优缺点,特别讨论了现有视觉问答数据集在训练和评价方面的局限性,也描述了视觉问答技术未来的发展前景,为本文研究提供理论依据和研究方向。在数学图表的视觉问答任务中,为了抽取更加高层次的图像语义信息,帮助视觉问答系统进行推理任务,本文提出了基于对象的视觉问答推理算法,相对于基线模型图像所采用卷积特征表示类似于黑盒技术,本文基于 Bottom-Up Attention 的思想,采用目标检测模型定位到图中对象,并对检测结果解码得到对象更高层次的语义表征。相对于原模型难以理解的特征表示,本文模型抽取的图像特征更易于人类理解并支持中间结果的检查。该模型在微软公开数学图表类数据集 FigureQA 上的性能超过了基线模型。
第一章 绪论
1.1 研究背景与意义
深度学习自被正式提出后就得到了巨大的发展,在计算机视觉(Computer Vision, CV)领域的应用使很多计算机视觉任务产生了革命性的突破,例如图像分类[1,2],目标检测[3,4]和行为识别[5,6]。随着众包技术的发展,注释数据集的大小也迅速增长,在数据充足的情况下,深度卷积神经网络在图像分类任务已经能够达到人类水平甚至更优秀。但是目前能够解决的计算机视觉问题都很有限,可以识别图片中的目标、获取目标的位置信息、推断目标属性以及彼此之间的关系,以及获取一些需要根据图像中周围环境情况进行推理得到的信息,但是无法像人类一样充分理解整张图片。目前的深度学习技术在计算机视觉领域中更加适合解决对于人类来说可以快速解答的问题,一些不需要进行推理就能得到答案的问题。
让计算机具备推理能力是实现人工智能的必由之路,在计算机视觉任务中,如何判断计算机是否具备逻辑推理能力,我们可以通过提出一系列关于图像的文本问题,看系统是否可以得到正确的答案来判定。问题是任意的,可能是关于计算机视觉子领域的问题,例如,目标识别:图像中有什么?目标检测:图像中是否有狗?属性分类:猫是什么颜色的?场景分类:这是什么地方?计数任务:图中一共有多少只气球?也可能是一些更加复杂的问题,例如关于对象之间空间关系的问题,猫是否躺在沙发上?或者是常识推理问题,这个人在干什么?当计算机具备推理能力,那么在回答这类复杂的问题也能够表现得很好[7]。人工智能领域最困难的任务是使计算机能够像人一样解决问题,这个任务也被称为“AI Complete”。为了让“AI Complete”变得可能,A. Agrawal等人认为理想的任务需要满足:不再局限于单一领域的多模态知识;有一个明确的定量的评估指标。图像视频描述任务虽然包含了计算机视觉、自然语言处理(Natural Language Processing,NLP)和知识表示推理子领域,但是难以进行自动评估[8-10]。现有技术表明,对图像场景的粗略理解也能生成合理的标题,该任务并没有预期的那样“AI Complete”。
........................
1.2 国内外研究现状
本节将详细介绍视觉问答的国内外研究现状,主要从现有的视觉问答方法和数据集两个方面入手。
1.2.1 视觉问答模型与方法
视觉问答任务是根据给定的图像和问题给出预测的答案,其本质上是图灵测试。1950 年阿兰图灵提出了图灵测试(Turing Test)的概念,用于测试计算机是否能够表现出与人等价或无法区分的智能,通过图灵测试的计算机可以认为它具备思考的能力[11]。自使用计算机回答人类提出的问题后,已经有很多问答系统面世,促进了自然语言处理技术的发展。但是计算机想要通过完全图灵测试,除了需要具备自然语言处理的能力以外,还需要具备以下能力:具备计算机视觉,用于感知物体;具有知识表示的能力,存储获取到的信息;有机器学习的能力以适应新的情况;能够自然推理,通过已有的信息推理得到新结论回答问题。
随着计算机在文本问答任务上已经接近人类水平,人们将目标转向更难的视觉问答系统的研究。计算机在文本问答的基础上需要结合图片信息推理得到答案,相对于文本问答任务更加接近完全图灵系统。视觉问答系统需要解决三个问题:单一模态的特征提取,多模态的特征融合和基于推理得到答案。现有的视觉问答算法大致可以分为三种:基于联合嵌入法(Joint embedding approaches)的视觉问答模型,基于注意力机制(Attention Mechanism)的视觉问答模型,基于外部知识的视觉问答模型[12]。
联合嵌入法最早应用于图像描述任务,本质上是在统一特征空间下联合学习抽取到的图像特征和文本特征,视觉问答任务基于联合特征进一步完成推理过程。基于联合嵌入法的思想,Malinowski 提出了 Neural-Image-QA 端到端的视觉问答模型[13]。该模型使用在 ImageNet 上预训练好的卷积神经网络提取图像特征,对分词后的文本问题进行词嵌入操作,然后按照顺序和图像特征一起送入 LSTM 编码器得到固定长度的向量,随后输入到 LSTM 解码器生成一个变换长度的答案,每次迭代产生一个单词直到输出为止,但生成的答案可能会存在语法性错误,难以评估答案的正确性。很多模型在 Neural-Image-QA 模型上提出了优化手段,Ren等人提出的 VIS+LSTM 将答案生成转化成一个分类问题,LSTM 编码后的特征向量经过分类器输出一个词典事先定义好的单词[14]。Noh 提出了在卷积层和全连接层之间加入动态参数层(Dynamic Parameter Layer)的方法解决视觉问答问题[15]。文本问题输入 GRU 组成的参数预测网络,全连接层产生候选权重预测动态参数,该模型较之前的模型提升了预测答案的准确率。Kim 等人提出的多模态残差网络(Multi-modal Residual Networks,MRN)借鉴了残差网络的思想学习图像和问题的联合表示[16]。Fukui 等人提出的多模态紧凑线性模型(Multi-modal Compact Bilinear Pooling,MCB)基于池化方法联合嵌入图像和文本特征,在傅里叶空间中进行深度多模态特征的融合。
.............................
第二章 视觉问答相关技术
2.1 视觉问答基础架构
视觉问答任务是根据图像以及相应的自然语言问题得到正确的自然语言答案,涉及到计算机视觉以及自然语言处理,是必须处理多模态输入且通过一定的推理才能解决的任务。因此训练一个视觉问答系统需要提供一定量的图片和问题-答案对,通常来说图片是以像素形式存在的真实世界的图片或者是计算机生成的图片,问题以文本形式存在,目前来说主流的是英文文本。自 2015 年 Agrawal 等人提出视觉问答任务以来[35],随着深度学习技术的发展,现有的视觉问答模型以神经网络建模学习图像、问题和答案的潜在关系为主,通过大量数据训练模型以期望获得更准确的预测答案。
..............................
2.2 VQA 基线模型
设置基线模型(Baseline Model)的目的是提供一个标准来衡量一个新的算法或者模型的性能。通常来说基线模型是一种简单的启发式的探索,基于统计规则、随机规则或者该领域的常用算法对问题和数据集进行预测的方法,也就是说,评估一个新的模型性能时是基于基线模型这个“性能起点”进行的。本小节汇总了几种视觉问答基线模型,后续实验部分基线模型将基于本小节进行选择。
使用卷积神经网络抽取图像特征是视觉问答领域的主导方法,以像素集合形式存在的图像 输入到卷积神经网络中进行前向传播,Softmax 层之前的全连接层的特征输出作为图像特征 。为了获得更有效的特征表示,作为特征提取器的卷积神经网络在 ImageNet、Visual Genome 等公开数据集进行预训练。GooLeNet[38],VGG-Net 以及 ResNet 作为卷积神经网络中最具代表性的模型,同样也是视觉问答模型优先选择的图像特征提取器。2014 年的 ILSVRC 图像分类竞赛中表现最优的是 GooLeNet 和 VGG-Net 两个模型,2015 年视觉问答任务提出,因此早期模型的图像特征抽取器大都使用上述两种模型。据[37]统计,有 20 篇公开发表的论文中使用 VGG-Net 提取图像特征;三篇论文使用了 GooLeNet;23 篇论文模型基于ResNet 提取图像特征。当然显示数据远不止于此,选取的是在视觉问答领域中具有代表性的模型。
.........................
第三章 基于对象的视觉问答推理算法 ................................ 19
3.1 模型的总体架构 ........................ 19
3.2 图像特征提取 ................................ 21
第四章 目标检测实验结果与分析 ...................................... 34
4.1 实验平台设置 ...................... 34
4.2 FigureQA 数据集 ........................... 35
第五章 视觉问答实验设置及结果分析 ............................ 55
5.1 数据集 ................