图神经网络(GNN)中的图自编码器(Graph Autoencoder)原理与应用
字数 1213 2025-11-08 21:52:33
图神经网络(GNN)中的图自编码器(Graph Autoencoder)原理与应用
图自编码器(GAE)是一种基于图结构的无监督学习模型,主要用于学习图的低维向量表示(即图嵌入)。其核心思想是通过编码器将节点映射到低维空间,再通过解码器重建图的结构信息(如邻接矩阵),从而学习有意义的节点表示。以下分步骤详细讲解:
1. 基本框架
GAE包含两个部分:
- 编码器(Encoder):将节点特征和拓扑结构压缩为低维嵌入向量。
- 解码器(Decoder):利用嵌入向量重建图的邻接矩阵(例如,通过向量内积预测节点间是否存在边)。
目标是最小化重建误差,使解码器生成的邻接矩阵接近原始图的结构。
2. 编码器设计
常用编码器是图卷积网络(GCN),通过多层图卷积聚合邻居信息。以两层GCN为例:
- 输入:节点特征矩阵 \(X\) 和邻接矩阵 \(A\)。
- 计算过程:
\[ Z = \text{GCN}(X, A) = \tilde{A} \cdot \text{ReLU}(\tilde{A}XW_0) \cdot W_1 \]
其中:
- \(\tilde{A} = D^{-\frac{1}{2}}(A+I)D^{-\frac{1}{2}}\) 是归一化的邻接矩阵(加入自环),\(D\) 是度矩阵。
- \(W_0, W_1\) 是可训练参数。
- 输出:节点嵌入矩阵 \(Z\),每行 \(z_i\) 是节点的低维表示。
3. 解码器设计
解码器通过嵌入向量的相似度重建边。常用内积后接Sigmoid函数:
\[\hat{A}_{ij} = \sigma(z_i^T z_j) \]
其中 \(\hat{A}_{ij}\) 表示节点 \(i\) 和 \(j\) 之间存在边的预测概率,\(\sigma\) 是Sigmoid函数。
4. 损失函数
采用交叉熵损失衡量重建邻接矩阵与原始邻接矩阵的差异:
\[\mathcal{L} = -\sum_{(i,j) \in E} \log \hat{A}_{ij} - \sum_{(i,j) \notin E} \log (1-\hat{A}_{ij}) \]
其中 \(E\) 是图中边的集合。优化该损失可使嵌入保留图的连接特性。
5. 变体与改进
- 变分图自编码器(VGAE):引入变分推断,假设嵌入服从高斯分布,通过重参数化采样生成嵌入,增强泛化能力。
- 图对抗自编码器:结合生成对抗网络(GAN),使嵌入分布更接近先验分布。
6. 应用场景
- 链接预测:直接利用解码器预测未知边。
- 节点聚类:在嵌入空间使用聚类算法(如K-Means)。
- 图可视化:将高维图结构降维至2D/3D空间。
总结
GAE通过编码-解码框架实现图结构的无监督表示学习,核心在于用神经网络捕捉拓扑信息与节点特征。其变体(如VGAE)进一步提升了鲁棒性和生成能力。