datawhale 图神经学习


目录

  • datawhale 图神经学习
  • 前言
  • Task00:学习目标与规则
  • Task01:简单图论与环境配置
  • 01.1:图的表示及属性
  • 01.2:图的种类
  • 01.3:图结构数据上的机器学习
  • 01.4:应用神经网络于图的挑战!




Task00:学习目标与规则

0:什么是图神经网络?

图是由节点和边组成的,如下图所示,数学中常使用邻接矩阵表示图,邻接矩阵中值为1表明两节点具有连接关系。

图神经网络输入输出分别是什么 图神经网络的输入_权重


这里的“图”是图论中的图数据结构,“神经网络”是我们熟悉的深度学习NN结构,如MLP,CNN,RNN等。图神经网络就是将图数据和神经网络进行结合,在图数据上面进行端对端的计算。

图神经网络输入输出分别是什么 图神经网络的输入_深度学习_02


直接在图上进行计算,整个计算的过程,沿着图的结构进行,这样处理的好处是能够很好的保留图的结构信息。

1:为什么要关注图深度学习?

  1. 来自现实世界的数据大部分为图的结构,因此可以作为图上的计算任务解决。
  2. 将深度学习与图连接起来,利用神经网络学习图特征。
  3. 将神经网络应用于图仍具有巨大挑战

2:学习要求:

  1. 掌握一定的深度学习基础、具备使用PyTorch实现深度学习项目能力
  2. 掌握理论部分、动手操作实践部分
  3. 但不要求掌握图论知识基础、过程中多调试代码、发现问题、解决问题

3:学习目标与内容:

  1. 图论与程序中图的操作:
    (1) 学习简单图论知识、了解常规图预测任务
    (2) 学习基于PyG包的图数据表示与使用
  2. 实现图神经网络的消息传递范式
    (1) 学习图神经网络消息传递范式
    (2) 学习PyG中消息传递的属性、方法、流程
    (3) 学习如何自定义一个消息传递图神经网络
  3. 节点表征学习与节点预测和边预测
    (1) 节点表征(Node Representation)学习
    (2) 学习基于图神经网络节点表征学习的一般过程 基于GCN与GAT,学习他们之间的差别
    (3) 构建一个数据全部存于内存的数据集类
    (4) 学习基于节点表征学习的图节点预测任务和边预测任务实践
  4. 超大图上节点表征学习
    (1) 在超大图上进行节点表征学习面临的挑战
    (2) 应对挑战的解决方法
    (3) 实践学习超大图节点预测任务
  5. 图表征学习与图预测
    (1) 学习基于图神经网络的图表征学习一般过程
    (2) 样本按需获取的数据集类的构造方法
    (3) 基于图表征学习图预测任务实践

Task01:简单图论与环境配置

本章详细参考了来自Datawhale 6月份学习的图神经网络2-简单图论 同时也参考 “Chapter2-Foundations of Graphs,Deep learning on Graphs”

具体细节可查看GitHub

01.1:图的表示及属性

1:首先明确图的规范定义与图的表示方法主要为:节点、边
节点和边的信息分为两类:类别型(label)、数值型(attribute)????

2:图的邻接矩阵:规定0,1。两节点关系为0则认为没有关系,为1则认为有关系。
定义无向图,无向图的邻接矩阵是对称的
定义无权图,各条边的权重等价,默认为1
定义有权图,各条边有权重 范围0~1,边不存在时为0

3:图的属性

节点的度(degree):vi节点的出度为从此节点出发的边的权重之和

邻接节点(neighbors):邻接节点和K跳远的节点(指倒vi节点需要走k步的节点)

行走(walk):walk(v1,v2)=(v1,e6,e5,e4…,v2),称为一次行走。行走时节点允许重复

图神经网络输入输出分别是什么 图神经网络的输入_权重_03


4:路径(path) :为节点不允许重复的“行走”

5:子图(subgraph): subgraph中的节点和边均属于graph,并且子图中的节点不包含新图中边未连接的节点。

6:连通分量(connected component):无向图的极大连通子图称为的连通分量( Connected Component)。任何连通图的连通分量只有一个,即是其自身,非连通的无向图有多个连通分量。

不连通的图G有两个或多个不相交的连通分量

图神经网络输入输出分别是什么 图神经网络的输入_连通分量_04


7:连通图:一个图只包含一个连通分量,即为自身,那么该图为一个连通图

8:最短路径:两节点路径中长度最短的路径

9:直径:所有节点对之间的最短路径的最大值

10:拉普拉斯矩阵:D是对角矩阵,对角线以外的元素为0。对角线上的元素是该节点的度,有权图的度为:所有与该节点相关联的边的权重之和;无权图的度为:与该节点相连的节点个数。

图神经网络输入输出分别是什么 图神经网络的输入_图神经网络输入输出分别是什么_05


有权图的拉普拉斯矩阵定义为:L=D-W。其中,D为对角矩阵,对角线上的元素为节点的权重之和;W为权重矩阵。无权图的拉普拉斯矩阵定义为:L=D-A。其中,D为对角矩阵,对角线上的元素为节点的邻居数;A为邻接矩阵。

图神经网络输入输出分别是什么 图神经网络的输入_连通分量_06


W在无向图中是对称矩阵,在有向图中是非对称矩阵。有向图的对角矩阵分为 出度矩阵 和 入度矩阵。举个栗子:无向无权图及拉普拉斯矩阵

图神经网络输入输出分别是什么 图神经网络的输入_深度学习_07


11:对称归一化拉普拉斯矩阵

图神经网络输入输出分别是什么 图神经网络的输入_权重_08

01.2:图的种类

1:同质图(Homogeneous Garaph):只有一种类型的节点和一种类型的边的图

2:异质图(Heterogeneous Garaph):存在多种节点和边

图神经网络输入输出分别是什么 图神经网络的输入_权重_09

01.3:图结构数据上的机器学习

01.4:应用神经网络于图的挑战!