TL;DR
论文中提出一种新的DAG编码架构 DAG-GNN,其实模型的本质就是一个图变分自编码器,模型的优点是既能处理连续型变量又能处理离散型变量;在人工数据集和真实数据集中验证了模型结果可以达到全局最优 🤔;
Model / Algorithm
论文中的整体模型架构如下:

Linear Structural Equation Model
论文中首先通过生成模型来泛化线性结构等价模型;假设A∈Rm×m 表示DAG的加权邻接矩阵,X∈Rm×d 表示每个节点的特征,那么线性模型的的编码方式为:
X=ATX+Z(1) 其中Z∈Rm×d 表示噪声矩阵;如果图中节点是以拓扑序排列的,那么矩阵A 是一个严格的上三角矩阵,因此DAG中的 ancestral sampling 等价于三角等式的解:
X=(I−AT)−1Z(2) Proposed Graph Neural Network Model
上述等式 (2) 可以写为X=fA(Z),可以表示为数据节点特征Z 并得到embeddingX。传统的GCN 架构计算公式如下:
X=A⋅ReLU(AZW1)⋅W2 由于公式 (2) 的特殊结构,因此提出新的图神经网络架构,注意这是解码器的结构:
X=f2((I−AT)−1f1(Z))(3) 其中f1,f2 表示Z,X 的非线性的转换函数;
Model Learning with Variational Autoencoder
对于给定的分布Z 和样本X1,⋯,Xn,生成模型的目标是最大化对数函数:
n1k=1∑nlogp(Xk)=n1k=1∑nlog∫p(Xk∣Z)p(Z)dZ 由于上式难以解决因此使用变分贝叶斯;
使用变分后验概率q(Z∣X) 来近似实际后验概率q(Z∣X)。网络优化的结果是 ELBO(the evidence lower bound)
LELBO=n1k=1∑nLELBOk 其中
LELBOk≡−DKL(q(Z∣Xk)∥p(Z))+Eq(Z∣Xk)[logp(Xk∣Z)] 基于 (3)式的解码器结构,对应的编码器结构为
Z=f4((I−AT)f3(X))(5) 其中f4,f3 表示f2,f1 的逆函数。
Loss Function
对于编码器,使用MLP表示f3和恒等映射表示f4,变分后验概率q(Z∣X) 是一个因子高斯分布均值MZ∈Rm×d 标准差SZ∈Rm×d,可以通过编码器来进行计算:
[MZ∣logSZ]=(I−AT)MLP(X,W1,W2)(6) 其中MLP(X,W1,W2):=ReLU(XW1)W2。
对于生成模型,使用恒等映射表示f1 MLP来表示f2,得到的似然p(X∣Z) 符合高斯分布均值为MX∈Rm×d 标准差为SX∈Rm×d,解码器的计算公式如下:
[MX∣logSX]=MLP((I−AT)−1Z,W3,W4)(7) 基于公式(6)(7),式(4)中的KL散度项为:
DKL(q(Z∣X)∥p(Z))=21∑i=1m∑j=1d(SZ)ij2+(MZ)ij2−2log(SZ)ij−1 重构准确率项为:
Eq(Z∣X)[logp(X∣Z)]≈L1∑l=1L∑i=1m∑j=1d−2(SX(l))ij2(Xij−(MX(l))ij)2−log(SX(l))ij−c 对于不同类型变量的处理论文中使用了不同的结构,详细参考原文推导过程。
Experiments
人工数据集

联系作者
