【文献阅读】早期的视觉问答VQA模型(B. Zhou等人,arXiv,2015,有代码)

一、文献概况

文章题目:《Simple Baseline for Visual Question Answering》

ArXiv上2015年12月的一篇文章,属于VQA的早期模型,最近刚开始看VQA,相关文章都会记录下来

文章下载地址:https://arxiv.org/pdf/1512.02167.pdf

文章引用格式:B. Zhou, Y. Tian, S. Sukhbaatar, A. Szlam, R. Fergus. "Simple Baseline for Visual Question Answering." arXiv, 2015

项目地址:https://github.com/metalbubble/VQAbaseline

二、文献导读

这篇文章比较简单,也比较短,网上也没有见到类似的解读文章,所以就自己记录。

首先放上文章的摘要部分:

We describe a very simple bag-of-words baseline for visual question answering. This baseline concatenates the word features from the question and CNN features from the image to predict the answer. When evaluated on the challenging VQA dataset, it shows comparable performance to many recent approaches using recurrent neural networks. To explore the strength and weakness of the trained model, we also provide an interactive web demo, and open-source code.

这篇文章就是使用了一个非常简单的流程来做VQA,这个流程中结合了问题中的单词特征和CNN图像特征来预测答案。然后通过VQA数据集的性能对比,结果表明该方法比近期提出的RNN方法的性能要好很多。

三、文献详细阅读

VQA的难度在于人类的提问,也许是和图像内容有关,也许超出图像内容涉及到推理,以人类认知层面去设计鲁棒性的算法是未来VQA发展的难点。作者的灵感来源于早期的一篇文章,BOWIMG baseline(Bag-ofwords + image feature)在COCO数据集上的效果要比LSTM要好一些,但是在更大一些的COCO VQA数据集上,BOWIMG baseline却表现比LSTM更糟。基于此,作者提出了iBOWIMG模型:

在这个模型中,作者使用朴素词包(naive bag-of-words)作为文本特征,使用GoogLeNet来提取视觉特征,模型如上图所示,所有代码用pytorch写的话不超过10行(Torch with no more than 10 lines of code);输入问题先转换成one-hot编码,然后再通过词嵌入(word embedding)转换成词特征(word feature),之后再和CNN提取出的图像特征连接,最后再讲连接好的特征送入softmax层,进行答案的预测,其本质上则是一个多类别的逻辑回归模型。

实验是用的COCO VQA数据集。数据集中的每一张图片都有3个问题,每个问题都有10个答案,这些都是由Amazon Mechanical Turk (AMT)的工人标注的(提问和回答是不同的人)。首先对标注数据预处理,对每个问题采用投票的方式确定10个答案作为ground truth,这里的答案可能是单个或者是多个词。每张图像有3个QA pairs。总共的训练图片一共248349张,121512张验证图像。作者用的GPU NIVIDA TITAN训练了10个小时。

训练过程中作者提到了两个小细节:

Learning rate and weight clip(学习率和权值截取):作者发现设置不同的学习率和权值截取对于词嵌入和softmax都有性能的提升。在词嵌入层的学习率要高于softmax的学习率。

Model parameters to tune(模型参数微调):需要调整的有3个参数,训练的epoch,权值截取和学习率,低频QA的阈值。

简单的来看一下标准测试集下不同模型的性能比较:

下面是对于VQA模型的进一步理解:

BOWIMG模型能够记忆答案和问题之间的关系。作者基于该模型做了一些改变,首先将softmax层的权重分为了两部分,一部分是词特征,另一部分是视觉特征,因此有:

最后是作者模型的一个预测例子:

这个也揭示了模型中的一些问题,也就是问题存在bias。由于模型中只有两个线性层(word embedding和softmax),因此很容易知道问题中的单个单词对于预测答案的重要性:

为了突出图像特征,作者用了Class Activation Mapping (CAM)技术。CAM使用了最终卷积的feature map和softmax之间的线性关系,使得我们能够关注图像中的相关区域,也就是上图中的热力图,这个和VQA中的attention机制非常类似。

四、小结
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全部梭哈迟早暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值