Niu Y., Tang K., Zhang H., Lu Z., Hua X. and Wen J. Counterfactual VQA: A Cause-Effect Look at Language Bias. CVPR, 2021.
概
利用因果分析消除VQA(Visual Question Answering (VQA))中的language bias.
主要内容

如上图所示,
Q: question;
V: image;
K: multi-modal knowledge;
A: answer.
影响最后决策A有三种:
- Q→A, 直接受question影响, 比如模型对于所有的问图中的香蕉是什么颜色的问题均回答"黄色", 显然是不考虑图片的影响(因为可能是绿色), 这种实际上就是language bias;
- V→A, 直接受图片影响;
- V,Q→K→A, 这里有一个mediator K, 即部分影响兼顾了Q,V.
理想的VQA模型应该舍弃1中的影响, 在因果分析里头, 这部分direct effect被称之为natural direct effect (pure direct effect实际上):
NDE=Aq,v∗,k∗−Aq∗,v∗,k∗.
余下的是TIE (total indirect effect):
TIE=TE−NDE=Aq,v,k−Aq,v∗,k∗.
作者的思路是在inference的时候找到一个a, 最大化TIE.
需要说明的是:
Pr[A|do(Q,V,K)]=Pr[A|Q,V]Pr[A|do(Q,V∗,K∗)]=Pr[A|Q,V∗,K∗]
这条件成立的原因单纯是因为作者的假设中并没有confounder, 实际上个人认为应当加一个V→A的 arrow, 虽然这个并不影响上面的结论.
然后作者计算TIE也并不是针对A, 而是A的score, Z=Z(Q=q,V=v,K=k).
实现

不同以往, 这一次可以显示地设置v∗,k∗了:
Zq=FQ(q),Zv=FV(v),Zk=FVQ(v,q),Zq,v,k=h(Zq,Zv,Zk).
特别的, 在q∗,v∗,k∗的情况下, 作者采取了如下的策略:
Zq={zq=FQ(q),ifQ=qzq∗=c,ifQ=∅.
Zv={zv=FV(v),ifV=vzv∗=c,ifV=∅.
Zq={zk=FVQ(v,q),ifV=v,Q=qzk∗=c,ifV=∅orQ=∅.
这里c为可学习的变量.
注: 作者在代码中给出, c为一scalar, 也就是说实际上是:
z∗=c⋅1z.
作者也在文中指出, 这是为了一个Uniform的假设.
注: 看起来, 似乎应该对不同的Z∗指定不同的c, 但是实际上, 是不影响的. 这一点是因为在下面HM和SUM的处理方式中, 无论是c1⋅c2⋅c3
还是c1+c2+c3都等价于c (这里要感谢作者的答复).
有了上面的准备, 下面是h的构造, 因为我们需要把不同的特征融合起来, 作者给出了两种方案:
- Harmonic (HM):
h(Zq,Zv,Zk)=logZHM1+ZHM,ZHM=σ(Zq)⋅σ(Zv)⋅σ(Zk).
- SUM:
h(Zq,Zv,Zk)=logσ(ZSUM),ZSUM=Zq+Zv+Zk.
在训练的时候, 用的是如下的损失:
Lcls=LVQA(v,q,a)+LQA(q,a)+LVA(v,a).
以及, 为了训练c(且仅用于训练c),
Lkl=1|A|∑a∈A−p(a|q,v,k)logp(a|q,v∗,k∗),
其中p(a|q,v,k)=softmax(Zq,v,k).
虽然感觉可以直接通过最大化TIE来训练c比较合理, 但是正如作者在附录中给出的解释一下, 这种情况明显会导致c→0并导致Zq,v∗,k∗→−∞.
代码
原文代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2020-04-09 DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT