Graph Convolutional Networks for Zeroshot Learning with
作者:禅与计算机程序设计艺术
1.简介
概要: 图卷积神经网络(Graph Convolutional Network, GCN)是一种基于图结构的数据特征提取方法。该技术能够从异构图数据中学习节点及其关联边的特征,并能在不同的情境下执行零样本分类任务。然而,在处理多种异构图数据分类任务方面表现卓越的是其扩展版本——图注意力网络(Graph Attention Network, GAT)。本文旨在结合GCN与GAT及其扩展变体GXN(Graph Extension Networks),深入探讨两者的差异与关联,并就GXN在处理异构图数据的应用提供理论指导。
1.1研究背景及意义
随着知识图谱、文本数据与图像数据等类型的异构图数据日益普及并被广泛应用于机器学习任务中,在处理这些异构图数据的过程中也面临着愈发复杂的挑战。研究者们致力于探索如何有效提取和利用这些异构图的数据信息来解决实际问题。GCN作为一种基于图结构的学习方法,在这一领域具有重要价值。它能够从节点及其关联关系中提取出相应的特征信息。然而由于不同节点类型之间的异质性限制了GCN对多种复杂场景的支持能力因此在这一领域的重要进展是Graph Attention Networks(GAT)。尽管如此在实际应用中仍面临诸多挑战需要进一步解决
本文将综合运用GCN架构与GAT机制及其扩展形式(Graph Extension Networks),深入探讨它们之间的差异与关联,并就GXN在异构图数据处理中的应用提供理论指导。首先介绍这些方法的核心特征;然后分析异构图环境下各类分类任务的独特性并提出相应的应对策略;最后整合现有研究基础构建一个统一的研究框架。通过我们的分析与实验结果展示该模型框架的有效性及其在提升性能方面的优势,并帮助读者更全面地掌握相关技术。
2.相关概念、术语和定义
(1)图
图是由顶点(vertex)和边(link)构成的一个实体。每个顶点都包含一个唯一的标识码(id),并可能带有属性信息(attribute)。这些边描述了顶点之间的关联关系(relation)。图模型被广泛应用于建模和分析复杂的物理系统或抽象结构(system)。例如,在社会网络分析、互联网架构研究以及医疗保健系统设计等领域都能见到其身影。
(2)异构图
异构图被称为具有不同节点类型和边类型的图。例如,在餐馆推荐系统中,客户节点与餐馆节点之间可能存在"喜欢"关系,并且这些关系可以在同一张异构图中进行建模。
(3)节点类型
节点类型表征了图中节点所属的分类或对象类型。即在疾病预测任务中,药品节点归类于药品类别,社交网络中的用户节点归类于用户类别。这些实例表明,节点类型可用来区分不同种类的对象。
(4)边类型
边类型表征了图中边的关系,如"喜欢"、"关注"或"通讯"等关系。它们用于区分不同实体之间的联系。
(5)图划分
图分割的任务是基于特定标准将所有的节点及其关联的边分配至多个子图中。其主要目标是降低计算复杂度,并通过提升模型在不同情况下的泛化能力来增强整体性能。常用的图分割方式有:
-
节点聚类划分法:将图中相似节点聚集到同一个子图;
-
模块划分法:将图划分为多个子图,每个子图代表一个模块;
层次划分法:称为层次划分法的是先按照由外及内的顺序进行递归分割以形成子图接着按照由内而外的顺序整合这些子图
图划分既能够降低计算复杂度,也能够增强模型的泛化能力。
(6)邻居
每个网络中的每一个体都具有其特定的相邻关系。这些相邻关系由该个体与其他个体之间存在的直接连接所共同构成。这种相邻关系不仅能够帮助我们理解个体之间的互动模式,并且能够通过拓扑特征提取出重要的网络属性信息
(7)节点划分
将所有节点按照某种规则进行分类或分组到多个子节点集合中,其目的是增强模型的泛化能力。常见的做法包括:
-
对称划分法:将所有的节点均匀划分到两部分;
-
分层划分法:将所有的节点划分到不同的层级中;
-
标签划分法:根据某个节点属性(label)将所有节点划分到若干子集合中。
节点划分既能够降低计算复杂度,也能够增强模型的泛化能力。
(8)节点采样
其本质是基于随机选择一些节点来进行操作,并通过这种方式来降低模型复杂度。常用的节点采样方法包括:
其本质是基于随机选择一些节点来进行操作,并通过这种方式来降低模型复杂度。常用的节点采样方法包括:
-
无放回采样法:每次只采样一次节点;
-
有放回采样法:每次可以采样到任意节点;
-
混洗游走法:每次随机游走或贪婪采样一些节点,逼近真实分布。
节点采样既能够降低计算复杂度,也能够增强模型的泛化能力。
(9)特征提取
特征提取主要涉及将图或节点的输入数据转化为高维实数向量表示和概率分布模型。在图学习中,特征提取被视为核心技术之一。常用的特征提取方法包括:
-
顶点特征提取:将图节点的属性映射到节点的特征向量中;
-
邻接矩阵特征提取:根据图的邻接矩阵生成特征向量;
-
网络嵌入特征提取:通过学习图的结构和特征信息生成节点的嵌入向量。
(10)分类器
分类器是一种映射函数,在图论中被用来将图中的每个节点分配到特定类别中或判断节点间是否存在某种关联。常见的分类方法包括:
-
分类树:将图中的节点划分到不同的类别,然后训练各自的分类树;
-
正则化线性模型:采用正则化技术,拟合异构图的数据,得到全局最优解;
-
图神经网络是一种构建深度学习模型的方法。它通过模拟图结构及其相关特征来完成任务。这种技术不仅能够对节点进行分类,
还能用来预测边的存在及其权重
3.GCN基本原理和算法流程
(1)GCN概览
图卷积网络(Graph Convolutional Network)别称为图神经网络的一种基础模型,在该领域具有重要地位。该模型的主要功能包括节点特征提取、邻接关系建模以及全局信息融合等方面。
-
模型简单,容易训练,计算效率高,适应多种异构图数据;
-
使用注意力机制来加强特征融合,能够处理不同大小的图数据;
-
提出了多个子网络结构,能够学习到节点的不同特征。
GCN的算法流程如下图所示:
GCN的核心概念在于通过卷积核对图数据中的特征进行提取,并逐步学习节点表征以获取全局特征信息。其独特的设计使得每个节点在整个操作过程中采用统一滤波器来进行处理,在这种机制下各节点能够有效捕捉到自身及其邻居节点的信息特征。与传统的深度学习模型相比,在这里我们特别指出目前该方法尚未充分考虑输入数据中隐含的时间维度特征,并且始终专注于静态图数据的学习。
(2)GCN公式推导
GCN的公式推导过程对于理解其机制而言具有较高的复杂性。在本节中我们将重点围绕图卷积网络结构展开分析以深入探讨其关键组成部分即卷积核与激活函数的具体定义及其作用机制。
(2.1)卷积核定义
假设图G=(V,E)的节点特征矩阵为X\in \mathbb{R}^{N\times F},其中N为节点个数,F为每个节点的特征向量长度。卷积核\Theta \in \mathbb{R}^{K \times F}\times \mathbb{R}^K,其中K为输出通道数,即卷积后每个节点的特征向量长度。卷积核\Theta_l与节点特征矩阵X的乘积称为卷积核 l 的输出特征矩阵 Z^l 。
(2.2)激活函数定义
该激活函数σ的功能是将卷积核l的输出特征矩阵Z^l中的每个元素数值映射至从负无穷到正无穷的范围内。常见的激活函数包括:
-
ReLU激活函数:
-
LeakyReLU激活函数:
其中,\alpha 为LeakyReLU的负调制参数,通常取\alpha=\frac{1}{2}。
- Sigmoid激活函数:
(2.3)Pooling层
Pooling层用于缩小图的空间尺寸。常用的Pooling层有:
- Max Pooling:
其中,在这里定义了一个变量 k 作为滑动窗口大小参数。变量 Z^{l}_{ik} 被定义为该层第 i 号节点通过卷积操作于其前面 k 个邻居节点得到的结果。而 i' 则表示该层中某一个特定节点所对应的其后面的 k- 邻居点位置的具体数值
- Mean Pooling:
(2.4)GCN完整流程
完整的GCN模型的训练、测试、预测流程如下图所示:
4.GAT基本原理和算法流程
(1)GAT概览
图注意力网络(Graph Attention Network, GAT)是图卷积网络(Graph Convolutional Network, GCN)的一种衍生模型。该框架的核心优势体现在以下几个方面:
借助注意力机制优化不同节点间的连接关系,并能够应对不同规模与类型的图数据
-
提出了多个子网络结构,能够学习到节点的不同特征,增加模型的鲁棒性;
-
支持将外部信息引入到GAT模型中,能够对图数据进行多种形式的表达。
GAT的算法流程如下图所示:
基于GCN框架之上加入了一种新型注意力机制,在各节点的特征学习过程中整合了其邻接点信息
(2)GAT公式推导
GAT的推导过程较为复杂。为了深入理解其工作原理,我们可以从第一层注意力头的计算过程入手,并对其定义与功能进行详细阐述。
(2.1)节点特征计算
假设图结构由顶点集合V和边集合E组成,则其对应的节点特征矩阵X属于实数域上的矩阵空间\mathbb{R}^{N\times F}。在这里面变量N代表的是图中总的顶点数量;而F则指的是每个顶点所对应的特征向量维度。
随后,在线性变换过程中,
原始的节点特征矩阵X通过与权重参数W相乘的方式生成新的嵌入表示形式即XW∈ℝ^{N×K},
其中K值代表的是系统中所采用的隐藏层单元数量。
接着,在构建图的二阶邻接关系时,
则需要将原始的一阶信息进一步扩展和融合。
其中,I 为单位阵。
(2.2)Attention Mechanism定义
Attention Mechanism用于计算节点对之间的注意力,定义如下:
其中注意力权重 e_{ij} 定义为节点i与j之间的关联度;其线性变换结果h_i = W h_i^{原} 代表了经过处理后的特征向量;而加权向量表示为 W h_i = \sum w_k h_k^{(k)}. 其中权重矩阵 W \in \mathbb{R}^{\hat{K}\times K} 定义了注意力机制的核心参数。其计算结果可视为衡量节点i与j之间紧密联系的重要指标。
(2.3)Softmax层定义
softmax层用于计算节点对之间的注意力分布,定义如下:
其中,a_{ij} 定义为节点i与其邻居j之间的注意力权重分布;而N(i) 则表示节点i的所有邻居集合。
(2.4)节点特征更新
最后,通过注意力分布对节点特征矩阵进行更新,定义如下:
其中,
\tilde{A}_i 表示经过更新后的节点特征矩阵;
a_i 代表节点i处的注意力分布;
W_o∈R^{K\hat{K}} 为更新参数;
\bar{A}_i 代表原始节点特征矩阵。
(2.5)GAT完整流程
完整的GAT模型的训练、测试、预测流程如下图所示:
5.GXN基本原理和算法流程
(1)GXN概览
GXN的缩略形式被称为图扩展网络(Graph Extension Network),它整合了GCN与GAT的核心特性。该方法通过巧妙地将GCN与GAT的优势相结合,在构建过程中实现了性能上的显著提升。
-
使用图的全局、局部和不同领域信息,能够捕捉到异构图数据的丰富特性;
-
在多个子网络结构下学习到节点的不同特征,有效提升模型的表达能力;
-
通过子图分割来增加模型的鲁棒性和泛化能力。
GXN的算法流程如下图所示:
GXN通过融合GCN和GAT的优势,在提出了一种创新性子图划分方法的基础上显著提升了模型的表现能力。其具体实施路径包含:
-
节点聚类划分法:将图中相似节点聚集到同一个子图;
-
模块划分法:将图划分为多个子图,每个子图代表一个模块;
层次划分策略:首先按照由外及内的顺序逐步划分子图,然后按照由内而外的方式逐步合并这些子图.
子图分割有助于处理异构图数据的复杂性,并提升模型的泛化能力。
(2)GXN公式推导
该方法涉及的公式推导较为复杂。我们采用子图G^l的结构分配与层次聚类划分法作为实例,系统阐述了在GXN框架中如何实现子图结构分配与层次聚类划分的过程。
(2.1)子图结构分配
设给定一张无向连通图 G = (V, E)。为了便于分析与处理,在实际应用中我们通常将其划分为若干个互不重叠的子graph \{G^1, G^2, \dots, G^L\} 进行研究。其中每个subgraph均拥有独立的nodeset V^l" 和 "edge set $E^l"。所采用的nodes partitioning strategies包括:
-
无放回采样法:每个子图G^l中的节点数目与整张图的平均节点数一致;
-
有放回采样法:允许某些节点出现在子图G^l中多次;
-
混洗游走法:每一次游走都要包含子图G^l的所有节点。
(2.2)子图层次聚类划分
假设存在L个子图G^1,\cdots,G^L。我们的目标是将这些子图分配至多个层级,并通过这种方式充分利用每个子图中的数据。层次聚类的具体方法包括:
-
小世界性质:各层子图之间都存在着较大的边重叠;
-
子图划分稳定性:不同层级子图不会因划分而发生变化。
(2.3)GXN完整流程
完整的GXN模型的训练、测试、预测流程如下图所示:
6.GXN在异构图数据上的应用
(1)节点类型分类任务
该任务涉及将图G中的节点划分为不同类别。为了实现这一目标,在构建一个包含多种节点类型的异构图中(其中属性l_i与对应的顶点v_i类型相关联),我们需要确保每个顶点被准确地归类到其所属类别中。通过这种结构化的方式,在每个子集内仅包含相同类型的顶点,并对这些子集分别应用GXN模型来提取特征表示。最终通过全局分类器对各子集进行分类处理,并综合所有结果得到整个图中的所有节点类别标签集合\{y_1, y_2, \dots, y_n\}。然而这种方法的主要缺陷在于所提取的特征维度较高,在处理复杂性较高的多模态数据时可能会导致性能下降
(2)多种异构图数据上的关系预测任务
基于多种异构图数据的关系预测任务同样体现了GNN在该领域的应用。假设我们面对一个基于多种异构图数据的关系预测任务,则要求模型能够从给定的图G中推断出节点间的关系R。具体而言,在这一任务中,我们将原始图G划分为多个子图G^1,\cdots,G^L,每个子图仅包含特定节点类型。对于任意两个子图G^l_i和G^l_j之间存在连接边的情况,则认为这两个子图之间存在对应关系。通过图注意力机制提取各子图的特征表示f^l(G^l)后,在将各子图特征表示融合形成整体特征表示f(G)的基础上,在任意两点间建立连接并计算其关系函数f(G)(u,v)与权重值w^l_{ij}(G^l_i,G^l_j)之间的关系函数得到分数s(u,v)最后将所有子graph对应的分数进行求和得到全局预测分数作为最终结果这一方法的优势在于其设计能够有效地处理不同subgraph间的复杂关系同时保证了subgraph表示学习的成本较低从而实现了较高的预测准确性然而这种设计也带来了相应的局限性即所获得的feature维度较为庞大导致难以充分捕捉异构graph数据间的多样性
(3)序列数据上的序列聚类任务
考虑一个基于时间步状态的序列数据集,在其中模型旨在通过分析状态之间的联系来识别潜在的模式。为了实现这一目标,我们可以构建一个异构图结构:每个节点表示时间步的状态信息,并通过连接表示不同时间点状态间的相互作用关系。这些节点被划分为多个子图集合,每个子图对应于同一类别内的所有状态节点。在此基础上,在每个子图中分别运用GXN模型提取特征向量作为子图的表征,并将这些特征向量输入全局聚类器进行计算处理。最终可以获得整个序列的状态分布及其对应的类别标签。这种方法的优势在于能够有效地处理不同子图带来的复杂性挑战,并且通过降低每一步骤的学习难度来降低整体计算成本;然而其缺点在于需要处理较大的特征维度空间以捕捉复杂的时序关系特性。
