2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答

摘要

        虽然复杂的视觉问答模型取得了显著的成功,但它们往往只根据问题和答案的表面关系回答问题。最近已经开发了几种方法来解决语言先验问题,但大多数根据一个最好的输出来预测正确答案,不考虑答案的真实性,此外,他们只探索图像和问题间的相互作用,而不考虑候选答案的语义。本文我们提出一种基于视觉暗示的选择和重排序(SAR)渐进式框架,首先选择与问题或答案相关的候选答案,然后通过视觉暗示任务重新排序这些候选答案,该任务验证了图像是否在语义上包含问题和每个候选答案的合成陈述。实现结果显示了我们提出的框架的有效性,在VQA-CP v2上提高了7.55%,实现了最先进的精度。

代码

一、介绍

        一些研究证明VQA系统存在语言先验,即模型更容易基于问题回答一个答案集中更常见的答案,不管图片是什么。现有的方法不管是一般模型,如UpDn和LXMERT,或者专门为语言先验而设计的模型,如LMH和SSL,都存在一个问题:两种模型都根据一个最好的输出预测正确答案,而不检查答案的真实性,此外,这些模型并没有很好的利用那些可能有助于减轻语言先验的答案的语义信息。

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第1张图片

         图1a中,相当多的正确答案通常出现在前N个候选答案而是第一个,同时,如果给出了前N个候选答案,图像可以进一步验证是否存在基于问题和候选答案的合成陈述。图1b中,给出了两个候选答案,在检查候选答案的正确性后,与图像矛盾的错误答案"yellow"可被排除,与图像一致的正确答案"black"被证实。然而,这种利用答案语义来减轻语言先验的方法还没有得到充分研究。

        本文中提出一种基于视觉暗示的选择和重排序(SAR)渐进式框架,提出的框架的想法主要来自两种观察,首先在排除掉与问题和图像无关的答案后,预测空间被缩减,我们得到少量的候选答案。其次,在一个问题和一个候选答案被连接成一个完整的陈述的条件下,陈述的真实性可以由图像内容推断。因此,在选择几个可能的答案作为候选后,我们可以利用包含图像-文本对的视觉暗示来验证图像是否在语义上包含合成陈述。基于暗示程度,我们可以进一步对候选答案重排序,且给模型另一个找到正确答案的机会。

        本文的贡献:(1)我们提出了一个选择和重排序渐进式框架,以处理语言先验问题,并通过经验研究了该框架每个模块的一系列设计。此外,它是一个通用框架,可以很容易与现有VQA模型结合,并进一步提高能力。(2)我们强调了文本和图像间的验证过程,并将VQA任务表述为一个视觉暗示问题。这个过程充分利用了图像、问题和候选答案的互动信息。(3)实验结果表明,我们的框架得到了最先进的精度66.73%,大大优于现有方法。

二、相关工作

语言先验方法

        解决语言先验的方法大致分为两类:(1)设计特定的去偏模型减少偏见。大多都是基于集成的方法,LMH通过惩罚在不使用图像内容时回答的样本,减少了问答对间的所有偏见。(2)数据增强以减少偏见。主要思想是仔细构建更平衡的数据集以克服偏见,例如,SSL首先自动生成一组平衡的问题-图像对,然后引入一个辅助的自监督任务来使用平衡的数据,CSS通过添加更多的互补样本来平衡数据,这些样本是通过屏蔽图像中的对象或问题中的一些关键字生成的。基于CSS,CL迫使模型利用互补样本与原始样本之间的关系。MUTANT通过使用额外的对象名标签来定位图像中的关键对象,这直接帮助模型确定图像中的文本概念。然而,上述方法只探索了图像和问题之间的相互作用,忽略了候选答案的语义。在本文中,我们提出了一个渐进的VQA框架SAR,它实现了问题、图像和答案之间更好的交互。

答案重排序

        虽然答案重排序在VQA任务中仍处于起步阶段,但它已经被广泛研究于QA任务,如开放领域问答,其中模型需要基于广泛的知识源来回答问题。最近工作以两阶段的方式解决此任务:从所有段落中提取候选答案,然后关注这些候选答案,并对其重新排序以获得最终答案。RankVQA对VQA任务引入了答案重排序方法,他们设计了一个辅助任务,根据输入图像和离线生成的图像标注的匹配程度对候选答案进行重排序。但是,RankVQA仍然是从大的预测空间而不是选择的候选答案中预测最终答案。

三、方法

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第2张图片

         SAR框架包含一个候选答案选择模块和一个答案重排序模块。在候选答案选择模块中,使用一个现有VQA模型得出包含前N个答案的候选答案集,与问题不相关的答案被过滤掉。在答案重排序模块中,将VQA表示为一个VE任务,图像是前提,合成的密集标注(答案和问题的结合)是假设,使用跨域预训练模型LXMERT作为VE评分器计算每个图像-标注对的隐含分数,因此对应于得分最高的密集标注的答案就是我们的最终预测。

3.1 候选答案选择(CAS)

        给定一个VQA数据集D={Ii,Qi}Mi=1有M个样本,其中Ii,Qi是图像和问题的第i个样本,A是由包含成千上万个答案种类的整个预测空间。给出一个图像和问题,CAS首先给出所有可选答案的回归分数P(A|Qi,Ii),然后SAC选择前N的分数的N个答案作为候选:

 N个候选答案A*i由CAS为每个(Ii,Qi)对选择,形成一个有M*N个实例的数据集D’={II、QI,ANI}M,NI=1,n=1,用于下一个答案重排序模块。本文中,主要使用SSL作为CAS。

3.2 答案重排序

3.2.1 视觉暗示VE

        VE任务在19年提出,前提是一个真实世界的图像Pimage,假设是一个合成的密集标注文本Htext,给定一个样本(Pimage,Htext),VE任务的目标是确定可以基于Pimage的信息对Htext得出结论。根据以下协议,对样本标签分配为(1)Entailment,如果在Pimage中有足够的证据得出Htext是正确的。(2)Contradiction,如果在Pimage中有足够证据得出Htext是错误的。(3)Neutral,如果在Pimage中没有充分证据对Htext给出结论。

3.2.2 VQA作为视觉暗示

        一个问题和它的每个候选答案可以连接成一个完整的陈述,然后图像可以验证每个语句的真实性。因此我们将VQA视为一个VE问题,图像Ii是前提,一个答案和问题的合成陈述(Qi,Ani)是假设。对于一个图像,不同问题的合成陈述描述同一图像的不同区域。我们也将合成陈述称为密集标注。我们使用A+i来表示Qi的其中一个正确答案,否则使用A−i,有足够的证据证明(Qi,A+i)是真的,即表示视觉语言在语义上包含(Qi,A+i),反之亦然。

3.2.3 基于VE的重排序

        我们通过对比学习对密集标注重排序,(Qi,A+i)在语义上与II应该比(Qi,A−i)更相似。图2的右边部分表明,语义上与(Qi、Ani)越相似,视觉隐含程度就越深。我们对Ii对每个(Qi、Ani)的视觉隐含程度评分,并通过分数对候选答案排序,排行第一的就是我们最终输出。

(1)问题-答案结合策略

        答案信息只有与问题结合起来才有意义,我们将问题和答案文本的组合进行编码,以得到联合概念。设计三种问题-答案结合策略:R,C和R->C,将问题和答案组合成合成的密集标注Ci:

        R:用问题替换掉问题中表示问题种类的前几个词,如对于问题"How many flowers in the vase",答案是8,则结果的密集标注为"8 flowers in the vase"。我们对训练集的所有问题种类建立一个字典,然后采用前向最大匹配算法来决定每个测试样本的问题类别。

        C:直接连接问题和答案,如"8 How many flowers in the vase?".

        R->C:首先在训练中使用策略R,旨在防止模型过度关注问题类别和答案间的共线关系,然后在测试时使用策略C为推理引入更多信息。

        在使用上述任何策略后,形成密集标注Ci*,因此有一个为VE任务的数据集D''={Ii,Cin}M,N  i=1,n=1。

(2)VE评分器

        使用预训练好的模型LXMERT对(Ii、Cin)的视觉暗示程度评分,LXMERT分别将图像和标注文本编码为两个流,接下来,单独的流通过共同注意的transformer层相互作用。文本流中,密集标注被编码为一个高级的概念,然后从视觉流的视觉表示可以验证高级概念在图像中是否成立。

        将第i个图像和第n个候选标注的VE分数表示为:sigmoid(Trm(Ii、Cin)), 其中Trm()是来自LXMERT之后的密集层的1-维输出,δ()表示sigmoid函数,较大的分数表示较高的隐含程度。我们通过最小化多标签的软损失来优化参数:tni是第n个答案的软目标分数。

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第3张图片

 (3)与语言先验模型的结合

        在候选答案选择后,VE系统的数据集D''仍然是有偏见的。将语言先验模型SSL应用到我们的框架上,以进一步减少语言先验,通过调整损失函数,将其自监督任务的损失函数应用到我们的框架中:

 (I'i、Cin)表示无关的图像标注对,α是一个降权重的系数,概率P(I'i、Cin)可被视为(I'i、Cin)作为一个相关对的置信度。我们可以重新制定整体损失函数:

 3.3 推理步骤

问题类别鉴别器

        我们提出一个问题类别鉴别器OTD来确定问题种类,然后相应设置候选答案的不同数量,表示为N'。具体地,我们大致将问题类别(包括“Yes/No”,"Num","Other")分为yes/no和非yes/no。用交叉熵损失训练一个GRU二值分类器,并对每个数据集的训练集进行五倍交叉验证评估。然后准确率约97%的训练好的OTD模型在测试阶段作为一个离线模块实现。

最终预测

        推理阶段,我们在所有候选答案Ci*中为第i个图像寻找最好的密集标注C^i:

 与ˆCi对应的答案ˆAi是最终的预测。

四、实验

4.1 设置

(1)数据集

        我们的模型是在VQA-CPv2数据集上进行训练和评估的,VQA-CPv2的问题包括3种类型:“Yes/No”、“Num”和“Other”,问题类型和问题类别(What color)不同。此外,我们还在VQAv2验证集中评估了我们模型的完整性,并比较了两个数据集在标准VQA评估指标上的精度差异。

(2)基线

        将我们的方法与以下基线模型进行比较:UpDn, AReg,  RUBi, LMH, RankVQA, SSL, CSS, CL, LXMERT。其中大多数是为语言先验问题设计的,而LXMERT代表了使用类似BERT的预训练模型的最近趋势,它们在各种下游视觉和语言任务(包括VQA-v2)上表现最好。请注意,MUTANT使用额外的对象名标签来接地图像中的文本概念。为了进行公平的比较,我们不与MUTANT进行比较。

4.2 实现细节

        使用SSL作为我们的CAS,训练时设N=12和N=20。图像特征使用预训练好的Faster R-CNN将一幅图像编码为一组具有2048维特征向量的固定36个对象。使用LXMERT的标记器为每个密集标注分割为单词。对于R或C问答组合策略,所有问题的长度分别修剪为15或18。在答案重新排序模块中,我们分别将两种语言先验方法SSL和LMH,纳入我们的框架SAR。

        对于问题种类鉴别器,使用300维的Glove向量初始化词嵌入,并送到一个有128个隐层单元的单向GRU。在VAQ-CPv2上测试时,N'在Yes/No问题为1-2,非yes/no问题为5-15。对于VQA v2,N'的范围分别是1-2和2-5.

4.3 结果和分析

4.3.1 主要结果

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第4张图片

        Top-N表示N个候选答案送入答案重排序模块。从VQA-CPv2的结果中可以观察到:(1)Top20-SAR+LMH在VQA-CPv2上实现了66.73%的最新精度,比之前性能最好的方法CL高了7.55%。即使在回答重新排序模块中没有结合语言先验方法,我们的模型Top20-SAR的性能也超过了CL6.26%。这些都表明了我们提出的SAR框架的显著有效性。(2)SAR+SSL和SAR+LMH的性能比SSL和LMH取得更好的性能,证明了SAR与当前的语言先验方法是兼容的,并可以实现它们的全部潜力。(3)与另一种基于重排序的模型RankVQA相比,我们的方法将性能大大提高了23.68%。这表明我们提出的渐进式选择和重排序框架优于只使用答案重排序作为辅助任务的RankVQA。(4)以前的模型并没有很好地推广到所有的问题类型上。CL在“Yes/No”和Num上实现以前方法的最好,LXMERT在Other问题上。相比之下,我们的模型不仅在“Yes/No”问题上与之前的最佳模型有竞争的性能,而且还将“Num”和“Other”问题上的最佳性能提高了12.45%和3.65%。在所有问题类型上的显著性能表明,我们的模型在一个真正全面的VQA模型方面取得了重大进展。

         VQAv2被认为有很强的语言偏见。我们的方法在专门为克服语言先验而设计的基线中达到了70.63%的最佳精度,并且最接近LXMERT建立的SOTA,该SOTA是针对偏置数据设置明确训练的。

        与之前大多数在VQAv2和VQA-CPv2之间性能严重下降的模型(LXMERT为27.93%)相比,Top20-SAR+LMH显著降低了性能下降到2.49%,这证明了我们的框架进一步克服语言偏见的有效性。虽然CSS实现了更好的性能差距,但它牺牲了在VQAv2上的性能。同时,随着N从12上升到20,我们的模型在两个数据集上都获得了更好的精度,以及较小的性能差距。这表明我们的方法可以减轻语言先验,同时保持回答问题的优秀能力。尽管如此,我们还是认为:如何提高模型的普遍性,进一步改变消除语言先验和回答问题之间的权衡,是未来一个很有前途的研究方向。

4.3.2 N的影响

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第5张图片

         整体性能随着N的增加而提高,Num和Other尤其明显,Yes/No问题上有轻微下降,我们认为通过适当增加N可以进一步提高性能。由于资源限制,使用最大20的N。

4.3.3 不同CAS的影响

        图1a中,3模型的Top3精度约70%,Top6精度约80%,保证CAS召回足够的准确率,因此CAS的性能限制可以忽略。

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第6张图片

        可以观察到:(1)选择更好的VQA模型作为CAS并不能保证更好的性能,使用UpDn优于基于LMH,但LMH在战胜语言先验时比UpDn更好,因为一个好的CAS需要两点:(a)能够召回更多正确答案;(b)在语言偏见的情况下,CAS在训练时提出的错误回答应该尽可能与这个问题具有强烈的表面相关性。LMH被训练成更关注仅限问题没有正确回答的样本,这严重降低了这些语言先验错误答案的召回率,从而导致VE的训练数据过于简单,从而损害了模型减少语言先验的能力。(2)如果CAS是通用的VQA模型UpDn而不是LMH和SSL,则在回答重排序模块中与语言先验方法的组合所带来的改进更加明显。(3)即使我们选择了UpDn作为我们的CAS和不涉及任何语言先验方法,SAR仍然比之前的SOTA模型CL精确2.53%,这表明我们的基本框架已经具有出色的减少语言先验的能力。

4.3.4 问答结合策略的影响

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第7张图片

          从表3中,可以得出:(1)R→C在三种模型上达到最佳性能。平均而言,R→C比C好2.02%,这表明在训练期间避免问题类别和回答的同时出现可以有效缓解语言先验;R→C比R高出2.41%,表明问题类别的信息在推理中是有用的。(2)在SAR和SAR+SSL上,C始终优于R,但在SAR+LMH上,我们看到了相反的结果。这可能是因为我们的方法和平衡数据方法SSL可以学习到问题类别和答案之间的表面相关性所导致的正偏差,这对推广很有用,但基于集成的方法LMH在去偏过程中会衰减正偏差。(3)即使没有语言先验方法,用R→C的SAR优于在R或C上的SAR+SSL和SAR+LMH,这表明R→C策略可以帮助模型缓解语言先验。因此,与R或C相比,我们R→C的框架在使用相同的语言先验方法后只获得了轻微的性能改进。

4.3.5 消融研究

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第8张图片

         (1)LXM+SSL表示直接将SSL应用于LXMERT。它的糟糕性能表明,我们的框架的主要贡献并不是来自于语言先验方法SSL和预训练的模型LXMERT的组合。(2)分别比较LXM和CAS+LXM,LXM+SSL和CAS+LXM+SSL分别获得了9.35%和6.32%的性能提升,证明了我们提出的CAS模块的重要性和有效性。(3)CAS+LXM+QTD(R)和CAS+LXM+SSL+QTD(R)分别超过CAS+LXM(R)和CAS+LXM+SSL(R)3.93%和2.71%,显示QTD模块的贡献。这进一步证明了为不同的问题种类选择合适的N'是模型性能的一个有用步骤。(4)CAS+LXM+SSL+QTD将CAS+LXM+QTD的性能提高了2.61%,表明目前的语言先验方法很适合我们的框架,并可以进一步提高性能。

4.3.6 N'的影响

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第9张图片

        (1)由于yes/no问题的性质,yes/no问题的最佳N'小于非yes/no问题的最佳N'。(2)随着N'的增加,“Num”和“Other”问题的精度首先上升,然后降低。这种现象背后存在一个权衡:当N'太小时,CAS可能不会召回正确答案;当N'太大时,对错误答案的干扰使模型更难选择正确答案。

4.3.7 定性实例

2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答_第10张图片

         与SSL比较,SAR在问题回答和视觉接地上都更好。在答案语义的帮助下,SAR可以关注与候选答案相关的区域,且进一步使用区域验证正确性。

五、结论

        本文我们提出一种基于视觉暗示的选择和重排序(SAR)渐进式框架。具体地,先选择候选答案缩减预测空间,然后对候选答案通过视觉暗示任务进行重排序,该任务验证图像是否在语义上包含问题和每个候选答案的语义陈述。我们的框架可以充分使用图像、问题和候选答案的交互信息。此外,这是一个通用框架,可以很容易结合到现有的VQA模型并进一步提高性能。我们通过广泛的实验和分析,论证了我们的框架在VQA-CP v2数据集上的优势。我们的方法建立了一个最先进的精度66.73%,比以前的最好的提高了7.55%。

你可能感兴趣的:(视觉问答,深度学习,计算机视觉)