Causal Attention for Vision-Language Tasks Paper: Causal Attention for Vision-Language Tasks个人理解

Causal Attention for Vision-Language Tasks Paper: Causal Attention for Vision-Language Tasks

传统的视觉语言任务中,如果数据集是长尾分布的,attention机制更加关注head的信息,如果问及long-tail的问题会得到错误的答案。

符号含义
C共识
X输入特征
Zattention从X中学到的信息
M目标识别从X中提取的实体集
Y输出标签

因果图:

C
X
M
Y
Z

C->M与C->X:X的特征提取需要依据共识,M是在共识的前提下从X中提取的
X->M与X->Z:M是在共识的前提下从X中提取的,Z是attention从X中学到的信息
M->Y与Z->Y:视觉语言任务中,Y是根据Z进行分类然后从M中的实体选择的

核心:运用前门调整公式
P ( Y ∣ d o ( X ) ) = ∑ z ∈ Z P ( Z = z ∣ X ) ∑ x ∈ X P ( X = x ) P ( Y ∣ Z = z , X = x ) P(Y|do(X))=\displaystyle \sum_{z \in Z}P(Z=z|X)\sum_{x \in X}P(X=x)P(Y|Z=z,X=x) P(Ydo(X))=zZP(Z=zX)xXP(X=x)P(YZ=z,X=x)
即同时运用全概率公式:
P ( Y ∣ X ) = ∑ z ∈ Z P ( Z = z ∣ X ) P ( Y ∣ Z = z ) P(Y|X)=\displaystyle \sum_{z \in Z}P(Z=z|X)P(Y|Z=z) P(YX)=zZP(Z=zX)P(YZ=z)
与后门调整公式:
P ( Y ∣ d o ( Z ) ) = ∑ x ∈ X P ( X = x ) P ( Y ∣ Z , X = x ) P(Y|do(Z))=\displaystyle \sum_{x \in X}P(X=x)P(Y|Z,X=x) P(Ydo(Z))=xXP(X=x)P(YZ,X=x)
其中 ∑ z P ( Z = z ∣ X ) \sum_{z}P(Z=z|X) zP(Z=zX)可以用In-Sample Sampling来去模拟,即从当前样本中学习信息; ∑ x P ( X = x ) \sum_{x}P(X=x) xP(X=x)可以用Cross-Sample Sampling来去模拟,这里的x不同于In-Sample Sampling中的x,因此是跨样本的信息采集。
采集到Z和X的信息之后,可以利用神经网络g来计算
P ( Y ∣ Z , X = x ) = S o f t m a x ( g ( X , Z ) ) P(Y|Z,X=x)=Softmax(g(X,Z)) P(YZ,X=x)=Softmax(g(X,Z))
然后运用NWGM再把前面的两个采样方法加进来,把采样的过程转化为调整embedding的过程
因为 E x [ y ( x ) ] = ∑ x y ( x ) P ( x ) \mathbb{E}_x[y(x)]=\sum_x y(x)P(x) Ex[y(x)]=xy(x)P(x),而 W G M ( y ( x ) ) = ∏ x y ( x ) P ( x ) WGM(y(x))=\prod_x y(x)^{P(x)} WGM(y(x))=xy(x)P(x),前面是算数平均,后面是几何平均,如果X数量比较大那么二者是相当接近的,因此可以有
E x [ y ( x ) ] ≈ W G M ( y ( x ) ) \mathbb{E}_x[y(x)] \approx WGM(y(x)) Ex[y(x)]WGM(y(x))
y ( x ) = e g ( x ) y(x)=e^{g(x)} y(x)=eg(x)的前提下有:
W G M ( y ( x ) ) = ∏ x y ( x ) P ( x ) = ∏ x e g ( x ) P ( x ) = ∏ x e g ( x ) P ( x ) = e ∑ x g ( x ) P ( x ) = e ∑ x E x ( g ( x ) ) \begin{aligned} WGM(y(x))&=\prod_x y(x)^{P(x)}\\ &=\prod_x {e^{g(x)}}^{P(x)}\\ &=\prod_x e^{g(x)P(x)}\\ &=e^{\displaystyle \sum_x g(x)P(x)}\\ &=e^{\displaystyle \sum_x \mathbb{E}_x(g(x))} \end{aligned} WGM(y(x))=xy(x)P(x)=xeg(x)P(x)=xeg(x)P(x)=exg(x)P(x)=exEx(g(x))
因此,有 E x [ y ( x ) ] ≈ W G M ( y ( x ) ) = e ∑ x E x ( g ( x ) ) \mathbb{E}_x[y(x)] \approx WGM(y(x))=e^{\sum_x \mathbb{E}_x(g(x))} Ex[y(x)]WGM(y(x))=exEx(g(x))
带入 P ( Y ∣ d o ( X ) ) P(Y|do(X)) P(Ydo(X))
P ( Y ∣ d o ( X ) ) = ∑ z ∈ Z P ( Z = z ∣ X ) ∑ x ∈ X P ( X = x ) P ( Y ∣ Z = z , X = x ) = E [ Z ∣ X ] E [ X ] [ P ( Y ∣ Z , X ) ] ≈ W G M ( P ( Y ∣ Z , X = x ) ) ≈ e g ( E [ Z ∣ X ] [ Z ] , E [ X ] [ X ] ) ≈ S o f t m a x [ g ( X ^ , Z ^ ) ] \begin{aligned} P(Y|do(X))&=\displaystyle \sum_{z \in Z}P(Z=z|X)\sum_{x \in X}P(X=x)P(Y|Z=z,X=x)\\ &=\mathbb{E}_{[Z|X]}\mathbb{E}_{[X]}[P(Y|Z,X)]\\ &\approx WGM(P(Y|Z,X=x))\\ &\approx e^{g(\mathbb{E}_{[Z|X]}[Z],\mathbb{E}_{[X]}[X])}\\ &\approx Softmax[g(\hat{X},\hat{Z})] \end{aligned} P(Ydo(X))=zZP(Z=zX)xXP(X=x)P(YZ=z,X=x)=E[ZX]E[X][P(YZ,X)]WGM(P(YZ,X=x))eg(E[ZX][Z],E[X][X])Softmax[g(X^,Z^)]
在前面根据神经网络有 P ( Y ∣ Z , X = x ) = S o f t m a x ( g ( X , Z ) ) ≈ e g ( X , Z ) P(Y|Z,X=x)=Softmax(g(X,Z)) \approx e^{g(X,Z)} P(YZ,X=x)=Softmax(g(X,Z))eg(X,Z),这不满足 P ( Y ∣ Z , X = x ) = e g ( X , Z ) P(Y|Z,X=x)=e^{g(X,Z)} P(YZ,X=x)=eg(X,Z)的前提,因此WGM后还需要近似。
最后softmax的目的是为了让所有概率加起来总和为1

其中:
Z ^ = ∑ z ∈ Z P ( Z = z ∣ h ( X ) ) z ≈ V I S o f t m a x ( Q I T K I ) \begin{aligned} \hat{Z}&=\displaystyle \sum_{z \in Z}P(Z=z|h(X))z\\ &\approx V_I Softmax({Q_I}^T K_I) \end{aligned} Z^=zZP(Z=zh(X))zVISoftmax(QITKI)
X ^ = ∑ x ∈ X P ( X = x ∣ f ( X ) ) x ≈ V C S o f t m a x ( Q C T K C ) \begin{aligned} \hat{X}&=\displaystyle \sum_{x \in X}P(X=x|f(X))x\\ &\approx V_C Softmax({Q_C}^T K_C) \end{aligned} X^=xXP(X=xf(X))xVCSoftmax(QCTKC)
CATT可以放在BERT架构或者其他Transformer模型的深度神经网络之前,很容易使用。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值