经典论文之(四)——GNN

简介

《A Gentle Introduction to Graph Neural Networks》——图神经网络简介。神经网络已经适应了利用图的结构和属性。图神经网络探索了构建图神经网络所需的组件,并激发了它们背后的设计选择。
在这里插入图片描述
图无处不在;现实世界的对象通常根据它们与其他事物的联系来定义。一组对象以及它们之间的联系自然地表示为图形。十多年来,研究人员已经开发了对图数据进行操作的神经网络(称为图神经网络或GNN)。最近的发展提高了它们的能力和表现力。我们开始看到在抗菌发现、物理模拟、假新闻检测、流量预测和推荐系统等领域的实际应用。

本文探讨并解释了现代图神经网络。我们将这项工作分为四个部分。
第一,我们看看哪种数据最自然地表述为图,以及一些常见的例子。
第二,我们探讨了是什么让图形与其他类型的数据不同,以及我们在使用图形时必须做出的一些专门选择。
第三,我们构建一个现代GNN,遍历模型的每个部分,从该领域的历史建模创新开始。我们逐渐从基本的实现转向最先进的GNN模型。
第四,也是最后一点,我们提供了一个GNN游乐场,你可以在其中玩一个真实的任务和数据集,以建立对GNN模型的每个组成部分如何贡献它所做的预测的更强的直觉。

图的介绍

什么是图

表示实体(节点)集合之间的关系(边)。
在这里插入图片描述
**加粗样式**
在这里插入图片描述
此外,还可以通过将方向性与边(有向、无向)相关联来专门化图
在这里插入图片描述

可以在哪找到图

您可能已经熟悉某些类型的图形数据,例如社交网络。但是,图形是一种非常强大和通用的数据表示形式,我们将展示两种您可能认为无法建模为图形的数据:图像和文本。虽然有悖常理,但可以通过将图像和文本视为图形来更多地了解图像和文本的对称性和结构,并建立一种直觉,这将有助于理解其他不太像网格的图形数据,我们将在后面讨论

以图形形式显示的图像

我们通常将图像视为具有图像通道的矩形网格,将它们表示为数组(例如,244x244x3 浮点数)。另一种将图像视为具有规则结构的图形,其中每个像素代表一个节点,并通过边缘连接到相邻像素。每个非边界像素正好有 8 个相邻像素,存储在每个节点上的信息是表示像素 RGB 值的 3 维向量。

可视化图形连通性的一种方法是通过其邻接矩阵。我们对节点进行排序,在本例中,每个节点在一个简单的 5x5 笑脸图像中每个 25 个像素,如果两个节点共享一条边,则用一个条目填充 n n o d e s × n n o d e s n_{nodes} \times n_{nodes} nnodes×nnodes 的矩阵。请注意,以下这三种表示形式中的每一个都是同一数据的不同视图。
在这里插入图片描述

文本作为图形

我们可以通过将索引与每个字符、单词或标记相关联,并将文本表示为这些索引的序列来数字化文本。这将创建一个简单的有向图,其中每个字符或索引都是一个节点,并通过边连接到其后面的节点。.
在这里插入图片描述

图结构化数据存在哪些问题

我们已经描述了一些野外图形的例子,但是我们想对这些数据执行什么任务呢?图上的预测任务一般有三种类型:图级、节点级和边缘级

对于上述三个级别的预测问题(图形级、节点级和边缘级),我们将证明以下所有问题都可以用单个模型类 GNN 来解决。但首先,让我们更详细地浏览一下这三类图预测问题,并提供每类问题的具体示例。

图形任务

在图形级任务中,我们的目标是预测整个图形的属性。例如,对于表示为图形的分子,我们可能想要预测该分子闻起来是什么味道,或者它是否会与与疾病有关的受体结合。

在这里插入图片描述

顶点级任务

节点级任务涉及预测图中每个节点的身份或角色。

节点级预测问题的一个典型例子是扎克的空手道俱乐部。该数据集是一个单一的社交网络图,由在政治裂痕后宣誓效忠两个空手道俱乐部之一的个人组成。随着故事的发展,Hi 先生(教练)和 John H(管理员)之间的不和在空手道俱乐部中造成了分裂。节点代表单个空手道练习者,边缘代表空手道之外这些成员之间的互动。预测问题是对给定成员在争执后是否忠于Hi先生或John H进行分类。在这种情况下,节点与教师或管理员之间的距离与此标签高度相关。

在这里插入图片描述

边级别任务

图中剩下的预测问题是边缘预测。

边缘级推理的一个例子是图像场景理解。除了识别图像中的对象外,深度学习模型还可用于预测它们之间的关系。我们可以将其表述为边缘级分类:给定表示图像中对象的节点,我们希望预测这些节点中哪些共享一条边或该边的值是多少。如果我们希望发现实体之间的联系,我们可以认为图是完全连接的,并根据它们的预测值修剪边缘以得出稀疏图

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

在机器学习中使用图形的挑战

机器学习模型通常采用矩形或网格状数组作为输入。因此,如何以与深度学习兼容的格式表示它们并不直观。图形最多有四种类型的信息,我们可能希望使用这些信息来进行预测:节点、边缘、全局上下文和连通性。前三个相对简单:例如,对于节点,我们可以通过为每个节点分配一个索引 i i i 并将 n o d e i node_i nodei 的特征存储在 N N N 中来形成节点特征矩阵 N N N。虽然这些矩阵的样本数量不定,但无需任何特殊技术即可对其进行处理。

表示稀疏矩阵的一种优雅且节省内存的方法是一种邻接列表。它们将节点 n i n_i ni n j n_j nj 之间的边缘 e k e_k ek 的连通性描述为邻接列表第 k 个条目中的元组 (i,j)。由于我们期望边的数量远低于邻接矩阵的条目数 ( n n o d e s 2 n_{nodes}^2 nnodes2),因此我们避免了对图的不连接部分进行计算和存储。

在这里插入图片描述

图神经网络

现在,图的描述采用排列不变的矩阵格式,我们将描述使用图神经网络 (GNN) 来解决图预测任务。**GNN 是对图的所有属性(节点、边、全局上下文)的可优化转换,它保留了图的对称性(排列不变性)。我们将使用 Gilmer 等人提出的“消息传递神经网络”**框架构建 GNN,并使用 Battaglia 等人介绍的图网络架构原理图。 GNN 采用“图输入,图输出”架构,这意味着这些模型类型接受图作为输入,将信息加载到其节点、边缘和全局上下文中,并逐步转换这些嵌入, 而不更改输入图的连通性。

最简单的GNN

通过我们上面构建的图形的数值表示(使用向量而不是标量),我们现在已准备好构建 GNN。我们将从最简单的 GNN 架构开始,在这个架构中,我们学习了所有图属性(节点、边、全局)的新嵌入,但我们还没有使用图的连通性。

**这个GNN在图的每个组成部分上使用一个单独的多层感知器(MLP)(**或你最喜欢的可微模型);我们称之为GNN层。对于每个节点向量,我们应用 MLP 并返回一个学习到的节点向量。我们对每条边都做同样的事情,学习每条边的嵌入,也对全局上下文向量做同样的事情,学习整个图的单个嵌入。

在这里插入图片描述

在这里插入图片描述
现在我们已经证明了我们可以构建一个简单的GNN模型,并通过在图形的不同部分之间路由信息来进行二元预测。这种池化技术将作为构建更复杂的GNN模型的构建块。如果我们有新的图形属性,我们只需要定义如何将信息从一个属性传递到另一个属性。

请注意,在这个最简单的 GNN 公式中,我们根本没有在 GNN 层内使用图的连通性。每个节点都是独立处理的,每个边以及全局上下文也是如此。我们仅在汇集信息进行预测时才使用连通性。

参考

参考文献:https://distill.pub/2021/gnn-intro/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值