Counterfactual Samples Synthesizing for Robust Visual Question Answering相关知识和理解
首先是生成对抗网络GAN,然后关于减轻语言偏见的方法有:1)基于对抗的,2)基于融合的,最后是关于CSS(反事实的)
生成对抗网络GAN
首先生成对抗网络的想法是:生成网络G尽量生成真实的图片去欺骗辨别网络D,辨别网络D尽量辨别出G生成的假图像和真实图像,二者对抗进行,提高模型性能。其缺点在于:1)不适合文本的离散数据,2)不容易找到对抗后的平衡点,3)训练过程不稳定。
基于嵌入的减少语言偏见的方法:
基于对抗的方法去减轻语言偏见的方法是,用仅问题模型和普通VQA模型对抗,在训练VQA模型的时候同时训练仅问题模型,并且通过引入一个对抗性的正则化器,最大化问题损失以此最大程度减少问题带来的偏见。这种方法同样训练过程不稳定。
基于融合的方式:基于融合的:对两个模型的预测答案分布进行延时融合,并根据融合后的答案分布推导出训练梯度。在训练阶段,XE损失计算是基于融合的答案分布Pvqa(a)和训练梯度通过两个f进行反向传播fvqa 和fq。例如论文Don’t Take the Easy Way Out: Ensemble Based Methods for Avoiding Known Dataset Biases中的方法。
CSS反事实
以上方法将整个图像遮住,去计算仅问题带来的偏差,然后训练后反馈到普通模型中。而CSS仅遮住问题和图像中的关键部分,这样更容易接受,也具有视觉可解释性并减少语言偏见。
生成V-CSS,Q-CSS的一些样本。生成后是怎样做到以上要求的呢?
其实和上面的思想方法也有点相似,就是将那些反事实的样本的答案和结果都排除掉(注意,上图是一个例子,而实际训练时有许多反事实样本),使得模型被迫关注重要的问题和图像区域,得到正确的答案。(经过大量补充样本的训练后,VQA模型被迫将注意力集中在关键对象和单词上)。
但文章实际详细说了如何生成反事实样本V-CSS和Q-CSS,但是并没有说明如何用反事实样本训练VQA模型(猜测是基于前面的嵌入的模型,类似于第一张图),后来才明白,CSS就只是用来生成这些反事实样本的!!!,并没有模型。