论文浅尝 - IJCAI2020 | Mucko:基于事实的多层跨模态知识推理视觉问答

论文笔记整理:陈卓,浙江大学计算机科学与技术系,博士研究生。


论文链接:https://arxiv.org/pdf/2006.09073

代码:https://github.com/astro-zihao/mucko

发表会议:IJCAI 2020

任务定义及背景

VQA(视觉问答)顾名思义,也就是结合视觉的信息来回答问题。其于15年被提出,涉及的方法从最开始的联合编码,到双线性融合,注意力机制,组合模型,场景图,再到引入外部知识,进行知识推理,以及使用图网络,近年来取得了长足发展。其中18年Qi Wu等人提出的FVQA[2],提出引入外部知识的KB-VQA问题,并贡献了这方面的重要数据集,该数据集特点是要回答问题必须依赖图片以外知识。同时,提出了一种对应解决该问题的方法与思路。

Out of the box[3]这篇文章,简称OB,则基于FVQA数据集,将视觉与外部知识信息融合后用图卷积网络来解KB-VQA问题。效果比FVQA的Sota要好。把它从58.7%提升到了69.3%。以上是本文工作的背景。

                                          

动机

作者对比了前人的工作,一个方向是将问题转化成关键词,然后在候选事实中根据关键词匹配检索出对应的支撑事实的pineline方式,比如前文所提的FVQA,但是如果视觉概念没有被问题完全提及(比如同义词和同形异义词)或者事实图中未捕获提及的信息(比如它问红色的柱子是什么,却没有提到消防栓),那这类方法就会因为匹配而产生误差。

另一个方向将视觉信息引入到知识图中,通过GCN推导出答案,就比如前文提到的out of the box模型。虽然解决了上面的问题但是每个节点都引入了相同且全部的视觉信息,而只有一部分的视觉信息和当前节点是相关的,这样会引入噪声。并且每个节点都是固定形式的的视觉-问题-实体的嵌入表示,这使得模型无法灵活地从不同模态中捕获线索

而本文则较好地解决了上述问题。      

                                  

模型

以上是模型的整体overview,大体流程是先得到三个不同模态的图,然后进行模态内知识选择,跨模态知识推理,最后将中间模态图的节点进行二分类结果判别。

Part 1:Multi-Modal Graph Construction

文章的出发点是将图像表示成一个多模态的异构图,其中包含来自不同模态三个层次的信息(分别是视觉图、语义图和事实图),来互相补充和增强VQA任务的信息。

具体来说,视觉图包含了图像中的物体及其位置关系的表示。构造原理是通过训练好的目标检测模型比如Faster-RCNN得到图像中物体的集合,并构造全连接图。其中每个实体由一个2048维的视觉特征向量和4维空间特征向量,以及对应的label进行表示,而每一条边则用与两端节点位置相关的五维特征向量表示。

语义图包含了用于衔接视觉和知识的高层语义信息,构造原理是先使用Densecap预训练模型生成图像的细粒度caption(这既包括单个object的属性,也包括不同object的关系),然后使用Spice算法根据排名靠前的caption构造一个语义联系图。节点代表object的名字或属性,边代表关系。最后用GloVe embeddings来表示节点和关系。

事实图则包含图像对应的外部知识,它的构造思想参考了out of the box 模型。使用相似性评分技术,根据图像和问题从事实空间获得top100的相关事实三元组(这里的事实空间是Conceptnet),然后根据问题预测出的top3 Relation 类型筛选一遍。保留剩下Relations 中符合要求的三元组Facts,最后自然构成图结构。其中节点和边的信息同样用GloVe词向量进行初始化的。这样以来得到了一个多模态图。

Part 2:Intra-Modal Knowledge Selection

在跨模态知识汇聚之前,首先进行的是每个模态内的知识选择:在问题的引导下确定每个节点和边在内部图卷积过程中的分数权重占比,然后进行常规的update操作。也就是说在跨模态之前,先独立选择单个模态内有价值的证据,让和问题相关性强的节点及边,在图内部卷积过程中占更大的权重。这三个模态内部的卷积操作都是相同的,只是节点和边的表示不同。

简单来说,首先通过注意力机制评估与该问题相对应的每个节点的相关性,得到每个节点i的attention weight αi。其中w是可学习的参数,vi是节点表示,q是经过LSTM的问题编码。

对于每一条边而言也是同理。得到边的attention weight βji。

在得到节点与边的attention weights后,最后使用消息传递网络更新每一层的内部的节点得到新的节点表示。

Part 3:Cross-Modal Knowledge Reasoning + Learing

跨模态的知识推理是基于part2模态内的知识选择的结果。考虑到信息的模糊性,不同图很难显式地对齐,所以作者采用一种隐式的基于注意力机制的异构图卷积网络方法来关联不同模态的信息,从不同层的图中自适应地收集互补线索并进行汇聚。包括视觉到事实的卷积和语义到事实的卷积。

比如视觉到事实的卷积场景中,对于事实图中的每个节点vi,计算视觉图中每个节点vj和它在问题引导下的相似度注意力分数,越互补的节点它的相似度分数就越高,然后根据这个分数对视觉图加权求和,得到事实图中每个节点来自视觉图层的事实互补信息。

而来自语义的事实互补信息也是一样的操作。然后使用门控机制将图像的视觉和语义的互补信息以及fact本身节点的实体特征,进行融合得到事实图的实体表示。

最后fact graph本身使用一个Attention base 的GCN来聚合刚才得到的节点信息,以上就是跨模态的图卷积过程。

分别迭代地执行Part2模态内的知识选择和Part3跨模态的知识推理,执行多个step可以获得最终的fact实体表示,并将其传到一个二元分类器,输出概率最高的实体当做预测的答案。

实验分析

1.Comparison with Sota

模型在三个数据集上验证了实验结果。其中FVQA里面fact的是将图片中概念在知识库比如Conceptnet和Dbpedia中查询得到三元组所得到来的。其本身问题的构造就是依照fact所刻意得到的,每一个问题都会和一个三元组相关。可以看到,该模型在FVQA上表现很好,而传统的引入外部知识的VQA模型也均有不错的表现,其中本文模型外最好的就是刚才提到的OB模型。

Top1结果和Top3结果与本文模型相差为3.7%和5.7%。作者给出的解释是OB没有在图像内部进行特征选择,只是单纯地把全局信息进行了拼接操作,所以不如本文。

而另外一个数据集Visual7W KB也和FVQA类似,问题是直接根据Conceptnet生成的。不同点在于他不提供fact。可以看到结果也明显好于Sota。

第三个数据集OK-VQA比较特殊,这个数据集的QA构造是亚马逊上人工设定问题人工进行回答,没有知识库作为参考,且问题要求必须使用图片以外的数据,知识跨度大,可以说是目前而言最难的VQA数据集,sota只有30%不到。该模型在OK-VQA上表现的不太好,不过还是比Sota要高大概0.7%。原因猜测是光凭借单一的外部知识库可能不足以对ok-vqa达到较大提升,所以ok-vqa问题在未来实际上还有很大的提升空间。

2.Ablation Study

本文作者基于FVQA做了消融实验,分别去掉不同模态的图以及对应的注意力加权卷积机制,还去掉了多模态图中边的信息来进行对比,最后证明以上的工作都是有意义且必要的。

3.Interpretability

该模型另外一个优点是结果具有比较好的解释性。上图是FVQA数据下测试的结果。把fact graph中最重要fact所对应的top2视觉和语义对象节点,用虚线连接,虚线上的值表示了跨模态卷积中不同层哪些节点对结果影响重要性更大,结果比较直观。

热力条根据最后特征融合时的gate值得到,密度越大则代表对应位置通道的重要性越高。可以发现,在大多数的情况下事实信息会更重要,也就是密度最大。因为FVQA中97.3%的问题都是需要额外知识才能回答的。而密度第二大的区域往往会由问题的类型决定是视觉更重要还是问题更重要。比如第二个图中问题里面的hold by这个词无法在图片中具体体现,所以所以语义信息的占比会更大一些。而第一个图的话则视觉信息占比更大。

第三张图片就是与OB模型的对比,对比了部分他们答对并且OB打错的pair。作者对于该差异的解释是前文提到的OB模型中每个节点都引入了相同且全部的视觉信息,使得部分噪声被引入。最后一张图是说当有多个合理答案的时候模型也会出错。

[1] Zhu Z, Yu J, Wang Y, et al. Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based VisualQuestion Answering[J]. arXiv.

[2] Wang P, Wu Q, Shen C, et al. Fvqa: Fact-based visual question answering. TPAMI, 2018

[3] Narasimhan M, Lazebnik S, Schwing A. Out of the box: Reasoning with graph convolution nets for factual visual question answering. NIPS. 2018

 


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 40. 组合总和 II(排列组合 回溯)

1. 题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包含重…

质量运营在智能支付业务测试中的初步实践

背景 毋庸置疑,质量是决定产品能否成功、企业能否持续发展的关键因素之一。对于“质量时代”下的互联网企业,如何在快速迭代的节奏中兼顾质量,真正落地“人人重视质量、人人创造质量、人人享受质量”,这是对QA的要求,也…

新手手册:Pytorch分布式训练

文 | 花花机器学习算法与自然语言处理单位 | SenseTime 算法研究员目录0X01 分布式并行训练概述0X02 Pytorch分布式数据并行0X03 手把手渐进式实战A. 单机单卡B. 单机多卡DPC. 多机多卡DDPD. Launch / Slurm 调度方式0X04 完整框架 Distribuuuu0X05 Reference文中所有教学代码和…

Hotel booking酒店预订——数据分析与建模

Hotel booking酒店预订——数据分析与建模:https://zhuanlan.zhihu.com/p/196757364?utm_sourcewechat_session 写文章Hotel booking酒店预订——数据分析与建模(转载翻译自kaggle)海上泊舟数据分析师数据源:https://www.science…

论文浅尝 - ICLR2020 | Pretrained Encyclopedia: 弱监督知识预训练语言模型

论文笔记整理:陈想,浙江大学博士,研究方向为自然语言处理,知识图谱。Wenhan Xiong, Jingfei Du, William Yang Wang, Veselin Stoyanov.Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model来源&…

LeetCode 216. 组合总和 III(排列组合 回溯)

1. 题目 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]]示例 2: 输入: k 3, n 9 输出…

“小众”之美——Ruby在QA自动化中的应用

前言 关于测试领域的自动化,已有很多的文章做过介绍,“黑科技”也比比皆是,如通过Java字节码技术实现接口的录制,Fiddler录制内容转Python脚本,App中的插桩调试等,可见角度不同,对最佳实践的理解…

软考中级 软件设计师资料(考点分析+复习笔记+历年真题+电子版课本)

软考中级 软件设计师资料(考点分析复习笔记历年真题电子版课本): https://blog.csdn.net/weixin_44754772/article/details/113763165 软件设计师是软考中级职称,相比高级的难度而言,中级难度较低,每个人花…

关于NLP相关技术全部在这里:预训练模型、图神经网络、模型压缩、知识图谱、信息抽取、序列模型、深度学习、语法分析、文本处理...

神器推荐NLP近几年非常火,且发展特别快。像BERT、GPT-3、图神经网络、知识图谱等技术应运而生。我们正处在信息爆炸的时代、面对每天铺天盖地的网络资源和论文、很多时候我们面临的问题并不是缺资源,而是找准资源并高效学习。但很多时候你会发现&#xf…

LeetCode 77. 组合(回溯)

1. 题目 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例:输入: n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combin…

论文浅尝 - AAAI2020 | 从异质外部知识库中进行基于图的推理实现常识知识问答...

会议:AAAI2020论文链接:https://arxiv.org/pdf/1909.05311.pdf摘要常识问答旨在回答需要背景知识的问题,而背景知识并未在问题中明确表达。关键的挑战是如何从外部知识中获取证据并根据证据做出预测。最近的研究要么从昂贵的人类注释中生成证…

插件化、热补丁中绕不开的Proguard的坑

文章主体部分已经发表于《程序员》杂志2018年2月期,内容略有改动。 ProGuard简介 ProGuard是2002年由比利时程序员Eric Lafortune发布的一款优秀的开源代码优化、混淆工具,适用于Java和Android应用,目标是让程序更小,运行更快&…

互联网高端社畜行话大全(表情包)

作者 | 洋气的圆圆君前几天,字节跳动CEO张一鸣发表的演讲刷屏朋友圈,其中不忘开讽互联网黑话。燃鹅,作为一只卑微的互联网社畜,哪天被父母问起来我们行业常说的“抓手”、“赋能”都是啥,答不好的话那是要被challenge自…

论文浅尝 | DeCLUTR: 无监督文本表示的深度对比学习

Giorgi, J. M., O. Nitski, G. D. Bader and B. Wang (2020). "DeCLUTR: Deep Contrastive Learning for Unsupervised Textual Representations." arXiv preprint arXiv:2006.03659.原文链接:https://arxiv.org/pdf/2006.03659GitHub项目地址&#xff1a…

MoCoV3:何恺明团队新作!解决Transformer自监督训练不稳定问题!

文 | happy源 | 极市平台论文链接: https://arxiv.org/abs/2104.02057本文是FAIR的恺明团队针对自监督学习Transformer的一篇实证研究。针对Transformer在自监督学习框架中存在的训练不稳定问题,提出了一种简单而有效的技巧:Random Patch Projection&…

LeetCode 496. 下一个更大元素 I(哈希)

1. 题目 给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应…

论文浅尝 - AAAI2020 | 多模态基准指导的多模态自动文摘

论文笔记整理:刘雅,天津大学硕士。链接:https://aaai.org/ojs/index.php/AAAI/article/view/6525动机近年来,随着计算机视觉以及自然语言处理技术的发展,多模态自动文摘技术逐渐成为学术界和工业界研究的热点。当前的多…

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力 代码CrissCrossAttention注意力ECAAttention通道注意力EMAU期望最大化注意力加入方法各种yaml加入结构本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中…

美团点评智能支付核心交易系统的可用性实践

背景 每个系统都有它最核心的指标。比如在收单领域:进件系统第一重要的是保证入件准确,第二重要的是保证上单效率。清结算系统第一重要的是保证准确打款,第二重要的是保证及时打款。我们负责的系统是美团点评智能支付的核心链路,承…

Transformer太大了,我要把它微调成RNN

文 | 炼丹学徒编 | 小轶从前车马很慢,显卡跑的也慢,一生只够爱一个RNN。后来时代进步了,数据量和计算力阔绰了,堆叠起来的Transformer能够在更深更宽的模型结构里吃下去更多的数据。从19年的预训练浪潮开始,暴力美学兴…