CVPR2020:CSS
- 题目
Counterfactual Samples Synthesizing for Robust Visual Question Answering
下载链接
本文出自浙江大学DCD实验室。 - 动机
由于测试集和训练集的QA分布不同,会造成language bias。为应对这个现象,作者认为,训练好的模型应具有两个能力:(1)visual-explainable,在生成answer的时候,应该更多的依赖image中正确的区域。(2)question-sensitive,模型应该能意识到question的变化。
- 贡献
提出了CSS训练方法,提高模型的visual-explainable和question-sensitive能力,并可以在VQA-CP上的performance。 - 方法
本文提出的是一个通用的方法,可以和现有的VQA方法进行融合,通过在训练过程中对数据进行mask,提高模型的效果。对于每个训练样本 ( I , Q , a ) (I, Q, a) (I,Q,a),具体的训练步骤如下所示:
1.使用原始的样本 ( I , Q , a ) (I, Q, a) (I,Q,a)训练模型;
2.使用V-CSS或Q-CSS生成反事实样本 ( I − , Q , a − ) (I^-, Q, a^-) (I−,Q,a−)或 ( I , Q − , a − ) (I, Q^-, a^-) (I,Q−,a−);
3.使用反事实样本训练模型。
进行V-CSS的步骤如下(算法2中5-8行):
1.初始化几个object作为候选,这部分follow了这篇文章(NeurIPS 2019)。
2.计算每个object的contribution,这部分follow这三篇文章:一(NAACL 2019)、二(ICCV 2019)、三(NeruIPS 2019),使用的计算公式如下:
s ( a , v i ) = S ( P v q a ( a ) , v i ) : = ( ∇ v i P v q a ) T 1 s(a, v_i)=S(P_{vqa}(a),v_i):=(\nabla _{v_i}P_{vqa})^T1 s(a,vi)=S(Pvqa(a),vi):=(∇viPvqa)T1 3.选择top-K个重要的objects,将它们mask得到 I − I^- I−,将其他的objects mask后得到的称为 I + I^+ I+。
4.为 I − I^- I−生成对应的标签 a − a^- a−(下文中算法3)
进行Q-CSS的步骤如下(算法2中11-13行):
1.计算每个word的contribution,这部分和V-CSS的第2步类似。
2.提取出question-type words(what color is the kite中的“what”、“color”),在余下的word中选出top-K个重要words(如“kite”),将它们mask后得到 Q − Q^- Q−。
3.为 Q − Q^- Q−生成对应的标签 a − a^- a−(下文中算法3)
V-CSS和Q-CSS中的最后一步:
关于 I + , I − , Q + , Q − I^+, I^-, Q^+, Q^- I+,I−,Q+,Q−的展示:
- 实验
在VQA-CP v2测试集上,多个模型添加本文方法得到的提升如下图所示。其中,Baseline是原文中的结果,Baseline+是本文作者重现的结果。
和state-of-the-art的对比:
下面是实验结果展示,绿色的boxes(or 绿色加粗字体)代表重要区域。
AAAI2020:OLP
- 题目
Overcoming Language Priors in VQA via Decomposed Linguistic Representations
下载链接
出自北理北京智能信息技术实验室和阿里文娱摩酷实验室
模型名称OLP我自己起的,文中没给出模型名称。 - 动机
动机都写在题目里啦,即:克服VQA中的Language Priors问题。何为Language Priors?在VQA领域中,会出现这类问题:询问关于“颜色”的question时,常回答“白色”;询问关于“运动”的question时,常回答“网球”;对于“yes/no”类问题,常回答“yes”。这是因为模型在训练时找到了“捷径”,回答“白色”、“网球”和“yes”比回答“黑色”、“篮球”和“no”的正确率要高。这便是Language Priors。 - 贡献
- 将question进行分解,降低了language prior的影响。
- 将soft attention和hard attention结合,实现了从question中灵活分离concept representation和type representation。
- 方法
本文的整体框架如下图所示,图(a)和图(b)代表在两种不同type的question下的方法。从图中可以看出,本文主要包括四个模块:Language Attention Module、Question Identification Module、Object Referring Module和Visual Verfication Module,下面对这四个模块分别进行介绍。
首先介绍Language Attention Module,这个模块的结构如下图所示,用于将question分解为type representation q t y p e q_{type} qtype、object representation q o b j q_{obj} qobj和concept representation q c o n q_{con} qcon。其中, q t y p e q_{type} qtype用于判断question的type,并作为Question Identification Module的输入。在本文中,question共分为两种类型:yes/no,not yes/no。 q o b j q_{obj} qobj作为Object Referring Module的输入,用于capture图片中和question相关的区域。Visual Verification Module接收 q c o n q_{con} qcon(只有在"yes/no"类问题时,才接收 q c o n q_{con} qcon,因为"not yes/no"类问题中, q c o n q_{con} qcon包含在answer中,而非question中)、Question Identification Module的输出和Object Referring Module的输出作为输入,生成answer。
对于给定的Word Embeddings,先使用Type Attention对每个单词添加注意力,使用阈值过滤掉一部分单词(疑问词)。使用提取出的疑问词得到 q t y p e q_{type} qtype,将剩下的单词添加Object Attention和Concept Attention,得到 q o b j q_{obj} qobj和 q c o n q_{con} qcon。
对于"yes/no"类问题,answer set应该只包含两个元素{yes, no}。对于"not yes/no"类问题,需要处理出answer set。处理的方法是:生成一个mask(由0、1组成),使用KL散度训练mask,使其接近ground truth mask。
Object Referring Module部分的方法follow了这篇文章(CVPR 2018)。
Visual Verification Module的任务是:根据从answer set中选出最正确的answer。在训练时,对于"yes/no"问题,使用交叉熵损失;对于"not yes/no"问题,使用KL散度计算损失。 - 实验
实验结果
阈值对实验结果的影响
消融实验
实验结果展示
TMM2020:SANMT
- 题目
Self-Adaptive Neural Module Transformer for Visual Question Answering
下载链接
出自张含望老师实验室。 - 动机
- 贡献
- 方法
- 实验
ACL2020: CMR
- 题目
Cross-Modality Relevance for Reasoning on Language and Vision
介绍详见这篇博客
CVPR2020:
- 题目
- 动机
- 贡献
- 方法
- 实验