【论文导读】DAG( 三 )


由于NP的困难性,传统的DAG学习方法通常处理离散变量(如上所述)或联合高斯变量(Mohan等人,2012; 等人,2015) 。最近,有人提出了一种新的连续优化方法(Zheng等人,2018),它将离散的搜索程序转化为平等的约束条件 。这种方法使用一套连续优化技术,如梯度下降技术 。该方法实现了良好的结构恢复结果,尽管它为了便于论述,只应用于线性SEM 。
神经网络方法仅在很短的时间内开始出现 。最近 。等人(2018)提出了一种GAN式(生成对抗网络)的方法,即对每个变量应用一个单独的生成模型应用于每个变量,并使用判别器来区分真实和生成样本的联合分布 。这种方法似乎可以很好地扩展 很好,但非周期性没有被强制执行 。
神经网络的DAG结构学习
我们的方法通过使用一个深度生成模型来学习DAG的加权邻接矩阵,该模型概括了线性SEM,我们以此为起点 。
(接下来大量公式且英文较容易,直接上图+解释)
3.1线性SEM模型
首先给了典型线性SEM的模型……很基础不讲
3.2提出的GNN模型
首先,(2)可以表示为
,这个式子是深度学习界公认的一般形式,是对参数化图神经网络的抽象,将节点特征Z作为输入,并返回X作为高层表征 。几乎所有的图神经网络(Bruna等人,2014;等人,2016;Li等人,2016;Kipf & ,2017;等人,2017;等人,2017;Chen等人,2018; ? c等人 ′ ,2018)都可以写成这种形式 。例如,流行的GCN(Kipf & , 2017)架构读取
其中Ab是A的归一化,W1和W2是参数矩阵 。
由于特殊的结构(2),我们提出了一个新的GNN架构
参数化函数f1和f2分别对Z和X进行有效的(可能是非线性的)变换 。如果f2是可逆的,那么(3)等同于
这是线性SEM(1)的一个广义版本 。我们将把这些函数的实例化推迟到后面的小节中讨论 。其中一个原因是,f2中的激活必须与变量X的类型相匹配,这个问题将与离散变量一起讨论 。
3.3利用VAE进行模型学习
首先(由变分推理的目标可知),我们想找到的p(x)是找不到的,因此我们要用变分贝叶斯,即
给一个(4)的推断,很简单 。
ELBO适合于变异自动编码器(VAE)( & , 2014),给定一个样本X^k,编码器(推理模型)将其编码为密度为q(Z|X^k)的潜变量Z;而解码器(生成模型)试图从Z中重建密度为p(X^k |Z)的X^k 。这两种密度都可以通过使用神经网络进行参数化 。
除去后面要完成的概率规范( the),上一小节中讨论的生成模型(3)扮演了解码器的角色 。然后,我们提出相应的编码器:
这段主要是提及ELBO的相关方法,并且根据我们问题的目标公式(3)得到-模型
基础的ELBO的相关知识点,参考上方提到的变分推断中的ELBO(证据下界)的博客-CSDN博客_elbo
和论文, D. P. and , M. Auto-Bayes. In ICLR, 2014.
一点简单的推导笔记如下:(关键还是看blog这个不太清楚)
3.4架构和损失函数
要用VAE,我们要找到(4)中的分布函数,因为X^k和Z都是m*d的矩阵 。为了简便性我们把先验证明建模为一个标准的正态矩阵:
↑解释 ,其实就是独立的
多层感知器(MLP)_西柚的博客-CSDN博客_多层感知器
↑解释多层感知机……好了我知道我是菜鸡这个还得专门去看看
(关键是把两个函数f_1,f_4设置为了恒等映射,只利用多层感知器学习另外两个)
人们可以在每个编码器/解码器内切换MLP和恒等映射,但我们发现性能上的竞争力较弱 。一个可能的原因是,目前的设计(7)把重点放在线性SEM的样本(I-A^T)^{-1}Z的非线性变换上,这更好地捕捉了非线性的特点 。