Ask Your Neurons: A Deep Learning Approach to Visual Question Answering


本文探讨的问题

文章主要是将最近流行的Deep Learning的方法应用到视觉(图象)问答上来。其ICCV的版本算是比较早的将LSTM以及CNN结合来做该问题的人。最近在arxiv上的版本在之前的基础上做了以下3点扩展:

  1. 多种特征的对比分析(包括不同的图象CNN特征以及文字的特征)

  2. 更多的对比实验 (尤其是在最近新建立的最大的VQA数据库上的实验)

  3. 融合策略的探讨


本文以及ICCV的方法框架

ICCV的框架如下图所示:

The framework of the proposed method

根据该图,基本上可以将本文的总体框架概括为:

  1. 视觉(图象)特征的提取 (CNN)

  2. 文字特征的提取 (LSTM)

  3. 多模态特征融合

现阶段,大多数的研究人员仅仅只是利用CNN表示图象(1),利用LSTM或者Word2Vec来表示文字(2),而将更多的精力放在如何更好地融合这两种模态的信息上(3)。这里,简单的介绍下本文框架以及个人的感想

多模态特征的融合

本文的融合利用了时序训练的思想,所以利用框架中的文字来解释下时序训练的过程,如下图所示:

时序训练过程

图中标示出来的数字代表在时序训练中的顺序输入过程。即:需要利用LSTM来训练语句"What is behind the table",首先将"What"表示成简单的特征,例如经典的bag-of-words特征,将该特征输入到LSTM中进行训练,而此时希望此LSTM unit的输出为该句的下一个输入"is",而在下一次的输入中,将"is"作为LSTM的输入,其输出期望值是"behind"。以此不断循环该过程,直到遇到停止符号为止。通过以上简单的解释,我们可以认为时序训练的过程依然是顺序输入的过程,只不过每次输入只是一个句子的某一个单词。

ICCV的融合方式: 介绍时序训练之后,让我们回到这篇文章来。本文对于文字的处理比较传统,而在融合部分,本文作者将每一张图片也当成某个特殊的文字,只不过,作者在时序的训练中,将该特殊的文字与每一个文字结合,作为LSTM的输入,输出与传统的LSTM一样。从这部分融合来看,猜测作者的意图是为了将图片与问题中的每一个文字关联*,以此来达到多模态融合的目的。

本文的融合方式: 后续的很多工作都借鉴了上述思想。而在本文中,其融合方式更加简单直接一点,类似于论文[2]. 不过在论文[2]的基础上,又探讨了: 1) element-wise multiplication, 2) element-wise summation 以及 3) concatenation。鉴于前面两种需要两种模态的feature特征维度一直,所以基本上都会利用到embedded space。


实验结果

本文的实验参数以及结果都是在VQA数据上进行了的测试,然后再扩展到其他数据库上,所以这里仅仅给出VQA的实验结果,并且是最终结果 (注意:本文并没有fine-tuning pre-trained CNNs)。

results

本文实验结论(上图没有给出下面结论的实验结果,具体请参看论文):

  1. 图象特征的l2归一化对于VQA问题最终的结果影响非常大

  2. 图象特征 ResNet > VGG > GoogleNet > AlexNet

  3. 文字特征 LSTM > GRU >= CNN > BOW

  4. 文字特征 利用pre-trained Glove特征 > 没有利用的情况

  5. 融合方法 Summation > Element-wise multiplication > Concatenation

  6. Top2000 Answers > Top1000

  7. Train + Valid > Train only

个人分析: 结合后续关于VQA的一些文章,个人对本文的方法有以下几点质疑以及想法(并没有一一对应到以上几点结论):

  • 关于LSTM以及Glove的结论,经过个人的不懈努力,这两者特征的结果始终没有超越单纯使用BOW。(甚至于,个人现在实现的baseline基本上超越的本文以及后续>很多论文的方法)。 个人猜测其原因很可能是因为数据不足,这在论文[3]中也得到了相似的结论。

  • 关于融合方法的问题,Summation之所以好于其余两种方法是因为在此方法中,又学习了一个embedded matrix来将图象的特征映射到一个子空间,来保证图象特征>与文字特征具有相同的维度。但这种方法依然低于个人当前实现的baseline。在个人的baseline里面,直接将两者Concatenation串起来,再训练一个MLP进行分类。

  • 关于ICCV框架的问题:个人觉得ICCV的方法之所以不好就是因为将图象与每一个单词都结合,随后输入到LSTM中去。这里,并没有突出哪些文字比较重,而实际上>,根据VQA数据的特性,很有可能图象与所谓的问题词(like "what" or >"how")结合的比较好,毕竟在该数据库中,问题词出现的频率非常的高。这在后续利用word来做attention的模型也得到了证明。

相关工作

[1] Malinowski M, Rohrbach M, Fritz M. Ask your neurons: A neural-based approach to answering questions about images[C]. Proceedings of the IEEE International Conference on Computer Vision. 2015: 1-9.

[2] Zhou B, Tian Y, Sukhbaatar S, et al. Simple Baseline for Visual Question Answering [J]. arXiv preprint arXiv:1512.02167, 2015.

[3] Jabri A, Joulin A, van der Maaten L. Revisiting Visual Question Answering Baselines [J]. arXiv preprint arXiv:1606.08390, 2016.

Comments