graph学习,GNN综述

GCN本质目的是提取拓扑图的空间特征。

GCN本质laplacian矩阵(属于频域的embedding),图中的每个节点无时无刻不因为邻居和更远的点的影响而改变着自己的状态知道最终的平衡,关系越亲近的邻居影响越大。

拉普拉斯算子不仅表现的是一种二阶导数的运算,另一方面,它表现了一种加和性

下面基于对各类综述文章和博客总结,汇总如下。

图的结构可以认为是无限维的一种数据,所以他没有平移不变性。每一个节点的周围结构都似乎独一无二,这样对于cnn处理二维结构,和rnn处理一维结构就不好使了,因为不属于欧式空间。

GCN实际上和CNN作用一样,就是一个特征提取器,他的对象是图数据。GCN巧妙的设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以顺便得到图的嵌入表示(graph embedding)。

 

GNN模型主要研究图节点的表示(Graph Embedding),图边结构预测任务和图的分类问题,后两个任务也是基于Graph Embedding展开的。目前论文重点研究网络的可扩展性、动态性、加深网络。deepwalk是dfs的游走,line是运用bfs游走(显式的构造邻接点对和顶点的距离为1的近邻集合),而bfs游走倾向于在起始节点的周围游走,反映了一个节点的微观属性,dfs则会距离初始节点越来越远,可以反映一个节点邻居的宏观特性。node2vec则是通过一种新设计结和dfs和bfs的游走方式,而且统计了周围节点的分布并赋予概率值,这样在游走的时候加入了可能走回来的可能性。

 

谱卷积有理论支持(基于信号系统中的傅里叶变换,将空域转换到频域做信号处理),但有时候会受到拉普拉斯算子的限制;而空间域卷积更加灵活,主要困难在于选择定量邻域上,没有统一理论。

我们现阶段研究的GNN都是空间上的,deepwalk主要问题在于缺乏泛化能力,每当有新节点加入到图中时(冷启动问题),必须重新训练以正确表示该节点(直推式学习)。因此,这种GNN不适用于节点不断变化的动态图。

GraphSAGE(Graph SAmple and aggreGatE),是一种归纳学习(inductive learning),对于deepwalk,LINE,node2vec,SDNE等模型能够高效地得到每个节点的embedding。然而,这些方法无法有效适应动态图中新增节点的特性, 往往需要从头训练或至少局部重训练。

通过对节点的本地邻域中的特征进行采样和聚合(mean/LSTM/pooling聚合)来生成嵌入,而不是为每个节点训练单个嵌入。

聚合器参数和权重变量的学习:有监督情况下,可以使用每个节点的预测label和真实label的交叉熵作为损失函数;无监督情况下,可以假设相邻节点的输出embedding应当尽可能相近,保证相邻节点的embedding的相似度尽量大的情况下,保证不相邻节点的embedding的期望相似度尽可能小。

GAT(着重考虑这部分的处理,把这部分移植到我们的模型中)

基本的图神经网络算法GCN, 使用采样和聚合构建的inductive learning框架GraphSAGE, 然而图结构数据常常含有噪声,意味着节点与节点之间的边有时不是那么可靠,邻居的相对重要性也有差异,解决这个问题的方式是在图算法中引入“注意力”机制(attention mechanism), 通过计算当前节点与邻居的“注意力系数”(attention coefficient), 在聚合邻居embedding的时候进行加权,使得图神经网络能够更加关注重要的节点,以减少边噪声带来的影响。

三种注意力机制算法,都可以用来生成邻居的相对重要性:

  • 学习注意力权重(Learn attention weights)
  • 相似性注意力(Similarity-based attention)
  • 注意力引导的随机游走(Attention-guided walk)

 

 

 

 

 

 

 

 

参考:

  1. https://www.zhihu.com/question/54504471?sort=created
  2. GCN作者博客http://tkipf.github.io/graph-convolutional-networks/
  3. https://www.zhihu.com/question/54504471/answer/730625049
  4. https://www.cnblogs.com/nxf-rabbit75/p/11306198.html#auto-id-26

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值