以kipf 的GAE为对照组,SEAL以source和target表示link,在子图添加label,使得最后效果好195%,并且提出只是简单的aggregating node feature是非常无效的,提出了properly labeled subgraphs around links(用最短路径提取子图)
引言
传统启发式的方法,通过计算节点相似度来表示链接存在的似然可能性,如相同节点,择优链接,Katz index,这些都可以作为一些预定义的图结构特征
同时,Embedding的方法,如MF,Node2Vec,还有基于Feature的方法,但他们没考虑过structure
提出SEAL并与GAE对比,乍一看这些GNN方法都把图结构的feature和目标链接关联在一起,但实际上这两个方法在结构信息表示上有本质区别
所以通过增加标签(labeling trick)和局部同构(local isomorphism)使得结构信息在embed特征学习的范围内
基本定义
方法
GAE的方法及其弱点
使用message passing 代替原本GAE中的两层GCN,形成Encoder
(提出怀疑GAE方法普适性太强,没有learn到structre信息)
SEAL表示方法
作弊标签(labeling trick)
上图中$(v_1,v_2)$和$(v_1,v_3$的label 会有不同,并且通过$(s,t)$之间的距离确定节点的距离label
通过(s,t)之间的距离确定节点的距离label,利用Double Radius Node Labeling(DRNL)的方法,给(s,t)之间不同距离的点标注不同label。
举例:上图中(v_1,v_2) 和(v_1,v_3)的label 会有不同。起始点s和终点t都标注为1,距离s和t距离为1的,标注为2,距离为2的标注为3,以此类推。最终会得到在子图中两点距离的一个作弊标签。代码实现由最短路径标注实现。
基于最短路径抽取子图(Enclosing subgraph)
此子图的特性:在这个提取的封闭子图中,A_S^n 其中i是包含在节点集合S的初始节点,所有在d(i,j)距离内的节点j都可以提取到子图A中。
局部同构(local isomorphism)
寻找h-hop的局部图中的同构子图。如果他们基于h-hop的最短路径子图(S,A_S^h)和(S‘,〖A’〗_S^h)是同构的,则他们是h-hop的局部同构子图。因为查找两个图的同构太过严格和复杂,这个局部同构是更好构建的。由前人证明,在节点个数为n的图中,至少(n-logn)的节点是非同构性质的,所以对每个节点/边求同构,条件过严,不如查找两个图的最短路径抽取子图是否同构。这样的条件更好实现,并且有较强的普适性。
求这个性质,是因为有局部同构性质的节点,有更大的可能性,可以分类为一类节点。
在GCN网络后添加SortPooling层
通过 WL算法 可以对节点进行着色,而节点的颜色可以定义节点之间的次序,有了节点的次序,我们就可以通过1-D卷积的方法进行卷积运算。(18年的池化层设计)颜色比较的部分,为了说明WL靠拢的情景,实现上由排序完成。
排序池层的主要功能是对特征描述符进行排序,每个特征描述符代表一个节点,在将它们放入传统的1-D卷积和全连接层之前,按照一致的顺序排序。在图里面,可以根据节点在图中的结构角色对其进行排序。
SortPooling作为图卷积层和传统层之间的桥梁,还有一个很大的好处,就是它可以通过记住输入的排序顺序,将损失梯度返回到前一层,使前一层参数的训练变得可行。相比之下,由于(Niepert,
Ahmed, and Kutzkov 2016)在预处理步骤中对顶点进行排序,因此在排序之前不能进行参数训练。
实验
社交网络
不同模型对比