本文主要是介绍论文阅读Ask Me Anything: Free-form Visual Question Answering Based on Knowledge from External Sources,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Ask Me Anything: Free-form Visual Question Answering Based on Knowledge from External Sources
目前开始更关注于含有外部知识的视觉问答,鉴于这方面的论文和博客较少,就自己写了一篇。内容如有不妥,欢迎评论指正。
文章链接:https://openaccess.thecvf.com/content_cvpr_2016/papers/Wu_Ask_Me_Anything_CVPR_2016_paper.pdf
作为含有外部知识的视觉问答方向,较早的一篇论文。这篇文章主要内容是介绍如何将知识库用到视觉问答的问题中,并没有提出新的知识库。使用的知识库是DBpedia,而测试时使用的数据库是VQA(1.0)和Toronto COCO-QA。
一,提出背景:
(下图不是这篇文章中的,但是比较容易理解为什么要使用外部知识,所以就拿来用了)
如上图所示,要回答问题“地面上的红色物体能用来做什么”,要想做出正确的回答“灭火”,所依靠的信息不仅来源于图片上所识别出的“消防栓”,还必须考虑到来自外部的事实(知识)“消防栓能灭火”作为支撑。这就是一个典型的VQA上应用外部知识的场景。
二, 模型
总体上看大致分为这样几个步骤:
1,先从图像中提取前五的属性.
2,提取的属性分为三部分:一方面用来直接生成关于图像的描述,另一方面用来从知识库中提取相关外部知识,当然,自身也会被重新用到。
3,将第二步中的图像的三个结果作为一个视觉信息的整体输入到LSTM的编码结构中,问题的每个单词也作为输入输入到LSTM的编码结构中。然后在LSTM的解码结构中,生成每个答案单词的分布概率。
4,最终得到一个多个单词标签的答案。
1. Attribute-based Image Representation 基于属性的图像描述
属性: 词汇表中的每个属性都是从MS COCO的字幕中提取的。属性可以是言语的任何部分,包括对象名称(名词)、动作(动词)或属性(形容词)。
作者先在ImageNet数据集上通过vggnet16进行了预训练,然后再通过共享的CNN进行微调。这其实是一个基于区域的多标签分类框架,该框架以任意数量的子区域目标作为输入。(作者这里使用的将一张图片生成多张图片的方法是参考别人的,具体可以参考CNN: Single-label to Multi-label),每个区域目标连接一个共享的CNN,不同的区域目标的CNN输出通过最大池化层聚合去产生属性词汇表上的最终预测结果。这个属性词汇表的大小是256.(我感觉这里作者为了实现结果,将这个大小设定的有点小了,毕竟Imagenet数据集有两万多个属性)
2. Caption-based Image Representation 基于标注的图像表述
属性预测向量Vatt作为输入,使用 将高水平的基于属性的表达喂给LSTM 的生成描述的方法,同时使用 beam search,生成五个不同的描述,得到了图像的内部文本表示。得到一个512维的向量Vcap(I)。这一节作者只用较少的文章介绍了使用的方法,但是具体内容我也没看,所以丢了两个链接。
3. Relating to the Knowledge Base(基于知识库的图像描述)
这一节就是说如何通过图像的属性查询外部数据库DBpedia,并返回一个五合一的段落描述。
RDF:resource description framework 知识数据库的标准格式,主要为了让计算机阅读和理解,而不是人类。
SPARQL:
1,给定前五的属性,用基于RDF的查询语句SPARQL,查询DBpedia数据库,这个数据库中的comment字段是关于属性的最常用信息。
2,将五个返回的段落合并成一个大段落
3,这个查询到的描述比2中的段落长,所以使用Doc2Vec将可变长度的文本片段中学习固定长度500的特征表示,
4. A VQA Model with Multiple Inputs(VQA模型的多重输入)
以上内容都是对图像信息的处理,现在将刚才的信息整合作为LSTM的图像信息的原始输出
这是LSTM的原始图像输入,在训练阶段,将问题Q与答案A连接为{q1,…, qn, a1,…, al, al+1},其中al+1是特殊的结束标记。每个单词都表示为一个one-hot向量,n是问题的长度,l是答案的长度,
使用LSTM[13]编码器从图像I和问题Q中提取语义信息,同时使用LSTM解码器生成答案。编码器和解码器LSTM共享权重。
a1:t表示之前生成的答案,A就是多个单词的完整答案,I是图像信息,Q是问题,
在第t=1到t=n 时间步 xt = Wesqt
在第n + 1 到 l + 1 时间步 xn+1 = Wesal
然后通过LSTM前馈过程计算词汇表中的所有答案词概率分布pt+1 ,答案的最后一个单词为结束标记。
三, 结果:
在两个数据集上得到的结果
这篇文章缺点在于仅仅从数据集中提取离散的文本描述,忽略了结构化的表达,也就是说,没有办法进行关系推理,没有说明为什么是这个外部知识,从数据库中找到仅仅是相关的描述。
虽然是一篇较早的文章,但是读起来还是能感觉到作者的真才实学,里面综合运用了较多方面的知识.但是没找到代码,可惜了!
这篇关于论文阅读Ask Me Anything: Free-form Visual Question Answering Based on Knowledge from External Sources的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!