Causal Attention for Vision-Language Tasks Paper: Causal Attention for Vision-Language Tasks
传统的视觉语言任务中,如果数据集是长尾分布的,attention机制更加关注head的信息,如果问及long-tail的问题会得到错误的答案。
符号 | 含义 |
---|---|
C | 共识 |
X | 输入特征 |
Z | attention从X中学到的信息 |
M | 目标识别从X中提取的实体集 |
Y | 输出标签 |
因果图:
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(Y∣do(X))=z∈Z∑P(Z=z∣X)x∈X∑P(X=x)P(Y∣Z=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(Y∣X)=z∈Z∑P(Z=z∣X)P(Y∣Z=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(Y∣do(Z))=x∈X∑P(X=x)P(Y∣Z,X=x)
其中
∑
z
P
(
Z
=
z
∣
X
)
\sum_{z}P(Z=z|X)
∑zP(Z=z∣X)可以用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(Y∣Z,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))=x∏y(x)P(x)=x∏eg(x)P(x)=x∏eg(x)P(x)=ex∑g(x)P(x)=ex∑Ex(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))=e∑xEx(g(x))
带入
P
(
Y
∣
d
o
(
X
)
)
P(Y|do(X))
P(Y∣do(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(Y∣do(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)]≈WGM(P(Y∣Z,X=x))≈eg(E[Z∣X][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(Y∣Z,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(Y∣Z,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^=z∈Z∑P(Z=z∣h(X))z≈VISoftmax(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^=x∈X∑P(X=x∣f(X))x≈VCSoftmax(QCTKC)
CATT可以放在BERT架构或者其他Transformer模型的深度神经网络之前,很容易使用。