b站李沐GNN论文解读

图神经网络(GNN) 理解

一、什么是图

图(graph) 就是表示一些 实体(entity) 之间关系的一种数据结构,实体在图中用 节点(nodes) 表示,它们之间的关系用 边(edges) 表示。其中,节点用 V 来表示,边用 **E ** 来表示,全局图用 U 来表示

为了进一步描述图,我们在图中各个部分存储一些信息。每个节点用一个长度为n的向量来表示,每条边用长度为m的向量来表示,全局图用长度为t的向量表示,在Fig1中,(n,m,t)=(6,8,5)。

在这里插入图片描述

二、如何将数据(data)表示成图(graph)

  • 我们将每一个像素(pixel)映射为图(graph)中的一个节点,相邻像素之间视为有连接关系,这种连接关系映射为图(graph)中的一条边。这种映射关系可通过一个邻接矩阵(adjacency matrix)来表示,如图中所示,横轴和纵轴均为像素的标号,两个像素之间存在连接关系时便标为蓝色。

在这里插入图片描述

  • 有一句话,包含这几个单词:Graphs are all around us。可以用下面的方式表示成一个图。

    每个单词表示一个顶点,相邻的两个单词之间会有一条边相连,因为是有向图,所以邻接矩阵不对称。

在这里插入图片描述

三、对数据表示成图可以定什么问题

1、图层面的任务

将图进行分类,比如哪个有一个环、哪个有两个环,这种任务编程转一圈就可以实现。

在这里插入图片描述

2、顶点层面的任务

空手道例子,有两个老师,其余都是学生,两个老师打架了,那么学生都是站在老师A这边,还是老师B这边。
在这里插入图片描述

3、边级层面的任务

语意分割将图片分割,然后去学习边之间的属性,并预测边的属性。

在这里插入图片描述
在这里插入图片描述

四、在机器学习中使用图(graph)的挑战

1、节点比较多,邻接矩阵很大,而且是个稀疏矩阵,用在GPU上计算一个是一个难题。

2、节点交换顺序,邻接矩阵形状变化,但是要保证神经网络输出的结果保持一致。

在这里插入图片描述

一种高效表示稀疏矩阵的方法是使用邻接列表(adjacency list)。如图所示,该图共有8个节点,为了方便,每个节点用一个标量值进行表示,每条边也用一个标量值表示。邻接列表的长度和边的个数相同,列表中每一个元素表示的是一条边的两个节点的标号。值得注意的是,邻接列表中元素的顺序,与edges中元素的顺序是一致的。(大概理解,不知道怎么运用)

在这里插入图片描述

五、图神经网络(Graph Neural Network, GNN)

3种数据经过3个MLP,只对属性变换,图的结构没有变换
在这里插入图片描述

有一种特殊情况是节点没有向量信息,但是边都具有向量信息,如果仍然要对节点做预测,就要采用一种称为**汇聚”(pooling)**的技术。

在这里插入图片描述

对于没有节点信息的二分类任务,其处理流程如下图所示。

GNN图:

缺点:这样3个MLP并没有输入图的结构信息,没有给网络哪个顶点和哪个边之间连接。

六、对GNN层进行优化

在每一层GNN层中加入Pooling,让相邻顶点、边、以及全局信息之间进行信息传递

在这里插入图片描述

将加入了消息传递 的GNN 层堆叠在一起,一个顶点最终可以整合来自整个图的信息:在三层之后,一个顶点拥有离它三步距离的顶点的信息。我们将优化后的GNN模型用图来表示

在这里插入图片描述

为了让GNN网络能更好的对图进行预测,提取出图中更加丰富的特征信息,我们不局限于在相邻顶点之间进行消息传递,顶点和边之间,边和边之间,顶点和全局信息之间,以及边和全局信息之间都可以进行消息传递。

在这里插入图片描述

交换传递
在这里插入图片描述

可以设想一个虚拟的点和所有顶点和边相连,汇聚也可以是拼接

为此提出master node(一个虚拟的顶点,它和图中所有的顶点和边虚拟地连接),这个顶点的embedding就是全局信息U。

在顶点信息传递给边的时候,也会把U一起传递,把边信息传递给顶点的时候,也会把U一起传递;然后更新边和顶点后,将边和顶点的信息一起汇聚给U,之后做MLP更新。

在这里插入图片描述

总的来说,GNN 就是做了这么一件事情:利用图的节点信息去生成节点(图)的 Embedding 表示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值