图表示学习

图表示学习

  • 1、什么是图表示学习?
  • 2、针对图表示学习的两个不同视角
  • 3、基于图结构的表示学习
  • 4、基于图特征的表示学习
    • (1)图神经网络的发展
    • (2)谱域上的图卷积
    • (3)谱域图卷积网络
    • (4)ChebyNet
    • (5)图卷积神经网络GCN
    • (6)消息传递网络MPNN--空域图神经网络的一般形式
    • (7)GAT
    • (8)R-GCNs
    • (9) 图神经网络分类
  • 5、GCN的缺点
    • (1)GCN的问题:过平滑
    • (2) GCN问题:邻居爆炸
      • 1)GraphSAGE
      • 2)FastGCN
      • 3)GraphSAINT
      • 4)RS-GCN
  • 6、池化

1、什么是图表示学习?

\qquad 把图上的结点映射到固定维度的向量空间。

图表示学习_第1张图片

\qquad 优势:可以将拓扑信息和结点本身特征结合。
\qquad 目的:在向量空间上对图数据进行学习和推断。

2、针对图表示学习的两个不同视角

  • 图论、数据挖掘角度:如何在学习到向量的表示中尽可能多的图拓扑结构的信息。基于图结构的表示学习
  • 从机器学习,特征工程角度:如何通过有效利用图拓扑结构信息结合现有的特征向量得到新的特征。基于图特征的表示学习,即图神经网络

​​​​​​图表示学习_第2张图片

3、基于图结构的表示学习

\qquad 类似于降维,传统降维不能保留图中结点之间的拓扑信息。保留拓扑信息,即在拓扑域中邻近 ⟺ \Longleftrightarrow 在向量域邻近。
\qquad 定义邻近的方法:共同出现(邻居关系)、高阶邻近(n-hop邻居)、团体邻近(属于某一团体)。
\qquad 现有算法都是围绕定义“邻近”和求解“邻近”来展开的。代表性算法:

\qquad (1)Deepwalk

  • 使用定长的随机游走去采样图中结点的邻近关系;
  • 结点 → \rightarrow 词语,随机游走序列 → \rightarrow 句子;
  • 使用自然语言处理相关模型对随机游走序列进行表示学习。

\qquad (2)Node2vec

  • 动机:简单的随机游走采样不够好(不能体现BFS/DFS性质)

  • 核心思想:等概率跳 → \rightarrow 人工设计概率来跳

\qquad (3)struc2vec

  • 动机:保留局部结构一致性
  • 核心思想:在原来的图上构建一个新图

\qquad (4)metapath2vec

  • 动机:异构图上存在不同类型的结点,这些结点不能等同看待,其间关系可能存在一些固定模式。

  • 核心思想:使用预定义的meta-path进行random walk。

4、基于图特征的表示学习

机器学习领域:更加关注如何利用图的拓扑结构生成新的结点特征。所有深度学习问题,都可以归纳为表示学习的问题。

(1)图神经网络的发展

图表示学习_第3张图片

(2)谱域上的图卷积

图表示学习_第4张图片

图表示学习_第5张图片
图表示学习_第6张图片
图表示学习_第7张图片
图表示学习_第8张图片

(3)谱域图卷积网络

图表示学习_第9张图片

图表示学习_第10张图片

注意局部化后,一个节点只影响它距离为K以内的邻居。

(4)ChebyNet

图表示学习_第11张图片

ChebyNet的贡献在于:基于切比雪夫多项式对原有的多项式卷积核进行处理,使其能够快速局部化。

(5)图卷积神经网络GCN

图表示学习_第12张图片

GCN来源于ChebyNet,只是对切比雪夫多项式进行了处理。

图表示学习_第13张图片

以上均是从谱域上来看图卷积,其核心思想就是:将在欧式空间的CNN拓展到谱域空间 → \rightarrow 图卷积

以下将从空域上讨论图神经网络

\qquad 注:空域就是时域,谱域讲的是频域。

图表示学习_第14张图片

\qquad 总结一下GCN:

  • 输入:邻接矩阵(节点数×节点数),特征矩阵(节点数×输入特征数)
  • 输出:新的特征矩阵(节点数×输出特征数)
  • 多层网络可以叠加
  • 空域上看:节点层面,节点自身特征和其邻域特征的聚合
  • 谱域上看:在谱空间中的图滤波操作

(6)消息传递网络MPNN–空域图神经网络的一般形式

图表示学习_第15张图片

  • 消息函数:整合邻接节点、目标节点以及它们之间的边,即 m v t + 1 m^{t+1}_v mvt+1
  • 消息与节点原来的状态进行更新 → \rightarrow 节点新的表示
  • 通过定义不同的消息函数和状态更新函数,即得到不同的图神经网络。

(7)GAT

图表示学习_第16张图片

(8)R-GCNs

图表示学习_第17张图片

(9) 图神经网络分类

图表示学习_第18张图片

5、GCN的缺点

图表示学习_第19张图片

图表示学习_第20张图片

图表示学习_第21张图片
图表示学习_第22张图片

(1)GCN的问题:过平滑

图表示学习_第23张图片

问题1:过平滑:GCN信息传递一定层之后,中心节点的信息不变。

  • 模型上的改进:

图表示学习_第24张图片

  • 训练方式上的改进:

图表示学习_第25张图片

(2) GCN问题:邻居爆炸

图表示学习_第26张图片
\qquad 解决方法:

1)GraphSAGE

图表示学习_第27张图片

2)FastGCN

图表示学习_第28张图片
图表示学习_第29张图片

FastGCN的缺点:层与层之间不相关;采样效率很低。

图表示学习_第30张图片

3)GraphSAINT

图表示学习_第31张图片

4)RS-GCN

图表示学习_第32张图片

6、池化

图表示学习_第33张图片

图表示学习_第34张图片

预处理方式:先对图进行聚类,Graclus
可学习方式:定义可学习的参数,AMG、DiffPool、Top-K Pooling

图表示学习_第35张图片

图表示学习_第36张图片

图表示学习_第37张图片

图表示学习_第38张图片

图表示学习_第39张图片
图表示学习_第40张图片

图表示学习_第41张图片

图表示学习_第42张图片

池化的动机:类似于CNN,对邻接节点或者相似节点进行一些聚合?

图表示学习_第43张图片

图表示学习_第44张图片

你可能感兴趣的:(图神经网络,学习,算法)