图神经网络架构全面解析:GCN、GAT与MPNN详解
传统数据表示与图数据
传统深度学习应用中的数据集通常表示在欧几里得空间中。然而,近年来有越来越多的非欧几里得数据被表示为图。为此,图神经网络(GNNs)致力于将深度学习技术应用于图数据。术语GNN通常指代多种不同的算法,而非单一架构。
图基本原理与符号表示
图由一组节点和一组边组成。节点和边都可以具有一组特征。节点的特征向量表示为,其中是节点的索引。边的特征向量表示为,其中、是边连接的节点。
图可以是有向的、无向的、加权的和非加权的。因此,每种架构可能仅适用于特定类型的图或所有类型的图。
图卷积基本原理
大多数GNN架构的基本思想是图卷积。本质上,我们试图将卷积的概念推广到图中。图可以看作是图像的泛化,其中每个节点对应一个像素,连接到8个(或4个)相邻邻居。
图卷积将下一层节点的特征预测为其邻居特征的函数。它将节点的特征转换为潜在空间,可用于多种目的:
图神经网络应用类别
节点分类
通过对每个潜在向量应用共享函数,我们可以对每个节点进行预测:
边分类
通常需要相邻节点向量以及边特征(如果存在):
图分类
通过聚合所有节点特征并应用适当的函数来预测整个图的属性:
聚合通常是一个置换不变函数,如求和、均值操作、池化操作甚至是可训练的线性层。
归纳学习与转导学习
在转导学习中,模型已经遇到训练和测试输入数据。在我们的案例中,这些是大型图的节点,我们想要预测节点标签。如果向图中添加新节点,需要重新训练模型。
在归纳学习中,模型仅看到训练数据。因此生成的模型将用于预测未见数据的图标签。
谱方法
谱方法处理图在谱域中的表示。这些方法基于图信号处理,并使用傅里叶变换在谱域中定义卷积算子。
图信号首先通过图傅里叶变换变换到谱域:
是由的特征向量定义的矩阵,其中。是包含图特征值的对角矩阵。
卷积操作定义为:
是归一化图拉普拉斯矩阵,构造如下:
是谱域中的滤波器,是度矩阵,是图的邻接矩阵。
谱网络
谱网络将谱域中的滤波器简化为对角矩阵,其中是网络的可学习参数。
ChebNets
ChebNets提出任何向量的特征表示应仅受其k跳邻域的影响。使用K阶切比雪夫展开,可以定义K局部卷积,用于形成卷积神经网络。
图卷积网络(GCN)
图卷积网络是GNN文献中引用最多的论文,也是实际应用中最常用的架构。在GCN中,ChebNets中提出的K局部卷积被简化为。
他们提出了以下更改:
-
通过将单位矩阵添加到邻接矩阵来强制执行自连接:
-
使用拉普拉斯矩阵的对称归一化:
-
使用重新归一化技巧解决梯度爆炸/消失问题:
如果是特征矩阵,是可训练权重矩阵,则GCN层的更新规则变为:
从节点角度,更新规则可以写为: 其中,和是节点邻域的大小。
空间方法
空间方法直接基于图拓扑在图上定义卷积。它们通常遵循相同的模式:
- 节点的特征向量使用某种投影进行变换
- 通过置换不变函数进行聚合
- 基于当前值和聚合的邻域表示更新每个节点的特征向量
消息传递神经网络(MPNN)
消息传递神经网络利用GNN中的消息概念。消息可以跨边和发送,并使用消息函数计算。
对于具有边特征的两个节点和:
所有到达每个节点的消息然后使用置换不变函数(如求和)进行聚合。聚合表示然后通过与现有节点特征组合,产生更新的节点特征向量:
图注意力网络(GAT)
GAT的主要思想是隐式而非显式地计算该系数。这样我们可以使用除图结构之外的更多信息来确定每个节点的"重要性"。
GAT背后的作者提出,系数(从现在开始表示为)应该基于节点特征计算,然后传递到注意力函数。最后,softmax函数应用于注意力权重,产生概率分布:
更新规则现在形成如下:
采样方法
大多数GNN架构的一个主要缺点是可扩展性。通常,每个节点的特征向量取决于其整个邻域。对于具有大邻域的巨型图,这可能非常低效。为解决此问题,已纳入采样模块。采样模块的主要思想是,我们可以使用邻域信息的子集进行传播,而不是使用所有邻域信息。
GraphSage
GraphSage通过提出以下框架推广了这一思想:
- 从邻域中均匀采样一组节点
- 从采样邻居聚合特征信息
- 基于聚合,我们执行图分类或节点分类
在每一层,我们扩展邻域深度,导致采样跳远的节点特征。这与增加经典卷积网络的感受野类似。
PinSAGE
PinSAGE是GraphSAGE的直接延续,是最流行的GNN应用之一。PinSAGE基本上是应用于非常大的图(30亿节点和180亿边)的GraphSAGE。
主要原则:
- 使用随机游走定义节点的邻域
- 使用"重要性采样"执行聚合
- 模型在基于用户历史参与的数据集上以监督方式进行训练
动态图
动态图是其结构随时间不断变化的图。这包括可以添加、修改和删除的节点和边。示例包括社交网络、金融交易等。动态图可以表示为改变图结构的时间戳事件的有序列表或流。
时序图网络(TGN)
最有前途的架构是时序图网络。由于动态图表示为时间列表,节点的邻域随时间变化。在每个时间,我们可以获取图的快照。特定时间的邻域称为时序邻域。
TGN的主要组件是产生节点嵌入的GAT网络。GAT模块以两种形式接收信息:
- 特定时间时序邻域的节点特征
- 节点的记忆:节点记忆是节点过去交互的紧凑表示
结论
GNN是一个非常活跃的新研究领域,具有巨大的潜力,因为在现实应用中有许多数据集可以构造为图。