概
有向无环图 + GNN + VAE.
主要内容
先前已经有工作(NOTEARS)讨论了如何处理线性SEM模型
X
=
A
T
X
+
Z
,
X = A^TX + Z,
X=ATX+Z,
A
∈
R
m
×
m
A \in \mathbb{R}^{m \times m}
A∈Rm×m为加权的邻接矩阵,
m
m
m代表了有向无环图中变量的数目,
Z
Z
Z是独立的noise. 需要特别说明的是, 在本文中, 作者假设每一个结点变量
X
i
X_i
Xi并非传统的标量而是一个向量 (个人觉得这是很有意思的点, 有点胶囊的感觉), 故
X
∈
R
m
×
d
X \in \mathbb{R}^{m \times d}
X∈Rm×d, 这里
X
i
X_i
Xi为
X
X
X的第
i
i
i行.
本文在此基础上更进一步, 考虑非线性的情况:
g
(
X
)
=
A
T
g
(
X
)
+
f
1
(
Z
)
,
g(X) = A^Tg(X) + f_1(Z),
g(X)=ATg(X)+f1(Z),
如果
g
g
g可逆, 则可以进一步表示为
X
=
f
2
(
(
I
−
A
T
)
−
1
f
1
(
Z
)
)
.
X = f_2((I - A^T)^{-1}f_1(Z)).
X=f2((I−AT)−1f1(Z)).
为了满足这一模型, 作者套用VAE, 进而最大化ELBO:
L
E
L
B
O
=
E
q
ϕ
(
Z
∣
X
)
[
log
p
θ
(
X
∣
Z
)
]
−
D
K
L
(
q
ϕ
(
Z
∣
X
)
∥
p
(
Z
)
)
,
\mathcal{L}_{\mathrm{ELBO}} = \mathbb{E}_{q_{\phi}(Z|X)}[\log p_{\theta}(X|Z)] - \mathbb{D}_{\mathrm{KL}}(q_{\phi}(Z|X)\| p(Z)),
LELBO=Eqϕ(Z∣X)[logpθ(X∣Z)]−DKL(qϕ(Z∣X)∥p(Z)),
整个VAE的流程是这样的:
-
encoder:
M Z , log S Z = f 4 ( ( I − A T ) f 3 ( X ) ) , Z ∼ N ( M Z , S Z 2 ) . M_Z, \log S_Z = f_4((I - A^T)f_3(X)), \\ Z \sim \mathcal{N}(M_Z, S_Z^2). MZ,logSZ=f4((I−AT)f3(X)),Z∼N(MZ,SZ2). -
decoder
M X , S X = f 2 ( ( I − A T ) − 1 f 1 ( Z ) ) , X ^ ∼ N ( M X , S X 2 ) . M_X, S_X = f_2((I - A^T)^{-1}f_1(Z)), \\ \widehat{X} \sim \mathcal{N}(M_X, S_X^2). MX,SX=f2((I−AT)−1f1(Z)),X ∼N(MX,SX2).
注: 因为每个结点变量都不是标量, 所以考虑上面的流程还是把 X , Z X, Z X,Z拉成向量 m d md md再看会比较清楚.
此时
D
K
L
(
q
ϕ
(
Z
∣
X
)
∥
p
(
Z
)
)
=
1
2
∑
i
=
1
m
∑
j
=
1
d
{
[
S
Z
]
i
j
2
+
[
M
Z
]
i
j
2
−
2
log
[
S
Z
]
i
j
−
1
}
.
\mathbb{D}_{\mathrm{KL}}(q_{\phi}(Z|X)\|p(Z)) = \frac{1}{2} \sum_{i=1}^m \sum_{j=1}^d \{[S_Z]_{ij}^2 + [M_Z]_{ij}^2 - 2\log [S_Z]_{ij} - 1 \}.
DKL(qϕ(Z∣X)∥p(Z))=21i=1∑mj=1∑d{[SZ]ij2+[MZ]ij2−2log[SZ]ij−1}.
仅最大化ELBO是不够的, 因为这并不能保证
A
A
A反应有向无环图, 所以我们需要增加条件
h
(
A
)
=
t
r
[
(
I
+
α
A
∘
A
)
m
]
=
m
,
h(A) = \mathrm{tr}[(I+\alpha A \circ A)^m] = m,
h(A)=tr[(I+αA∘A)m]=m,
具体推导看NOTEARS, 这里
α
=
c
m
\alpha=\frac{c}{m}
α=mc,
c
>
0
c>0
c>0是一个超参数, 这个原因是
(
1
+
α
∣
λ
∣
)
m
≤
e
c
∣
λ
∣
,
(1 + \alpha |\lambda|)^m \le e^{c|\lambda|},
(1+α∣λ∣)m≤ec∣λ∣,
所以合适的
c
c
c能够让条件更加稳定.
最后目标可以总结为:
min
ϕ
,
θ
,
A
−
L
E
L
B
O
s
.
t
.
h
(
A
)
=
0.
\min_{\phi, \theta, A} \quad -\mathcal{L}_{\mathrm{ELBO}} \\ \mathrm{s.t.} \quad h(A) = 0.
ϕ,θ,Amin−LELBOs.t.h(A)=0.
同样的, 作者采用了augmented Lagrangian来求解
(
A
k
,
ϕ
k
,
θ
k
)
=
arg
min
A
,
ϕ
,
θ
−
L
E
L
B
O
+
λ
h
(
A
)
+
c
2
∣
h
(
A
)
∣
2
,
λ
k
+
1
=
λ
k
+
c
k
h
(
A
k
)
,
c
k
+
1
=
{
η
c
k
,
i
f
∣
h
(
A
k
)
∣
>
γ
∣
h
(
A
k
−
1
)
∣
,
c
k
,
o
t
h
e
r
w
i
s
e
.
(A^k, \phi^k, \theta^k) = \arg \min_{A,\phi, \theta} \: -\mathcal{L}_{\mathrm{ELBO}} + \lambda h(A) + \frac{c}{2}|h(A)|^2, \\ \lambda^{k+1} = \lambda^k + c^k h(A^k), \\ c^{k+1} = \left \{ \begin{array}{ll} \eta c^k, & \mathrm{if} \: |h(A^k)| > \gamma |h(A^{k-1})|, \\ c^k, & otherwise. \end{array} \right.
(Ak,ϕk,θk)=argA,ϕ,θmin−LELBO+λh(A)+2c∣h(A)∣2,λk+1=λk+ckh(Ak),ck+1={ηck,ck,if∣h(Ak)∣>γ∣h(Ak−1)∣,otherwise.
这里
η
>
1
,
γ
<
1
\eta > 1, \gamma < 1
η>1,γ<1, 作者选择
η
=
10
,
γ
=
1
/
4
\eta=10, \gamma=1/4
η=10,γ=1/4.
注: c c c逐渐增大的原因是, 显然当 c = + ∞ c = +\infty c=+∞的时候, h ( A ) h(A) h(A)必须为0.
注: 作者关于图神经网络的部分似乎就集中在 X X X的模型上, 关于图神经网络不是很懂, 就不写了.