【文献阅读】RUBi——一种解决单模态偏差的VQA模型(R. Cadene等人,NIPS,2019,有代码)

一、文章背景

文章题目:《RUBi: Reducing Unimodal Biases in Visual Question Answering》

这篇文章在NIPS上还没有给出下载地址,我是在作者Devi Parikh的个人主页上找到的这篇文章。NIPS2019上关于VQA的文章比较少,先从这篇文章读起。

文章下载链接:https://arxiv.org/pdf/1906.10169.pdf

文章引用格式:R. Cadene, C. Dancette, H. Ben-younes, M. Cord, D. Parikh . "RUBi: Reducing Unimodal Biases in Visual Question Answering." Conference and Workshop on Neural Information Processing Systems(NIPS), 2019

项目地址:github.com/cdancette/rubi.bootstrap.pytorch

二、文章导读

先看一下文章的摘要部分内容:

Visual Question Answering (VQA) is the task of answering questions about an image. Some VQA models often exploit unimodal biases to provide the correct answer without using the image information. As a result, they suffer from a huge drop in performance when evaluated on data outside their training set distribution. This critical issue makes them unsuitable for real-world settings.
We propose RUBi, a new learning strategy to reduce biases in any VQA model. It reduces the importance of the most biased examples, i.e. examples that can be correctly classified without looking at the image. It implicitly forces the VQA model to use the two input modalities instead of relying on statistical regularities between the question and the answer. We leverage a question-only model that captures the language biases by identifying when these unwanted regularities are used. It prevents the base VQA model from learning them by influencing its predictions. This leads to dynamically adjusting the loss in order to compensate for biases. We validate our contributions by surpassing the current state-of-the-art results on VQA-CP v2. This dataset is specifically designed to assess the robustness of VQA models when exposed to different question biases at test time than what was seen during training.

作者认为,现有的VQA模型都是使用的单模态偏见(unimodal biases)来获得正确答案,而没有使用图像信息。一旦使用数据集之外的数据,模型的性能往往会急剧下降。

作者提出了一种新的策略用以减少这种偏见,叫做RUBi。VQA模型中使用了两个输入模块,替代了对问题和答案之间统计规律的依赖。作者使用一个问题模型(question-only model)来捕捉语言偏见。它能够动态调整损失,来补偿偏见。最后作者基于VQA-CP v2进行了验证,作者提出的模型效果明显胜过当前最好模型。

三、文章详细介绍

现有的VQA模型需要更高级的场景和问题理解,比如更精细的识别,目标检测,计数,场景推理等。目前的端到端VQA模型能够胜过人类的识别精度,然而,这些模型都只是利用的固定模式下的问答统计规律,比如大部分香蕉都是黄色的,那么对于“香蕉颜色”的这类问题,模型实际上并不会去仔细学习如何表征香蕉的颜色以达到更高的精度。简单的说,相较于“查看图像-检测香蕉-评估香蕉颜色”这样的流程,建立关键词“what, color, bananas”与答案"yellow"之间的关联更简单。

一种量化这种统计关联的方法是训练单模态模型(to train unimodal models)。比如,仅用问题模型(question-only model)也能够在测试集上获得44%的正确率。VQA模型并没有放弃这种关联方式,因为他们的训练数据集和测试数据集是有着同样的分布。然而,如果测试集的统计规律与训练集完全不同,那么测试精度则会急剧下降。不过,这种统计规律是没有办法避免的,所以减少这种偏见的影响是至关重要的。下图正好说明了这一点:

本文提出的RUBi,是一种能够减少这种偏见的策略。它能够驱动VQA同时使用这两种输入模态(基于统计规律,有时候视觉模态是没有用到的)。另外,作者还在VQA训练的顶部加入了问题模型(question-only models),通过动态的调整损失以补偿这种偏见的影响。结果表明,偏见较大的样本后向传播梯度会减少,而偏见较小的则增大。训练结束之后,再移除这个问题分支(question-only branch)。

1. 相关工作

(1)数据集和模型中的单模态偏见评估(Assessing unimodal biases in datasets and models)

尽管VQA是进行了两个模态的合并,但是研究发现模型大部分情况下则是依据单个模态的输入和答案之间建立表面关系。为了量化这种单模态偏见,我们可以只用两种模态中的一种进行评估。所以作者选择了问题模型(文本模态),因为它与答案之间存在大量的统计规律。在RUBi的基准下,作者使用这个模型以减少问题偏见。

对模型而言,目前大部分模型都是利用了这种单个模态的统计关联,达到了非常感人的效果。近期为了诊断数据集,引入了VQA-CP v2和VQA-CP v1,这两个数据集,针对每一种问题类型,在train和test数据集中都有着不同的答案分布。目前,大部分模型在这两个数据集上就表现失败了(fail on these benchmarks),因此本文就采用了VQA-CP v2来作为实验数据集。

(2)平衡数据集以避免单模态偏见(Balancing datasets to avoid unimodal biases)

一种合成VQA数据集减少这种偏见的做法是,通过在相关问题的小集合中进行拒绝采样(Reject Sampling,一种蒙特卡罗方法),以避免与正确答案之间的简单关联。

然而在真实数据集中这么做是不可能的,因为标注的代价太大。另一种解决的思路则是通过增加互补样本,提高任务的困难度(比如现在数据集中黄色的香蕉和绿色的香蕉各占50%)。比如给定VQA v1中的问题,在VQA v2中包含相似的图像,但有不同的答案和问题组成。尽管这样做一定程度上可以减少偏见,但是这种统计偏见还是存在的。这也是为什么作者要提出减少单模态偏见的模型。这里的学习策略是通过动态修正loss来减少偏见。

(3)网络结构和学习策略来减少单模态偏见(Architectures and learning strategies to reduce unimodal biases)

以上数据集的处理出现的同时,也出现了对模型的处理。例如模型Grounded VQA(先进行视觉区域定位和识别,然后进行可能答案的识别)。但是该方法需要对多个子模型分开训练,而且难以直接迁移到类似的网络中。而作者提出的方法则是完全的端到端,具有较好的迁移性。

作者提到和他工作最类似的一篇文章是[1],这篇文章的介绍这里就不多说了。只说一下作者的方法和这篇文章方法的不同,首先是学习策略是将VQA中所有的参数都视为目标以有效减小偏见的影响,另外是不同于这篇文章的两个loss,作者使用的是动态自适应的分类loss。

[1] Sainandan Ramakrishnan, Aishwarya Agrawal, and Stefan Lee. Overcoming language priors in visual question answering with adversarial regularization. In Advances in Neural Information Processing Systems, pages 1541–1551, 2018.

2. RUBi

作者也是将VQA视为一个分类问题。给定的数据集D是由三部分组成,图像v,问题q和答案a,作者需要优化的则是函数f中的参数,这个函数f可以表示为:

经典的学习策略和陷阱(Classical learning strategy and pitfall):传统的VQA模型如下所示:

一般是用交叉熵来处理:

这样就很容易从数据集中学习到单模态偏见。一种极端的情况,强烈的偏见会导致问“香蕉颜色”的问题时,答案总是“黄色”。由于少量的另类香蕉样本,模型实际上并没有学习到香蕉的图像信息。一旦训练完成,这种没有充分使用两个模态信息的模型,是不能够适用于真实世界的数据。

(1)RUBi学习策略

问题模型学习偏见(Learning biases with a question-only branch):一种测量单模态偏见的方法就是使用单模态模型,一个单模态模型可以用下面的函数表示,所有参数都可以通过标准交叉熵来学习:

作者提出方法的关键,在前面Fig2中也进行了描述,就是使用问题模型来捕捉问题偏见,使模型能够关注于那些在question-only model中没有被正确回答的样本。作者将这个模型补充在了训练过程中,训练结束后则进行移除。

过滤预测结果来预防偏见(Preventing biases by masking predictions):在用预测结果计算loss之前,我们先将预测结果和问题模型的结果进行合并,问题模型的结果是一个介于0-1之间的掩膜(mask),通过修正预测结果,将这个掩膜用于动态的改变loss。然后利用mask和原来的预测结果进行点乘,生成新的预测结果,也就是:

为了更好的理解作者方法的影响,作者做了以下两个步骤:

First, we reduce the importance of the most biased examples, i.e. examples that can be correctly classified without using the image modality.

首先,减少大部分偏见样本的重要性(偏见样本指不需要图像就可以正确被分类的样本)。问题模型输出的mask来增加输出正确答案的得分而减少其他答案的得分,这样最终的loss会由于这些偏见样本而降低。简单的说,就是通过VQA的后向传播梯度变得更小,因此减少了这些偏见样本的重要性。用下图来说明这个过程:

看第一行,给定一个“香蕉是什么颜色”的问题,mask对于“yellow”的答案获得了0.8的得分,而答案为“green”和“white”的得分则很低。然后在新的迭代中,mask影响VQA的预测结果,“yeloow”答案的预测得分从0.8提高到了0.94,而与传统的VQA模型相比,loss则从0.22下降到了0.06。

Secondly, we increase the importance of examples that cannot be answered without using both modalities.

第二,作者增加了不能被正确回答的样本的重要性。整个过程与上一步的过程相反,如上图中的第二行,添加RUBi后的loss从0.69增加到了1.2。

最后,作者还添加了一个单模态分类器,以提高捕捉偏见的能力:

最终的loss则为两部分构成,也就是Loss_QM(是联合预测结果的交叉熵loss)和Loss_QO(问题模型的交叉熵loss)之和:

(2)基准结构

作者的模型结构灵感来自于下面这篇文献[2],这篇文章之前也读过,可以参考:【文献阅读】MUREL——视觉问答VQA中的多模态关系推理(R. Cadene等人,CVPR,2019),这里作者提取图像特征用的是Faster RCNN,提取问题特征用的是GRU,特征融合方法用的是Bilinear BLOCK fusion,输出的结果向量传入到MLP中,生成最终的预测结果

[2]Remi Cadene, Hedi Ben-Younes, Nicolas Thome, and Matthieu Cord. Murel: Multimodal Relational Reasoning for Visual Question Answering. In IEEE Conference on Computer Vision and Pattern Recognition CVPR, 2019

3. 实验

实验作者用到的数据集是VQA-CP v2。

(1)结果

最新的比较(State-of-the-art comparison):所有结果的比较结果如下图所示:

作者进行了超过5次的实验,并计算平均精度。提出的RUBi的总体精度为47.11,标准差为0.51,远远高于其他模型。

结构类比(Architecture agnostic):RUBi具有较好的迁移性,作者将其用在了两个经典模型——Stacked Attention Networks (SAN)和Bottom-Up and Top-Down Attention (UpDn),以说明这一点。结果如下图所示:

VQA v2上的效果(Impact on VQA v2):VQA v2和VQA-CP v2在数据集内容上相似,但是它却存在有大量的统计规则。在此背景下,我们总能够观测到减少偏见的方法会有精度的降低,实验具体下降的分值就不多介绍了。在VQA v2上的结果如下图所示:

(2)量化分析

对于VQA-CP v2数据集中一些特定的问题类型,作者进行了答案分布的比较,如下图:

第一行中,RUBi能够减少类似“这个人在滑冰吗”这类偏见,训练集中的大部分答案都是yes,但是测试集中则有no,而RUBi的输出则是80%的no,传统方法则输出yes,尽管传统方法用到了attention,但是却定位到了鞋子上。第二行则是问的关于颜色的偏见问题,第三行是关于目标的偏见问题,第四行同样是关于目标的偏见问题。

四、小结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

全部梭哈迟早暴富

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

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

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

打赏作者

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

抵扣说明:

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

余额充值