GNN

图神经网络概览
本文综述了多种图神经网络模型,包括Deepwalk、LINE、Node2vec、Struct2vec、GraphSAGE和CANE。介绍了它们如何通过不同策略如随机游走、结构身份学习、属性聚合等,对图中的节点进行嵌入表示,以捕捉节点的结构和属性信息。

很好的综述

 

Deepwalk

Deepwalk[2014] : DeepWalk: online learning of social representations

通过node之间的共现关系对graph中的node进行embdding。

deepwalk的工作就是在graph上构造这些“句子”,然后直接使用word2vec模型训练得到graph中每个node的embedding表示。

从当前node开始random walk,根据均等的概率来完全随机的选择下一个相邻节点,构成长度为t的"句子"。实际上random walk是一种可回头的深度优先搜索。在"句子"里再用size为w的窗口进行skip-gram训练。

 

LINE:Large-scale Information Network Embedding

用边的权重做Lable,用sigmoid(u[i]点乘u[j])做概率去拟合Lable;

还考虑了二阶相邻;

从而让邻居或者间接邻居的结点pair,彼此向量长得像;

 

Node2vec

要想从一个节点去寻找它的直接邻居,就要通过BFS(广度优先搜索),而如果想找到那些结构相似的,我们就不能在邻居那里转圈圈的,就需要“走出去”,因此就需要通过DFS(深度优先搜索)。

p控制着回到原节点的概率;成q为In-out parameter,因为它控制着BFS和DFS的关系。

 

Struct2vec

struc2vec: Learning Node Representations from Structural Identity

分成K层(第k层包含了1~k个hop上的节点度序列)

是用Dynamic Time Warping (DTW,动态规划)来计算序列和序列的相似度(语音识别上用来计算词和模板库词们的相似度)

每层上,距离越小的2个节点,越有更高的概率出现在采样序列里的相邻位置;

每个节点,有一定的概率跳到自己这个节点的上一层或者下一层;

采样还是用SkipGram+NegativeSampling来做的; 

本质:如果两个节点的度相同,那么这两个节点结构相似;如果这两个节点的邻居度也相同,那么这两个节点的结构相似性比前者更高。相似性越高的2个节点,彼此在采样时转移到对方的概率就越大,训练得到的NodeEmbedding也就可能越象;

 

GraphSAGE

论文

支持属性做node的特征:用邻居node的属性特征来aggregate成自己node,或者用邻居node的embedding来aggregate成自己node;

支持新增加的node: 新增node就执行K轮,每轮用训练好的aggregator来综合,并将前轮的结果concatenate上,过一层神经网络得到k+1轮的embedding;

损失函数就是negative-sampling,把互为邻居的node的embedding往更相似里走,把不相干的node的embedding往更远里走;

 

CANE

1. 让node embedding不仅包含structural信息,也包含node自身文本信息;

2. node-u和不同的邻居节点,会表现出不同的embedding出来;即上下文相关;实现:用2个Sentence输入网络算出2组权重,对Sentece进行带权重的pooling得到上下文相关的embedding; 

优化目标:极大似然p(v|u);简化计算量:negative-sampling

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值