avatar

Chen Kunpeng

Tongji University. Focusing on Trustworthy AI & Federated Learning.

【Causal QA】从VQA去偏看反事实推理

视觉问答(VQA)中的核心难点,不是模型能否记住训练集分布,而是模型能否在偏差存在时仍完成可靠推理。传统训练目标主要学习 P(yx)P(y|x),容易把问题文本中的高频先验直接映射为答案,从而形成伪相关。要系统地处理这种问题,需要把“相关性学习”提升为“因果推断”。

一、从相关到因果:为什么必须引入反事实

在因果视角下,我们关心的不只是“观察到什么”,更关心“如果改变输入机制,输出会怎样变化”。Pearl 的因果之梯给出了三个层次:

  1. 关联(Association):P(yx)P(y|x)
  2. 干预(Intervention):P(ydo(x))P(y|do(x))
  3. 反事实(Counterfactual):在给定已发生事实条件下,评估“若当时采取另一种行动,结果会怎样”

VQA 去偏真正需要的是第 3 层。因为语言偏差不是简单的均值偏移,而是在具体样本条件下与潜在变量共同作用的结果。

二、结构因果模型(SCM)作为反事实计算底座

结构因果模型写作:

M=U,V,F,M = \langle U, V, F \rangle,

其中:

  1. UU 是外生变量(噪声、隐含机制)。
  2. VV 是内生变量(可建模变量)。
  3. F={fi}F=\{f_i\} 是结构方程,满足 vi=fi(pai,ui)v_i=f_i(pa_i, u_i)

当对变量 XX 执行干预 do(x)do(x) 时,相当于把对应方程替换为常量赋值,得到子模型:

Mx=U,V,Fx.M_x = \langle U, V, F_x \rangle.

反事实查询的关键点是:在同一个外生状态 uu 下比较不同干预世界的结果,而不是在两个独立样本上做对比。

三、确定性反事实与不确定性反事实

1. 确定性反事实

给定一个简单 SCM:

z=Uz,y=x(z+Uy)+(1x)Uy.\begin{aligned} z &= U_z, \\ y &= x(z + U_y) + (1-x)U_y. \end{aligned}

若观测到事实 x=1,y=2x=1, y=2,并已知该系统机制可唯一推出 z=1z=1,则可反推出对应外生状态(例如 Uz=1,Uy=1U_z=1, U_y=1)。

在同一 uu 下切换为反事实干预 x0x\leftarrow0

yx=0(u)=Uy=1.y_{x=0}(u)=U_y=1.

这类情形中,事实足以唯一确定 uu,因此反事实结果是确定值。

2. 不确定性反事实

若事实不足以唯一识别外生状态,则反事实结果应为分布而非单值。

T{0,1}T\in\{0,1\} 表示处理,YY 由潜在类型 UU 决定:

Y={1,U=always-happy,T,U=cat-needer.Y = \begin{cases} 1, & U=\text{always-happy}, \\ T, & U=\text{cat-needer}. \end{cases}

观测到 T=1,Y=1T=1, Y=1 时,无法唯一判定 UU。若
P(U=cat-needer)=0.6P(U=\text{cat-needer})=0.6
P(U=always-happy)=0.4P(U=\text{always-happy})=0.4
则反事实“不给处理”下的结果概率为:

P(Yt=0=1T=1,Y=1)=0.4.P\big(Y_{t=0}=1\mid T=1,Y=1\big)=0.4.

这体现了反事实推理的本质:先由事实更新对 UU 的后验,再在子模型中计算目标事件概率。

四、反事实计算的一般公式

对任意事件,若 Y(u)Y(u) 表示在外生状态 uu 下的结果,则:

p(Y=y)={uY(u)=y}P(u).p(Y=y)=\sum_{\{u\mid Y(u)=y\}}P(u).

干预后分布:

p(Yx=y)={uYx(u)=y}P(u).p(Y_x=y)=\sum_{\{u\mid Y_x(u)=y\}}P(u).

即使“事实变量”和“反事实变量”形式上冲突,联合量依然可定义:

p(Yx=y,X=x)={uYx(u)=y & X(u)=x}P(u).p(Y_x=y, X=x')= \sum_{\{u\mid Y_x(u)=y\ \&\ X(u)=x'\}}P(u).

多干预世界的联合也可计算:

p(Yx=y,Yx=y)={uYx(u)=y & Yx(u)=y}P(u).p(Y_x=y, Y_{x'}=y')= \sum_{\{u\mid Y_x(u)=y\ \&\ Y_{x'}(u)=y'\}}P(u).

这组公式统一了“观测事实约束 + 干预世界预测”的计算逻辑。

五、映射到 VQA 去偏:TE/NDE/TIE 的因果解释

qq 为问题,vv 为视觉特征,kk 为外部知识,ZZ 为答案 logits。记 v,kv^*,k^* 为无信息输入(如零向量或空 token)。

总效应(TE):

TE=Zq,v,kZq,v,k.TE = Z_{q,v,k} - Z_{q^*,v^*,k^*}.

自然直接效应(NDE,主要刻画语言偏差):

NDE=Zq,v,kZq,v,k.NDE = Z_{q,v^*,k^*} - Z_{q^*,v^*,k^*}.

总间接效应(TIE,去偏后保留的多模态贡献):

TIE=TENDE=Zq,v,kZq,v,k.TIE = TE - NDE = Z_{q,v,k} - Z_{q,v^*,k^*}.

推理阶段常用打分形式:

Zfinal=Zq,v,kαZq,v,k,α0.Z_{\text{final}} = Z_{q,v,k} - \alpha\, Z_{q,v^*,k^*},\quad \alpha\ge 0.

其中 α\alpha 控制去偏强度:

  1. α\alpha 过小,偏差残留明显;
  2. α\alpha 过大,可能误删有效语言信息;
  3. 通常需在验证集按 OOD 指标调参。

六、工程实现的最小闭环

  1. 正常前向:输入 (q,v,k)(q,v,k),得到 Zq,v,kZ_{q,v,k}
  2. 反事实前向:将视觉/知识分支替换为无信息输入,得到 Zq,v,kZ_{q,v^*,k^*}
  3. 去偏融合:按 Zfinal=Zq,v,kαZq,v,kZ_{\text{final}} = Z_{q,v,k} - \alpha Z_{q,v^*,k^*} 输出。

该方案无需训练两套独立模型,只需在同一网络中增加一条可控的反事实前向路径即可。

总结

反事实不是“额外技巧”,而是把“样本级偏差剥离”写成可计算对象的统一语言。通过 SCM 的语义基础与 TE/NDE/TIE 的可实现分解,VQA 去偏可以从经验性正则化转向机制化建模。对多模态模型而言,这一步的价值在于:让模型不只会拟合分布,还能在分布变化时保持可解释、可迁移的推理行为。