图的基础知识
理解图的基本概念、图的表示方法及其形式化定义。
在本节课中,我们将探讨图神经网络(Graph Neural Networks)以及图卷积(Graph Convolutions)。图是一种对具有内在结构的数据极为通用的表示形式。
理解图的一个最直观的方式是从图像开始。
为什么?
因为图像是高度结构化的数据。其组成部分(像素)以一种有意义的方式排列。如果你改变了像素的排列方式,图像就会失去原有的含义。此外,图像具有非常明确的局部性概念。
如你所见,像素被组织成一个网格,这就是图像的结构。由于结构至关重要,因此设计滤波器来聚合邻域像素的表示是合理的,这些滤波器就是卷积操作。
像素还具有一种(灰度)或多种强度通道。一般来说,每个像素都有一个描述它的特征向量,因此这些通道的强度可以被视为图像的信号。
我们通常不会以这种预先定义的方式来思考图像,是因为结构和信号(特征)的表示在图像中是融合在一起的。
理解图的关键在于:将结构与信号(特征)进行分离,这种解耦正是图模型强大能力的核心所在。
分离特征(信号)与结构
正如我们在Transformer课程中看到的,自然语言也可以分解为信号和结构。其中,结构指的是词语的顺序,这隐含了语法和句法上下文。以下是一个示例:
此时,特征是一组词嵌入(word embeddings),而顺序信息则通过位置编码(positional embeddings)来表达。
图并无不同:它们同样是将结构与信号(特征)信息解耦后的数据表示形式。
可用图建模的真实世界信号
只要你能明确定义这两种表示——结构与信号,就可以用图来建模几乎任何事物。形式上,词语或像素都可以简单地表示为节点,记作 。连接关系或结构则由一个 的矩阵定义,即所谓的邻接矩阵(Adjacency Matrix)。矩阵 中的元素 表示节点 是否与节点 相连。
每个节点的信号可表示为 ,其中 是特征数量。例如,一幅RGB图像有 个特征,而一个词的特征数则是其嵌入向量的维度。
基于此,我们可以用图来表示功能医学影像中的脑网络、社交网络、点云,甚至分子和蛋白质结构。
上图中,连接关系显示为二值形式,这是最常见的表示方法,但也可以是非二值的。
需要说明的是,点云只是空间中一组数据点的集合,这些点可以表示一个三维物体,比如我们刚才看到的桌子。
注意,图中邻接矩阵 的对角线元素显示为1,这在图神经网络中很常见,主要是为了训练稳定性。但在一般情况下,对角线为0,表示节点没有自连接。
有了上述基础后,接下来我们就可以开始理解一些相关的数学原理了。