深度学习图模型综述

 

DeepWalk

问题提出:

第一个无监督学习节点嵌入的算法。

方法:

构建临接表,使用random walk算法生成训练样本,采样同word2vec的训练方法。

 

Node2vec

问题提出:

DeepWalk采样使用random walk,无法融合有权图的边权重。

方法:

node2vec是一种综合考虑DFS邻域和BFS邻域的graph embedding方法。简单来说,可以看作是deepwalk的一种扩展,可以看作是结合了DFS和BFS随机游走的deepwalk。

 

GCN

问题提出:

使用拉普拉斯变换,特征分解实现了特征在全局图上的传导,理论非常漂亮。

方法:

对图的邻接矩阵进行拉普拉斯变换,特征分解(谱分解),得到图中各顶点之间的关系,并更新顶点特征。拉普拉斯变换+谱分解 即为GC(图卷积)。

本质:图中的每个结点无时无刻不因为邻居和更远的点的影响而在改变着自己的状态直到最终的平衡,关系越亲近的邻居影响越大。

该方法相比传统的deepwalk等Graph embedding方法具有明显优势,它不仅在学习每个节点以及其邻域的结构关系,同时可以将每个节点自身的特征融合到其中进行更全面的学习。

 

Graphsage

问题提出:

deepwalk,GCN的主要问题是缺乏泛化能力。每当一个新节点出现时,它必须重新训练模型以表示这个节点。因此,这种 GNN 不适用于图中节点不断变化的动态图。

方法:

GraphSage 提供了解决上述问题的办法,以一种归纳的方式学习每个节点的嵌入。具体地说,GraphSage 每个节点由其邻域的聚合 (aggregation) 表示。因此,即使图中出现了在训练过程中没有看到的新节点,它仍然可以用它的邻近节点来恰当地表示。

论文中提出了三种聚合函数:

  1. Mean aggregator
  2. Pooling aggregator (mean pooling和max pooling)
  3. LSTM aggregator

实际效果上,max pooling效果最好。

 

PIN

问题提出:

graphsage的工业化实现,GCN在商业推荐系统首次成功应用

方法:

  1. PinSage利用random-walk对节点进行采样,并根据 L1正则化 选取目标节点的Top -t邻居,动态的构建训练样本。
  2. 采用minibatch基于tensorflow进行分布式梯度训练,即采样,卷积定义在CPU端完成;每个GPU上存放一个完整的子图,可以独立的进行图卷积运算,每一层图卷积中参数共享。
  3. 在推理过程中采用MapReduce的方法避免重复计算。

 

GAT

问题提出:

在聚合邻居节点过程中,将其都视作相同的贡献度有些粗糙与不合理。

方法:

引入注意力机制到图神经网络中,每一层学习节点的每个邻居对其生成新的特征的贡献度,按照贡献度大小对邻居特征进行聚合,以此来生成新的聚合特征。(在做attention时只考虑了一跳邻居节点)

 

异构图

异构图指的是图中的节点有不同的形式,图中节点之间的关系也有多种不同的形式。

异构网络定义为:G(V,E,T),v为一种类型的顶点,e为边,T为另一种类型的顶点。

一般通过定义元路径来构建图结构,APA表示一种固定语义的meta-path,APVPA表示另外一种固定语义的meta-path。(A、P、V表示3种不同类型的顶点。)

 

metapath2vec

问题提出:

deepwalk,node2vec这些算法虽然可以用于网络表示学习,但仅适合那些只包含一类顶点类型和边类型的同构网络(Homogeneous Networks),并不能很好地用于包含多种顶点类型和边类型的复杂关系网络。异构网络上的随机游走会偏向于某些高度可见的类型的顶点,这些顶点的路径在网络中具有一定的统治地位,而这些有一定比例的路径指向一小部分节点的集合。鉴于此,作者提出了一种基于meta-path的随机游走方式来生成Skip-Gram模型的邻域上下文。该随机游走方式可以同时捕获不同类型顶点之间语义关系和结构关系,促进了异构网络结构向metapath2vec的Skip-Gram模型的转换。

方法:

使用基于meta-path的random walks来构建每个顶点的异构邻域,然后用Skip-Gram模型来完成顶点的嵌入。

metapath2vec在为每个顶点构建领域时,通过meta-path来指导随机游走过程向指定类型的顶点进行有偏游走。但是在softmax环节中,并没有顶点的类型,而是将所有的顶点认为是同一种类型的顶点。换言之,metapath2vec在Negative Sampling环节采样的negative 样本并没有考虑顶点的类型,也就是说metapath2vec支持任意类型顶点的Negative Sampling。于是作者在metapath2vec的基础上又提出了改进方案metapath2vec++。

metapath2vec++为Skip-Gram模型的输出层中的每种类型的领域指定了一个多项式分布的集合。而在metapath2vec,DeepWalk和node2vec中,Skip-Gram输出多项式分布的维度等于整个网络中顶点的数目,然而对于metapath2vec++的Skip-Gram,其针对特定类型的输出多项式的维度取决于网络中当前类型顶点的数目。

 

HGAN

问题提出:

metath2vec只能利用一个元路径,可能会忽略一些有用的信息。

这是第一次尝试研究基于注意力机制的异构图神经网络并同时包含节点级语义级的注意力。同时考虑节点和元路径的重要性。

方法:

(1)节点级attention

节点级注意力旨在学习节点与其基于元路径的邻居之间的重要性(等同GAT)。

(2)语义级attention

语义级注意力能够学习不同元路径的重要性。不同的元路径揭示不同的语义,HGAN在建模时对多种元路径进行区分,根据N种不同的元路径生成N个对应的临接表,在模型中,对不同种类的元路径计算attention矩阵。

 

不同种类的元路径eg:

(1)泰坦尼克号——导演——终结者2

(2)终结者——科幻电影——终结者2

HGAN将异构图转化成了同构图再建模,实际上还是只能embedding一种类型的节点。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值