本篇文章总结了关于图变分自编码器的一些文章的主要内容,包括如下几篇:
- 【A】Epitomic Variational Graph Autoencoder
- 【B】Keep It Simple: Graph Autoencoders Without Graph Convolutional Networks
- 【C】Gravity-Inspired Graph Autoencoders for Directed Link Prediction
【A】Epitomic Variational Graph Autoencoder
作者:Rayyan Ahmad Khan, Muhammad Umer Anwaar, Martin Kleinsteuber
变分自编码器的效果往往受制于over-pruning的问题,文章提出了epitomic VGAE(EVGAE):由多个稀疏的VGAE模型(外延)组成,共享隐空间的Latent Variables。该模型能够有效解决over-pruning的问题并提升VGAE的泛化性能。
1 Introduction
VGAE的目标是尽可能近似输入数据,并保证latent representation服从标准高斯,然而,latent units往往难以捕捉到足够的输入数据的信息:latent variables往往会 “塌缩” 到先验分布——最终导致我们只能生成高斯白噪声。这篇文章提出了改进版本——EVGAE,主要工作包括:(1)证明VGAE在训练目标中加入weights导致了较差的扩展性;(2)证明了VGAE也有over-pruning的问题;(3)证明EVGAE有更好的扩展性并能解决over-pruning的问题。
2 Pure Variational Graph Autoencoder
Pure VGAE的结构如下,假设我们有一个有N个节点的图:
![af7e117611a6e7e54440ce1f1dd9ef66.png](https://i-blog.csdnimg.cn/blog_migrate/5c9882e0de6ecdc6932e32fb48cbd0e0.jpeg)
训练的目标是重建图的信息,目标是寻找一个能最大化对数概率的参数:
![5f4ca2e7ac63f91160b0532c71541e02.png](https://i-blog.csdnimg.cn/blog_migrate/d46bac9dc0eba21b0ea852b3ec7c12f7.jpeg)
3&4 Over-pruning in Pure VGAE & Sacrificing Generative Ability for Handling Over-pruning
在pure VGAE对于数据进行重建的过程中,由于将KL散度放入了损失函数,如果一个潜在变量对重构的贡献很小,那么通过turn off相应的隐藏单元,变分损失很容易达到最小。随后,这些变量便会“塌缩”到prior,即产生标准的高斯噪声。这里我们将能参与数据重建的隐单位称为“active units”,而将turned-off的单位称为“inactive units”。我们可以简单地加一个“惩罚系数”去解决“塌缩”的问题,这个便是
![9819b58a79fb9cac54a6abc7a9fbe850.png](https://i-blog.csdnimg.cn/blog_migrate/b2d4e6cd012eb9583293b5db9cf039ac.jpeg)
![1ca8da7730ae30984121f699902cdad1.png](https://i-blog.csdnimg.cn/blog_migrate/c3e7c8633b107ce324d478190993aa7f.jpeg)
在左边的两幅图中我们可以看到,16个hidden units中只有一个编码了对重建有益的信息,其他的都只是输出了高斯白噪声而已,这说明了VGAE的over-pruning问题;而beta-VAE能够让所有隐单元都活跃起来(如右边的两幅图所示),然而这样也是有问题的——所有latent variables的KL散度都太高了——说明隐单元并没有如我们所设想的那样呈现高斯分布。事实上,随着beta的增加,VGAE就慢慢变为了GAE(不再惩罚隐变量KL散度,相当于没有变分)。
5 Epitomic Variational Graph AutoEncoder
文章提出了VGAE的改进,基本想法是选取latent variables的子集(一个子集也足以得到较好的重建效果),每个子集至少和其他任何一个子集存在共同的latent variables,下面是Generative Model的部分:
![9917917ed2cf913fccafd780204e290a.png](https://i-blog.csdnimg.cn/blog_migrate/2181cf10a89e6d2b67fe2985b8ba53ba.jpeg)
接下来是Inference Model的部分:
![b36bc7fd9dd883aace61f0ca195ddcb6.png](https://i-blog.csdnimg.cn/blog_migrate/104c6e31674f7130a290647c7c1a943b.jpeg)
和VGAE相同,我们也只重建edge information(decoder和上面提到的VGAE相同),因此上面这个式子右边第一项可以用同样的方式转化为BCE,而第二项和第三项可以如下转换:
![6094895d22bd984de66692be07027123.png](https://i-blog.csdnimg.cn/blog_migrate/d9b5a789bb420bc79e76cf250e6c2575.jpeg)
对于每个给定的epitome,我们只考虑被
![0077f7d622dff02ba4e94df9e7e9c707.png](https://i-blog.csdnimg.cn/blog_migrate/2dc90e8ddef83ed33f9616fc8d748ab9.jpeg)
6 Experiments
文章在链路预测的问题上去测试EVGAE模型,使用85%的边作为训练集,5%的验证集和10%的测试集。实验选取了8个epitomes,每个激活3个潜变量,结果可以如下左边两张图所示。同时可以改变隐空间的维数进行训练,如右边两张图所示,可以看到EVGAE有更多active units以及更好的generative ability。
![2f2b356dd740178b9285fbf11b120498.png](https://i-blog.csdnimg.cn/blog_migrate/22a3d9e29f445f623d8e4c5d9bc0e88c.jpeg)
7 Conclusion
文章主要的结论就是VGAE想要处理over-pruning的问题时往往破坏了隐变量标准高斯的假设,而EVGAE通过激活更多隐变量的方式优化了模型,使得模型拥有了更好的生成性能。
【B】Keep It Simple: Graph Autoencoders Without Graph Convolutional Networks
作者:Guillaume Salha, Romain Hennequin, Michalis Vazirgiannis
来源:NIPS2019
传统的图自编码器(GAE)和变分图自编码器(VGAE)往往使用GCN去学习节点的潜在表示,而这篇文章尝试将GCN替换为简单的线性的模型作为encoder,强调了简单的编码模型也能处理很多实际问题。
1 Introduction
现有的GAE和VGAE基本上是使用基于GNN的模型(尤其是GCN)作为encoder,将节点信息转化为embeddings,本文尝试使用不带GCN的encoder(即simple-GAE),并结合实际问题讨论了是否选取GCN作为encoder的问题。
2 Preliminaries on Graph (Variational) Autoencoders
读这篇文章需要对GCN,GAE,VGAE有基本的了解,关于这些模型的教程很多,这里就不详细介绍。
3 Simplifying the Encoding Scheme
文章的模型很简单,就把GAE和VGAE的GCN encoder改成线性的就行了,具体如下:在GAE和VGAE中,直接将图的邻接矩阵进行线性的变换即可(如果还有节点的side-information,也可以用矩阵的形式直接线性处理)
![b3c8d08fc95be2f46f5bf6f2739dc2f2.png](https://i-blog.csdnimg.cn/blog_migrate/19fe14137fe1aa192eeba9a403996ad7.jpeg)
4 Empirical Analysis and Discussion
模型在几个标准数据集和一些真实数据集上的实验结果如下:
![2208782e0dc4eb8ebac3da72391c0af1.png](https://i-blog.csdnimg.cn/blog_migrate/36900dba499185273a9b9906c11d29c4.jpeg)
5 Conclusion
这篇文章的结论很简单:那就是在GAE、VGAE中,一阶的线性encoder的效果在一些任务上居然和GCN encoder效果差不多!
【C】Gravity-Inspired Graph Autoencoders for Directed Link Prediction
作者:Guillaume Salha, Stratis Limnios, Romain Hennequin, Viet Anh Tran, Michalis Vazirgiannis
来源:CIKM2019
GAE和VGAE常用于无向图,这篇文章试图将GAE给迁移到有向图上进行建模。文章提出了一种gravity-inspired的模型去编码并重建有向图,并主要在链路预测的问题上测试了模型的有效性。
1 Introduction
在链路预测问题中,使用GAE对无向图处理时,往往我们是将“节点i有连向j的边”和“节点i有连向j的边”进行等概率处理,这限制了链路预测问题的应用场景。而本文主要有如下的工作:(1)提出了能够学习有向图的node embeddings的模型;(2)是第一个在有向图上使用AE/VAE的模型。
2 Preliminaries
为什么传统的GAE和VGAE不能对有向图进行建模?原因很简单:传统的这些方法使用内积作为decoder,因此对于边的预测是对称的,而需要有向图的应用场景中不具备这种对称性(即i连向j不等于j连向i)。当然,有向图的链路预测问题已经有一些成果,比如High-Order Proximity preserved Embedding(HOPE),Asymmetric Proximity Preserving(APP)等。然而本文的方法有所不同,文章仍然对每个节点去单独学习其embedding,即使用一个latent vector去表示每个节点。
3 A Gravity-Inspired Model for Directed Graph AE and VAE
如前文所述,在对有向图建模的过程中面临的问题就是如何去重建这种不对称的节点关系(传统的内积decoder和距离度量方式一般都是对称的),文章借鉴了天体之间引力关系的模型(由于两个天体质量不同,由于引理产生的加速度也是不同的),来尝试解决这种不对称的问题。
![365c25022955c184a16c22a438d50fea.png](https://i-blog.csdnimg.cn/blog_migrate/beaa7c658081e52ee2f1b1a6013303b3.jpeg)
借鉴万有引力的想法也说明了图的一些性质:一些节点的影响力会更大,另外结构相似(有共同邻居等)的节点更有可能存在链接。
文章使用的有向图GAE和VGAE具体如下图所示:
![f26ab32d0529e152f371308818108fd2.png](https://i-blog.csdnimg.cn/blog_migrate/201546082fb4bdca5c3320ffe0daac3b.jpeg)
4 Experimental Analysis
本模型在下面几个实验中进行测试,包括:General Directed Link Prediction, Biased Negative Samples Link Prediction, Bidirectionality Prediction。在标准数据集上的实验结果如下表所示:
![05cd7f3c6fdae28d5e5be43260024225.png](https://i-blog.csdnimg.cn/blog_migrate/a60ff0b8c4e03d30f9dfefb8522a2361.jpeg)
同时,
![72b5f819a4a524171be7d8c8026e6864.png](https://i-blog.csdnimg.cn/blog_migrate/58b47213ccbafb8439375727eb6d847d.jpeg)
对于
![bef1132dcb7dc61e092880b56ac0fe64.png](https://i-blog.csdnimg.cn/blog_migrate/cdf49e2a4fd4c3ad8842a93b278efeaf.jpeg)
5 Conclusion
文章利用牛顿万有引力的想法去学习有向图的node embeddings(基于AE和VAE的框架),并通过实验证明了这种方法在链路预测任务上的有效性。
回到目录