图神经网络 (GNN) 的工作原理:从头开始介绍图卷积

从零开始使用图神经网络,并在 Pytorch 中实现图卷积层

来源:AI夏令营

在本教程中,我们将探索图神经网络和图卷积。图是具有内在结构的数据的超级通用表示。我将为该领域的初学者澄清一些模糊概念。

图是具有内在结构的数据的超级通用表示

最直观的图过渡是从图像开始。

为什么?

因为图像是高度结构化的数据。它们的组件(像素)以有意义的方式排列。如果更改像素的结构方式,图像将失去其意义。此外,图像具有非常强的局部性概念。

高度结构化 局部性

作者提供的图片。位置:希腊埃维亚岛

作者提供的图片。位置:希腊埃维亚岛

如您所见,像素排列成网格,这是图像的结构。由于结构很重要,因此设计过滤器以对像素邻域的表示进行分组是有意义的,这就是卷积!

结构

像素还具有一个或多个强度通道。在一般形式中,每个像素都有一个描述它的特征向量。因此,通道强度可以被视为图像的信号。

信号

我们不以预先描述的方式考虑图像的原因是结构和信号(特征)的表示被合并在一起。

理解图的关键概念是结构和信号(特征)的分解,这使它们成为如此强大和通用的方法。

代码:本文附有 colab 笔记本。

代码:本文附有 colab 笔记本。

笔记本

分解特征(信号)和结构

正如我们在 Transformers 中看到的,自然语言也可以分解为信号和结构。结构是单词的顺序,它暗示了句法和语法上下文。这是一个说明性示例:

Transformers

作者图片

作者图片

现在,特征将是一组词嵌入,顺序将在位置嵌入中编码。

位置嵌入 NNN NNN NN NN NN N N N N N N N×N > N × N