Paper Reading: Towards Unsupervised Deep Graph Structure Learning
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
| 论文概况 | 详细 |
|---|---|
| 标题 | 《Towards Unsupervised Deep Graph Structure Learning》 |
| 作者 | Yixin Liu, Yu Zheng2 , Daokun Zhang1,3 , Hongxu Chen4 , Hao Peng5 , Shirui Pan1 |
| 发表会议 | The ACM Web Conference 2022(WWW 2022) |
| 发表年份 | 2022 |
| 会议等级 | CCF-A |
| 论文代码 | https://github.com/GRAND-Lab/SUBLIME |
作者单位:
- Monash University, Melbourne, VIC, Australia
- La Trobe University, Melbourne, VIC, Australia
- University of Technology Sydney, Sydney, NSW, Australia
- Beihang University, Beijing, China
研究动机
图神经网络 GNNs 在图数据分析任务(如节点分类、链接预测、节点聚类)中取得了显著成效,其核心机制是消息传递,即依赖图中已有的拓扑结构(邻接矩阵)来聚合邻居信息以学习节点表示。然而,GNNs 的性能建立在原始图结构高度可靠的假设上,现实中的图结构往往从复杂交互系统中提取,导致了该结构经常包含噪声(如错误连接、冗余边或缺失关系),损害了 GNNs 的表现。此外,GNNs 对显式结构的依赖也限制了其在无结构化数据上的应用,如图像、文本等样本间无显式关联的场景。
为了缓解上述问题,深度图结构学习 GSL 应运而生。这类方法将邻接矩阵参数化,并与 GNN 联合优化,通常以节点分类等下游任务为监督信号来学习更好的图结构。但现有 GSL 方法绝大多数属于监督学习范式,即依赖人工标注的节点标签来指导结构优化。这带来了三个关键问题:
- 对标签的强依赖:标注成本高,且在无标签场景中无法应用。
- 边分布偏差:监督信号通常仅覆盖少量节点(如半监督设置),导致与这些节点相关的边受到过多关注,而远离监督信号的节点间关系难以被充分学习,造成结构偏差。
- 任务特定性:学到的结构往往过拟合于节点分类任务,缺乏泛化能力,难以直接用于其他任务(如链接预测、聚类)。

论文针对上述背景,本文的研究问题是:提出更普适、更实用的无监督图结构学习范式。其核心目标是无需任何外部标签,仅利用数据自身的信息来学习或优化图拓扑,如节点特征、可选的原始结构。使其可以应对两种任务场景:
- 结构推断:当图结构完全缺失时,仅从节点特征自动学习反映样本间潜在关联的拓扑。
- 结构精炼:当已有图结构但含有噪声时,对其去噪、补全,得到更高质量的图。
文章贡献
针对无监督图结构学习问题,本文提出了一个名为 SUBLIME 的模型。该模型的核心是一个结构自举对比学习框架,其工作流程包含两个循环:首先,模型通过图学习器和后处理器从数据中生成一个候选的优化图结构(学习者视图)。接着,通过对比学习使这个候选图与一个锚视图在节点表示上保持一致,从而为图结构优化提供自监督信号。其中,使用结构自举机制令学习目标能够自我迭代,通过用学习者视图的缓慢移动平均来动态更新锚视图,引导模型不断发现并修正图结构,最终输出一个高质量、通用且去偏的优化图。通过在 8 个基准数据集上广泛的对比实验、消融研究、鲁棒性分析和可视化,充分验证了所提方法的有效性。
本文方法
无监督图结构学习框架 SUBLIME 的结构如图所示,主要由两大模块构成:
| SUBLIME 模块 | 功能 |
|---|---|
| 图结构学习模块 | 负责建模和正则化待学习的图拓扑 |
| 结构自举对比学习模块 | 通过自优化的监督信号来引导图结构学习 |

图学习器
图学习器是 GSL 流程的起点,其作用是通过一个参数化模型 \(\omega\) 来生成一个初步的邻接矩阵 \(\tilde{S} \in \mathbb{R}^{n \times n}\)。为了适应不同数据的特点,作者设计了不同的图学习器。全图参数化 FGP 学习器直接将邻接矩阵的每个元素建模为一个独立的可学习参数:
其中 \(\omega = \Omega \in \mathbb{R}^{n \times n}\),\(\sigma\) 是非线性激活函数。该方法假设每条边的存在是相互独立的,优点是建模灵活、时间复杂度低,缺点在于参数量为 \(O(n^2)\),难以扩展到大规模图。
另一种度量学习的核心思想是先通过一个嵌入网络 \(h_{\omega}(\cdot)\) 将输入数据(特征 \(X\),或特征与原始结构 \(A\))映射为节点嵌入 \(E\),然后通过一个无参的度量函数 \(\phi(\cdot)\)(如余弦相似度)计算节点对的相似度来构建草图矩阵:
该方法避免了 \(O(n^2)\) 的参数,更具可扩展性。根据嵌入网络 \(h_{\omega}(\cdot)\) 的不同,可以进一步分为以下三种具体实现:
| 度量学习的学习器类型 | 原理描述 | 特点 | 适用场景 |
|---|---|---|---|
| Attentive 学习器 | 使用类似 GAT 的注意力网络,每层对输入特征进行逐元素的哈达玛积变换:\(E^{(l)} = \sigma([e_1^{(l-1)} \odot \omega^{(l)}, \cdots, e_n^{(l-1)} \odot \omega^{(l)}]^{\top})\)。 | 参数和计算复杂度相对于特征维度 \(d\) 较低。假设不同特征对边形成的贡献不同,但特征间无强相关性 | 高维特征数据。 |
| MLP 学习器 | 使用多层感知机作为嵌入网络:\(E^{(l)} = \sigma(E^{(l-1)} \Omega^{(l)})\)。 | 考虑了特征间的相关性和组合,能生成信息量更大的嵌入。 | 特征维度适中、相关性强的数据。 |
| GNN 学习器 | 使用 GCN 等图神经网络层作为嵌入网络,同时融合节点特征和原始图结构:\(E^{(l)} = \sigma(\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}} E^{(l-1)} \Omega^{(l)})\),其中 \(\tilde{A}=A+I\)。 | 假设节点间的连接不仅与特征相关,也与原始拓扑有关。 | 仅用于结构精炼任务,需要原始图 \(A\) 作为输入。 |
实践中,作者根据数据集的特点为每个数据集选择最合适的学习器,例如根据规模、特征维度、是否有原始图等因素。FGP 适用于小图,度量学习类适用于大图,其中 Attentive 适合高维特征,MLP 适合特征相关性强的情况,GNN 则在有原始图可用时用于结构优化。

后处理器
后处理器 \(q(\cdot)\) 的作用是将图学习器生成的、可能不规范的初步的邻接矩阵 \(\tilde{S}\),精炼成一个稀疏、非负、对称且归一化的标准邻接矩阵 \(S\)。第一步是稀疏化,用于将稠密的草图矩阵变为稀疏的 KNN 图,以提升计算效率和应用意义。对每个节点,只保留与其连接权重最高的 \(k\) 条边,其余置 0:
为保持梯度流通,FGP 学习器不进行此步。对于大规模图,可采用基于批处理的近似 kNN 算法以节省内存。接着进行激活与对称化,该步骤用于确保边权值为非负,且图是无向的,即邻接矩阵对称。先通过激活函数 \(\sigma_q\)(对度量学习类用 ReLU,对 FGP 用 ELU)确保非负,再取平均以实现对称:
最后进行归一化将边权值规范到 \([0, 1]\) 范围内,并使训练更稳定。采用对称归一化:
其中 \(\tilde{D}^{(sym)}\) 是 \(\tilde{S}^{(sym)}\) 的度矩阵。经过以上流程,得到的 \(S\) 就是一个可用于后续图神经网络的标准、高质量的优化后邻接矩阵。
多视图图对比学习
在得到经过后处理的标准邻接矩阵 \(S\) 后,需要解决的问题是:在没有外部标签的情况下,如何为图结构学习提供有效的监督信号?SUBLIME 利用数据自身,通过多视图图对比学习来获得自监督信号。此模块的目标是最大化学习者视图(基于当前学到的结构)与锚视图(一个稳定的学习目标)之间的一致性,从而引导 \(S\) 的优化。
图视图建立
学习者视图由学到的邻接矩阵 \(S\) 和特征矩阵 \(X\) 构成,记为 \(\mathcal{G}_l = (S, X)\)。在每次训练迭代中,\(S\) 及其参数都会被梯度更新,以探索最优结构。学习者视图的初始化为基于特征的 KNN 图,锚视图用于为结构学习提供正确且稳定的引导,定义为 \(\mathcal{G}_a = (A_a, X)\)。不同任务的锚视图定义如下:
| 锚视图定义 | 说明 |
|---|---|
| 结构精炼 | 使用原始邻接矩阵作为锚结构:\(A_a = A\) |
| 结构推断 | 使用单位矩阵作为锚结构:\(A_a = I\) |
锚视图不通过梯度下降更新,而是通过结构自举机制进行更新,以保持目标的稳定性。
数据增强
为探索更丰富的语义信息并增加学习难度,作者在结构和特征两个层面应用了两种简单而有效的增强方案:
| 增强方案 | 说明 | 公式描述 |
|---|---|---|
| 特征掩码 | 随机选择一部分特征维度并将其掩码为 0 | 对于特征矩阵 \(X\),采样一个掩码向量 \(m^{(x)} \in \{0,1\}^d\)(每个元素以概率 \(p^{(x)}\) 为 1),则增强后的特征为 \(\overline{X} = [x_1 \odot m^{(x)}, \cdots, x_n \odot m^{(x)}]^{\top}\) |
| 边丢弃 | 随机丢弃图中一部分边 | 对于邻接矩阵 \(A\),采样一个掩码矩阵 \(M^{(a)} \in \{0,1\}^{n \times n}\)(每个元素以概率 \(p^{(a)}\) 为 1),则增强后的邻接矩阵为 \(\overline{A} = A \odot M^{(a)}\) |
SUBLIME 联合使用这两种增强来生成增强后的学习者视图和锚视图:
其中,\(\mathcal{T}_{ed}\) 和 \(\mathcal{T}_{fm}\) 分别表示边丢弃和特征掩码变换:
| 组件 | 概率设置 | 原因 |
|---|---|---|
| 特征掩码 | 使用不同的概率:\(p_l^{(x)} \neq p_a^{(x)}\)) | 在两个视图中引入不同的上下文 |
| 边丢弃 | 使用相同的丢弃概率:\(p^{(a)}\) | 两个视图的邻接矩阵本身已差异显著 |
节点级对比学习
在获得两个增强视图后,通过类似 SimCLR 的节点级对比学习来最大化它们之间的互信。首先使用GNN 编码器 \(f_{\theta}(\cdot)\)从增强图中提取节点表示,本文使用 2 层GCN:
然后使用一个 MLP 投影头 \(g_{\varphi}(\cdot)\) 将表示映射到另一个计算对比损失的潜在空间:
使用对称归一化的温度缩放交叉熵损失(NT-Xent)来最大化同一节点在两个视图中的投影 \(z_{l,i}\) 和 \(z_{a,i}\) 之间的一致性:
其中,\(\text{sim}(\cdot, \cdot)\) 是余弦相似度,\(t\) 是温度参数。
结构自举机制
如果锚结构 \(A_a\) 始终保持不变,如固定为原始图 \(A\) 或单位矩阵 \(I\),这会带来三个问题:
| 锚结构不变的问题 | 说明 |
|---|---|
| 错误信息继承 | 原始图中的噪声会持续污染学习过程,如缺失或冗余边 |
| 缺乏持续指导 | 一旦模型捕捉到固定锚图中的有限信息,后续训练将缺乏有效监督 |
| 对锚结构的过拟合 | 学到的结构会倾向于机械地模仿固定的锚结构,导致性能上限受限 |
为解决这些问题,本文受自举学习算法启发,设计了一个结构自举机制。其核心思想是:用学到的结构 \(S\) 的缓慢移动平均来逐步更新锚结构 \(A_a\),而非保持其不变。具体而言,给定一个衰减率 \(\tau \in [0,1]\),每 \(c\) 次迭代按如下方式更新锚结构:
这个机制有如下优势:
| 结构自举机制优势 | 说明 |
|---|---|
| 噪声衰减 | 随着更新,噪声边的权重在 \(A_a\) 中逐渐减小 |
| 目标进化 | 学习目标 \(A_a\) 在训练过程中动态进化,能持续提供新的有效信息,避免过拟合和训练停滞 |
| 自我增强 | 利用已学到的知识来改进学习目标,推动模型不断发现更优的结构 |
| 训练稳定 | 缓慢移动平均(通常设置 \(\tau > 0.99\))保证了训练的稳定性 |
训练流程
模型训练流程如伪代码所示,训练完成后将获得最终学习到的图拓扑 \(S\)。

为将 SUBLIME 扩展到大规模图上,避免 \(O(n^2)\) 的复杂度,作者采用了以下措施:
| 扩展性机制 | 说明 |
|---|---|
| 度量学习类学习器 | 避免 FGP 学习器的大量参数 |
| 局部敏感哈希近似 | 在对 KNN 稀疏化中采用,于批处理中寻找近邻 |
| 小批次对比学习 | 不在全图上计算对比损失 |
| 增大自举更新的迭代间隔 \(c\) | 例如 \(c \ge 10\),减少存储自举结构的内存开销 |
实验结果
数据集和实验设置
使用节点分类和节点聚类任务来评估学到的图拓扑的质量:
| 下游评估任务 | 说明 |
|---|---|
| 节点分类 | 在结构推断(从特征建图)和结构精炼(优化原始图)两种场景下进行,以 ACC 为指标 |
| 节点聚类 | 在结构精炼场景下进行,使用四个聚类指标:C-ACC、NMI、F1 和 ARI |
在 8 个真实世界基准数据集上进行评估:
| 数据集类型 | 数量 | 数据集名称 |
|---|---|---|
| 图数据集 | 4 | Cora, Citeseer, Pubmed, ogbn-arxiv |
| 非图数据集 | 4 | Wine, Cancer, Digits, 20news |
节点分类任务对比了三类方法:
| 节点分类算法 | 对比模型 |
|---|---|
| 结构固定的 GNN | GCN, GAT, GraphSAGE |
| 有监督的深度 GSL | LDS, GRCN, Pro-GNN, GEN, IDGL, SLAPS |
| 无监督或弱监督的图改进方法 | GDC, SLAPS-2s |
| 传统分类器(结构推断) | 逻辑回归、线性 SVM、MLP |
节点聚类任务对比了三类方法:
| 节点聚类算法 | 对比模型 |
|---|---|
| 基于特征的方法 | K-means, 谱聚类 |
| 基于结构的方法 | DeepWalk, DNGR 等 |
| 属性图聚类方法 | VGAE, ARGA, AGC, DAEGC |
对比实验
结构推断场景下的节点分类性能如下表所示,在完全无标签指导的情况下,SUBLIME 在 8 个数据集中的 3 个上取得了最佳性能,并在其余数据集上获得次优结果。这说明了其通过自监督对比学习引导 GSL 的有效性。使用 kNN 图作为输入的固定结构 GNNs 通常优于传统特征分类器,说明考虑样本间关系是有益的。GSL 方法普遍优于固定结构的 GNNs,表明了结构优化的重要性。无监督 GSL 方法(如 SUBLIME, GDC, SLAPS-2s)能够取得与有监督方法相竞争的结果,显示了无监督范式的潜力。

结构精炼场景下的节点分类性能如下,可见 SUBLIME 的性能优于或相当于所有基线方法,包括有监督的 GSL 方法。这表明 SUBLIME 能够有效地利用自监督信号来改进原始(可能带噪声的)图。

结构精炼场景下的节点聚类性能如下表所示,可见 SUBLIME 在大多数指标上超越了基线方法。这验证了其学到的拓扑结构具有通用性,不仅适用于其训练目标(对比学习),也能显著提升其他下游任务(如聚类)的性能。

消融实验
通过调整结构自举机制中的衰减率 \(\tau\) 来验证其必要性,当 \(\tau = 1\) 时锚图永不更新(即无自举机制)。不使用自举机制(\(\tau=1\))时,分类准确率平均下降约 1.5%,证明了该机制能提升所学图的质量。

当 \(\tau=1\) 时,训练约 1500 轮后会出现明显的性能下降,表明缺乏动态目标导致后期缺乏有效监督。\(\tau\) 在 [0.999, 0.99999] 区间内时,性能能稳定收敛到较高水平。\(\tau\) 过小(如0.99)会导致更新过于激进,早期学习到的欠佳结构会快速污染锚图,可能引起训练不稳定和性能下降。

敏感性分析
对于锚视图的特征掩码概率 \(p^{(x)}\),结果可见在 0.6~0.8 之间时效果较好。学习者视图的掩码概率 \(p_l^{(x)}\) 在 0~0.7 之间时,模型表现相对不敏感。概率过大(>0.8)会过度破坏特征信息,导致性能下降。对于 kNN 邻居数 \(k\),不同数据集有不同的最优 \(k\) 值(Cora: 30, Citeseer: 20, Pubmed: 15)。\(k\) 过大或过小都会损害性能:\(k\) 太小会限制有益邻居的数量;\(k\) 太大会引入噪声连接。

鲁棒性分析
在 Cora 数据集上通过随机删除或添加一定比例(0% 到 90%)的边来模拟不同强度的对抗性攻击,并比较 SUBLIME 与 GCN 及抗攻击 GSL 方法 Pro-GNN 的表现。结果可见 SUBLIME 在两种攻击设置下均取得优于或相当的结果,当边删除率很高(攻击强度大)时,SUBLIME 表现出更显著的性能优势,证明其对严重的结构破坏具有更强的鲁棒性。

可视化分析
从 Cora 数据集中选取两个类别(Case Base 和 Rule Learning)的节点及其连接进行可视化,对比原始图、有监督 GSL 方法 Pro-GNN 学到的图和 SUBLIME 学到的图。可视化可见与原始图相比,SUBLIME 学到的图中类内边显著增多,类间边很少,说明其能有效发现语义相似节点间的连接。Pro-GNN 学到的图中,有标签节点之间的连接远多于无标签节点,体现了监督信号带来的边分布偏差。SUBLIME 为同一类别内的所有节点(无论是否有标签)都平等地建立了连接,展现了其无监督学习的均衡性优势。

优点和创新点
个人认为,本文有如下一些优点和创新点可供参考学习:
- 提出无监督图结构学习范式,实现了无需外部标注、仅从数据自身学习通用图拓扑结构的方法。
- 涉及了融合对比学习与结构自举的创新框架,通过构建双视图对比损失提供自监督信号,并利用可自我进化的锚图实现持续稳定的结构优化。

浙公网安备 33010602011771号