Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记

大多数现有的可视问答(VQA)模型过分依赖于问答之间的语言优先级。本文提出了一种基于语言注意力的VQA方法,该方法可以灵活地学习和利用问题中各种信息(问题类型,指代对象和期望概念)的分解表示,来最大程度地减少语言先验的影响,并实现透明的回答过程。
一、文章引入
近期研究表明,大多数现有的视觉问答(VQA)模型过度依赖问题和答案之间的表面关联,即语言优先,而忽略图像信息。这些模型之所以容易受到语言先验的影响,主要是因为在答案推理过程中,各种各样的问题信息被纠缠在一起。大多数VQA模型包括三个部分:提取图像和问题的信息表示,融合这些表示以获得图像和问题的联合嵌入,并用联合嵌入预测最终答案。然而,这些模型并没有明确区分和利用疑问句中的不同信息,因此不可避免地要利用答案和疑问词的共现现象来推断答案。
为了克服语言的先验性,Agrawal等人(2018)提出了一种基于视觉的问答模型,利用多个手工设计的模块,利用问题中的不同信息。他们设计了一个问题分类器,将问题分为yes/no问题或non-yes/no问题。在本文中,作者建议学习和利用问题中不同类型信息的分解语言表示,以克服语言先验。
一个问题答案对通常包含三种信息:问题类型,指代对象和预期概念。对于判断题(yes/no question)预期概念蕴含在问题中,对于其他问题(non-yes/no question),预期概念在答案中。人类可以轻松地识别和利用问题中的不同信息来推断答案,并且不受语言先验的影响。为此,作者提出了一种基于语言注意力的VQA方法。如图1所示,该方法包括语言注意力模块,问题识别模块,对象指代模块和视觉验证模块。语言注意力模块将问题解析为三个短语表示:类型表示,对象表示和概念表示。这些分解的语言表示将被分别输入到后续的模块。
Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记_第1张图片
图1:(a)yes/no 问题的回答过程,(b)non-yes/no 问题的回答过程。
该方法通过识别和利用问题中的不同信息,将基于语言的概念发现和基于视觉的概念验证从答案推理过程中分离出来。因此,问题与答案之间的表面关联并不支配答案推理过程,模型必须利用图像内容从可能的答案集中推断出最终答案。此外,该方法利用模块化设计,实现了一个透明的答疑过程。
二、方法
如图2所示,文章提出的方法包括四个模块:
(a)将问题解析为类型表示,对象表示和概念表示的语言注意力模块
(b)使用类型表示来识别问题类型和可能的答案的问题识别模块
(c)使用对象表示来关注图像的相关区域的对象指代模块
(d)用于度量所关注区域和概念表示之间的相关性以推断答案的视觉验证模块
2.1 语言注意力模块
受到硬注意力机制的启发,在只选择一部分信息进行进一步处理的情况下,本文提出了一个语言注意模块来获得分解的语言表示。语言注意模块结合了硬注意机制和软注意机制,将yes/no问题的概念表示与类型表示相分离。软注意力机制自适应地对所有单词的嵌入赋予权重,然后将其聚合为短语表示,而硬注意力机制只利用其中一部分单词的嵌入。如图2所示,语言注意模块使用三种类型的注意力,即类型注意、对象注意和概念注意,分别学习这三种分解的表示。
Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记_第2张图片
图2:语言注意模块的架构。
对于问题Q,利用一个可训练向量wa,t来计算注意力权重得到其类型表达:
Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记_第3张图片
为了确保类型注意力关注到疑问词,作者使用VQA数据集中提供的基于疑问词的问题类别作为监督信息来指导类型学习,并引入一个问题类别识别损失:
在这里插入图片描述
其中C是问题类别的个数,W是一个可训练的权重矩阵,ycate∈{1,2,3,….C}表示问题Q的ground truth问题范畴。
进一步引入标量β作为阈值,过滤出与问题类型最相关的词,消除疑问词对概念注意的影响。通过比较每个单词的类型注意权重和β,可以得到一组所有的权重小于β的单词{wp}pp=1,这些词与所指对象和预期概念相关。然后引入两个可训练向量wa,o和wa,c分别计算对象注意和概念注意的注意权重,进而得到对象表示和概念表示:
Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记_第4张图片
这样,对象注意和概念注意作为硬注意的作用仅作为词的一个子集来考虑。
对于答案A,它是一个S个单词的序列{ws}Ss=1,其嵌入值为{es}Ss=1,则通过门控递归单元(GRU)得到句子级答案表示a。
2.2 问题识别模块
给定类型表示qtype,首先通过问题识别损失来识别问题类型
在这里插入图片描述
其中CE(a,b)=−alog(b)−(1−a)log(1−b)表示交叉熵函数,wtype是可训练向量,ytype表示问题Q的ground truth类型,对于yes/no问题为1,对于non-yes/no问题为0。
yes/no问题的可能答案为“是”和“否”,而non-yes/no问题的可能答案是通过度量问题与候选答案之间的相关性来确定的。对于每个non-yes/no问题,生成一个Q&A掩码mq∈(0,1)|a|×1,其中每个元素表示对应候选答案为正确答案的可能性,| a |表示候选答案的个数。首先计算问题Q与所有候选答案之间的相关性得分为sqa(Q,Aj)=qtype·Aj,得到相关性得分sq∈R|A|×1,其中·表示点积。然后利用sigmoid函数将相关性得分投影到(0,1)的范围内,从而生成mq=sigmoid(sq)的mask。
为了有效地指导mask的生成,作者在数据集中搜索每个问题类别的所有可能答案,得到一个作为监督信息的ground truthQ&A掩码M∈RC×|a|。对于每个问题类别,可能的答案标记为1,否则为0。利用KL散度来度量问题生成的掩码mq与由问题类别确定的ground truth掩码Mycate之间的距离。最终mask生成损失为:
在这里插入图片描述
2.3 对象引用模块
对象引用模块使用对象表示qobj来关注图像中与问题相关的区域。 给定图像{vk}Kk=1的一组局部特征和对象表示qobj,采用自上而下的注意力机制,根据它们与问题的相关性,进而对局部特征进行加权求和,获得最终的视觉表示v
在这里插入图片描述
2.4 视觉验证模块
视觉验证模块根据关注区域判断预期视觉概念的存在性以推断出最终答案。对于yes/no问题,给定概念表示qcon和被关注区域的视觉表示v,视觉得分计算为Sqv(I,Q)=qcon·v。对于非yes/no问题,首先通过Sva(Aj,I)=Aj·v计算被关注区域与所有候选答案之间的视觉得分,得到视觉得分向量sv∈R|a|×1。然后,融合视觉得分向量sv(表示图像与候选答案之间的相关性)和Q&A 掩码mq(表示问题与候选答案之间的相关性),得到总得分svqa=mq◦sv。特别的,给定图像I和问题Q,候选答案aj正确的概率为:
在这里插入图片描述
实际上,每个问题图像对都分配有一个或几个由不同注释者提供的类似正确答案。 因此,问题图像对(I,Q)的答案可以视为分布向量y∈(0,1)|A|×1,其中y表示答案Aj 在人类标记答案的出现概率。 因此,采用KL散度作为距离度量,总验证损失由下式给出:
Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记_第5张图片
其中σ(·)是sigmoid函数,b是yes/no问题的ground truth标签。
在训练阶段,上述所有损失共同指导模型学习。在测试阶段,作者首先通过公式4确定问题类型。然后,对判断问题,计算视觉得分并将其与0.5进行比较,以得出最终答案。对non-yes/no问题,模型将所有候选答案作为输入,并选择总体得分最高的答案作为答案。
三、实验结果
Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记_第6张图片
Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记_第7张图片
图4:本文所提出的方法与其基础模型UpDn的定性比较结果。对于每个示例,左上方显示了VQA-CP v2数据集的测试集中的一个输入问题以及图像和真实答案(GT)。右上方显示了语言注意力模块的语言注意图。最下面的一行分别显示了两种方法的用于对象指代的视觉注意图以及预测答案。权重最高的区域用绿色矩形标记。这些示例显示了所提出的模型在问题解析和视觉定位上的有效性。
Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记_第8张图片
四、主要贡献
(1)学习问题的分解语言表示,并分离基于语言的概念发现和基于视觉的概念验证,以克服语言先验。
(2) 使用一个结合硬注意机制和软注意机制的语言注意模块,在将概念表示和类型表示分离的同时,灵活地识别问题中的不同信息。

你可能感兴趣的:(Overcoming Language Priors in VQA via Decomposed Linguistic Representations阅读笔记)