VC-VQA: Visual Calibration Mechanism for Visual Question Answering (VQA的视觉校准机制)
目录
Abstract
最近,许多研究指出VQA模型容易被数据集偏差所误导,并且严重依赖问题和答案之间的浅层关系,而不是真正理解视觉内容。为了解决这一问题,本文提出了视觉校准机制(VC-VQA),它通过增加一个图像特征重建模块扩展了传统的VQA模型。该模型基于预测答案和问题重建图像特征,并测量重建后的图像特征与原始图像特征之间的相似性来指导VQA模型预测最终答案。与主流方法在VQA v1和VQA v2数据集上的结果比较发现,本文的模型可以有效地减弱数据集偏差的影响,取得了具有竞争力的性能。
Introduction
最近的研究发现,VQA系统的成功很大程度上是由于仅仅基于隐藏在文本信息中的数据集偏差和线索进行预测,缺乏对视觉内容的深入理解。如,“2”是以“How many”为开头的问题的最频繁答案(39%),“tennis”是以“What sport is”为开头的问题的最频繁答案(41%)。
为解决这一问题,VQA v2数据集被提出了。对于其中的每一个问题,该数据集都有两个相似的但答案不同的图像。
为了提高在视觉内容上的注意力,本文提出一种视觉校准机制来指导VQA模型检验预测答案是否与图像相关。如果预测答案与视觉内容矛盾,该机制将校准VQA系统,以获得正确的与视觉相关的答案。受用于视频字幕任务的RecNet启发,RecNet使用一个编码器-解码器重建器来再现视频的视觉特征,本文在训练一个普通的VQA模型时引入一个视觉特征重建模块来实现这一校准目标。
与VAE和GAN等广泛使用的具有注意机制来生成逼真图像的图像生成网络不同,本文的视觉校准模型只需要基于初始预测答案a测量原始图像特征和再生图像特征的相似性来重建图像特征。本文修改了参考文献17,它开发了一个以字幕为条件的图像生成模型,并采用了序列VAEs框架。具体来说,采用VAE网络的变种作为重建模块,其输入是先前的VQA模块的问题q和初始预测答案a。该模块将q和a串联成向量caq,并将其传递给语言嵌入模块。语言嵌入模块由单词嵌入和一个GRU网络组成,生成潜在向量haq。在VAE模型中广泛使用的重参数化技巧的支持下,从haq 中得到z,并将其传递到一个MLP网络中来再生图像特征Vr。将重建损失反向传递到普通VQA模块中,该损失由距离损失(衡量网络重建图像特征的的准确度)和KL divergence损失(衡量潜在变量与高斯分布的匹配程度)组成。在重建模块的帮助下,提出的视觉校准机制可以有效地帮助VQA模型更专注于图像而不是数据集偏差,并纠正与视觉内容矛盾的答案。
主要贡献如下:
(1)首次为VQA系统开发了一种视觉校准机制,该机制具有视觉特征重建模块来指导预测与图像内容更加相关的答案;
(2)实验表明提出的视觉校准机制对于解决数据集偏差问题简单有效;
(3)尽管与最先进的模型相差很多,但与其他主流方法相比,在VQA v1和VQA v2数据集上都获得了有竞争力的分数。
Method
Overview
如图所示,VC-VQA由两个组件组成:
(1)normal VQA模块;
(2)从VAE网络修改而来的视觉特征重建模块。
该模型通过Faster R-CNN提取图像特征V,通过由单词嵌入和一个GRU网络组成的语言嵌入提取问题特征Q。视觉特征和文本特征都被传递到基于注意机制的VQA模块来预测初始答案。如图,重建模块将答案和问题串联,并使用一个GRU网络将这些文本信息嵌入到一个潜在向量h。该潜在向量将被重参数化并通过一个MLP生成重建视觉特征Vr。最后,模块计算重建损失Lrecon。当预测答案与视觉内容矛盾时,模块将损失反向传播来指导VQA模块校准答案。
VQA module
UpDn:Bottom-up Top-down模型。
图像特征:Faster R-CNN with ResNet-101
问题特征:GloVe + GRU
Reconstruction module
与目的是生成真实图像的原始VAE生成网络不同,VC-VQA只需要根据初始预测答案a测量原始图像特征和再生图像特征的相似性来重建图像特征,以校准答案。为了实现VC-VQA,本文修改了参考文献17的从自然语言描述中生成图像的multimodal VAE网络。
将q符号化为词向量后和a串联,然后使用单词嵌入(GloVe)得到向量caq 并将其送入一个GRU生成潜在向量haq。重建模块中的潜在变量的均值和方差依赖于文本信息先前的隐藏状态。在VAE模型中广泛使用的重参数化技巧的支持下,从haq 中得到z,并将其传递到一个MLP网络中来再生图像特征Vr。
Loss function
重建损失Lrecon 被定义为两个独立的损失之和:
(1)视觉特征的距离损失Lv:是一个均方误差,度量网络重建的图像特征的准确度;
(2)KL divergence损失LKL:度量潜在变量与高斯分布的匹配度。
最后使用总损失:L = Lvqa + λLrecon 指导模型预测最终答案。其中,λ是超参数。
Experiments
Ablation studies
首先研究重建模块的MLP中线性层的层数如何影响性能。其次是λ的值如何影响模型性能。
Performance on VQA v1 and VQA v2 dataset
在VQA v1这一不平衡数据集上提高了模型的性能。
对不同的数据集保持了很好的鲁棒性和竞争力。
HieCoAtt和MCB在VQA v2上的表现都远不如它们在VQA v1上的表现,证明了这些模型严重依赖数据集偏差而不是对视觉内容的深度理解。相反,VC-VQA在两个数据集上都获得了具有竞争力的分数。仅仅简单添加了视觉校准组件就在VQA v2数据集上打败了主流的基于注意力的VQA模型,证明了本文提出的视觉校准机制可以简单而有效地解决VQA任务中的数据集偏差问题。
Conclusion
本文提出了一个全新的视觉校准机制来解决VQA任务中的数据集偏差问题,加强了VQA模型从给定图像中捕捉视觉信息的能力。在未来的工作中,希望将其扩展为通用的独立于模型的模块,使VQA系统更加无偏、可解释和可信。
总结
本文来自 2020 IEEE International Conference on Image Processing (ICIP)。
VC-VQA使用问题与初始预测答案来重建图像特征,进一步通过度量原图像特征和重建图像特征的相似性来指导模型预测最终答案。在没有对本论文及其模型深入了解的情况下,我认为作者的意思是:重建损失越大即代表初始预测答案与图像越相矛盾,优化目标是缩小重建损失和所用UpDn模型的损失。
不知道更复杂的重建方法会不会有更好的结果?还是性能的提升仅仅是类似于对UpDn模型做了一次微调?但对比模型在VQA v1和VQA v2数据集上相近的结果证明了引入视觉校准机制后的模型确实简单且有效地解决了数据集偏差问题。
在Github上搜索VC-VQA没有找到相关代码。