基于图神经网络的异构图表示学习:元路径引导的邻居采样与节点嵌入聚合过程
题目描述
在图表示学习中,许多现实世界网络(如学术网络、社交网络)由多种类型的节点和边组成,称为“异构图”。例如,学术网络包含“作者”、“论文”、“会议”等节点类型,边表示“撰写”、“发表于”等关系。传统图神经网络(如GCN)假设图为同构(节点和边类型单一),无法有效建模异构结构。本题目要求讲解一种基于元路径的异构图神经网络(如HAN或Metapath2Vec)的核心原理,重点阐述元路径定义、元路径引导的邻居采样、节点特征聚合这一完整流程,说明如何从异构图中学习有意义的节点嵌入。
解题过程
步骤1:理解异构图的定义与元路径概念
-
异构图(Heterogeneous Graph)定义
异构图表示为 \(G = (V, E, T, R)\),其中:- \(V\):节点集合,每个节点 \(v \in V\) 属于一个节点类型 \(\phi(v) \in T\)。
- \(E\):边集合,每条边 \(e \in E\) 属于一个关系类型 \(\psi(e) \in R\)。
- 示例:学术图中,\(T = \{作者, 论文, 会议\}\),\(R = \{撰写, 发表于\}\)。
-
元路径(Meta-path)定义
元路径是连接两个节点类型的一系列关系组合,形式为 \(T_1 \xrightarrow{R_1} T_2 \xrightarrow{R_2} \dots \xrightarrow{R_l} T_{l+1}\),表示一种高阶语义关系。- 示例:在学术图中,“作者-论文-作者”(APA)表示作者间的合作关系;“作者-论文-会议-论文-作者”(APCPA)表示作者在同一会议发表论文。
元路径定义了节点间的高阶邻居关系,是处理异构信息的关键。
步骤2:元路径引导的邻居采样
在异构图神经网络中,由于节点类型和关系多样,直接聚合所有邻居会导致语义混淆。元路径用于指导邻居采样,确保聚合的邻居在特定语义下相关。
-
选择一组元路径
根据领域知识定义一组元路径集合 \(P = \{P_1, P_2, \dots, P_M\}\)。例如:- \(P_1 = APA\)(合作作者关系)。
- \(P_2 = APCPA\)(会议共现关系)。
-
基于元路径的随机游走采样
对每个节点 \(v\),沿每条元路径 \(P_m\) 执行随机游走,生成节点序列。- 以元路径 APA 为例:从作者 \(A_1\) 出发,随机选择其撰写的论文 \(P_1\),再随机选择 \(P_1\) 的另一作者 \(A_2\)。
- 重复游走多次,得到基于该元路径的邻居节点序列。
-
构建元路径邻居集合
对于节点 \(v\),沿元路径 \(P_m\) 游走得到的所有节点构成其在元路径 \(P_m\) 下的邻居集合 \(N_{P_m}(v)\)。- 注:邻居节点可能跨多种类型(例如,APA 路径下邻居均为作者类型)。
步骤3:节点级别的特征聚合(基于单条元路径)
对每条元路径 \(P_m\),设计一个聚合器(如注意力机制)来融合邻居信息。以“作者”节点为例:
- 特征投影
由于邻居节点类型可能不同,先将所有节点的原始特征 \(h_v\) 通过类型特定的线性层投影到统一维度:
\[ h_v' = W_{\phi(v)} \cdot h_v \]
其中 \(W_{\phi(v)}\) 是对应节点类型 \(\phi(v)\) 的投影矩阵。
- 元路径邻居的注意力聚合
对于节点 \(v\) 在元路径 \(P_m\) 下的邻居集合 \(N_{P_m}(v)\),计算 \(v\) 与每个邻居 \(u\) 的注意力权重:
\[ e_{vu} = \text{LeakyReLU}\left(a_m^T [h_v' \| h_u']\right) \]
其中 \(a_m\) 是元路径 \(P_m\) 对应的注意力向量,\(\|\) 表示拼接。
归一化注意力权重:
\[ \alpha_{vu} = \frac{\exp(e_{vu})}{\sum_{k \in N_{P_m}(v)} \exp(e_{vk})} \]
- 加权聚合邻居信息
计算节点 \(v\) 在元路径 \(P_m\) 下的嵌入:
\[ z_v^{P_m} = \sigma\left( \sum_{u \in N_{P_m}(v)} \alpha_{vu} \cdot h_u' \right) \]
这里 \(\sigma\) 是激活函数(如ReLU)。
注:此步骤为单层聚合,实际可堆叠多层以捕获高阶信息。
步骤4:语义级别的注意力融合(多条元路径整合)
不同元路径代表不同语义(如合作、会议共现),需要融合为最终节点嵌入。
- 计算元路径重要性权重
对每个节点 \(v\),计算每条元路径 \(P_m\) 的语义级注意力权重:
\[ w_{P_m} = \frac{1}{|V|}\sum_{v \in V} q^T \cdot \tanh(W \cdot z_v^{P_m} + b) \]
其中 \(q, W, b\) 是共享参数。
归一化权重:
\[ \beta_{P_m} = \frac{\exp(w_{P_m})}{\sum_{k=1}^M \exp(w_{P_k})} \]
- 加权融合得到最终嵌入
节点 \(v\) 的最终嵌入为:
\[ z_v = \sum_{m=1}^M \beta_{P_m} \cdot z_v^{P_m} \]
步骤5:模型训练与优化
- 监督学习设置
对于节点分类任务,将最终嵌入 \(z_v\) 输入分类层:
\[ \hat{y}_v = \text{Softmax}(W_c \cdot z_v + b_c) \]
使用交叉熵损失函数:
\[ \mathcal{L} = -\sum_{v \in \mathcal{V}_{\text{train}}} y_v \log \hat{y}_v \]
-
无监督学习设置
若缺少标签,可采用异构图重建损失或对比学习目标(如基于元路径的负采样)来训练嵌入。 -
优化过程
通过反向传播和梯度下降(如Adam)优化投影矩阵、注意力参数和分类层参数。
关键点总结
- 元路径:定义了高阶语义关系,是处理异构信息的核心。
- 分层注意力:
- 节点级注意力:在单条元路径内,区分不同邻居的重要性。
- 语义级注意力:融合多条元路径的语义信息。
- 类型感知投影:通过类型特定线性层统一特征维度。
- 灵活性:方法可扩展到多种异构网络(如电商网络、生物网络)。