刘 传
(安徽建筑大学数理学院 合肥 230601)
近年来,随着互联网的不断发展,海量的多媒体数据迅速增长并累积,形式上多元异构、语义上相互关联的图像、文本、视频、音频等不同模态之间的多模态学习任务受到广泛的关注。作为一种多模态学习任务,视觉问答(Visual Question Answering,VQA)是计算机视觉和自然语言处理在人工智能领域中的一个极具吸引力的研究方向[1]。VQA应用广泛,目前主要应用于回答视障人士的询问,帮助他们获取现实生活和虚拟世界的图像信息[2]。给定一幅图像和一个关于这幅图像的自然语言问题,视觉问答任务要求能够根据图像和问题的内容推断出正确答案[3]。与图文检索、图像描述等多模态学习任务相比,视觉问答是一项更具挑战性的任务,它需要对图像和问题同时进行细粒度的语义理解,并结合关系推理来预测准确的答案[3]。如图1所示,给定一张图像,并提问‘Is the horse under the man in uniform?’,一个理想的视觉问答模型需要在问题的引导下识别出图像中的‘man’和‘horse’,判断出它们之间的相对空间位置,并且要能够理解问题中‘man’和‘uniform’之间的语义信息。
图1 视觉问答任务示例
在过去的几年里,深度学习社区的许多研究人员对VQA 给予了极大的关注,并开发了各种模型来解决这个问题。一个简单合理的VQA 模型通常包括三个阶段[4~5]:1)有效地表示图像和问题的特征;2)融合图像和问题的特征,获得联合多模态嵌入;3)将联合多模态嵌入输入分类器以预测正确答案。在这三个阶段中,第一、二阶段是VQA 模型的关键部分。因此,如何有效地处理图像和问题以提取特征以及如何融合图像和问题特征是一个至关重要的问题。
为了获得更细粒度的图像问题特征的融合,人们提出了许多基于视觉注意力或协同注意力以及双线性集合的方法,如堆叠注意力网络[6]、分层协同注意力网络[7]、多模态分解双线性池[5]。尽管这些模型在解决VQA 任务中相当有效,但这些模型的一个限制是使用图像的网格特征作为输入,这种操作可能会引入和问题不相关的信息以至于模型不能关注和问题最相关的区域。为此,Anderson等[8]提出了自下而上的注意力机制,通过使用图像的显著区域特征代替网格特征,使得模型可以在视觉对象上计算注意力的概率分布。
自下而上和自上而下的注意力机制[8]模型(Bottom-Up and Top-Down,BUTD)是基于视觉注意力的经典视觉问答模型。虽然BUTD 模型由于出色的表现获得了2017 年VQA 挑战赛的冠军,但是该工作的不足之处是只能根据输入的问题特征有选择地关注图像的显著区域,并不能对视觉对象之间的关系进行有效的推理。另一方面,BUTD 模型忽略了问题中词与词之间的语义关系、图像中区域与区域之间的语义关系,也没有对问题中的每一个单词与图像中的任意视觉区域建立联系,从而无法学习模态内部和模态之间的密集语义交互。
已有的研究工作[9~10]表明,图卷积网络可以在一定程度上增强VQA 模型的可解释性和对复杂问题的推理能力,在建模视觉关系方面有很大的潜力,提高视觉问答模型的性能;另外,Yu等[5]在多头注意力的基础上提出的协同注意力网络能够对每个问题词特征和每个图像视觉区域之间的密集语义交互关系进行注意力学习。受此启发,我们针对BUTD 模型的不足,提出了基于门控图卷积网络和协同注意力的视觉问答模型。实验表明,本文在空间关系图的基础上提出的基于门控图卷积网络和协同注意力的视觉问答模型,不仅具备较强的空间关系推理的能力,而且能够学习到问题词特征和图像视觉特征的密集语义交互,相比于BUTD 模型,各项准确率均有较大提升,从而验证了模型的有效性。
本文提出一种基于门控图卷积网络和协同注意力的视觉问答模型,在问题的引导下以一种新颖的方式学习得到具备空间关系感知、语义关系交互的视觉对象特征,使得模型具有较强的显式关系推理能力。整个模型的网络结构如图2 所示,共包含图像与问题特征提取,空间关系图的构建,门控图卷积网络,协同注意力模块,多模态融合与答案预测五个部分。
图2 提出的模型总体流程
3.1.1 图像特征提取
给定一幅图像I,使用目标检测算法Faster R-CNN[11]检测图像中的物体,以提取图像I中K个检测框(bounding box)对应的视觉对象特征O=[o,o,…,o]T∈RK×dv,其中o∈Rdv是视觉对象i的视觉特征向量;并且还可获得输入图像的视觉 几 何 特 征B=[b1,b2,…,bK], 其 中bi=[x,y,w,h] 表示每一个视觉对象i对应检测框的空间位置坐标(视觉几何特征),(x,y)表示检测框bi的中心坐标,(w,h)表示检测框bi的宽度和高度。
3.1.2 问题特征提取
对于每一个输入的问题,首先将该问题填充或截断到m=14 个单词,将处理后的单词序列使用预训练的词嵌入模型Glove 编码为300 维的词向量。最后,将得到的词嵌入序列输入门控循环神经网络生 成 词 特 征 向 量 序 列H=[h1,h2,…,hm]T∈Rm×dh,hi∈Rdh。
基于图像中的K个视觉对象以及它们之间的相对空间位置构建为有向的空间关系图G={V,E},其中V是G的节点集,即图像中的K个检测框构成的集合,每个检测框的特征由视觉对象特征oi和视觉几何特征bi拼接得到,用vi表示,
根据文献[12]所描述的方法构建图像的空间关系图,该文献将检测框之间的空间关系共分为11 种,11 种空间关系如图3 所示。图1 右半部分给出了视觉对象之间空间关系的具体实例。是G的边集,eij表示检测框i和j之间存在某种空间关系。
图3 空间关系示意图(黑色框表示检测框i,灰色框表示检测框j)
受图像描述[12]中的图卷积网络(Graph Convolutional Network,GCN)启发,我们设计了一种门控图卷积网络(Gate Graph Convolutional Network,GGCN),使其能够适用于视觉问答任务。在视觉问答任务中,给定一幅图像的空间关系图,如果直接使用文献[12]提出的图卷积网络聚合更新每一个视觉节点的特征,会有三个明显的不足:1)该方法是在无向图上定义的,直接在有向的空间关系图上使用GCN 会使得空间关系推理能力欠佳;2)该方法没有以问题的特征作为引导条件,因此学习到的视觉特征表示和具体问题的相关性不足;3)该方法均匀地聚合不同邻居节点的特征信息,无法反映出不同邻居的重要性。
受知识库中的多关系嵌入模型TransE[13]的启发,我们认为可以在vi-vj(两个视觉对象特征之间的差异)基础上来构建门控机制。因此,我们针对上述图卷积网络的不足,在图卷积网络的基础上设计了一种新的门控机制。该门控图卷积网络通过将拼接了问题特征的视觉对象i和j的差异特征映射为标量,能够在空间关系图上动态地聚合不同邻居的特征信息,计算公式如下:
其中,gateij∈[0,1];q∈Rdh;Wg为可学习参数矩阵;Self-Attention(H)表示对每一个词特征进行加权求和获得问题的特征向量q。经过M层GGCN之后,我们能够获得具有空间关系感知的图像特征。
前面的门控图卷积网络虽然赋予了模型空间关系推理能力,但并没有学习到问题中任一单词和图像中的任一区域之间的密集语义交互。为了弥补这一不足,在这一小节设计了一种结构简单的双向引导的协同注意力(Co-Attention)模块,以有效提高我们模型的语义关系推理能力。该模块基于协同注意力层(Co-Attention Layers,CAL)的深度级联,上一层的输出作为下一层的输入,如图4 所示,每一个协同注意力层中共包含4 种注意力单元,其中图像自注意力(Image-Self Attention,ISA)单元和问题自注意力(Qusetion-Self Attention,QSA)单元具有相同的结构、图像引导注意力(Image-Guided Attention,IGA)单元和问题引导注意力(Qusetion-Guided Attention,QGA)单元具有相同的结构。
图4 协同注意力模块
3.4.1 问题(图像)自注意力单元
如图5 所示,设计问题(图像)自注意力单元Q(I)SA 的目的是建模词与词(视觉区域与视觉区域)之间的模态内语义交互关系。Q(I)SA 由多头注意力层、残差连接、层归一化组成。以X∈Rn×dx作为Q(I)SA 单元的输入为例,X经过线性变换之后得到值矩阵V∈Rn×dvalue,维度相同的查询矩阵Q∈Rn×dquery、键矩阵K∈Rn×dkey。
图5 问题自注意力
通常设dx=dvalue=dquery=dkey=d,计算过程如下所示:
其中WQ,WK,WV∈Rdx×d均为可学习参数矩阵。通过拼接h个并行的缩放点积注意力得到多头注意力(multi-head attention,MA)的输出f∈Rn×d:
其中Wo是可学习参数矩阵,dh=d h表示每一个头输出特征的维度。为了防止梯度消失以及加快模型收敛,我们在多头注意力层之后使用残差连接和层归一化,可用公式表示为
3.4.2 问题(图像)引导注意力单元
如图6所示,问题(图像)引导注意力单元Q(I)GA用于学习不同模态(单词与视觉区域)之间信息的语义交互,表示为Y引导X进行注意力学习。Q(I)GA 单元和Q(I)SA 单元的不同之处在于查询矩阵Q、键矩阵K、值矩阵V的生成方式,其输入X∈Rn×dx和Y∈Rm×dy为两种不同模态的特征:
图6 问题引导注意力
其中WQ′∈Rdx×d,WK′、WQ′∈Rdy×d均为可学习参数矩阵。Q(I)GA 单元之后的运算过程与Q(I)SA 单元相同。
在经过L个协同注意力层学习后,输出图像特征和问题词特征序列已经包含了关于问题词和图像区域之间的密集语义交互信息。为了准确的预测答案,采用了MCAN[3]网络提出的多模态融合与答案预测策略。
VQA v2.0[14]数据集中每张图片至少包含3 个问题,每个问题均由10 个不同的注释者提供答案,是目前最常用来评估视觉问答模型性能的大规模数据集。根据答案的类别,数据集中的问题可以分为“Yes/No”,“Number”,“Other”3种类型。采用Antol 等人提出的评价指标作为模型回答VQA 2.0 问题的准确率。
每幅图像提取的视觉区域个数K=36,对应的视觉特征向量维度dv=2048;词特征向量的维度dh=1024;门控图卷积层M=2,带有空间关系感知能力的视觉节点特征维度dm=1024;在协同注意力模块中,dx=dy=d= 512,L=4;在答案预测阶段,取候选答案集N=3129。
由表1 的实验结果可以看出,本文利用提出的门控图卷积网络与协同注意力模块能够有效地提升视觉问答的答案准确率。我们的模型是针对BUTD[8]模型的不足所设计,可以看出,本文模型的整体效果明显优于BUTD 模型。ODA-GCN[9]模型和QG-SRGR[15]模型都是在图卷积网络的基础上设计的模型。与ODA-GCN[9]模型相比,本文模型的整体准确率提高了大约4%。相较于QG-SRGR[15]模型,本文模型的整体准确率提升了3.56%。
表1 VQA v2.0测试集上不同模型的准确率比较
为了验证本文模型中门控图卷积网络和协同注意力模块的有效性,在VQA v2.0 数据集上进行消融实验。本文模型的变体如下所示:1)基线模型:该模型在图卷积网络中不使用门控机制,并且移除了协同注意力模块。2)基线模型+门控图卷积网络:在图卷积网络的基础上添加门控机制。3)基线模型+协同注意力模块:使用双向引导的协同注意力网络作为协同注意力模块,该模块中协同注意力层数L=1。4)基线模型+门控图卷积网络+协同注意力模块:该模型即为本文提出的完整模型。
表2 展示了变体模型在VQA v2.0 验证集上消融实验的结果,可以得出如下结论:将门控图卷积网络和协同注意力模块均加入基线模型,模型4)的总体准确率为66.25%,相较于模型1)、2)、3)分别提升了1.83%、0.54%、0.32%,这说明本文提出的门控图卷积网络和协同注意力模块能够同时使用,模块之间可以兼容。
表2 在VQA v2.0验证集上进行消融实验果%
本文提出一种基于门控图卷积网络和协同注意力的视觉问答模型。通过在空间关系图的基础上设计一种问题引导的门控图卷积网络学习得到和具体问题相关的具备空间关系感知能力的视觉节点特征。考虑到具体问题中的每一个单词和图像中的每一个区域对于模型预测正确答案的贡献不同,在门控图卷积网络的基础上构建了双向引导的协同注意力模型,共同学习问题中的任一单词和图像中的任一区域之间的密集语义交互。实验结果表明,本文模型能够有效利用视觉对象之间的空间关系,在预测答案的过程中使用问题词特征和视觉区域特征进行协同注意力学习,有效降低了不相关信息的影响。近年来,视频问答任务成为研究的热点,因此后续的工作会研究如何将本文模型应用于视频问答任务。