图神经网络中的异构图注意力网络(Heterogeneous Graph Attention Network, HAN)原理详解
1. 异构图背景与挑战
异构图(Heterogeneous Graph)包含多种类型的节点和边,例如学术图中包含作者、论文、会议等节点,以及“撰写”“发表”等关系。传统图神经网络(如GCN、GAT)假设图中节点和边类型单一,无法直接处理异构图的复杂语义信息。HAN的核心目标是通过分层注意力机制(节点级+语义级)学习异构图的有效表示。
2. HAN的整体架构
HAN的推理过程分为三步:
- 节点级注意力:对每个元路径下的邻居节点进行重要性加权。
- 语义级注意力:融合不同元路径的语义信息,学习元路径的重要性。
- 分层聚合:生成最终节点嵌入。
3. 节点级注意力(Node-level Attention)
步骤3.1 元路径定义
元路径(Meta-path)是连接异构节点的关系序列,例如“作者-论文-作者”(APA)表示合作者关系。每条元路径刻画一种特定语义。
步骤3.2 节点特征投影
异构节点的特征维度可能不同,需先投影到同一维度:
\[h_i' = W_{\phi(v_i)} \cdot h_i \]
其中 \(\phi(v_i)\) 是节点类型,\(W_{\phi(v_i)}\) 为类型特定的投影矩阵。
步骤3.3 注意力系数计算
对元路径 \(\Phi\) 下的节点对 \((i,j)\),计算注意力系数:
\[e_{ij}^{\Phi} = \text{LeakyReLU}\left(a_{\Phi}^T [h_i' \| h_j']\right) \]
其中 \(a_{\Phi}\) 是元路径特定的注意力向量,\(\|\) 表示拼接。
步骤3.4 归一化注意力权重
使用Softmax归一化:
\[\alpha_{ij}^{\Phi} = \frac{\exp(e_{ij}^{\Phi})}{\sum_{k \in N_i^{\Phi}} \exp(e_{ik}^{\Phi})} \]
\(N_i^{\Phi}\) 表示节点 \(i\) 在元路径 \(\Phi\) 下的邻居集合。
步骤3.5 加权聚合
生成元路径 \(\Phi\) 对应的节点嵌入:
\[z_i^{\Phi} = \sigma\left(\sum_{j \in N_i^{\Phi}} \alpha_{ij}^{\Phi} \cdot h_j'\right) \]
\(\sigma\) 为激活函数(如ELU)。
4. 语义级注意力(Semantic-level Attention)
步骤4.1 元路径重要性评估
不同元路径的语义重要性不同。首先通过非线性变换学习每个元路径嵌入的权重:
\[w_{\Phi} = \frac{1}{|V|}\sum_{i \in V} q^T \cdot \tanh(W_s \cdot z_i^{\Phi} + b_s) \]
其中 \(q\) 是语义注意力向量,\(W_s, b_s\) 为可学习参数。
步骤4.2 归一化语义权重
使用Softmax归一化所有元路径的权重:
\[\beta_{\Phi} = \frac{\exp(w_{\Phi})}{\sum_{\Psi \in \mathcal{P}} \exp(w_{\Psi})} \]
\(\mathcal{P}\) 为预定义的元路径集合。
步骤4.3 语义融合
加权求和得到最终节点嵌入:
\[Z_i = \sum_{\Phi \in \mathcal{P}} \beta_{\Phi} \cdot z_i^{\Phi} \]
5. 模型训练与优化
HAN采用半监督学习,针对节点分类任务设计交叉熵损失:
\[\mathcal{L} = -\sum_{i \in \mathcal{Y}_L} \sum_{c=1}^C Y_{ic} \ln \hat{Y}_{ic} \]
其中 \(\mathcal{Y}_L\) 为带标签节点集合,\(C\) 为类别数,\(\hat{Y} = \text{Softmax}(Z)\)。
6. 关键创新与优势
- 双重注意力机制:节点级注意力筛选重要邻居,语义级注意力平衡多路径语义。
- 元路径灵活性:支持任意预定义元路径,适应复杂异构图结构。
- 端到端训练:无需手动设计元路径权重,自动学习语义重要性。
7. 实际应用示例
在学术网络中,HAN可同时利用“APA”(合作者)、“APCPA”(论文-会议-论文)等元路径,综合捕捉作者的研究兴趣与学术影响力,提升节点分类(如学科预测)性能。