APP下载

基于图卷积网络的视觉问答研究*

2022-02-16姚鑫杰

计算机与数字工程 2022年1期
关键词:卷积节点图像

龚 安 丁 磊 姚鑫杰

(中国石油大学(华东) 青岛 266580)

1 引言

视觉问答任务是人工智能领域的新兴课题[1]。给定图像和相关的文本问题,视觉问答的任务是结合输入的图像和文本,生成一条人类可读的自然语言作为输出答案。该任务融合了计算机视觉、自然语言处理等计算机领域的知识,可视为对通用人工智能技术的探索。视觉与语言是人类最重要的交流方式,让计算机能同时理解视觉和语言并正确做出反馈,能极大地改善人类与计算机间的交互方式。由于视觉问答任务的多技术交叉性质以及潜在的实用价值,因此对于视觉问答任务的研究很有价值。

视觉问答任务的难点在于需要计算机同时理解图像和文本。近年来,视觉问答技术得到了迅猛的发展。主流方法为将图像和文本联合嵌入到相同的特征空间的联合嵌入模型。Malinowski[2]等提出了Neural Image QA 模型,该模型以CNN 和LSTM为基础,使模型可处理可变大小的问题输入和答案输出。Yu[3]等提出了一种多层次注意力网络模型,通过图像语义层级的注意力来减少与问题语义间的差异。Peter[4]等提出了Bottom-up 模型,以基于残差神经网络的Faster R-cnn 提取图像目标等级的特征,使模型脱离使用图像的全域特征而关注于特定的目标区域。但这些方法并不能很好地关联图像中的目标和文本的联系。

近年来,由于图形的强大表现力,用机器学习分析图形的研究越来越受到关注,图神经网络[5](GNN)是基于深度学习的方法,在图域上运行卷积神经网络。由于其令人信服的性能和高可解释性,GNN 最近已成为一种广泛应用的图形分析方法,其侧重于分类、链路预测和聚类。在视觉问答中,图像中的目标可视为图的节点,节点间基于问题的联系可视为边。综上,本文在联合嵌入模型的基础上结合图卷积神经网络(GCN),加强图像目标和问题间的联系,通过图网络强大的分类能力,以提高视觉问答的准确率。

2 相关工作

2.1 图卷积网络

卷积神经网络的发展促进了图卷积网络的研究。应用卷积神经网络的欧几里德域数据例如图像和文本可以看成图的实例。近年来,卷积运算被推广到图域。图卷积通常被分类为谱图域卷积[6]和空间域卷积[7]。谱图域GCN 利用图的信号处理过程,通过计算图的拉普拉斯算子的特征值矩阵,在傅里叶变换中定义卷积运算。空间域GCN 直接在图上定义卷积,学习邻近空间的信息。Kipf[8]提出了将CNN 扩展为GCN 以连接任意的无向图。GCN学习图中每个节点的局部特征,该特征编码了图中节点与其邻接节点关系。在图卷积层,通过聚合节点本身和其邻域节点的特征以产生新的输出特征。通过堆叠多个层,GCN能从更远的节点接受信息。

2.2 视觉问答

Antol[8]等率先提出了视觉问答任务,用于视觉问答研究的大型数据集VQA[9]、GQA[10]的推出也大大促进了该领域的研究。视觉问答是根据输入图像回答给定问题的任务,问题通常处理为词向量,再用LSTM或GRU编码,而图像常由ResNet提取的固定大小网格的特征表示,图像和问题的融合常用concatenated 和hadaman product。Damien[11]中提出了基于图形的方法,将问题和图像抽象为图形表示,提升了抽象图像理解的能力。有时,仅靠图像不足以推断出正确答案,Narasimhan[12]通过检索外部知识库建立了图像和事实的关系子图,用视觉概念和属性作为图的节点。

3 方法

对于给定的问题和图像对,为了预测准确的答案,本文提出了一种基于图卷积网络的方法。算法流程图可见于图2,先提取图像的目标特征和计算问题的词向量,再将图像和问题特征处理为图结构,模拟图的邻接矩阵,其受限与图像基于问题的关系。邻接矩阵可用于图卷积层的运算,卷积后的特征不仅关注图像目标,也表示了图像目标和问题的相关性。

图1 算法流程

图2 topMax和Gcn层数的对比实验

3.1 数据预处理

模型的输入质量直接影响模型的训练质量,本模型需要分别处理图像和问题。

图像特征提取采用bottom-up的图像特征提取方法,该方法在视觉问答领域取得了广泛的应用,其用了基于残差神经网络的Faster R-CNN 的目标检测方法,专注于识别图像中的特定元素,输出为图像中Top-K 个目标区域的resnet 特征。图像转化为目标特征V=(v1,…,vn),vi∈RD,n 为检测到的目标数,D 为特征向量的维度。大多数问题只涉及图像中的部分区域,在本实验中,参考demain[13]等的实验,K设置为36。

输入问题首先用分词工具去除标点符号和空格。因为数据集中仅有0.25%的问题超过14 个单词,为了提高计算效率,所有问题都被裁切为最大14 个单词,多余的单词将被丢弃。每一个问题都编 码 为Glove[14]词 向 量(Global Vectors for Word Representation),Glove 使用基于维基百科语料库预训练的公开版本。问题长度小于14 的用零向量扩充。词嵌入后的序列用GRU[15](Recurrent Gated Unit)编码,在处理过14 个单词嵌入后生成问题嵌入Q。

3.2 基于图像和问题的图形表示

模型需要融合图像和文本的特征,本文使用concatenated 连接图像和问题的向量表示,对于图像中的目标区域i=1…K,图像特征vi用concatenated连接问题嵌入Q,记为[vi,Q],再计算联合嵌入ji=F[vi,Q],F 为非线性函数。由kipf 归纳的图卷积网络的公式可知,使用图卷积网络,需要输入特征的图形表示。在图像处理为K 个目标特征后,每个目标区域可构成图的节点。本文定义一无向图G={V,E,A},V 为节点,即为图像的K 个目标检测区域的特征向量的集合,每一个特征向量vi∈V,A为邻接矩阵,边的关系可用邻接矩阵表示,其代表图像和问题的联系。将每张图像和问题联合嵌入的K 个ji组成矩阵M,该矩阵融合了图像和问题特征。由于邻接矩阵为方阵,令a=MMT。邻接矩阵定义节点间的相关性,所以再用欧式距离处理,得到邻接矩阵A,Aij越大,节点i和节点j间的相关性越强。

以上定义未对图的稀疏度施加约束,因此可能产生完全连接的邻接矩阵。如输入参数中很多参数对输出无影响一样,视觉问答任务中的大多数问题亦只需关注图像中的小部分区域。融合后的图结构是接下来图卷积网络的核心,其作用是得到图像目标和问题联系的最相关区域。为得到图的稀疏系统,本文采用Ai=topMax(Ai)的过滤策略,Ai为邻接矩阵A 的第i 行,topMax 为向量Ai的最大top-Max 个参数,其余参数置0。这将得到节点最强连接的领域系统。

3.3 基于GCN的预测模型

给定特定问题的图结构,本节使用图卷积网络(Graph Convolution Net)来学习新的对象的表示形式。图像和问题联合嵌入ji视为图的节点,将多个ji组成的矩阵M 作为GCN 的输入。GCN 的层间传播公式为

GCN 的输入为H(0),=A+I(I 为单位矩阵),D为A~ 的节点度矩阵,W(l)为GCN 第L 层的可训练权重矩阵,σ(·)为非线性激活函数。最终输出的H 和问题Q 通过Hadamard 乘积融合生成h,h 将被输入后续模块进行答案预测。

图像问答任务可视为多标签分类任务,其中每个类对应于训练集中最常见的答案之一。首先将训练集中所对应的正确答案中所有出现大于等于8 次的答案构建为答案候选集,这将形成总数T=3129 的词表。在VQA2.0 数据集中每一个训练问题都对应10 个答案。当问题语义不明确或有多个语义相近的答案时,因注释者间的分歧,答案并不相同。使用软精度可以减少注释者答案间的分歧,软精度比二进制目标提供了更丰富的训练信号,可以捕获ground truth 注释中偶尔出现的不确定性。Antol[9]给出的VQA 数据集的每个答案准确率计算为

为预测答案,将联合嵌入h 先用非线性函数处理,然后通过线性映射计算每个候选答案的分数S~ ,sigmoid可将分数映射为(0,1),以此作为候选答案的概率。

Sigmoid 函数的输出允许针对每个问题优化多个正确答案,损失函数和二元交叉熵损失类似,此步骤可视为预测每个正确候选答案的回归层:

式(5)中的i 属于训练问题M,j 属于候选答案N,Sij为式(3)计算的值。

4 实验

4.1 实验数据集

模型的评估在VQA2.0数据集上进行。该数据集包含约20 万张图片和110 万个由人类标注的问题和每个问题对应的答案。数据集中的训练集、验证集、测试集的比例分别为0.4、0.2、0.4。VQA2.0数据集的评价指标即为式(3)。

4.2 实验设置

本实验的问题处理使用了预训练的300 维度的glove词嵌入向量,再用GRU编码词向量,输出维度为1024。图像的特征提取使用BottomUp,维度为2048,目标提取数量为36。接下来用两层的图卷积层学习,所有的全连接层和卷积层使用ReLU激活函数。初始学习率为0.001,图像特征和全连接 层 的dropout 为0.5,优化器使用Adamax,Batch-size设为128,epoch为60。

4.3 实验结果

对于影响实验的主要参数,本实验主要探究GCN 的层数N 和构建邻接矩阵中的topMax 的数量,在实验中,N 的数量分别设为{1,2,3,4,5},top-Max 的取值为{8,12,16,20,24,28,32}。在数据集中是/否、全部、其它和数字类型问题的准确率如下图所示。左图topMax 数量保持16,右图GCN 层数为2。

GCN 层数为2 和topMax 为16 是最优选择。在图网络中,堆叠多层的深度网络依然是个挑战,图网络深度一边在2、3 层时表现出最佳性能。为了验证词嵌入对实验的影响,本节用Glove 做了多组对比实验。

表1 不同文本处理方式间的比较

表2 在VQA2.0标准测试集上的结果和经典方法对比

实验证明低维度的glove向量(100或200)性能明显低于glove300,单层GRU 性能优于双层的GRU。所以问题的词嵌入使用glove300 和单层GRU。

基于图卷积网络的图像问题方法可以提升预测准确率,与同样使用Bottom-up attention 提取图像特征的bottom-up 方法相比平均提升约0.7%,在计数的问题上获得了约3.5%的提升。相比LSTM Q+I 和ReasonNet,GCN 仅以两层网络便优于其复杂的深层网络模型。

5 结语

本文提出了一种基于图卷积神经网络的视觉问答方法,将视觉问答任务视为多标签分类问题,用GCN 强大的分类能力提升答案预测的准确性。该方法考虑了图像和问题的相关性,通过图形结构处理将图像和问题特征转化为易于处理的可学习的图结构表示,再使用图卷积网络学习节点的邻接节点信息。基于当前的工作,后续可从以下方面继续研究:寻找更有效的图像和文本特征提取和融合方式,更复杂的图形结构和图网络。

猜你喜欢

卷积节点图像
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
分区域的树型多链的无线传感器网络路由算法
基于移动汇聚节点和分簇的改进节能路由算法
基于深度卷积网络与空洞卷积融合的人群计数
基于点权的混合K-shell关键节点识别方法
A、B两点漂流记
卷积神经网络概述
名人语录的极简图像表达
一次函数图像与性质的重难点讲析