Inductive Representation Learning on Large Graphs 论文阅读
最近做graph CNN方向,前前后后也看了一些论文,觉得时间长了就忘了,所以,准备把看的论文总结下写到博客。
论文的动机和目标: 做evolving graph的node embedding. 当前的相关算法存在的问题是:只能对给定的固定大小的graph做 node embedding.但是现实中的很多应用中graph是不断变化的,所以需要对还没出现,将要出现的 unseen nodes做embedding, 或者会完全新的子图做embedding.然后将embedding的结果应用到很多地方,比如分类、聚类。
论文的参考来源:(1)Graph convolutional networks:
[15] T. N. Kipf and M. Welling. Semi-supervised classification with graph convolutional networks.In ICLR, 2016.
[16] T. N. Kipf and M. Welling. Variational graph auto-encoders. In NIPS Workshop on Bayesian Deep Learning, 2016.
原论文通过Graph convolutional networks来做graph的embedding.本篇论文想在这个基础上进行改进。
(2)Relation to theWeisfeiler-Lehman Isomorphism Test:本篇论文的概念受这个算法的启发。利用节点的邻居节点的特征集成信息进行转换用来表示原节点。
论文算法的具体实现:
(1)首先 Embedding generation (i.e., forward propagation) algorithm:
假设 aggregator functions的参数和weight matrices已知,其中在模型训练过程中,不同于以往的算法学习到独特的embedding,该论文学习到的是节点的embedding function。
(2)Neighborhood definition:在这篇论文中,每次iteration中,节点的邻居节点的个数是固定的。这也是这篇论文的弊端。在接下来的实验中,画图给出了邻居节点的个数对实验结果的影响。
(3)Learning the parameters of GraphSAGE:In order to learn useful, predictive representations in a fully unsupervised setting, we apply a graphbased loss function to the output representations, and tune the weight matrices, parameters of the aggregator functions via stochastic gradient descent.
以下就是无监督任务的损失函数:
损失函数控制:临近的节点具有相似的表示,同时使远离的节点的表示具有较大的差异性。
(4)Aggregator Architectures(本文给出三种方法):Mean aggregator,LSTM aggregator,Pooling aggregator。
基本就是这些内容了,初次写论文阅读报告,不足的地方请补充。
论文的作者还公布了代码,感兴趣的同行们,可以动动小手点这个链接:http://snap.stanford.edu/graphsage/#code (啊,没找到链接格式,懒得弄了,亲们复制粘贴一下吧~~~~~)