Counterfactual Samples Synthesizing for Robust Visual Question Answering
Counterfactual Samples Synthesizing for Robust Visual Question Answering
论文链接:https://arxiv.org/abs/2003.06576v1
1 先前VQA模型中存在的缺陷
- 先前的VQA模型往往捕捉到训练集中的表面语言相关性,并不能推广到QA分布不同的测试集。
- 消除语言偏见的集成模型虽然在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的具体实现主要分为三步:
- 使用原始的数据\((I,Q,a)\)进行VQA模型的训练
- 合成反事实样本V-CSS的\((I^-,Q,a^-)\)和Q-CSS的\((I,Q^-,a^-)\)
- 使用反事实样本训练VQA模型
具体流程伪代码如下:
3.1 V-CSS流程
3.1.1 Initial Objects Selection(IO_SEL)初始化对象选择
一般来说,对于任意的QA对一般只有一部分的图像对象对问题有关。因此需要构建较小的图像对象集\(I\)并且\(I\)中的对象对回答问题都非常重要,又因为作者缺少对样本关键对象的标注,只能使用self-critical reasoning for robust visual question answering中的方法提取高相似度的对象。具体方法如下:
- 使用spaCy Pos将Pos tags赋给QA中提取的每个名词
- 计算对象类别的GloVe嵌入和提取名词之间的余弦相似度
- 从对象\(I\)和QA之间的相似度得分\(SIM\)中选取最高的\(|I|\)个对象成为集合\(I\)
3.1.2 Object Local Contributions Calculation对象局部贡献计算
通过使用改进的Grad-CAM来计算每个区域对真实答案预测的贡献:
其中\(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的值的计算方式为满足如下公式的最小数。
这里的\(\eta=0.65\)
那么反事实的数据集\(I^-\)为补集。
3.1.4 Dynamic Answer Assigning(DA_ASS)答案动态分配
通过前面3步或得的\((I^-,Q)\)的VQ对,需要新的训练答案,可根据如下几步或得:
- 用\((I^+,Q)\)在VQA模型中正向传播得到\(P_{vqa}^+(a)\)
- 在\(P_{vqa}^+(a)\)中选择top-N最高预测得到\(a^+\)
- 定义\(a^-:=\{a_i|a_i∈a,a_i∉a^+\}\)意思为能被至关重要区域所预测出来的,非至关重要区域就不该预测出来。
3.2 Q-CSS流程
Q-CSS的流程和V-CSS相似
3.2.1 Word Local Contribution Calculation单词局部贡献
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对,需要新的训练答案,可根据如下几步或得:
- 用\((I,Q^+)\)在VQA模型中正向传播得到\(P_{vqa}^+(a)\)
- 在\(P_{vqa}^+(a)\)中选择top-N最高预测得到\(a^+\)
- 定义\(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\)如下:
其中\(1\)为指示器函数,不满足条件的全部都为0,\(\widehat{a}\)为样本预测的答案,就是只有当样本预测正确的时候才会统计到\(CI\)中。