论文Variational Graph Auto-Encoders 利用变分自编码器完成图重构
转载 阿泽的学习笔记
目录
1.Introduction
2.VGAE
2.1 VAE
2.2 VGAE
2.3 GAE
3.Experiment
4.Conclusion
5.Reference
6.变分自动编码器其他相关论文5篇
6.1.Variational Spectral Graph Convolutional Networks
6.2.Semi-Implicit Graph Variational Auto-Encoders
6.3.The general theory of permutation equivarant neural networks and higher order graph variational encoders
6.4.Variational Graph Recurrent Neural Networks
6.5.SGVAE: Sequential Graph Variational Autoencoder
Thomas N. Kipf 的 2016 年的工作《Variational Graph Auto-Encoders》,目前引用量为 260 多。
VGAE 属于图自编码器,是图神经网络细分类别的一大类。Kipf 同学也非常厉害,其影响力最大的一篇论文莫过于 2017 年提出的 GCN 模型。
VGAE 全称为 Variational Graph Auto-Encoders,翻译过来就是变分图自编码器,从名字中我们也可以看出 VGAE 是应用于图上的变分自编码器,是一种无监督学习框架。
看到这可能不知道大家都没有疑问,至少我会有以下几点疑问:
自编码器是利用编码与解码对数据进行压缩,加上变分后的 VGAE 是什么?
自编码器是通过隐藏层节点数小于输入层节点数实现数据压缩,VGAE 如何实现?
自编码器预测的目标是输入,而 VGAE 要预测的是什么?
我们知道自编码器的是通过减少隐藏层神经元个数来实现重构样本,自编码器为了尽可能复现输入数据,其隐藏层必须捕捉输入数据的重要特征,从而找到能够代表原数据的主要成分。
变分图自编码器也具有类似的目的,其主要是为图中节点找寻合适的 Embedding 向量,并通过 Embedding 向量实现图重构。其中获取到的节点 Embedding 可以用于支撑下游任务。
在介绍 VGAE 之前,我们先介绍下 VAE(Variational Auto-Encoders)。VAE 了解清楚后,VGAE 也算完成了 80%。
VAE 最早来源于 2014 年 Kingma 的一篇论文《Auto-Encoding Variational Bayes》。该论文目前引用数超 8300 次,作者 Kingma 和 Kipf 都来自于阿姆斯特丹大学。
VAE 是变分贝叶斯(Variational Bayesian)和神经网络的结合。
简单介绍下变分贝叶斯方法:我们知道统计模型由观察变量 x、未知参数 和隐变量 z 组成,生成模型是通过隐变量来估计观察变量:
。但很多情况下,这个后验概率并容易得到(因变量和参数都不知道),所以我们就需要通过其他的方式来近似估计这个后验概率。贝叶斯统计学传统的推断方法是采用马氏链蒙特卡洛(MCMC)采样方法,通过抽取大量样本给出后验分布的数值近似,但这种方法的计算代价昂贵。而变分贝叶斯是把原本的统计推断问题转换成优化问题(两个分布的距离),并利用一种分析方法来近似隐变量的后验分布,从而达到原本统计推断的问题。
而 VAE 则是利用神经网络学习来学习变分推导的参数,从而得到后验推理的似然估计。下图实线代表贝叶斯推断统计的生成模型 ,虚线代表变分近似 。
这篇论文里最重要的就是公式,为了简单起见,不进行公示推导。直接说结论:作者提出了 AEVB(Auto-Encoding Variational Bayesian)算法来让 近似
,同时把最大似然函数的下界作为目标函数,从而避开了后验概率的计算,并且将问题转换为最优化问题,同时可以利用随机梯度下降来进行参数优化。
VAE 模型中,我们假设 这个后验分布服从正态分布,并且对于不同样本来说都是独立的,即样本的后验分布是独立同分布的。可能大家会有个疑问:
为什么是服从正态分布?
为什么要强调是各样本分布是独立的?
对于第一个问题,这里只是做一个假设,只要是一个神经网络可以学到的分布即可,只是服从正态分布就是 VAE 算法,如果服从其他的分布就是其他的算法;
对于第二个问题,如果我们学到的各变量的分布都是一致的,如:
这样的结构无法保证通过学到的分布进行采样得到的隐变量 能够与真实样本 一一对应,所以就无法保证学习效果了。
所以 VAE 的每个样本都有自己的专属正态分布:
这样,我们便能通过每个样本的专属分布来还原出真实样本。
这也是论文中最重要的一点:
但隐变量是通过采样得到的,而不是经过编码器算出来的。这样的重构过程中免不了受到噪声的影响,噪声会增加重构的难度,不过好在这个噪声的强度可以通过方差反应,方差可以通过一个神经网络得到计算,所以最终模型为了更好的重构会尽量让模型的方差为零,而方差为零时,就不存在随机性了,这样模型最终会是一组均值,便退化成了普通的 AutoEncoder。
为了防止噪声为零不再起作用,VAE 会让所有的后验分布都向标准正态分布看齐,衡量两个分布的距离,我们有 KL 散度:
变分自编码中的变分是指变分法,用于对泛函 求极值。
我们将约束两个分布的 KL 散度加入到损失函数中,则有:
简单来说,VAE 的本质就是利用两个编码器分别计算均值和方差,然后利用解码器来重构真实样本,模型结构大致如下:
我们再来看一下变分图自编码,先来看下框架:
其中,X 为节点的特征矩阵,A 为邻接矩阵,先利用后验概率得到隐变量 Z,再用隐变量重构邻接矩阵 A。
除了变分自编码器外,作者也提出了非概率模型的图自编码器(Graph Auto Encoder),公式如下:
此时的损失函数只包括重构损失。
简单看一下实验部分,主要是边预测问题,我们也可以看到 VGAE 是预测邻接矩阵的。
总结:VGAE 利用神经网络学习后验分布从而实现编码过程,同时利用重构误差和 KL 散度进行参数优化,从而得到节点的隐变量作为节点的 Embeding。
《Variational Graph Auto-Encoders》https://arxiv.org/abs/1611.07308
《Auto-Encoding Variational Bayes》https://arxiv.org/abs/1312.6114
《变分自编码器(一):原来是这么一回事》https://zhuanlan.zhihu.com/p/349985695.Reference
简单介绍几篇关于Graph Variational Auto-Encoders的论文,希望能给你的工作和研究带来一些帮主,以下论文list:
Variational Inference for Graph Convolutional Networks in the Absence of Graph Data and Adversarial Settings
Semi-Implicit Graph Variational Auto-Encoders
The general theory of permutation equivarant neural networks and higher order graph variational encoders
Variational Graph Recurrent Neural Networks
SGVAE: Sequential Graph Variational Autoencoder
本文将贝叶斯和图卷积结合在一起,其中图的adj看做是随机的参数。作者方法的关键在于在表征该图的邻接矩阵上定义一个平滑的后验参数化,通过随机变分推断对其进行估计。实验表明,在嘈杂图半监督分类任务中,可以胜过标准GCN方法。
图表示学习中一个很重要的点是如何把图的结构信息嵌入到网络结构中。大多数的方法都是通过神经网络得到一个固定的表示,但是很多时候不确定可能更重要。比如在药物类的知识图谱,我们其实关心的药物之间发生反应的置信度。
本文受到 semi-implicit variational inference (SIVI) [47] 和normalizing flow启发提出了半隐式图变自动编码器(SIG-VAE),扩展了变图自动编码器(VGAE)来建模图数据。SIG-VAE分层变体框架采用随机生成节点嵌入模型,该模型可以学习隐式后验,同时保持简单的优化。这种层次结构不仅提供了更灵活的图生成模型,同时捕获了图上节点的属性。该方法能够很好解决之前VGAE无法解决的问题如heavy tails,multiple modes,skewness。与VGAE相比,SIG-VAE派生的图潜在表示形式更具解释性,这是因为灵活的半隐式构造使生成模型更富表现力,并且推断更加忠实。在各种图数据上进行的大量实验表明,SIG-VAE的性能明显优于最新技术。
先前关于对称组等变神经网络(symmetric group equivariant neural networks )的工作,通常只考虑置换单个向量的元素而起作用的情况。在本文中,作者推导了一般置换等变层的公式,包括该层通过同时置换其行和列而作用于矩阵的情况。在图学习和关系学习中自然会出现这种情况。作为高阶置换等变网络的一个特殊情况,作者提出了一个二阶图变分编码器,并表明等变生成模型的潜在分布必须是可交换的。作者在引文图和分子图生成中的链接预测任务上验证了此模型的性能。
关于图结构化数据的表示学习主要是在静态图设置中进行的,而对动态图进行建模的工作仍很少。在本文中,作者提出了一种新颖的分层变分模型,该模型引入了额外的潜在随机变量,以共同对图递归神经网络(GRNN)的隐藏状态进行建模,捕获动态图中的拓扑和节点属性变化。作者认为,在此变分GRNN(VGRNN)中使用高级潜在随机变量可以更好地捕获在动态图中观察到的潜在可变性以及节点潜在表示的不确定性。通过针对这种新的VGRNN体系结构(SI-VGRNN)开发的半隐式变分推断,本文证明了灵活的非高斯潜在表示可以进一步帮助动态图分析任务。本文使用多个现实世界动态图数据集进行的实验表明,SI-VGRNN和VGRNN在动态链接预测中始终明显优于现有的基线和最新方法。
本文提出了一种直接在图表示上直接操作的顺序图变式自动编码器。在该模型中,图的编码和解码分别被构造为顺序解构和构造过程,从而能够学习潜在空间。Experiments on a cycle dataset show promise, but highlight the need for a relaxation of the distribution over node permutations.