【NIPS 2016图神经网络论文解读】Variational Graph Auto-Encoders (VGAE) 基于VAE的图变分自编码器


写在前面

Kipf 与 Welling 16 年发表的「Variational Graph Auto-Encoders」提出了基于图的(变分)自编码器 Variational Graph Auto-Encoder(VGAE),自此开始,图自编码器凭借其简洁的 encoder-decoder 结构和高效的 encode 能力,在很多领域都派上了用场。

Thomas N. Kipf大佬不仅是这篇VGAE的作者,而且还是大名鼎鼎模型GCN的作者。二作是CIFAR10实验室的Max Welling,他是GCNVAE的作者之一,Kipf是Max Welling的博士生。

一、引入图神经网络

假设我们的数据集是Cora数据集 (每个样本点都是一篇科学论文,所有样本点被分为8个类别),现在想训练一个模型预测每个样本点对应的类别。(节点分类任务)

 样本    特征x                标签y
31336: x=(0,1,0,0,0...0), y=Neural_Networks
10611: x=(0,0,1,0,1...0), y=Rule_Learning
...
12135: x=(0,0,0,0,0...0), y= Reinforcement_Learning

建模方法:

  • 方法1:直接对P(y|x)建模(传统监督学习),模型性能一般
  • 方法2:先基于图结构的图神经网络模型(如GCN)提取更好的表征(x->z),再进行下游任务建模(P(y|z)),模型性能较好(这种方法就是图神经网络)

图神经网络的模型Pipeline:

所以图神经网络模型的目的是学习有意义的表征向量$z$

  • 类型1:监督学习或半监督学习是通过$A,x,y$来学习表征$z$
  • 类型2:当图上没有标签$y$时,可以通过无监督学习的方式来学习$z$,即只通过$A,x$学习$z$

常见的基于图的无监督学习方法有:

  • GAE:图自编码器 Graph Auto-Encoder(主要用于压缩$A,x\rightarrow z$)
  • VGAE:变分图自编码器 Variational Graph Auto-Encoder(主要用于图的生成$z\rightarrow A$)

二、GAE 图自编码器

简单回顾下经典的Auto-Encoder模型:

GAE是GCN在Auto-Encoders的应用,非常容易理解,隐变量Z就是图上的N个节点经过GCN后的N*F维特征,Encoder就是两层GCN, Decoder就是向量点积。可以将隐变量Z理解为某种意义上图的节点的相似度,通过向量点积得到的两个图节点的相似度越大,则两个节点之间存在边的概率越大


输入$X: N\times D$,邻接矩阵$A: N\times N$,隐向量$Z: N\times F$,重构出来的邻接矩阵$A’: N\times N$

  • GAE使用GCN作为encoder来得到节点的latent representations
    • $Z=GCN(X,A)=\hat{A}ReLU(\hat{A}XW_0)W_1$, 其中$\hat{A}={D}^{-\frac{1}{2}} {A} {D}^{-\frac{1}{2}}$,注意VGAE论文中的$A$已经加上了$I$
    • 原论文的描述:We introduce an adjacency matrix A of G (we assume diagonal elements set to 1, i.e. every node is connected to itself) and its degree matrix D.
  • GAE使用inner-product作为decoder来reconstruct原始的图
    • $A’=\sigma(ZZ^T)=sigmoid(ZZ^T)$

GAE是如何训练,它的loss函数是什么?

一个好的Z,就应该使重构出的邻接矩阵与原始的邻接矩阵尽可能的相似。损失函数要能衡量生成图和原始图之间差异:

$$\mathcal{Loss(A, A’)}=-\frac{1}{N} \sum y \log {y’}+(1-y) \log (1-{y’})$$

上式中,$y$代表领接矩阵A(已加上$I$)中某个元素的值(0或1),$y’$代表重构的领接矩阵$A’$中相应元素的值(0到1之间)

下图来自综述《A Comprehensive Survey on Graph Neural
Networks》https://arxiv.org/pdf/1901.00596.pdf

三、VGAE 图变分自编码器

简单回顾下经典的VAE模型:

  • VAE训练阶段
  • VAE预测阶段

VGAE是GCN在Variational Graph Auto-Encoders (VAE)的应用。Encoder用两个两层GCN分别得到N个均值和标准差,这两个GCN会共享第一层的参数,从而得到N个正态分布。Decoder仍然是向量点积。

VGAE是如何训练,它的loss函数是什么?

另外为了使VGAE能进行梯度反向传播,论文采用了和VAE相同的重采样技巧

We perform full-batch gradient descent and make use of the reparameterization trick for training.

四、实验结果

GAE和VGAE在解码的过程中都是在重构领接矩阵A,因此除了可以学习到节点的中间表示Z,它们还很适合链路预测的任务,最终得到的p(A|Z)可以用来预测A中任意未知元素的概率。

任务:链路预测(边上的任务)

五、图的生成与药物发现

上文中提到VGAE可以用于图的生成,那么图的生成在现实生活中有什么实际应用吗?实际上图的生成模型在药物发现领域有着重要的作用。

药物开发是一个耗时、费力的大工程,从最初的药物设计、分子筛选,到后期的安全测试、临床试验,一般会花超过10年的时间而且不能保证成功率。因此,面对COVID-19这种突发的流行病,我们无法立刻研发出有效药物,而只能在已知的药物里寻找可能有效的进行药物重用。为了加快新药开发的进程,人工智能在药物发现领域起到了越来越重要的作用、尤其是在新分子的设计阶段。图神经网络与图生成模型的应用极大地提升了药物发现的效率。虽然分子也可以表征成 SMLLES 字符申的形式(如图B2所示),但是我们很想从这种子餐串中直接获得语法和结构信息,因此更常用的分子生成方法是把分子当成图来生成。——《图神经网络基础与前沿》P109

六、参考资料

[1] VGAE(Variational graph auto-encoders)论文详解

[2] 【GNN】VGAE:利用变分自编码器完成图重构

[3] 【GNN五大类 VGAE】(变分图自编码器):Variational Graph Auto-Encoders

[4] Tutorial on Variational Graph Auto-Encoders


Author: SHWEI
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source SHWEI !
评论
 Previous
【GAN论文解读系列】NeurIPS 2016 InfoGAN 使用InfoGAN解耦出可解释的特征 【GAN论文解读系列】NeurIPS 2016 InfoGAN 使用InfoGAN解耦出可解释的特征
论文题目:InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets 论文地址:https:/
2021-12-17
Next 
机器学习中极大似然估计MLE和最大后验估计MAP 机器学习中极大似然估计MLE和最大后验估计MAP
(机器学习必知必会) 最大似然估计(MLE)、最大后验概率估计(MAP)这两个概念在机器学习和深度学习中经常碰到。现代机器学习的终极问题都会转化为解目标函数的优化问题,MLE和MAP是生成这个函数的很基本的思想,因此我们对二者的认知是非常
2021-11-24
  TOC