视觉问答(VQA)中的核心难点,不是模型能否记住训练集分布,而是模型能否在偏差存在时仍完成可靠推理。传统训练目标主要学习 P(y∣x),容易把问题文本中的高频先验直接映射为答案,从而形成伪相关。要系统地处理这种问题,需要把“相关性学习”提升为“因果推断”。
一、从相关到因果:为什么必须引入反事实
在因果视角下,我们关心的不只是“观察到什么”,更关心“如果改变输入机制,输出会怎样变化”。Pearl 的因果之梯给出了三个层次:
- 关联(Association):P(y∣x)
- 干预(Intervention):P(y∣do(x))
- 反事实(Counterfactual):在给定已发生事实条件下,评估“若当时采取另一种行动,结果会怎样”
VQA 去偏真正需要的是第 3 层。因为语言偏差不是简单的均值偏移,而是在具体样本条件下与潜在变量共同作用的结果。
二、结构因果模型(SCM)作为反事实计算底座
结构因果模型写作:
M=⟨U,V,F⟩,
其中:
- U 是外生变量(噪声、隐含机制)。
- V 是内生变量(可建模变量)。
- F={fi} 是结构方程,满足 vi=fi(pai,ui)。
当对变量 X 执行干预 do(x) 时,相当于把对应方程替换为常量赋值,得到子模型:
Mx=⟨U,V,Fx⟩.
反事实查询的关键点是:在同一个外生状态 u 下比较不同干预世界的结果,而不是在两个独立样本上做对比。
三、确定性反事实与不确定性反事实
1. 确定性反事实
给定一个简单 SCM:
zy=Uz,=x(z+Uy)+(1−x)Uy.
若观测到事实 x=1,y=2,并已知该系统机制可唯一推出 z=1,则可反推出对应外生状态(例如 Uz=1,Uy=1)。
在同一 u 下切换为反事实干预 x←0:
yx=0(u)=Uy=1.
这类情形中,事实足以唯一确定 u,因此反事实结果是确定值。
2. 不确定性反事实
若事实不足以唯一识别外生状态,则反事实结果应为分布而非单值。
令 T∈{0,1} 表示处理,Y 由潜在类型 U 决定:
Y={1,T,U=always-happy,U=cat-needer.
观测到 T=1,Y=1 时,无法唯一判定 U。若
P(U=cat-needer)=0.6,
P(U=always-happy)=0.4,
则反事实“不给处理”下的结果概率为:
P(Yt=0=1∣T=1,Y=1)=0.4.
这体现了反事实推理的本质:先由事实更新对 U 的后验,再在子模型中计算目标事件概率。
四、反事实计算的一般公式
对任意事件,若 Y(u) 表示在外生状态 u 下的结果,则:
p(Y=y)={u∣Y(u)=y}∑P(u).
干预后分布:
p(Yx=y)={u∣Yx(u)=y}∑P(u).
即使“事实变量”和“反事实变量”形式上冲突,联合量依然可定义:
p(Yx=y,X=x′)={u∣Yx(u)=y & X(u)=x′}∑P(u).
多干预世界的联合也可计算:
p(Yx=y,Yx′=y′)={u∣Yx(u)=y & Yx′(u)=y′}∑P(u).
这组公式统一了“观测事实约束 + 干预世界预测”的计算逻辑。
五、映射到 VQA 去偏:TE/NDE/TIE 的因果解释
设 q 为问题,v 为视觉特征,k 为外部知识,Z 为答案 logits。记 v∗,k∗ 为无信息输入(如零向量或空 token)。
总效应(TE):
TE=Zq,v,k−Zq∗,v∗,k∗.
自然直接效应(NDE,主要刻画语言偏差):
NDE=Zq,v∗,k∗−Zq∗,v∗,k∗.
总间接效应(TIE,去偏后保留的多模态贡献):
TIE=TE−NDE=Zq,v,k−Zq,v∗,k∗.
推理阶段常用打分形式:
Zfinal=Zq,v,k−αZq,v∗,k∗,α≥0.
其中 α 控制去偏强度:
- α 过小,偏差残留明显;
- α 过大,可能误删有效语言信息;
- 通常需在验证集按 OOD 指标调参。
六、工程实现的最小闭环
- 正常前向:输入 (q,v,k),得到 Zq,v,k。
- 反事实前向:将视觉/知识分支替换为无信息输入,得到 Zq,v∗,k∗。
- 去偏融合:按 Zfinal=Zq,v,k−αZq,v∗,k∗ 输出。
该方案无需训练两套独立模型,只需在同一网络中增加一条可控的反事实前向路径即可。
总结
反事实不是“额外技巧”,而是把“样本级偏差剥离”写成可计算对象的统一语言。通过 SCM 的语义基础与 TE/NDE/TIE 的可实现分解,VQA 去偏可以从经验性正则化转向机制化建模。对多模态模型而言,这一步的价值在于:让模型不只会拟合分布,还能在分布变化时保持可解释、可迁移的推理行为。