图神经网络总结(GCN/GAT/GraphSAGE/DeepWalk/TransE)

图神经网络

图神经网络是用于图结构数据的深度学习架构,将端到端学习与归纳推理相结合,有望解决传统深度学习无法处理的因果推理、可解释性等问题,是非常有潜力的人工智能研究方向。
图神经网络根据理论及思想的差异主要可以分为三大类:

类型 模型
游走类模型 DeepWalk,Node2VEC,Struc2Vec,LINE,GES,Metapath2Vec,Metapath2Vec++,Multi-Metapath2Vec++
消息传递类模型 GCN,GAT,GarphSage,SGC,DGI,STGCN,GIN,PinSage,GNN-Index,ERNIESage
知识图谱类模型 TransE,TransR,RotatE

在这里插入图片描述

1 游走类模型

1.1 DeepWalk

DeepWalk是network embedding的开山之作,它将NLP中词向量的思想借鉴过来做网络的节点表示,提供了一种新的思路,之后有很多工作都在DeepWalk的基础上进行,利用随机游走的特征构建概率模型,用词向量中Negative Sampling的思想解决相应问题。

本文提出了一种网络嵌入的方法叫DeepWalk,网络嵌入是将网络中的点用一个低维的向量表示,这些向量要能反应原先网络的某些特性,比如如果在原网络中两个点的结构类似,那么这两个点表示成的向量也应该类似。DeepWalk的输入是一张图或者网络,输出为网络中顶点的向量表示。DeepWalk通过截断随机游走(truncated random walk)学习出一个网络的社会表示(social representation),在网络标注顶点很少的情况也能得到比较好的效果。并且该方法还具有可扩展的优点,能够适应网络的变化。

随机游走

所谓随机游走(random walk),就是在网络上不断重复地随机选择游走路径,最终形成一条贯穿网络的路径。从某个特定的端点开始,游走的每一步都从与当前节点相连的边中随机选择一条,沿着选定的边移动到下一个顶点,不断重复这个过程。下图所示蓝色箭头组成的路径即为一条随机游走。

在这里插入图片描述

DeepWalk中使用的截断随机游走(truncated random walk)实际上就是长度固定的随机游走。

使用随机游走有两个好处:

  • 并行化,随机游走是局部的,对于一个大的网络来说,可以同时在不同的顶点开始进行一定长度的随机游走,多个随机游走同时进行,可以减少采样的时间。
  • 适应性,可以适应网络局部的变化。网络的演化通常是局部的点和边的变化,这样的变化只会对部分随机游走路径产生影响,因此在网络的演化过程中不需要每一次都重新计算整个网络的随机游走。
DeepWalk计算节点向量的方式:

文中提到网络中随机游走的分布规律与NLP中句子序列在语料库中出现的规律有着类似的幂律分布特征。那么既然网络的特性与自然语言处理中的特性十分类似,就可以将NLP中词向量的模型用在网络表示中,这正是本文所做的工作。

DeepWalk通过截断随机游走,为图中的每个节点生成了一定数量的样本,样本生成后,DeepWalk借鉴了word2vec的思量,对节点进行向量化表示。

word2vec这样的词向量模型计算词向量的方式: w i u = ( w 0 , w 1 , w 2 , . . . , w n ) w^u_i=(w_0,w_1,w_2,...,w_n) wiu=(w0,w1,w2,...wn)是一个有若干个单词组成的序列,其中 w i ∈ V ( V o c a b u l a r y ) w_i∈V(Vocabulary) wiVVocabulary,V是词汇表,也就是所有单词组成的集合。词向量模型通过建模 P r ( w n ∣ w 0 , w 1 , w 2 , . . . , w n − 1 ) Pr(w_n|w_0,w_1,w_2,...,w_{n-1}) Pr(wnw0,w1,w2,...wn1) 计算词的向量化表示。

DeepWalk将网络中的节点看做句子中的单词 ,网络的随机游走得到的序列对应为句子序列,那么对于一个随机游走,可以通过计算 P r ( v i ∣ v 0 , v 1 , v 2 , . . . , v i − 1 ) Pr(v_i|v_0,v_1,v_2,...,v_{i-1}) Pr(viv0,v1,v2,...vi1) 得到节点的向量化表示,其中 v i v_i vi为图中的节点。

1.2 Node2VEC

node2vec的思想同DeepWalk一样,生成随机游走,对随机游走采样得到(节点,上下文)的组合,然后用处理词向量的方法对这样的组合建模得到网络节点的表示。不过在生成随机游走过程中做了一些创新,node2vec改进了DeepWalk中随机游走的生成方式,使得生成的随机游走可以反映深度优先和广度优先两种采样的特性,从而提高网络嵌入的效果。

node2vec提出在图网络中很多节点往往有一些类似的结构特征。一种结构特征是很多节点会聚集在一起,内部的连接远比外部的连接多,称之为社区。另一种结构特征是网络中两个可能相聚很远的点,在边的连接上有着类似的特征。比如下图, u , S 1 , S 2 , S 3 , S 4 u,S_1,S_2,S_3,S_4

  • 17
    点赞
  • 156
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值