一、文章概况
文章题目:《Answer Them All! Toward Universal Visual Question Answering Models》
CVPR2019的一篇文章,CVPR2019关于VQA一共大约只有12篇文章[1],近期打算一遍看看早期的VQA技术,一边看看最新的VQA,之后再打算开始实验。另外还有个题外话,第三位作者Christopher Kanan非常有名,我偶然看到了这位作者的个人网页[2]以及他的领英[3]。
[1] CVPR2019 | 论文分类汇总(190611 更新)
[2] About Christopher Kanan and Publications
文献引用格式:R. Shrestha, K. Kafle, C. Kanan. "Answer Them All! Toward Universal Visual Question Answering Models." In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019
项目地址:暂时没有
二、文献导读
同样因为文章比较新,网上也没什么解读文章。
先放上文章的摘要部分:
Visual Question Answering (VQA) research is split into two camps: the first focuses on VQA datasets that require natural image understanding and the second focuses on synthetic datasets that test reasoning. A good VQA algorithm should be capable of both, but only a few VQA algorithms are tested in this manner. We compare five state-ofthe-art VQA algorithms across eight VQA datasets covering both domains. To make the comparison fair, all of the models are standardized as much as possible, e.g., they use the same visual features, answer vocabularies, etc. We find that methods do not generalize across the two domains. To address this problem, we propose a new VQA algorithm that rivals or exceeds the state-of-the-art for both domains.
VQA的研究分为两个营地:一个是注重VQA数据集需要自然图像的理解,二是注重合成数据集的推理。一个好的VQA模型能够兼顾这两个方面,所以作者比较了5个VQA算法在这两个方面的表现,并用了8个VQA数据集。作者的实验表明这些方法同时在这两个领域不具有泛化能力,因此作者提出了一个新的VQA模型以解决这个问题。
三、文献详细介绍
对图像而提问的一些开放性问题,VQA需要解决视觉-语言的理解和推理的能力。而目前的高性能VQA模型,实际上利用的是语言的偏见(bias)和表面关系(superficial correlations),并没有真正的理解图像的内容。为了解决这些问题,数据集本身已经做了很多优化,包括VQAv2减少了语言偏见,TDIUC分析了不同问题和答案的泛化性,CVQA测试了语义合成性(compositionality),VQACPv2测试了训练数据和测试数据不同分布条件下的性能。然而,这些现实数据集最大的问题在于没有严格测试推理能力,因此一些合成数据集则应运而生,这些数据集涉及多步推理,计数,逻辑推理等。因此目前最好性能的VQA模型都只是研究其中某一个方面的,比如用到的CLEVR数据集,而很少有模型能够兼顾这两个方面。目前常用的数据集包括:
因此本文提出了一个能够兼顾图像理解和推理能力的模型。
文章的主要贡献包括:
1. We perform a rigorous comparison of five state-of-theart algorithms across eight VQA datasets, and we find that many do not generalize across domains. (将5种VQA模型用在了8个数据集上做对比,发现它们不能同时在这两个领域表现出较好的泛化性)
2. Often VQA algorithms use different visual features and answer vocabularies, making it difficult to assess performance gains. We endeavor to standardize the components used across models, e.g., all of the algorithms we compare use identical visual features, which required elevating the methods for synthetic scenes to use region proposals.(设计标准化的不同模型评价方法)
3. We find that most VQA algorithms are not capable of understanding real-word images and performing compositional reasoning. All of them fare poorly on generalization tests, indicating that these methods are still exploiting dataset biases. (大部分VQA模型不能够同时理解现实影像且具有推理能力,即泛化性差)
4. We describe a new VQA algorithm that rivals stateof-the-art methods on all datasets and performs best overall. (提出了新的VQA模型)
1. 相关工作
(1)VQA数据集:
VQAv1/VQAv2:人工标注的开放式问答数据集,VQAv1有很多类语言偏见,VQAv2尽量减少了语言偏见(为每个问题补充了图片),但是仍存在一些偏见。目前VQA现实数据集的基准一般是VQAv2。
TDIUC:人工标准的数据集,为了减少语言偏见,将问题分成了12类具有明显差异的类别。
CVQA:从VQAv1中分出的测试数据,可以测试训练集中没有见到过的词语。比如训练集问“红灯”,这里可能就是“绿灯”。
VQACPv2:是VQAv2数据集的重组。
CLEVR:合成的数据集,由一些简单的几何形状组成的视觉图像。数据集中的问题多涉及到复杂推理,问题类别包括:属性查询(querying attribute),属性比较(comparing attributes),存在(existence),计数(counting),整数比较(integer comparison),这些问题都是程序生成的。相应的数据集CLEVR-Humans则是由人类生成的问题。
CLEVR-CoGenT:用于测试未知名词的处理和老名词的记忆能力的数据集。数据集由两部分组成:CoGenT-A和CoGenT-B。
正如前面提到的,VQAv1和VQAv2数据集不能够测试算法的推理能力,而CVQA和VQACPv2数据集克服了这一问题却不能够显示现实图像的多样性和复杂性。这两类数据集互补,因此作者认为,在做VQA算法的时候,必须同时考虑到这两类数据。
(2)VQA算法:
目前已经提出了很多VQA算法,包括Bayesian方法,空间注意力方法,组合方法(compositional approaches),双线性池化以及其他方法。空间注意力机制能够很好的用于VQA,因此作者在文章后面还比较了UpDn,QCG和BAN。另外,还有一些方法用于合成VQA数据集,这些方法的强调有助于对VQA的关系推理的理解。主要包括模块化网络,隐式组合规则,关系网络RNs(relational networks),早期融合(early fusion),条件特征转换(conditional feature transformations)。
目前的大多数VQA算法,都只是针对某一种数据集进行评价,而没有对两种数据集同时评价。因此作者提出了一种针对两种数据集的评价方法。
2. The RAMEN VQA Model
作者提出额VQA模型全程为Recurrent Aggregation of Multimodal Embeddings Network (RAMEN) model,该模型能够对现实图像进行问答,而且也具有一定组合推理能力。模型结构如下所示:
整个模型一共由3个模块组成:
1. Early fusion of vision and language features. Early fusion between visual and language features and/or early modulation of visual features using language has been shown to help with compositional reasoning. Inspired by these approaches, we propose early fusion through concatenation of spatially localized visual features with question features.(前期视觉和语言特征的融合模块)
2. Learning bimodal embeddings via shared projections. The concatenated visual+question features are
passed through a shared network, producing spatially localized bimodal embeddings. This phase helps the network learn the inter-relationships between the visual and textual features. (通过共享投影学习双重模型嵌入)3. Recurrent aggregation of the learned bimodal embeddings. We aggregate the bimodal embeddings
across the scene using a bi-directional gated recurrent unit (bi-GRU) to capture interactions among the bimodal embeddings. The final forward and backward states essentially need to retain all of the information required to answer the question. (双重模型嵌入的循环整合)
(1)Formal Model Definition(模型的主要部分定义):
输入需要一个问题嵌入q和N个搜索框的集合Ri,这个集合Ri中包含了每个视觉外观特征和空间位置,RAMEN首先连接了每个问题嵌入和搜索框:
然后将生成的结果传入到一个双模型嵌入(bimodal embedding),得到Bi,该网络是由残差网络连接的多层感知机(multi-layer perceptron (MLP))。之后我们再做一个后期融合(late-fusion),对输入原始问题嵌入和双模型嵌入做融合,再将所有的结果整合到一个集合中:
这里将a作为RAMEN嵌入,最后再输入到一个分类层中去,来预测正确答案。RAMEN比目前的大部分VQA模型都要简单,却能够取得非常好的效果。
(2)Implementation Details(模型细节):
①Input Representation(输入表示):输入的问题表示为了300维的嵌入,然后再用GRU获得了1024维的问题嵌入;CNN提取的图像特征为2048维度,采用的模型是基于Faster R-CNN的自底向顶的结构(bottom-up architecture),空间信息的编码是将搜索框分成16*16的网格,然后再拉伸成(flattened)512维的向量。
②Model Configuration(模型配置):projector F由4个多层感知器(4-layer MLP)组成,每个感知层有1024个单元,每个单元都有非线性激活函数。第2,3,4层还有残差连接。整合算子A(aggregator A)是一个单层bi-GRU(single-layer bi-GRU),其中包含1024个隐含节点,所以前向和后向连接会产生2048维的嵌入。然后这个嵌入会通过2048维的全连接层进行投影,最后再有一个分类层进行答案的预测。
③Training Details(训练细节):训练用的是Adamax,采用渐进学习率,前4个epoch为2.5 ∗ epoch ∗ 10^-4,接下来6个epoch为5 ∗ 10^-4,最后以0.25衰减率,每两个epoch衰减一次。mini-batch size设置为64。
3. VQA模型的评估
与RAMEN对比的模型主要包括以下几个:
Bottom-Up-Attention and Top-Down (UpDn)
Question-Conditioned Graph (QCG)
Bilinear Attention Network (BAN)
Relation Network (RN)
The Memory, Attention and Composition (MAC) network
为了使得交叉比较更有意义,在所有算法不同的数据集中,作者都使用一套相同的视觉特征。作者给了RAMEN的实验效果例子:
之后作者首先进行了不同数据集上不同模型的综合表现:
作者又选择了3种常用的评价指标,在数据集TDIUC上进行实验效果的评价:
最后作者还做了不同类型数据的算法比较,包括是否存在,计数,属性比较,属性查询等:
四、小结
1. 这里给出作者引用的5个模型的对应参考文献:
Bottom-Up-Attention and Top-Down (UpDn)
[1] P. Anderson, X. He, C. Buehler, D. Teney, M. Johnson, S. Gould, and L. Zhang. Bottom-up and top-down attention for image captioning and visual question answering. In CVPR, 2018.
注:这篇文章之前有解读过,可以参考:【文献阅读】自上而下注意力机制的视觉问答系统(P. Anderson等人,CVPR,2018)
Question-Conditioned Graph (QCG)
[2]W. Norcliffe-Brown, E. Vafeais, and S. Parisot. Learning conditioned graph structures for interpretable visual question answering. In NeurIPS, 2018.
Bilinear Attention Network (BAN)
[3] J.-H. Kim, J. Jun, and B.-T. Zhang. Bilinear attention networks. In NeurIPS, 2018.
Relation Network (RN)
[4] A. Santoro, D. Raposo, D. G. Barrett, M. Malinowski, R. Pascanu, P. Battaglia, and T. Lillicrap. A simple neural network module for relational reasoning. In NeurIPS, 2017.
The Memory, Attention and Composition (MAC) network
[5] D. A. Hudson and C. D. Manning. Compositional attention networks for machine reasoning. In ICLR, 2018.