https://zhuanlan.zhihu.com/p/343748296 参考该博客阅读
Abstract
现有的场景图生成任务离实际运用还有一定的距离,这主要由于严重的训练偏执。比如过于丰富的多样性:human walk on/ sit on beach和human on beach。给出了这种SGG,下游任务类似VQA没有办法很好的理解场景图。但是,传统的debias方法没有办法很好的区分好的和不好的bias。例如好的背景知识(person read book 而不是 eat)。和不好的长尾偏置分布(eg:near 会主导 behind/in front of)。我们首先为SGG建立一个因果图,并对图进行传统的bias训练。然后,我们提出从训练好的图中得到反事实因果图来推理不良关系的影响。同时该模型可以被用于很多的SGG model,并且给以前的模型带来了大量的提升。
Introduction
注: 在大多数SGG模型中
- content:object和subje的visual features
- context:object-subject union regions的visual features以及object、subject的类别标签
上图中可以看到,在生成的场景图中大部分的关系都简单的方位关系,并没有太多实际的语义信息。这主要由于训练数据是有偏的(bias)这一点可以从上图的(b)中看出。因此在实际预测场景图关系的时候需要让那种更具有语义信息的关系替换掉那种琐碎但不具有太多语义信息的关系。其中场景图生成的重点是教导机器如何区分背景中的主要影响和次要影响。
为了更好地说明可能性和反事实因果关系之间深刻而微妙的区别,本文提出了一个a dog standing on surfboard的例子。
在有偏训练下,模型会最终预测成on。从结果来看,虽然其它接近的结果并不全对,但经过有偏训练之后,也过滤掉了非常多的错误结果。 为了更仔细地看看它在偏差背景中是什么关系,我们将原始场景与反事实场景进行比较(图b)。可以看出只有dog和surfboard的区域被擦除了,其它都还留着,也就是说推理时不考虑两个物体的视觉特征。
为了在无偏预测中追求主要作用,论文提出赋予机器反事实思维(counterfactual thinking):
If i had not seen the content, would I still make the same prediction?
如果我没有看到content,我还会做出相同的预测吗?
反事实存在于“我看到了”的事实和“我没有看到”的想象之间,所谓反事实思维:事实与反事实之间的比较,将会自然地消除context偏差的影响,因为context是两者之间唯一不变的东西。
***注:*反事实思维源自于贝叶斯之父Judea Pearl的一本名为《The Book of Why》的书,论文作者Kaihua Tang也是从此书中获取的灵感。
因此本文提出了一个全新的无偏SGG方法基于TDE(Total Direct Effect)。上图展示了两个不同场景的底层因果图:事实的和反事实的。其中节点是特征,箭头表示数据流向。虚线箭头表示链接消失。经过上述方法之后发现性能上的分布不再是长尾的了。如下图b所示。
Biased Training Models in Causal Graph
上图总结了在因果图上进行训练的总体框架。在进行故意操纵节点值和修剪因果图的反事实分析之前,我们首先在图解视图中重新审视传统的有偏见的SGG模型训练。每一个参数的具体含义如下:
Unbiased Prediction by Causal Effects
传统的有偏见的预测只能看到给定图像 I = u I=u I=u 的整个图的输出,而不知道特定的一对物体如何影响它们的谓词。然而因果推理的思想鼓励我们跳出黑箱去思考。从图的角度来看,我们不再需要将整个图作为一个整体来运行,我们可以操作几个节点的值然后看看会发生什么。比如说我们可以切断 I → X I\to X I→X的连接然后给 X X X拟定一个虚拟值。上述方法被称为因果推理中的干预。然后我们会利用干预诱发的反事实来进行无偏的预测。
Notations
**Intervention:**介入可以被表示成 d o ( ⋅ ) do(\cdot) do(⋅)。它抹去了一个变量的所有输入链接,并要求该变量取一个特定的值。
如(a)中在学习到好的contextual prior之后,进行因果推理过程中的干预。
如图(b),为了模拟直观图中的表示,将I->X的边切断,给X随便赋值,忽略掉object特 征对推理结果的干扰,尽量避免视觉内容对推理结果的干扰。
图©就是反事实推理,不改变Z,只是改变X的结果,得到推理结果。所谓反事实就是图中某个节点被干扰后,它的后代的节点不受该节点的影响继续保持原始值。
因此上面的狗骑滑板的图片就可以理解成X所表示的bbox region中的视觉区域的特征被破坏,但是Y中的标签内容并没有改变,之后进行场景图生成。
©中的结果不针对object内容,只是由上下文带来的bias,也是我们想去除的。
在因果推理中,最后的预测结果也就是total direct effect(TDE),计算方法如下所示
最后的预测结果也是两个预测logits的相减,依靠真实结果和它的反事实结果的相减可以消除bias带来的影响。
TDE模型的不可见
我们可以发现所谓的TDE方法没有引入任何额外的参数,也可以说没有针对模型的有偏训练进行任何改动,其使用原始SGG模型进行了两次预测,将两次预测的结果进行差值运算,最终得到无偏见的预测。所以TDE方法是模型“不可见”的,广泛适用于各种SGG模型。
最后的预测的结果就用TDE之后的y来计算top k