Counterfactual Samples Synthesizing for Robust Visual Question Answering

论文链接:https://arxiv.org/abs/2003.06576v1

1 先前VQA模型中存在的缺陷

  1. 先前的VQA模型往往捕捉到训练集中的表面语言相关性,并不能推广到QA分布不同的测试集。
  2. 消除语言偏见的集成模型虽然在VQA-CP数据集上面取得了不错的效果,但是无法使模型具备理想VQA模型的两个不可或缺的特征:1)visual-explainable:模型在做出决策时应该依赖于正确的视觉区域。2)question-sensitive:模型应该对所讨论的语言变体敏感。

visual-explainable和question-sensitive举例如下:1)visual-explainable:模型在做出决策时应该依赖于正确的视觉区域,也就是说,基于正确的理由而正确。如下图(a)所示,尽管两个模型都能预测正确答案“冲浪”,但在进行这个答案预测时,它们实际上引用了完全不同的参考区域。2) question-sensitive:模型应该对所讨论的语言变体敏感。如下图(b)所示,对于两个句子结构相似的问题(例如,仅将单词“luggage”替换为“bus”),如果两个问题的意思不同,模型应该感知到这种差异并做出相应的预测。

2 作者贡献

本文提出了一种新的模型不可知概念样本合成(CSS)训练方案,CSS作为一个即插即用的组件来提高VQA模型的视觉解释能力和问题敏感性,即使对于复杂的集成方法也是如此。如下图所示,CSS由两种不同类型的样本合成机制组成:V-CSS和Q-CSS。对于V-CSS,它通过在原始图像中隐藏关键对象来合成反事实图像。所谓“critical”,是指这些对象在回答某一问题时是重要的。然后,反事实图像和原始问题组成一个新的图像问题(VQ)对。对于Q-CSS,它通过用一个特殊的标记“[MASK]”在原始问题中重新放置关键词来合成反事实问题。同样,反事实问题和原始图像构成一个新的图像问题(VQ)对。给定一个VQ对(来自V-CSS或Q-CSS),一个标准的VQA训练样本三元组仍然需要相应的真实答案。为了避免昂贵的手工注释,作者设计了一个动态的答案分配机制,为所有合成的VQ对(如下图中的“not green”)提供近似真实答案。然后,我们用所有原始样本和合成样本训练vqa模型。经过大量补充样本的训练后,VQA模型被迫将重点放在关键对象和词上。

包括定性和定量结果在内的大量消融证明了 CSS 的有效性。 CSS 可以无缝地融入基于集成的方法中,不仅提高了它们的视觉解释能力和问题敏感能力,而且始终如一 提高了 VQA-CP 的性能。 特别是,通过在模型 LMH上构建,我们在 VQA-CP v2 上实现了 58.95% 的破纪录性能。

3 实现方法

CSS的具体实现主要分为三步:

  1. 使用原始的数据((I,Q,a))进行VQA模型的训练
  2. 合成反事实样本V-CSS的((I^-,Q,a^-))和Q-CSS的((I,Q^-,a^-))
  3. 使用反事实样本训练VQA模型

具体流程伪代码如下:

3.1 V-CSS流程

3.1.1 Initial Objects Selection(IO_SEL)初始化对象选择

一般来说,对于任意的QA对一般只有一部分的图像对象对问题有关。因此需要构建较小的图像对象集(I)并且(I)中的对象对回答问题都非常重要,又因为作者缺少对样本关键对象的标注,只能使用self-critical reasoning for robust visual question answering中的方法提取高相似度的对象。具体方法如下:

  1. 使用spaCy Pos将Pos tags赋给QA中提取的每个名词
  2. 计算对象类别的GloVe嵌入和提取名词之间的余弦相似度
  3. 从对象(I)和QA之间的相似度得分(SIM)中选取最高的(|I|)个对象成为集合(I)

3.1.2 Object Local Contributions Calculation对象局部贡献计算

通过使用改进的Grad-CAM来计算每个区域对真实答案预测的贡献:

[s(a,v_i)=S(P_{vqa}(a),v_i):=(bigtriangledown_{v_i}P_{vqa}(a))^T1 ]

其中(a)为真实的答案,(v_i)(i)个区域,(P_{vqa}(a))为第(i)个区域预测真实答案(a)的可能性,(1)为全为1的向量。

3.1.3 Critical Objects Selection(CO_SEL)关键区域选择

得到所有区域的贡献度(s(a,v_i))之后,选取top-K个最高分的区域构成集合(I^+),K是动态选取的,K的值的计算方式为满足如下公式的最小数。

[sum_{v_i∈I^+}exp(s(a,v_i))/sum_{v_j∈I}exp(s(a,v_j))>eta ]

这里的(eta=0.65)

那么反事实的数据集(I^-)为补集。

3.1.4 Dynamic Answer Assigning(DA_ASS)答案动态分配

通过前面3步或得的((I^-,Q))的VQ对,需要新的训练答案,可根据如下几步或得:

  1. ((I^+,Q))在VQA模型中正向传播得到(P_{vqa}^+(a))
  2. (P_{vqa}^+(a))中选择top-N最高预测得到(a^+)
  3. 定义(a^-:={a_i|a_i∈a,a_i∉a^+})意思为能被至关重要区域所预测出来的,非至关重要区域就不该预测出来。

3.2 Q-CSS流程

Q-CSS的流程和V-CSS相似

3.2.1 Word Local Contribution Calculation单词局部贡献

[s(a,w_i)=S(P_{vqa}(a),w_i):=(bigtriangledown_{w_i}P_{vqa}(a))^T1 ]

3.2.2Critical Words Selection(CW_SEL)关键词选取

先提取问题单词,比如“what color is the kite”,那么问题单词就为“what color”然后剩下的单词中选出top-K个(s(a,w_i))分数最高(关键词)的在原问题中用[Mask]替代得到(Q^-),原问题中问题词加关键词,其余用[Mask]替代得到(Q^+)

例如:

(Q):what color is the kite?

(Q^-):what color is the [Mask]?

(Q^+):what color [Mask] [Mask] kite?

3.2.3 Dynamic Answer Assigning(DA_ASS)

通过前面3步或得的((I,Q^-))的VQ对,需要新的训练答案,可根据如下几步或得:

  1. ((I,Q^+))在VQA模型中正向传播得到(P_{vqa}^+(a))
  2. (P_{vqa}^+(a))中选择top-N最高预测得到(a^+)
  3. 定义(a^-:={a_i|a_i∈a,a_i∉a^+})意思为能被至关重要区域所预测出来的,非至关重要区域就不该预测出来。

4 实验

作者通过笑容实验证明选取对象数量(|I|=9),并且top-K为动态选取至关重要图像对象时效果最佳,证明了top-K为1时选取至关重要单词对象时效果最好,并且时用V-CSS和Q-CSS各位50%时效果最好。

将visual-explainable模型SCR与CSS进行比较,实验证明了SCR融入模型之后性能不断地下降,说明visual-explainable模型不能很容易地融入到基于集成的框架中。相反,CSS可以提高性能。

作者通过选取的top-K个图像对象的平均(SIM)值成为(Average Importance(AI))作为证明visual-explainable的伪事实。

使用(Confidence Improvement(CI))作为question-sensitive的指标,具体计算如下:给予一个测试集((I,Q,a)),移除一个至关重要的名词后得到新的测试集((I,Q^*,a))然后将两个测试集放入模型中,计算(CI)如下:

[CI=sum_{(I,Q)}(P_{vqa}(a|I,Q)-P_{vqa}(a|I,Q^*))cdot1(a=widehat{a})/sum_{(I,Q)}1 ]

其中(1)为指示器函数,不满足条件的全部都为0,(widehat{a})为样本预测的答案,就是只有当样本预测正确的时候才会统计到(CI)中。

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/boniii/p/14993847.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!