Print

发布时间: 2020-05-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.190366
2020 | Volume 25 | Number 5




    图像理解和计算机视觉    




  <<上一篇 




  下一篇>> 





结合自底向上注意力机制和记忆网络的视觉问答模型
expand article info 闫茹玉, 刘学亮
合肥工业大学计算机与信息学院, 合肥 230601

摘要

目的 现有大多数视觉问答模型均采用自上而下的视觉注意力机制,对图像内容无加权统一处理,无法更好地表征图像信息,且因为缺乏长期记忆模块,无法对信息进行长时间记忆存储,在推理答案过程中会造成有效信息丢失,从而预测出错误答案。为此,提出一种结合自底向上注意力机制和记忆网络的视觉问答模型,通过增强对图像内容的表示和记忆,提高视觉问答的准确率。方法 预训练一个目标检测模型提取图像中的目标和显著性区域作为图像特征,联合问题表示输入到记忆网络,记忆网络根据问题检索输入图像特征中的有用信息,并结合输入图像信息和问题表示进行多次迭代、更新,以生成最终的信息表示,最后融合记忆网络记忆的最终信息和问题表示,推测出正确答案。结果 在公开的大规模数据集VQA(visual question answering)v2.0上与现有主流算法进行比较实验和消融实验,结果表明,提出的模型在视觉问答任务中的准确率有显著提升,总体准确率为64.0%。与MCB(multimodal compact bilinear)算法相比,总体准确率提升了1.7%;与性能较好的VQA machine算法相比,总体准确率提升了1%,其中回答是/否、计数和其他类型问题的准确率分别提升了1.1%、3.4%和0.6%。整体性能优于其他对比算法,验证了提出算法的有效性。结论 本文提出的结合自底向上注意力机制和记忆网络的视觉问答模型,更符合人类的视觉注意力机制,并且在推理答案的过程中减少了信息丢失,有效提升了视觉问答的准确率。

关键词

视觉问答; 自底向上; 注意力机制; 记忆网络; 多模态融合; 多分类

Visual question answering model based on bottom-up attention and memory network
expand article info Yan Ruyu, Liu Xueliang
School of Computer and Information, Hefei University of Technology, Hefei 230601, China
Supported by: National Natural Science Foundation of China(61632007, 61502139)

Abstract

Objective Visual question-answering (VQA) belongs to the intersection of computer vision and natural language processing and is one of the key research directions in the field of artificial intelligence. VQA is an important task for conducting research in the field of artificial intelligence because of its multimodal nature, clear evaluation protocol, and potential real-world applications. The prevailing approach to VQA is based on three components. First, question-answering is posed as a classification over a set of candidate answers. Questions in the current VQA datasets are mostly visual in nature, where the correct answers are composed of a small set of key words or phrases. Second, most VQA models are based on a deep neural network that implements a joint embedding of image and question features. Convolutional neural networks (CNNs) and recurrent neural networks (RNNs) are used to map the two inputs into a vector representation of fixed size. Third, due to the success of deep learning in solving supervised learning problems, the whole neural network is trained end-to-end from questions, images, and their ground truth answers. However, using global image features as visual input will introduce noise at the stage of predicting the answer. Inspired by human visual attention and the development of related research, visual attention mechanism has been widely used in VQA to alleviate the problem. Most conventional visual attention mechanisms used in VQA models are of the top-down variety. These attention mechanisms are typically trained to attend selectively to the output of one or more layers of a CNN and predict the weight of each region in the image. This method ignores image content. Thus, image information cannot be further represented. In humans, attention will be focused more on the objects or other salient image regions. To generate more human-like question answers, objects and other salient image regions are a much more natural basis for attention. In addition, owing to the lack of long-term memory modules, information is lost during the reasoning of answers. Therefore, wrong answers can be inferred, which will affect the VQA effect. To solve the above problems, we propose a VQA model based on bottom-up attention and memory network, which improves the accuracy of VQA by enhancing the representation and memory of image content. Method We use image features from bottom-up attention to provide region-specific features rather than the traditional CNN grid-like feature maps. We implement bottom-up attention using faster R-CNN (region-based CNN) in conjunction with the ResNet-101 CNN, which represents a natural expression of a bottom-up attention mechanism. To pre-train the bottom-up attention model, we first initialize faster R-CNN with ResNet-101 pre-trained for classification on ImageNet. Then, it is trained on visual genome data. To aid the learning of good feature representations, we introduce an additional training output to predict attribute classes in addition to object classes. To improve computational efficiency, questions are trimmed to a maximum of 14 words. The extra words are then simply discarded, and the questions shorter than 14 words are end-padded with vectors of zeros. We use bi-directional gated recurrent unit (GRU) to extract the question features and its final state as our question embedding. The purpose of the memory network is to retrieve the information needed to answer the question from the input image facts and memorize them for a long time. To improve understanding of the question and image, especially when the question requires transmission reasoning, the memory network may need to transfer the input several times and update the memory after each transmission. Memory network is composed of two parts: attention mechanism module and episode memory update module. Each iteration will calculate the weight of the input vector through the attention mechanism to generate a new memory and then update the memory through the memory update module. The image features and question representations will be input into the memory network to obtain the final episodic memory. Finally, the representations of the question and the final episodic memory are passed through nonlinear full connection layers and combined with a simple concatenation, and then the result is fed into the output classifier to deduce the correct answer. Unlike the softmax classifier, which is commonly used in most VQA models, we treat VQA as a multi-label classification task and use sigmoid activation function to predict a score for each of the $N$ candidates answers. The sigmoid can optimize multiple correct answers for each question and normalize the final scores to (0, 1). The final stage can be regarded as a logistic regression to predict the correctness of each candidate answer. Result The main performance metric is the standard VQA accuracy, which is the average ground truth score for predicting the answers to all questions, taking into account the occasional divergence of ground truth answers among annotators. The proposed VQA model is tested on the VQA v2.0 dataset. Our VQA test server submissions are trained on the training and validation sets. Results show that the overall accuracy is 64.0%, where the accuracy of answering yes/no questions is 80.9%, the accuracy of answering counting questions is 44.3%, and the accuracy of answering other types of questions is 54.0%. Several existing mainstream algorithms are selected to compare with our model on the VQA v2.0 dataset. Results show that our VQA model has higher accuracy in overall and different types of questions. Ablation experiments are carried out in the VQA v2.0 dataset as well. Results of the ablation experiments show that combining bottom-up attention mechanism with memory network is better than using the modules alone, proving the effectiveness of the proposed algorithm. Conclusion In this study, we propose a VQA model through combining bottom-up attention mechanism and memory network, thus providing a new means of thinking for VQA. Our model synthesizes the advantages of bottom-up attention and memory network and is more in line with the visual attention mechanism of human beings. Moreover, it can remember effective information for a long time and reduce the loss of information in the process of reasoning answers, thus effectively improving the accuracy of VQA.

Key words

visual question answering (VQA); bottom-up; attention mechanism; memory network; multimodal fusion; multi-classification

0 引言

在自然语言处理领域,基于文本的问答系统已广泛研究且取得一定成就,然而涉及视觉的问答系统才刚刚兴起。视觉问答(visual question answering,VQA)(Antol等,2015)是一项涉及计算机视觉和自然语言处理两大领域的任务,指根据给定的图像和与图像相关的自然语言问题,生成符合自然语言规则且内容合理的答案,图 1展示了视觉问答任务中的一些示例。随着计算机视觉和自然语言处理两大领域相关技术的发展,视觉问答日渐成为热门的研究方向之一。

图 1 视觉问答任务示例
Fig. 1 Examples of visual question answering

与基于文本的问答相比,视觉问答存在图像维度高、噪声多、内容多样、图像缺乏结构化语义和语法规则等问题,并且在理解图像内容时,通常需要一些额外信息进行辅助,例如生活常识、与图像内容相关的专业知识、图像中特定事物的百科知识等,因此视觉问答任务更加复杂。

早期的视觉问答方法没有用到复杂的深度学习模型,一般采用卷积神经网络(convolutional neural network, CNN)提取图像全局特征,采用递归神经网络(recurrent neural network, RNN)提取文本特征,最后简单融合两种模态特征,送入分类器预测答案。这种方法以全局特征作为视觉输入,在预测答案阶段会引入大量噪声。为了缓解这个问题,受人类视觉注意力和相关技术的启发,注意力机制在视觉问答模型中得到了广泛应用。

在人类视觉系统中,注意力一般分为自上而下的注意力(top-down attention)和自底向上的注意力(bottom-up attention)。前者指根据当前任务,主动有意识地聚焦于与任务紧密相关的部分。后者指注意力首先会被显著的、突出的事物吸引,与当前任务无关。

在视觉问答任务中,以往大多数的视觉问答模型采用的都是自上而下的注意力机制,即根据视觉问答任务中的问题,关注图像中与问题密切相关的部分。这类注意力机制通常经过训练,有选择地处理CNN的一层或多层的输出,预测图像中每个空间位置的权重,从而忽视了图像的内容。而对于人类来说,注意力会更集中于图像中的特定目标或其他显著区域。因此,为了使视觉问答模型生成更多接近人类的问题答案,采用自底向上的注意力机制更为自然。

视觉问答任务复杂,不仅需要理解图像内容,对图像进行细粒度分析,还需要根据视觉信息进行推理生成高质量答案。传统的RNN、长短期记忆(long short-term memory,LSTM),以及注意力机制的记忆存储能力有限,无法长时间记忆存储太多信息,在推理答案过程中会丢失很多有用信息,从而预测出错误答案,影响视觉问答效果。

综合考虑上述问题,为了提高视觉问答的准确率,本文提出一种结合自底向上注意力机制和记忆网络的视觉问答模型,采用自底向上的视觉注意力机制提取图像中的目标和显著区域作为图像的内容表示,然后在模型中加入记忆网络,通过记忆网络从输入的视觉信息中检索出回答问题需要的信息,并对有效信息进行多次传递、更新、记忆,最后对提出的模型进行端到端的训练,使训练后的模型在视觉问答任务中达到理想效果。

1 相关工作

近些年随着深度学习、神经网络的快速崛起,以及相关技术在计算机视觉和自然语言处理等领域的成功应用,推动了视觉问答这一研究方向的发展,涌现了大量研究成果。

在视觉问答任务中,可以将基本方法简单概括为:首先提取图像特征,然后提取问题特征,最后结合两者特征预测答案。随着卷积神经网络和递归神经网络的诞生,人们提出了联合嵌入方法。联合嵌入模型通常使用卷积神经网络提取图像特征,使用递归神经网络提取问题特征,然后对图像特征和问题特征进行联合嵌入学习,最后送入分类器推理答案。为了提高联合嵌入方法的有效性,相关学者展开了大量研究工作。Zhou等人(2015)使用单词包进行文本嵌入,Wu等人(2016)提出探索外部知识,Fukui等人(2016)利用多模态紧凑池化、Kim等人(2016)提出多模态残差学习,周远侠和于津(2018)在联合嵌入模型的基础上,提出仿聚类法对数据集预先进行处理,提高了视觉问答的准确率。这些方法都是在整个图像和文本上生成全局特征,无法关注与问题最相关的图像区域和文本单词,在推测答案过程中会引入大量噪声,影响对答案的分析和判断。因此,采用联合嵌入方法训练的视觉问答模型存在一定的缺陷和局限性。为了缓解联合嵌入方法中的问题,受人类视觉注意力和深度学习相关技术的启发,在视觉问答模型中引入注意力机制。

注意力机制模型可以根据具体图像和问题,有选择地关注输入的特定区域,获得关注区域更多的有效信息,并抑制无用信息,而不是直接使用深度卷积网络提取的图像全局特征,一定程度上减少了噪声引入。Yang等人(2016)提出以叠加的方式对图像进行多次关注,最终注意到与问题相关的图像区域,逐步推测出答案;Xu和Saenko(2016)提出使用多跳图像注意力机制,对与问题相关的区域进行细粒度分析,然后回答问题;Shih等人(2016)应用现有的目标检测算法提取图像中的目标区域,并选择与问题最相关的部分来预测答案。除了视觉注意力,Lu等人(2016)提出一种共同注意力机制,即关注图像中特定区域的同时,也要关注问题中的重要部分;Yu等人(2017)提出一种新颖的多层次注意力网络,利用视觉注意力和语义注意力之间的互补性,增强对图像理解的细粒度分析;于东飞(2019)提出一种基于图注意力网络的视觉问答模型,对物体间的联系建立图结构,并在此基础上加入注意力机制。总之,注意力机制提高了视觉问答模型的整体性能,已广泛应用于视觉问答任务中。

为了更好地应对视觉问答任务中的复杂问题,相关研究人员开始进行模块化组合方向的探索,将具备不同功能的模块组合连接在一起。比如有记忆功能模块、对复杂类型问题具有一定推理能力的模块等。针对不同问题,组合模型使用不同模块进行计算,可以实现任务分解及重复利用。Weston等人(2015)最早提出一种简单的记忆组件用于文本问答。后来,Sukhbaatar等人(2015)提出以端到端的方式训练记忆网络,与早期Weston等人(2015)提出的网络不同,这种方法在训练阶段不需要标注相关支持事实。Andreas等人(2016)采用语义解析器分析问题的组成单元,然后动态地组合各个独立模块来解决视觉问答问题;Kumar等人(2016)使用注意力机制在神经序列模型上建立记忆网络,给定一个问题,记忆网络通过注意力机制选择性地关注特定的输入。具有记忆功能或推理能力的神经网络还包括动态记忆网络(Xiong等,2016)、分层记忆网络(Chandar等,2016)、增强型记忆网络(Ma等,2018)等,组合模型在视觉问答任务中发挥着很好的作用,成为备受欢迎的研究方向。

视觉问答任务需要对图像内容有充分理解,对一些复杂问题往往需要一些先验知识进行辅助,包括基本生活常识、图像中涉及的专业知识和特定事物的百科知识等。例如给定的一幅图像中包含不同品种的花,要求回答“图像中有多少束玫瑰花?”,那么视觉问答模型不仅要探测图像中的花朵,还要了解玫瑰花的特征及玫瑰花的类别等,这就需要模型结合一定的外部知识,才能预测推理出正确答案。为了满足这一需求,相关研究在视觉问答模型中引入大规模的外部知识库,如DBpedia、freebase等。为了使计算机更好地处理和理解外部知识,知识库中采用三元组的结构表示知识,可以简单理解为(实体,关系,实体)的形式,进一步还可以将知识库转化为知识图谱。在此基础上,Wu等人(2018)提出一个视觉问答模型,将图像的内容表示与从知识库中提取的信息相结合,以回答与图像相关的广泛性问题;张为明(2018)基于卷积神经网络提取图像中的实体,并联合问题中的关系表示,结合结构化知识库回答一些需要常识辅助的复杂问题。知识增强方法通过引入知识库,为视觉问答模型提供丰富的外部知识,增强对图像内容的理解,对回答一些复杂问题有很大帮助。但是,知识增强方法也存在一些难点,知识查询的动作空间比较大,模型训练时间较长,需要占用较多资源,而且当问题比较复杂时,需要结合多个三元组信息,在知识图谱上进行推理,才能预测出正确的实体答案。

2 模型介绍

本文提出一种结合自底向上注意力机制和记忆网络的视觉问答模型,整个模型的网络结构如图 2所示。提出的模型采用自底向上的注意力机制提取图像特征,并联合问题嵌入表示送入记忆网络,然后通过记忆网络检索、记忆与问题相关的图像信息,最后融合问题嵌入表示和记忆网络的最终输出,送入分类器预测答案。

图 2 提出模型的整体结构
Fig. 2 The overall architecture of the proposed model

2.1 自底向上的注意力机制

大多数用于视觉问答的视觉注意力机制都是自上而下的,即根据当前任务中的问题,聚焦图像中与问题密切相关的部分。如图 3(a)所示,这些注意力机制都是基于CNN提取的图像特征,输入区域对应的是一个由大小、形状相同的神经接受域组成的统一网格,而与图像内容无关,无法更好地表征图像信息。为了更符合人类的视觉注意力,提高对图像内容的表达能力,本文模型采用自底向上的注意力机制来提取图像特征,如图 3(b)所示,该注意力机制关注图像中的对象和显著性区域,增强了对图像内容的表示。

图 3 不同的图像注意力机制
Fig. 3 Different mechanisms of visual attention
((a) attention based on CNN features; (b) attention based on objects and salient areas)

为了更好地实现自底向上的注意力机制,预先训练了一个目标检测模型,基于ResNet-101(He等,2016)的faster R-CNN(region-based convolutional neural network)(Ren等,2017)提取图像中的目标和显著区域。原始的faster R-CNN以VGG(visual geometry group)16(Simonyan和Zisserman,2014)作为特征提取的基础网络,但是VGG16的参数量相当大,训练速度慢,耗费更多的计算资源,并且当网络加深时,会出现梯度消失、网络不收敛等问题。ResNet相较于VGG的优势在于它是一个更深层、大型的网络,因此有更大的容量去学习所需要的信息。在加深网络的同时,解决了梯度消失、网络不收敛等问题,并且复杂度降低,网络更易于优化。在图像分类、目标检测、定位等任务中,ResNet网络均表现出良好的性能,具有较高的准确度和计算效率。He等人(2016)也证明在faster R-CNN中,用ResNet-101代替VGG16作为基础网络,可以提高faster R-CNN的整体性能。因此,本文采用ResNet-101作为faster R-CNN的基础网络。

在本文模型中,首先使用ResNet-101网络在ImageNet(Russakovsky等,2015)数据集上预先训练分类,用来初始化faster R-CNN,然后将整个目标检测模型放在Visual Genome(Krishna等,2017)数据集上进行训练。为了学习更好的特征表示,在原有模型基础上添加了一个额外的训练输出预测属性类别,即在faster R-CNN原有的损失函数上添加一个额外的多类别损失函数训练属性预测器。采用faster R-CNN的最终输出作为用于视觉问答模型中的图像特征$\mathit{\boldsymbol{v}}$,该模型输出的图像示例如图 4所示,图像中检测到的每个对象都对应着一个(属性,对象)的二元描述。

图 4 自底向上的注意力模型输出示例
Fig. 4 Example output from our faster R-CNN bottom-up attention model

该目标检测模型通过设定的一系列阈值允许兴趣框的重叠,这样可以更有效地理解图像内容;对图像中的每一个兴趣区域不仅使用了对象检测器,还使用属性分类器,这样可以获得对象的(属性,对象)二元描述,这种描述更贴合实际应用。每幅图像提取$K$个对象区域,每个对象区域用一个2 048维的向量表示,该向量对对象区域进行编码,作为记忆网络的输入。

2.2 问题嵌入

训练和测试阶段的输入都是一幅图像和一个文本问题。对每个问题首先用空格和标点分成单词、数字或基于数字的单词(如:200或8:30 am,也被认为是一个单词)。为了提高计算效率,每个问题缩减固定到14个单词,多余的单词被简单丢弃,短于14个单词的问题用0向量填充,实验使用的数据集中只有0.25%的问题超过14个单词。采用GloVe(global vectors for word representation)模型(Pennington等,2014)进行单词的向量化表示,得到的单词嵌入序列大小为14 × 300,然后将该序列送入到一个双向循环门控单元(gated recurrent unit, GRU)(Cho等,2014),将双向GRU输出的最终状态,即处理完14个单词嵌入后,作为最终的问题嵌入向量$\mathit{\boldsymbol{q}}$。问题嵌入向量$\mathit{\boldsymbol{q}}$除了用于下文记忆网络中的注意力机制模块,还作为记忆网络中记忆更新模块的初始记忆${\mathit{\boldsymbol{m}}^0}$

2.3 记忆网络

记忆网络的目的是从输入的视觉信息中检索出回答问题需要的信息,并对有效信息进行记忆存储。为了提高对问题和图像的理解,特别是当问题需要传递推理时,记忆网络需要多次传递输入,每次传递后都会更新记忆的信息。记忆网络的整体结构如图 5所示,由注意力机制模块和记忆更新模块两部分组成,每次迭代都会通过注意力机制对输入向量进行权重计算生成新的记忆,然后通过记忆更新模块对记忆的信息进行更新。其中,AttnGRU指基于注意力的GRU模型(attention-based GRU)

图 5 传递次数为3时的记忆网络整体结构
Fig. 5 Overall structure of memory network when using three passes

2.3.1 注意力机制

为了应对更复杂的查询和回答更复杂的问题,需要注意力机制能关注到输入事实(即每幅图像提取的$K$个对象区域)的位置和顺序。因此采用经过一定修改的GRU作为记忆网络的注意力机制,如图 6所示。

图 6 记忆网络中的注意力机制
Fig. 6 Attention mechanisms in memory network
((a) original GRU model; (b) attention-based GRU model)

GRU的原始定义如下:对于每一个时间步$i$的输入${\mathit{\boldsymbol{x}}_i}$和前一个时间步的隐藏状态${\mathit{\boldsymbol{h}}_{i - 1}}$,通过以下公式计算更新后的隐藏状态${\mathit{\boldsymbol{h}}_i} = GRU\left({{x_i}, {\mathit{\boldsymbol{h}}_{i - 1}}} \right)$

$ {\mathit{\boldsymbol{u}}_i} = \sigma \left({{\mathit{\boldsymbol{W}}^{(u)}}{\mathit{\boldsymbol{x}}_i} + {\mathit{\boldsymbol{U}}^{(u)}}{\mathit{\boldsymbol{h}}_{i - 1}} + {\mathit{\boldsymbol{b}}^{(u)}}} \right) $ (1)

$ {\mathit{\boldsymbol{r}}_i} = \sigma \left({{\mathit{\boldsymbol{W}}^{(r)}}{\mathit{\boldsymbol{x}}_i} + {\mathit{\boldsymbol{U}}^{(r)}}{\mathit{\boldsymbol{h}}_{i - 1}} + {\mathit{\boldsymbol{b}}^{(r)}}} \right) $ (2)

$ {\mathit{\boldsymbol{\widetilde h}}_i} = \tanh \left({\mathit{\boldsymbol{W}}{\mathit{\boldsymbol{x}}_i} + {\mathit{\boldsymbol{r}}_i} \circ \mathit{\boldsymbol{U}}{\mathit{\boldsymbol{h}}_{i - 1}} + {\mathit{\boldsymbol{b}}^{(h)}}} \right) $ (3)

$ {\mathit{\boldsymbol{h}}_i} = {\mathit{\boldsymbol{u}}_i} \circ {\mathit{\boldsymbol{\widetilde h}}_i} + \left({1 - {\mathit{\boldsymbol{u}}_i}} \right) \circ {\mathit{\boldsymbol{h}}_{i - 1}} $ (4)

式中,${\mathit{\boldsymbol{u}}_i}$用于控制前一时刻的状态信息被代入到当前时刻的程度,${\mathit{\boldsymbol{r}}_i}$用于控制忽略前一时刻状态信息的程度,${\mathit{\boldsymbol{h}}_i}$代表更新后的隐藏层状态,$\sigma $代表sigmoid激活函数,${\mathit{\boldsymbol{x}}_i}$代表当前$i$时刻的输入,${\mathit{\boldsymbol{h}}_{i - 1}}$代表前一个时间步的隐藏层状态,$\mathit{\boldsymbol{b}}$代表偏置项,tanh代表双曲正切函数,符号“$ \circ $”表示按元素对应相乘, ${\mathit{\boldsymbol{W}}^{\left(u \right)}}$, ${\mathit{\boldsymbol{W}}^{\left(r \right)}}$, $\mathit{\boldsymbol{W}} \in {{\bf{R}}^{{n_{\rm{H}}}{\rm{ \times }}{n_{\rm{I}}}}}$${\mathit{\boldsymbol{U}}^{\left(u \right)}}$, ${\mathit{\boldsymbol{U}}^{\left(r \right)}}$, $\mathit{\boldsymbol{U}} \in {{\bf{R}}^{{n_{\rm{H}}}{\rm{ \times }}{n_{\rm{I}}}}}$${{n_{\rm{H}}}}$代表隐藏层大小,${{n_{\rm{I}}}}$代表输入的大小。

在式(1)中,由于更新门${\mathit{\boldsymbol{u}}_i}$仅使用当前输入和前一时刻的隐藏层状态来进行计算,因此缺乏来自问题和之前每个时刻记忆的任何信息。

为了解决上述问题,将式(1)中的更新门${\mathit{\boldsymbol{u}}_i}$替换为门控值$g_t^i$作为注意力机制,则GRU可以使用注意门$g_t^i$更新内部状态,即

$ \mathit{\boldsymbol{z}}_i^t = \left[ {{\mathit{\boldsymbol{v}}_i} \circ \mathit{\boldsymbol{q}};{\mathit{\boldsymbol{v}}_i} \circ {\mathit{\boldsymbol{m}}^{t - 1}};\left| {{\mathit{\boldsymbol{v}}_i} - \mathit{\boldsymbol{q}}} \right|;\left| {{\mathit{\boldsymbol{v}}_i} - {\mathit{\boldsymbol{m}}^{t - 1}}} \right|} \right] $ (5)

$ \mathit{\boldsymbol{Z}}_i^t = {\mathit{\boldsymbol{W}}^{(2)}}\tanh \left({{\mathit{\boldsymbol{W}}^{(1)}}\mathit{\boldsymbol{z}}_i^t + {\mathit{\boldsymbol{b}}^{(1)}}} \right) + {\mathit{\boldsymbol{b}}^{(2)}} $ (6)

$ g_i^t = \frac{{\exp \left({\mathit{\boldsymbol{Z}}_i^t} \right)}}{{\sum\limits_{k = 1}^K {\exp } \left({\mathit{\boldsymbol{Z}}_k^t} \right)}} $ (7)

$ {\mathit{\boldsymbol{h}}_i} = g_i^t \circ {\mathit{\boldsymbol{\widetilde h}}_i} + \left({1 - g_i^t} \right) \circ {\mathit{\boldsymbol{h}}_{i - 1}} $ (8)

式中,$t$代表记忆网络的传递输入次数,${\mathit{\boldsymbol{v}}_i}$是指图像中提取的$K$个2 048维向量表示的对象区域,${{\mathit{\boldsymbol{m}}^{t - 1}}}$代表前一次传递输出的记忆(初始记忆${\mathit{\boldsymbol{m}}^0}$=$\mathit{\boldsymbol{q}}$),$\mathit{\boldsymbol{q}}$代表问题嵌入向量,符号“$ \circ $”表示元素积,|·|代表元素积的绝对值,符号“; ”代表向量之间的串联,$\mathit{\boldsymbol{W}}$代表权重矩阵,$\mathit{\boldsymbol{b}}$代表偏置项,${\mathit{\boldsymbol{h}}_{i - 1}}$代表前一时刻的隐藏层状态,${\mathit{\boldsymbol{h}}_i}$代表当前时刻的隐藏层状态。

为了生成用于更新情景记忆状态${\mathit{\boldsymbol{m}}^t}$的上下文向量${\mathit{\boldsymbol{v}}^t}$,使用了基于注意力门控的GRU的最终隐藏状态。

2.3.2 记忆更新模块

记忆网络的记忆更新模块采用线性整流函数(rectified linear unit, ReLU)的单层神经网络,即

$ {\mathit{\boldsymbol{m}}^t} = {\mathit{\boldsymbol{R}}_{{\rm{eLU}}}}\left({{\mathit{\boldsymbol{W}}^t}\left[ {{\mathit{\boldsymbol{m}}^{t - 1}};{\mathit{\boldsymbol{v}}^t};\mathit{\boldsymbol{q}}} \right] + \mathit{\boldsymbol{b}}} \right) $ (9)

式中,$t$代表记忆网络的传递输入次数,$R_{{\rm{eLU}}}$代表线性整流函数,${{\mathit{\boldsymbol{m}}^{t - 1}}}$代表前一次传递输出的记忆信息,${\mathit{\boldsymbol{v}}^t}$是基于注意力门控的GRU的最终隐藏状态,$\mathit{\boldsymbol{q}}$代表问题嵌入向量,为记忆网络的初始状态${\mathit{\boldsymbol{m}}^0}$,符号“; ”代表向量之间的串联,${\mathit{\boldsymbol{W}}^t} \in {{\bf{R}}^{{n_{\rm{H}}}{\rm{ \times }}{n_{\rm{H}}}}}$$b \in {{\bf{R}}^{{n_{\rm{H}}}}}$${{n_{\rm{H}}}}$代表隐藏层的大小。

2.4 多模态融合方式

将记忆网络经过多次传递更新后输出的最终记忆记为${\mathit{\boldsymbol{m}}^T}$,将${\mathit{\boldsymbol{m}}^T}$和问题嵌入向量$\mathit{\boldsymbol{q}}$分别输入到两个非线性全连接层,然后相互串联,具体为

$ \mathit{\boldsymbol{h}} = \left[ {{f_q}(\mathit{\boldsymbol{q}});{f_m}\left({{\mathit{\boldsymbol{m}}^T}} \right)} \right] $ (10)

式中,$\mathit{\boldsymbol{h}}$代表问题和记忆网络最终输出信息的联合嵌入向量,${{f_q}}$${{f_m}}$代表非线性层,$\mathit{\boldsymbol{q}}$代表问题嵌入向量,${\mathit{\boldsymbol{m}}^T}$代表记忆网络经过第$T$次传递更新后的最终输出,符号“; ”代表向量之间的串联。将$\mathit{\boldsymbol{h}}$送入分类器,即可推测出正确答案。

2.5 分类器

在VQA v2.0数据集中,训练集中每个问题都与1个或多个答案相关联,答案都以0~1的软分数作为标签,本文将出现8次以上的正确答案(共3 129个)作为候选答案。与大多数视觉问答模型中常用的softmax分类器不同,本文将视觉问答看作是多标签分类任务,采用多标签分类器将问题和记忆信息的联合嵌入向量$\mathit{\boldsymbol{h}}$送入一个非线性层${f_0}$,然后通过一个线性映射${\mathit{\boldsymbol{w}}_0}$,最后送入sigmoid层预测每个候选答案的正确率得分${\hat s}$,即

$ \hat s = \sigma \left({{\mathit{\boldsymbol{w}}_0}{f_0}(\mathit{\boldsymbol{h}})} \right) $ (11)

式中,σ代表sigmoid激活函数,${\mathit{\boldsymbol{w}}_0}$代表学习到的权重矩阵,${f_0}$代表非线性层。sigmoid函数输出给每一个候选答案一个0~1的分数。最后一个阶段可以看做预测每个候选答案正确性的逻辑回归,本文的目标函数表示为

$ L = - \sum\limits_i^M {\sum\limits_j^N {{s_{ij}}} } {\log _2}\left({{{\hat s}_{ij}}} \right) - \left({1 - {s_{ij}}} \right){\log _2}\left({1 - {{\hat s}_{ij}}} \right) $ (12)

式中,$i$$j$分别运行在$M$个训练问题和$N$个候选答案上,$s$是数据集中真实答案的软目标分数,${\hat s}$是该网络输出的每个候选答案的分数。采用式(12)作为目标函数有两个优点:1)sigmoid输出允许优化每个问题的多个正确答案(在数据集中偶尔会出现一个问题对应多个正确答案);2)与二分类目标相比,使用软分数作为目标提供了更加丰富的训练信号。

3 实验方案

3.1 数据集

3.1.1 Visual Genome数据集

在自底向上的注意力机制中,使用Visual Genome数据集(Krishna等,2017)对模型进行训练。该数据集包含108 077幅图像、540万个区域描述、170万个视觉问题答案对、380万个对象实例、280万个属性、230万种关系。每幅图像平均标注了35个对象、26个属性,以及21对对象间的关系对。在训练自底向上的注意力机制模型中,只使用了该数据集中的对象和属性数据,保留5 000幅图像用于验证,5 000幅图像用于测试,剩余的98 077幅图像作为训练数据。由于对象和属性注释是由自由注释的字符串组成,而不是一个类别,所以手工删除了在初始实验中检测性能较差的抽象类,最终的训练集包含1 600个对象类和400个属性类。

3.1.2 VQA v2.0数据集

为了训练和评估提出的视觉问答模型,选取公开的大规模数据集VQA v2.0(Goyal等,2017)作为实验对象,VQA数据集主要由现实图像和抽象卡通图像组成。实验采用现实图像数据,有123 287幅训练图像和81 434幅测试图像,主要来自MS COCO数据集(Lin等,2014),并在MS COCO数据集的基础上添加了614 163个问题,每个问题都包含10个来自不同注释者的答案。VQA v2.0是在VQA v1.0的基础上采集新数据发布的版本。VQA v1.0数据集(Antol等,2015)发布于2015年,该数据集存在一些问题:模型可以通过简单呆板的记忆来正确回答很多问题,获得很好的效果。比如回答是/否(yes/no)类型的问题,如果总是回答yes,就能答对大部分问题,所以这个数据集的答案有一定的语言先验性,平衡性不强。VQA v2.0数据集包含了与MS COCO图像有关的110万个问题和1 110万个答案,与VQA v1.0数据集相比,主要解决了答案不平衡问题。对同一个问题,保证有两幅不同的相似图像,使得对这个问题的答案是不同的,这一做法使得视觉问答模型为了生成正确答案不得不更多地利用图像特征,从而使视觉特征在视觉问答中扮演了更重要的角色,图 7是从VQA v2.0数据集中随机选取的一些示例,Q(question)表示问题,A(answer)表示答案。为了评估答案的质量,数据集使用标准的VQA评价指标(Antol等,2015)报告答案的准确性。

图 7 VQA v2.0数据集中的示例
Fig. 7 Examples in VQA v2.0 dataset

3.2 实验相关设置

实验基于Linux Ubuntu 16.04系统, 4核GPU, 版本为GeForce GTX TITAN X,深度学习框架为pytorch。

在自底向上的注意力机制中,为了提高计算效率,固定每幅图像提取的对象区域个数$K$,设置为$K$= 36。在记忆网络中,将记忆传递更新的次数设置为3,即记忆网络最后输出为${\mathit{\boldsymbol{m}}^T} = {\mathit{\boldsymbol{m}}^3}$。采用随机梯度下降训练网络,采用Adamax优化算法(Kingma和Ba,2014),它能基于训练数据迭代地更新神经网络权重,不需要固定的学习速率,带有学习率上限。实验中使用Adamax的默认参数设置,每个模块隐藏层的维数均设置为2 048,包括问题嵌入、GRU、记忆网络等。实验采用大的mini-batches, 将batch size设置为512。为了防止梯度爆炸,使用梯度裁剪,将梯度的阈值设定为0.25。为了防止模型训练过程中出现过拟合,实验中引入dropout和正则化。将epoch的次数设置为30,每一轮训练结束后,打乱一次数据,可以避免训练样本的先后次序影响优化的结果。保存训练结果最好的模型,在VQA v2.0数据集的测试集上对模型进行测试。

4 实验结果与分析

本文模型在VQA v2.0数据集上进行训练,本次实验采用的评价指标是标准的VQA准确率(accuracy)。图 8展示了在训练过程中,损失(loss)的变化以及模型分别在训练集和验证集上的准确率变化。由图 8可以看出,模型在训练过程中,随着epoch次数的增加,损失保持稳定下降,模型的准确率不断提高,最终趋于平稳,当epoch等于18时,模型在验证集上达到最高的准确率。

图 8 模型训练过程中损失和准确率的变化
Fig. 8 Changes in loss and accuracy during model training
((a)curve of loss with epoch; (b)curve of accuracy with epoch)

将训练结果最好的模型提交到VQA v2.0的测试集test-dev和test-std上进行测试,得到本文提出的视觉问答模型在总体上以及在“是/否”(yes/no)、“计数”(number)、“其他”(other)这3种问题上的测试结果,如图 9图 10所示。在test-dev测试集中,总体准确率为63.8%,回答“是/否”、“计数”、“其他”问题的准确率分别为80.9%、43.9%、53.7%。在test-std测试集中,总体准确率为64.0%,回答“是/否”、“计数”、“其他”问题的准确率分别为80.9%、44.3%、54.0%。可以看出,本文模型在视觉问答任务中可以达到较高的准确率。

图 9 本文模型在test-dev测试集上的结果
Fig. 9 Results of our model on the test-dev test set
图 10 本文模型在test-std测试集上的结果
Fig. 10 Results of our model on the test-std test set

在VQA v2.0的test-std测试集上,选取9种现有代表性的视觉问答模型与本文模型进行比较,包括两大基线模型prior(Antol等,2015)和language-only(Antol等,2015)及d-LSTM+n-I(deeper LSTM and normalized image)(Lu等,2015)、SAN(stacked attention networks)(Yang等,2016)、MRN(multimodal residual networks)(Kim等,2016)、MCB(multimodal compact bilinear) (Fukui等,2016)、DCD_ZJU(Lin等,2017)、VQA machine(Wang等,2017)、up-down(Anderson等,2018)等主流算法。表 1列出了所有比较算法的准确率, 从总体及“是/否”、“计数”、“其他”问题类别上,对算法性能进行比较。可以看出,本文模型的总体准确率与up-down模型相接近,二者均高于其他算法。在视觉问答任务中,与其他算法相比,本文模型的准确率有显著提升。与早期的基线模型prior、language-only、d-LSTM+n-I相比,总体准确率分别提高38.1%、19.7%、9.8%;与后期引入注意力机制的SAN和DCD_ZJU算法相比,总体准确率分别提高8.7%和1.5%;与引入多模态残差网络的MRN算法相比,总体准确率提高6.6%;与提出新的多模态特征融合的MCB算法相比,总体准确率提高1.7%;相比于性能较好的VQA machine算法,本文模型总体及回答“是/否”、“计数”、“其他”问题的准确率分别提高了1%、1.1%、3.4%和0.6%,在总体和3个不同问题类别上,本文模型在视觉问答任务中都取得了不错效果。

表 1 不同算法在VQA v2.0 test-std测试集上的准确率比较
Table 1 Comparison of accuracy of different algorithms on VQA v2.0 test-std dataset 

下载CSV
/%
算法VQA v2.0 test-std
是/否计数其他总体
Prior61.20.41.225.9
language-only67.031.627.444.3
d-LSTM + n-I73.535.241.854.2
SAN69.835.747.255.3
MRN75.736.246.357.4
MCB78.838.353.362.3
DCD_ZJU79.838.353.162.5
VQA machine79.840.953.463.0
up-down82.243.956.265.7
本文80.944.354.064.0
注:加粗字体为每列最优结果。

由于Anderson等人(2018)提出的up-down模型也采用了自底向上的注意力机制,特地将本文模型与其进行对比分析,为公平起见,仅比较两者在单模型上的结论。

up-down模型采用自底向上与自上而下的注意力机制相结合的方法,其中自底向上的注意力机制通过目标检测模型faster R-CNN来实现,并设定自适应的$K$值,即允许每幅图像提取的对象区域的数量$K$,随着图像的复杂性而变化,最大值为100;自上而下的注意力机制采用问题引导的方式对提取的每个图像区域分配权值,然后通过softmax函数对所有区域的注意力权值进行归一化,最后对所有区域的图像特征进行加权求和,得到图像总体特征表示。该模型存在以下问题:没有考虑到图像中提取的对象区域之间的联系,以及对与问题相关信息的长时间记忆。当问题较复杂,需要结合多种信息进行推理时,该模型在推理答案的过程中会丢失很多有用信息,影响视觉问答的效果。为了提高该模型视觉问答的准确率,Anderson等人(2018)在模型中引入了很多复杂方法,例如:在模型训练时引入额外的数据集、模型中全部采用gated tanh作为非线性层、对分类器进行分流预训练等。

本文模型将自底向上的注意力机制与记忆网络相结合,无需添加复杂的训练方法,模型即可取得很好效果,总体准确率为64.0%,接近up-down模型65.7%。其中,在回答较复杂的计数类问题时,本文模型可以达到44.3%的准确率,比up-down模型高0.4%。可以看出,本文模型充分发挥了自底向上注意力机制和记忆网络的作用,不仅使用自底向上注意力机制精确检测到图像中的物体,还结合记忆网络对图像信息进行多次传递记忆,并且在检索信息时考虑到了图像中对象之间的联系,在推理答案的过程中减少了有效信息的丢失,从而可以更加准确地计算图像中的物体数量,提高回答计数类问题的准确率。同时,本文模型更易于训练,提高了计算效率,在未来的研究中可以作为一个很好的基线模型使用。

在VQA示例上对不同模型进行定性分析,给定同一幅图像和与图像相关的同一个问题,比较本文模型、VQA machine和d-LSTM + n-I算法生成的答案,对比效果如图 11所示。可以看出,图像中目标较少且问题较简单时,3种算法均生成了正确答案,但图像中目标较多、问题较复杂且需要多次推理时,本文模型提供了更为准确的答案,而其他算法没有正确检索、记忆到与问题相关的图像信息,预测出了错误答案。相比之下,本文模型在视觉问答任务中表现出了更好性能。

图 11 与其他方法在VQA示例上的对比效果图
Fig. 11 Qualitative comparison of different algorithms on VQA examples

为了更好地验证自底向上注意力机制与记忆网络结合的有效性,以及每个模块对提出模型整体性能的影响,进一步在VQA v2.0数据集上做了消融实验,在test-std测试集上对实验结果进行比较。表 2记录了消融实验中视觉问答准确率的变化。可以看出,与本文模型相比,模型只使用自底向上的注意力机制时,总体准确率降低了2.3%;模型只使用记忆网络时,总体准确率降低了3.7%。自底向上的注意力机制和记忆网络对模型的整体性能均存在一定影响,其中前者对模型的整体影响相对较大。本文模型将自底向上的注意力机制与记忆网络相结合,无论是在总体上,还是在回答“是/否”、“计数”、“其他”不同的问题类别上,准确率均达到了最优值,验证了两者结合的有效性。本文模型综合了两者的优点,通过自底向上的注意力机制增强对图像内容的表示,并结合记忆网络增强对有效信息的长时间记忆,从而提高了视觉问答的准确率。

表 2 在VQA v2.0 test-std上进行消融实验的准确率
Table 2 Accuracy of ablation experiments on VQA v2.0 test-std dataset 

下载CSV
/%
方法是/否计数其他总体
自底向上注意力机制78.841.350.961.7
记忆网络80.536.848.360.3
自底向上注意力机制+记忆网络80.944.354.064.0
注:加粗字体为每列最优结果。

实验在将记忆网络的最终输出${\mathit{\boldsymbol{m}}^T}$与问题$\mathit{\boldsymbol{q}}$联合嵌入的过程中,还比较了不同的多模态融合方式对视觉问答结果的影响, 在VQA v2.0数据集的验证集上对模型进行评估。如表 3所示,比较了3种不同的多模态融合方式,第1种方法将${\mathit{\boldsymbol{m}}^T}$$\mathit{\boldsymbol{q}}$相串联;第2种方法将${\mathit{\boldsymbol{m}}^T}$$\mathit{\boldsymbol{q}}$分别输入到非线性全连接层,然后将输出结果进行Hadamard乘积;第3种方法将${\mathit{\boldsymbol{m}}^T}$$\mathit{\boldsymbol{q}}$分别输入到非线性全连接层,然后将输出结果串联。从表 3可以看出,采用第3种融合方式的准确率较高,与第1种和第2种方法相比,准确率分别提高了0.15%和0.43%,因此本文模型使用第3种融合方式。

表 3 在VQA v2.0 validation上不同多模态融合方式比较
Table 3 Comparison of different multimodal fusion modes on VQA v2.0 validation 

下载CSV
/%
多模态融合方式准确率
串联61.96
全连接层+ Hadamard乘积61.68
全连接层+串联62.11
注:加粗字体为最优结果。

5 结论

提出一种结合自底向上注意力机制和记忆网络的视觉问答模型,通过采用自底向上的注意力机制提取图像特征,增强了对图像的内容表示;在模型中加入记忆网络,通过记忆网络从输入的图像表示中检索出回答问题需要的信息,并对信息进行多次传递、更新,实现对有效信息的长期记忆存储。本文算法在公开的大规模数据集VQA v2.0上与现有主流算法进行实验比较,结果表明本文算法性能优于其他视觉问答算法。同时,在VQA v2.0数据集上进行消融实验验证提出算法的有效性,结果表明, 本文算法能有效利用自底向上注意力机制和记忆网络的优点,更符合人类的视觉注意力,并且在推理答案的过程中减少了信息丢失,有效提高了视觉问答的准确率。

本文模型在视觉问答任务中总体上有很好的性能,但是实验结果可以看出,除了在回答单一答案的简单问题上有较高的准确率外,在回答计数类型和其他复杂类型的问题时,准确率还是相对较低,并且现有的视觉问答模型都存在这个问题。未来将围绕如何提升视觉问答中计数类问题以及其他复杂问题的准确率展开研究。例如,可以进一步提高模型对图像和文本的表达能力,或者考虑在此基础上引入外部知识库增强推理等,从而提升视觉问答模型的整体性能。

参考文献

  • Anderson P, He X D, Buehler C, Teney D, Johnson M, Gould S and Zhang L. 2018. Bottom-up and top-down attention for image captioning and visual question answering//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA: IEEE: 6077-6086[DOI:10.1109/CVPR.2018.00636]
  • Andreas J, Rohrbach M, Darrel T and Klein D. 2016. Neural module networks//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE: 39-48[DOI:10.1109/CVPR.2016.12]
  • Antol S, Agrawal A, Lu J S, Mitchell M, Batra D, Zitnick C L and Parikh D. 2015. VQA: visual question answering//Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile: IEEE: 2425-2433[DOI:10.1109/ICCV.2015.279]
  • Chandar S, Ahn S, Larochelle H, Vincent P, Tesauro G and Bengio Y. 2016. Hierarchical memory networks[EB/OL].[2019-07-21].https://arxiv.org/pdf/1605.07427.pdf
  • Cho K, van Merriёnboer B, Gulcehre C, Bahdanau D, Bougares F, Schwenk H and Bengio Y. 2014. Learning phrase representations using RNN encoder-decoder for statistical machine translation//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Doha, Qatar: Association for Computational Linguistics: 1724-1734[DOI:10.3115/v1/D14-1179]
  • Fukui A, Park D H, Yang D, Rohrbach A, Darrell T and Rohrbach M. 2016. Multimodal compact bilinear pooling for visual question answering and visual grounding//Proceedings of 2016 Conference on Empirical Methods in Natural Language Processing. Austin, Texas: Association for Computational Linguistics: 457-468[DOI:10.18653/v1/D16-1044].
  • Goyal Y, Khot T, Summers-Stay D, Batra D and Parikh D. 2017. Making the V in VQA matter: elevating the role of image understanding in visual question answering//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE: 6325-6334[DOI:10.1109/CVPR.2017.670]
  • He K M, Zhang X Y, Ren S Q and Sun J. 2016. Deep residual learning for image recognition//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE: 770-778[DOI:10.1109/CVPR.2016.90]
  • Kim J H, Lee S W, Kwak D H, Heo M O, Kim J, Ha J W and Zhang B T. 2016. Multimodal residual learning for visual QA//Proceedings of the 30th International Conference on Neural Information Processing Systems. Barcelona, Spain: Curran Associates Inc.: 361-369
  • Kingma D P and Ba J. 2014. Adam: a method for stochastic optimization[EB/OL].[2019-07-21]. https://arxiv.org/pdf/1412.6980.pdf
  • Krishna R, Zhu Y K, Groth O, Johnson J, Hata K, Kravitz J, Chen S, Kalantidis Y, Li L J, Shamma D A, Bernstein M S, Li F F. 2017. Visual genome:connecting language and vision using crowdsourced dense image annotations. International Journal of Computer Vision, 123(1): 32-73 [DOI:10.1007/s11263-016-0981-7]
  • Kumar A, Irsoy O, Ondruska P, Iyyer M, Bradbury J, Gulrajani I, Zhong V, Paulus R and Socher R. 2016. Ask me anything: dynamic memory networks for natural language processing//Proceedings of the 33rd International Conference on Machine Learning. New York, NY, USA: JMLR.org: 1378-1387
  • Lin T Y, Maire M, Belongie S, Hays J, Perona P, Ramanan D, Dollár P and Zitnick C L. 2014. Microsoft COCO: common objects in context//Proceedings of the 13th European Conference on Computer Vision. Zurich, Switzerland: Springer: 740-755[DOI:10.1007/978-3-319-10602-1_48].
  • Lin Y T, Pang Z Y, Wang D H and Zhuang Y T. 2017. Task-driven visual saliency and attention-based visual question answering[EB/OL].[2019-07-21]. https://arxiv.org/pdf/1702.06700.pdf
  • Lu J S, Lin X, Batra D and Parikh D. 2015. Deeper LSTM and normalized CNN visual question answering model[EB/OL].[2019-07-21]. https://github.com/VT-vision-lab/VQA_LSTM_CNN
  • Lu J S, Yang J W, Batra D and Parikh D. 2016. Hierarchical question-image co-attention for visual question answering//Proceedings of the 30th Conference on Neural Information Processing Systems. Barcelona, Spain: NIPS: 289-297
  • Ma C, Shen C H, Dick A, Wu Q, Wang P, van den Hengel A and Reid I. 2018. Visual question answering with memory-augmented networks//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA: IEEE: 6975-6984[DOI:10.1109/CVPR.2018.00729]
  • Pennington J, Socher R and Manning C. 2014. Glove: global vectors for word representation//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Doha, Qatar: Association for Computational Linguistics: 1532-1543[DOI:10.3115/v1/D14-1162].
  • Ren S Q, He K M, Girshick R, Sun J. 2017. Faster R-CNN:towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(6): 1137-1149 [DOI:10.1109/TPAMI.2016.2577031]
  • Russakovsky O, Deng J, Su H, Krause J, Satheesh S, Ma S A, Huang Z H, Karpathy A, Khosla A, Bernstein M, Berg A C, Li F F. 2015. ImageNet large scale visual recognition challenge. International Journal of Computer Vision, 115(3): 211-252 [DOI:10.1007/s11263-015-0816-y]
  • Shih K J, Singh S and Hoiem D. 2016. Where to look: focus regions for visual question answering//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE: 4613-4621[DOI:10.1109/CVPR.2016.499]
  • Simonyan K and Zisserman A. 2014. Very deep convolutional networks for large-scale image recognition[EB/OL].[2019-07-21].https://arxiv.org/pdf/1409.1556.pdf
  • Sukhbaatar S, Szlam A, Weston J and Fergus R. 2015. Weakly supervised memory networks[EB/OL].[2019-07-21]. https://arxiv.org/pdf/1503.08895.pdf
  • Wang P, Wu Q, Shen C H and van den Hengel A. 2017. The VQA-machine: learning how to use existing vision algorithms to answer new questions//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE: 3909-3918[DOI:10.1109/CVPR.2017.416]
  • Weston J, Chopra S and Bordes A. 2015. Memory networks.[EB/OL].[2019-07-21].https://arxiv.org/pdf/1410.3916.pdf
  • Wu Q, Shen C H, Wang P, Dick A, van den Hengel A. 2018. Image captioning and visual question answering based on attributes and external knowledge. IEEE Transactions on Pattern Analysis and Machine Intelligence, 40(6): 1367-1381 [DOI:10.1109/TPAMI.2017.2708709]
  • Wu Q, Wang P, Shen C H, Dick A and van den Hengel A. 2016. Ask me anything: free-form visual question answering based on knowledge from external sources//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE: 4622-4630[DOI:10.1109/CVPR.2016.500]
  • Xiong C M, Merity S and Socher R. 2016. Dynamic memory networks for visual and textual question answering//Proceedings of the 33rd International Conference on Machine Learning. New York, USA: JMLR.org: 2397-2406
  • Xu H J and Saenko K. 2016. Ask, attend and answer: exploring question-guided spatial attention for visual question answering//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, The Netherlands: Springer: 451-466[DOI:10.1007/978-3-319-46478-7].
  • Yang Z C, He X D, Gao J F, Deng L and Smola A. 2016. Stacked attention networks for image question answering//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE: 21-29[DOI:10.1109/CVPR.2016.10]
  • Yu D F. 2019. Attention Mechanism and High-level Semantics for Visual Question Answering. Hefei: University of Science and Technology of China (于东飞. 2019.基于注意力机制与高层语义的视觉问答研究.合肥: 中国科学技术大学) http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CDFD&filename=1019057817.nh
  • Yu D F, Fu J L, Mei T and Rui Y. 2017. Multi-level attention networks for visual question answering//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE: 4709-4717[DOI:10.1109/CVPR.2017.446]
  • Zhang W M. 2018. Research and Implement for Question Answering Based on Deep Learning and Knowledge Graph Embedding. Beijing: Beijing University of Posts and Telecommunications (张为明. 2018.基于深度学习和知识表示的问答系统的研究与实现.北京: 北京邮电大学) http://cdmd.cnki.com.cn/Article/CDMD-10013-1018162133.htm
  • Zhou B L, Tian Y D, Sukhbaatar S, Szlam A and Fergus R. 2015. Simple baseline for visual question answering[EB/OL].[2019-07-21].https://arxiv.org/pdf/1512.02167.pdf
  • Zhou Y X, Yu J. 2018. Design of image question and answer system based on deep learning. Computer Applications and Software, 35(12): 199-208 (周远侠, 于津. 2018. 基于深度学习的图片问答系统设计研究. 计算机应用与软件, 35(12): 199-208) [DOI:10.3969/j.issn.1000-386x.2018.12.038]