论文笔记 | Counterfactual Samples Synthesizing for Robust VQA

论文笔记整理:窦春柳,天津大学硕士。



来源:CVPR 2020

链接:

https://openaccess.thecvf.com/content_CVPR_2020/papers/Chen_Counterfactual_Samples_Synthesizing_for_Robust_Visual_Question_Answering_CVPR_2020_paper.pdf


动机

当今的VQA模型倾向于捕获训练集中的表层语言相关性,而不能推广到具有不同QA分布的测试集中。为了减少语言偏见,最近的一些工作引入了一个辅助的仅问题模型,以规范化目标VQA模型的训练,并在VQA-CP上实现主导性能。但是,由于设计的复杂性,当前的方法无法为基于集成模型的模型配备理想VQA模型的两个必不可少的特征:1)视觉可解释的:模型在做出决策时应依赖正确的视觉区域。2)对问题敏感:该模型应对所讨论的语言变化敏感。为此,本文提出了一种与模型无关的反事实样本合成(CSS)训练方案。


亮点

作者提出了与模型无关的反事实样本合成(CSS)训练方案,可以有效提高模型的视觉可解释性和问题敏感度。为避免昂贵的人工注释,设计了一种动态答案分配机制,以近似所有合成VQ对的真实答案。

概念及模型

目前将VQA任务是当做一个多类别的分类任务,不失一般性,给定一个数据集,三元组,图片,问题和答案,VQA任务学习映射,对于给定的图片-问题对给出答案分布。

本文提出的是一个通用的方法,可以和现有的VQA方法进行融合,通过在训练过程中对数据进行mask,提高模型的效果。对于每个训练样本(I,Q,a),具体的训练步骤如下所示:

(1)以初始的三元组训练模型

(2)通过V-CSS合成反事实样本和Q-CSS反事实样本.

(3)用反事实样本训练模型

lV-CSS

根据算法2中显示,V-CSS包含个步骤:初始化对象的选择,对象局部贡献的计算,重要对象的选择,动态分配答案

(1)初始化对象的选择:

由于图片中的对象只有一小部分跟问题是相关,所以需要选择出与图片有关系的一个小的对象集合I,想法就是首先用SpaCy POS标签给问题中每个单词一个标签,从中选择出名词,计算对象类型与名词的cosine相似度,选择出其中相似度最高的作为集合I。

(2)对象局部贡献的计算:

得到对象集合后,计算那个对象对于回答问题更有作用,利用修改的Grad-CAM来获得哪个对象的的贡献最大。

(3)重要对象的选择:

计算完集合内所有对象的贡献后,选择其中贡献最大的K个(score最高的K个),K由以下公式决定:

其中是一个常数。然后的绝对补集。

(4)动态分配答案

对于反事实视觉输入和原始问题输入Q构成新的问题视觉对,为了分配正确的答案,首先将输入到VQA模型内,然后得到,根据选择概率值最高的K个答案为集合。然后将剩余的作为,最极端的情况就是包含所有的正确答案,则内不包含正确答案,相当于一个空集。这个方法的动机就是可以正确预测答案,则就不应该再包含原本问题中的正确答案了。

lQ-CSS

Q-CSS包含三步,计算每个单词的贡献,选择其中最重要的单词,动态地分配答案。

(1)计算每个单词的贡献:

以下公式计算每个单词的贡献率:

 (2)选择其中最重要的单词:

首先提取能够代表每个问题类型的单词,然后选择K个除了问题类型单词的分数最高的单词当做最重要的单词,然后将重要的单词替换成'[mask]'后得到。而就是将除了类型单词和重要单词以外的单词替换成[mask],

(3)动态地分配答案:

与V-CSS这一步骤相同,这一步骤DA_ASS的输入是

理论分析

实验

首先是消融实验,集合I的大小、关键字的个数、参数的大小。

在VQA-CP v2测试集上,多个模型添加本文方法得到的提升如下图所示。其中,Baseline是原文中的结果,Baseline+是本文作者重现的结果。

总结

在本文中,我们提出了一种与模型无关的反事实样本合成(CSS)训练方案,以提高模型的视觉可解释性和对问题敏感的能力。CSS通过掩盖关键对象或单词来生成反事实训练样本。同时,CSS可以持续提高不同VQA模型的性能。

 


 

OpenKG

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

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

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

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

相关文章

Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus

背景 对于Android系统来说,消息传递是最基本的组件,每一个App内的不同页面,不同组件都在进行消息传递。消息传递既可以用于Android四大组件之间的通信,也可用于异步线程和主线程之间的通信。对于Android开发者来说,经常…

论文浅尝 - ICLR2020 | 知道什么、如何以及为什么:基于方面的情感分析的近乎完整的解决方案...

论文笔记整理:余海阳,浙江大学硕士,研究方向为知识图谱、自然语言处理。链接:https://arxiv.org/abs/1911.01616动机基于目标的情感分析或基于方面的情感分析(ABSA)是指在细粒度的层次上解决各种情感分析任…

全栈深度学习第5期: 神经网络调试技巧

一起追剧鸭简介Berkeley全栈深度学习追剧计划是由夕小瑶的卖萌屋发起的优质公开课打卡项目,通过微信群为同期追剧的小伙伴提供交流平台。关于该计划的详请见这里。Berkeley深度学习追剧群目前已有1000小伙伴加入,公众号后台回复口令 深度学习追剧 入群。…

LeetCode 22. 括号生成(回溯/DP)

文章目录1. 题目2. 解题2.1 暴力回溯2.2 DP1. 题目 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n 3,生成结果为:["((()))","(()())",…

美团服务体验平台对接业务数据的最佳实践-海盗中间件

背景 移动互联网时代,用户体验为王。美团服务体验平台希望能够帮助客户解决在选、购、用美团产品过程中遇到的各种问题,真正做到“以客户为中心”,为客户排忧解难。但服务体验平台内部只维护客户的客诉数据,为了精准地预判和更好地…

中文近义词工具包:Synonyms

Synonyms Chinese Synonyms for Natural Language Processing and Understanding. 更好的中文近义词:聊天机器人、智能问答工具包。 synonyms可以用于自然语言理解的很多任务:文本对齐,推荐算法,相似度计算,语义偏移…

惊了,掌握了这个炼丹技巧的我开始突飞猛进

文 | 夕小瑶从不拖稿的小夕今天在知乎上刷到一个问题:哈?一向求真务实、高逼格讨论的知乎画风怎么突然就不一样了。我以为回答区会有这张图:▲如来神掌结果竟然没有!知乎果然没有让我失望,还是一如既往的认真、严谨、有…

LeetCode 876. 链表的中间结点(快慢指针)

1. 题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 2. 解题 快慢指针法 class Solution { public:ListNode* middleNode(ListNode* head) {ListNode *fast head, *slow head;while(f…

技术动态 | 多模态知识图谱

本文转载自漆桂林老师的知乎专栏。原文链接:https://zhuanlan.zhihu.com/p/163278672作者:郑秋硕,漆桂林,王萌知识图谱技术已经被广泛用于处理结构化数据(采用本体D2R技术)和文本数据(采用文本信…

美团配送系统架构演进实践

写在前面 美团配送自成立以来,业务经历了多次跨越式的发展。业务的飞速增长,对系统的整体架构和基础设施提出了越来越高的要求,同时也不断驱动着技术团队深刻理解业务、准确定位领域模型、高效支撑系统扩展。如何在业务高速增长、可用性越来越…

Python字符串模糊匹配库FuzzyWuzzy

Python字符串模糊匹配库FuzzyWuzzy 在计算机科学中,字符串模糊匹配(fuzzy string matching)是一种近似地(而不是精确地)查找与模式匹配的字符串的技术。换句话说,字符串模糊匹配是一种搜索,即使…

机器学习梗图大赏

文 | 白鹡鸰图 | 白鹡鸰 小轶大家好呀,我是日常遭到小轶摁头赶稿的白鹡鸰~最近的投稿高峰期各位都过得如何呢?白鹡鸰要偷偷爆料,最近的小轶可是超级辛苦的~不过白鹡鸰还很轻松,毕竟已经决定赶300天以后的dd…

论文浅尝 - ACL2020 | 用于关系三元组抽取的级联二进制标记框架

论文笔记整理:王中昊,天津大学。来源:ACL2020链接:https://arxiv.org/pdf/1909.03227.pdf摘要从非结构化文本中提取关系三元组是构建大规模知识图的关键。然而,对于同一句子中的多个关系三元组共享同一个实体的重叠三元…

美团客户端响应式框架 EasyReact 开源啦

前言 EasyReact 是一款基于响应式编程范式的客户端开发框架,开发者可以使用此框架轻松地解决客户端的异步问题。 目前 EasyReact 已在美团和大众点评客户端的部分业务中实践,并且持续迭代了一年多的时间。近日,我们决定开源这个项目的 iOS Ob…

LeetCode 897. 递增顺序查找树(中序遍历)

1. 题目 给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。 示例 :输入:[5,3,6,2,4,null,8,1,null,null,null,7,9]5/ \3 6/ \ \2 4…

谈谈怎样提高炼丹手速

文 | 夕小瑶最近搞定几件焦头烂额的大事后,终于有了一丢丢的时间来写写文章,并且偶尔思考下算法工程师的核心竞争力是什么。前不久一时兴起写了篇标题党文章《惊了!掌握了这个炼丹技巧的我开始突飞猛进》,简单描述了一下我的升级打…

论文浅尝 | 神经协同推理

论文笔记整理:叶橄强,浙江大学计算机学院,知识图谱和知识推理方向。Paper link: https://arxiv.org/abs/2005.08129Github link: https://github.com/Scagin/NeuralLogicReasoning背景:推荐任务推荐作为一种认知智能任务&#xff…

在服务器上安装anaconda遇到的问题总结

1 安装anaconda需要一些安装包,需要提前备准备好,比如bunzip2, gcc编译等软件。 cd /anacondaRElyanacondaREly文件夹下放了anaconda所依赖的安装包,切换到该路径 rpm -Uvh *.rpm --nodeps --force安装好anaconda 需要的依赖环境…

LeetCode 693. 交替位二进制数(位运算)

1. 题目 给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。 输入: 5 输出: True 解释: 5的二进制数是: 101输入: 7 输出: False 解释: 7的二进制数是: 111输入: 11 输出: False 解释: 11的二进…

全栈深度学习第6期: 模型测试和部署

一起追剧鸭简介Berkeley全栈深度学习追剧计划是由夕小瑶的卖萌屋发起的优质公开课打卡项目,通过微信群为同期追剧的小伙伴提供交流平台。关于该计划的详请见这里。Berkeley深度学习追剧群目前已有1000小伙伴加入,公众号后台回复口令 深度学习追剧 入群。…