前言
本文主要记录了 Rui Liu 等人发表在 IEEE TNNLS 2024 上的论文《Federated Graph Neural Networks: Overview, Techniques and Challenges》。文章主要从 GNN for FL 和 FL for GNN 两个角度总结了现有 GNN 和 FL 的集成方法 :
- GNN for FL :利用客户端之间的拓扑结构提升 FL 算法性能。根据是否存在中央服务器,进一步分为集中式和去中心化两个子场景。集中式 FedGNN 的中央服务器拥有跨客户端图的全局视图,并利用该视图来训练 GNN 模型以改进 FL 聚合或帮助客户端本地更新。去中心化 FedGNN 没有中央服务器,需预先给定客户端之间的拓扑,每个客户端持有一个子图,以便找到其邻居进行通信。
- FL for GNN :在分布式用户数据上联邦训练 GNN 模型。根据不同客户端是否共享相同的节点 ID,进一步分为横向与纵向两个子场景。横向 FedGNN 的客户端拥有大部分不重叠的节点,但特征相同;纵向 FedGNN 的客户端共享相同的节点 ID 集,但拥有不同的特征。

推荐另一个专门讲解联邦图学习的博客:
https://zhuanlan.zhihu.com/p/431934452
文章目录
- 前言
- [一、GNN for FL](#一、GNN for FL)
-
- [1. Centralized FedGNN](#1. Centralized FedGNN)
-
- [1.1. Server-side Training](#1.1. Server-side Training)
- [1.2. Client-side Training](#1.2. Client-side Training)
- [2. Decentralized FedGNN](#2. Decentralized FedGNN)
- [3. 方法对比](#3. 方法对比)
- [二、FL for GNN](#二、FL for GNN)
-
- [1. Horizontal FedGNN](#1. Horizontal FedGNN)
-
- [1.1. 无缺失边场景](#1.1. 无缺失边场景)
- [1.2. 有缺失边场景](#1.2. 有缺失边场景)
- [2. Vertical FedGNN](#2. Vertical FedGNN)
- [3. 方法对比](#3. 方法对比)
- 三、异构性
-
- [1. 客户端拥有相同的节点](#1. 客户端拥有相同的节点)
- [2. 客户端拥有不同节点但使用相同的网络结构](#2. 客户端拥有不同节点但使用相同的网络结构)
- [3. 客户端使用不同的网络结构](#3. 客户端使用不同的网络结构)
- 四、实验基础
-
- [1. 数据集](#1. 数据集)
- [2. 评估指标](#2. 评估指标)
- [3. 实验设计](#3. 实验设计)
-
- [3.1. FL for GNN](#3.1. FL for GNN)
-
- [3.1.1. 非 IID 数据划分](#3.1.1. 非 IID 数据划分)
- [3.1.2. 跨客户端图的构建](#3.1.2. 跨客户端图的构建)
- [3.2. Horizontal FedGNN](#3.2. Horizontal FedGNN)
- [3.3. Vertical FedGNN](#3.3. Vertical FedGNN)
- [4. 实验平台](#4. 实验平台)
- 五、未来工作
一、GNN for FL

1. Centralized FedGNN
根据 GNN 模型的训练位置不同,Centralized FedGNN 可划分为服务器端 GNN 训练与客户端 GNN 训练两个子场景。
1.1. Server-side Training
- 基本流程:在相邻客户端拥有相似的本地模型或特征嵌入的假设下,服务器像标准 FL 一样收集各客户端的本地模型参数,并将其作为跨客户端图中的节点特征,然后用这些参数训练一个 GNN 模型来辅助 FL 聚合,最后将更新后的参数发回客户端。
- 研究热点 :由于服务器拥有独立的 GNN 模型,如何同时训练本地模型和 GNN 模型是一个难题。部分工作采用顺序训练方式,使用分离的目标函数分别训练本地模型和 GNN 模型。另一些工作仅使用单一本地目标函数,通过交替优化方式训练。
1.2. Client-side Training
- 基本流程:客户端训练 GNN 模型并上传模型权重到服务器 ,服务器进行 FL 聚合,然后分发更新后的权重给客户端进行下一轮训练。
- 研究热点 :客户端构建的本地图可以用于解决数据分布异构和模型异构两个问题。对于数据分布异构问题,客户端可以利用客户端关系拓扑图训练一个 GNN 模型,以获取来自其他客户端的全局知识,从而缓解数据分布异构性问题。对于模型异构问题,可以将客户端的神经网络架构建模为一个图,并训练一个基于 GNN 的图超网络来处理该架构图,以最小化所有客户端的经验风险。其中,每个参数层作为一个顶点,层间的计算流作为边,节点特征初始化为表示层类型的独热特征。
2. Decentralized FedGNN
在客户端由图拓扑连接的情景下,现有工作提出两种方法:
- 加权求和法:通过对邻域内的模型更新进行加权求和来更新 FL 模型参数。所有此类工作每轮只聚合 1 跳邻居的模型。
- 图正则化法:在目标函数中引入图拉普拉斯正则化项,使相邻客户端的模型参数趋于相似,以解决 non-IID 问题。该方法可扩展到多任务学习场景。
3. 方法对比
服务端训练 GNN 的主要问题在于服务端计算开销和收敛性;客户端训练 GNN 的主要问题在于客户端间图拓扑的隐私泄露;去中心化 FedGNN 的主要问题在于邻居间模型共享带来的隐私泄露、通信开销以及高中心性节点的安全风险。
| 场景 | 子场景 | 优点 | 缺点 |
|---|---|---|---|
| 集中式 FedGNN | 服务端 GNN 训练 | • 服务端在联邦聚合过程中具有更大的灵活性,可以缓解 Non-IID 问题。 | • 难以证明算法的收敛性。 • 当客户端间图规模较大时,服务端需要承担较高的计算开销。 • 不准确的客户端间图会降低模型性能。 |
| 集中式 FedGNN | 客户端 GNN 训练 | • 缓解客户端之间的 Non-IID 问题。 | • 共享客户端间图可能导致隐私泄露。 • 不准确的客户端间图会降低模型性能。 |
| 去中心化 FedGNN | 去中心化联邦聚合 | • 通过客户端上的个性化本地模型缓解 Non-IID 问题。 • 不需要中心服务器。 | • 邻居客户端之间共享模型可能导致隐私泄露。 • 客户端之间存在较高的通信开销。 • 在图中具有较高中心性的客户端更容易受到攻击。 • 当新客户端加入时,需要重新训练模型。 |
二、FL for GNN

1. Horizontal FedGNN
横向 FedGNN 下,客户端共享相同的节点特征空间,但拥有不同的节点 ID。每个客户端至少拥有一个图或一组图。可能存在跨客户端的边。根据跨客户端边是否存在/是否被保留,分为有无缺失边两个子场景。
1.1. 无缺失边场景
- 基本流程:无缺失边场景下,客户端先训练本地 GNN 模型,以学习局部图表示或节点嵌入。在此基础上应用 FL 算法,服务器按 FedAvg 收集模型参数或梯度进行聚合,再将更新后的参数分发回客户端。
- 研究热点 :按研究问题可分为两类:GNN 相关研究问题包括利用模型插值、正则化局部损失、元学习、样本重加权等方法解决图数据的 non-IID 问题、分布式时空或大规模图数据嵌入、分布式神经架构搜索;FL 相关研究问题包括改进 FL 聚合、利用 DP、HE、SS 实现隐私保护。
1.2. 有缺失边场景
有缺失边场景下,跨客户端的节点间可能存在边,但被保留在本地,导致其他客户端无法利用这些信息。解决方法分为两类:
- 图补全:直接生成或补全缺失的边。例如,服务器根据客户端上传的模型参数生成全局边;客户端部署本地生成器。
- 缺失邻居生成:先恢复缺失邻居的嵌入,再重建边。由于不同领域的知识图谱可能包含相同实体,因此此类方法的关键在于如何在不泄露隐私的前提下利用其他知识图谱提升嵌入质量。常有方法有基于隐私保护的本地图扩展、通过通信请求交换节点特征信息。
2. Vertical FedGNN
纵向 FedGNN 下,客户端拥有完全重叠的节点 ID,但特征空间不同。借助 FL,利用不同客户端的特征联合训练一个全局 GNN 模型。根据图数据的分布情况,分为两个子场景:
- 客户端拥有不完整的图数据:图拓扑、节点特征、节点标签由不同客户端分别持有,各客户端均不拥有完整的图数据。
- 客户端拥有完整的图数据:图拓扑对所有客户端均可用,但各客户端的节点特征类型不同。基于 DP、HE 等隐私保护技术技术拼接各客户端的节点特征进行是解决该问题的关键手段。
3. 方法对比
| 场景 | 子场景 | 优点 | 缺点 |
|---|---|---|---|
| 横向 FedGNN | 无缺失边 | • 能够利用相互隔离的图数据训练 GNN 模型。 • 缓解客户端之间的数据异质性问题。 | • 有偏的图结构可能导致公平性问题。 • 很少有工作对模型权重进行加密。 • 容易受到恶意攻击。 • 通信开销较高。 • 框架仅适用于有限类型的 GNN 模型。 |
| 横向 FedGNN | 存在缺失边 | • 能够恢复客户端之间缺失的信息。 • 其余优点与上述"无缺失边"场景相同。 | • 若补全后的本地图不准确,会降低模型性能。 • 在修复本地图时,共享节点特征可能造成隐私泄露。 • 其余缺点与上述"无缺失边"场景相同。 |
| 纵向 FedGNN | 不完整图数据 | • 能够利用相互隔离的图数据训练 GNN 模型。 | • 支持的客户端数量有限。 • 容易受到恶意攻击。 • 框架仅适用于有限类型的 GNN 模型。 |
| 纵向 FedGNN | 完整图数据 | • 能够利用相互隔离的图数据训练 GNN 模型。 | • 容易受到恶意攻击。 • 框架仅适用于有限类型的 GNN 模型。 |
三、异构性
根据 本地数据和模型的异构性程度由低到高,将现有工作分为三个类别:客户端拥有相同的节点、客户端拥有不同节点但使用相同的网络结构、客户端使用不同的网络结构。

1. 客户端拥有相同的节点
- 场景:客户端拥有相同的节点集合,但节点特征的类型不同。
- 训练流程:客户端通常将节点特征嵌入上传至 FL 服务器,服务器对同一节点的不同特征嵌入进行聚合,以实现客户端间的知识迁移。此外,在纵向 FedGNNs 中,模型权重也可在客户端间共享,以联合训练全局 FL 模型。
2. 客户端拥有不同节点但使用相同的网络结构
- 场景:客户端拥有不同的节点,但采用相同的网络架构。
- 训练流程:由于节点 ID 不同,客户端无法将节点特征嵌入上传至服务器进行聚合,而是上传中间信息,例如整个图的嵌入、GNN 模型的可训练权重、梯度。如果上传权重,允许客户端进行多轮本地训练,但本地模型更新方向可能偏离全局 FL 模型。如果上传梯度,客户端可紧密跟随最新的全局优化方向每一步更新,但客户端与服务器间的频繁通信会增加训练过程中的通信成本。
3. 客户端使用不同的网络结构
- 场景:客户端之间的网络架构不同,无法直接聚合客户端模型。
- 训练流程:将本地网络架构转换为图,每一层作为一个顶点,层类型作为节点特征。客户端在该图上训练 GNN 模型并联邦聚合。
四、实验基础

1. 数据集
GNN 已有多个成熟的基准数据集,FedGNN 在这些数据集上测试算法,包括:引文网络数据集(如 Cora、PubMed 等)、社交网络数据集(如 REDDIT 等)、化学性质数据集(如 FreeSolv、QM9 等)。FedGNN 在各个具体应用领域的落地情况如下:
- 知识图谱补全:将一个知识图谱或一个用户视为一个客户端,用于链接预测任务。
- 推荐系统:将一个用户视为一个客户端,实现隐私保护的个性化推荐。
- 计算机视觉:通过让相近客户端具有相似本地模型来提升图像分类性能,也可通过将网络结构转为图来处理异构网络结构。
- 医疗健康:当数据含图结构或患者间存在关系时可应用,如脑成像数据将 ROI 作为图节点,患者间群体图可改善疾病预测。
- 交通运输:应用于交通流预测、目标位置预测和室内定位;传感器/摄像头可由地图连接建模为客户端,或检测到的物体构成局部图。
- 收入预测 和恶意交易检测 也是潜在应用。
2. 评估指标
评估指标取决于学习任务的类型,主要有分类和回归两大类:
- 分类任务:准确率、F1 分数、ROC-AUC
- 回归任务:节点和图嵌入回归任务主要使用 MAE(平均绝对误差)、MSE(均方误差)、RMSE(均方根误差)、MAPE(平均绝对百分比误差);图学习任务除 MAE 外,还使用估计图与真实图之间的 Frobenius 距离来衡量性能。
特别的,对于链接预测任务,需要评估 Mean Rank(平均排名)、MRR(平均倒数排名)、Hits@N(正确实体在 Top N 排名实体中的比例)。
3. 实验设计
本节从数据划分、跨客户端图构建以及不同 FedGNN 场景下的实验设置三个方面,介绍论文中采用的实验设计方案。
3.1. FL for GNN
3.1.1. 非 IID 数据划分
FL-Assisted GNN 场景下构造非 IID 数据分布的 5 种方法如下:
- 不平衡划分:通过狄利克雷分配,使不同客户端拥有不同数量的样本。
- 聚类划分:将样本聚类后分给不同客户端。
- 标签分布偏斜划分:不同客户端拥有不同的标签类别子集。
- 自然身份划分:利用数据本身的身份属性划分,如每个传感器为一个客户端、每个人为一个客户端、每个文档域为一个客户端。
- 合成数据生成:按不同方差的高斯分布生成合成数据点分配给客户端。
3.1.2. 跨客户端图的构建
FL-Assisted GNNs 场景下跨客户端图的 3 种构建方式如下:
- 自然图:数据集本身包含自然图拓扑,可直接作为跨客户端图。如交通流数据中的道路地图、NLP 中的句法结构、无线通信网络。
- 基于客户端相似性模拟的图:数据集中无自然图时,基于客户端信息计算相似性得到图,如客户端嵌入。
- 合成图:人工生成图作为跨客户端图,包括全连接图、环形连接图或随机生成图。
3.2. Horizontal FedGNN
若每个客户端有多张图:
- IID:图样本均匀随机分配给客户端。
- non-IID:采用不平衡划分、标签分布偏斜划分、自然身份划分。
若每个客户端只有一张图,即将整张图划分为多个子图:
- IID :① 无重叠划分:随机将整图分为若干子图;② 重叠划分:随机将部分节点或边分配给一个客户端。
non-IID:聚类划分;标签分布偏斜划分;自然身份划分;知识图谱补全中,一个知识图谱为一个客户端;引文网络中同一年发表的论文为一个客户端。
3.3. Vertical FedGNN
对于完整图数据设置,节点特征被均匀划分给各客户端,图拓扑被所有客户端保留。对于不完整图数据:
- 三客户端:分别获得图数据的节点特征、图拓扑、节点标签之一。
- 两客户端:一方获得图数据的一个组件,另一方获得其余部分。
4. 实验平台
目前已有的两个 FedGNNs 开源平台:FedGraphNN 和 FederatedScopeGNN。
五、未来工作
- 鲁棒的 FedGNNs 抵御恶意攻击:由于需要共享节点嵌入、图拓扑和模型参数,FedGNNs 的攻击面很大。现有工作虽然尝试利用差分隐私或加密方法来解决,但都仅能防御半诚实攻击者。迫切需要更多研究来探索如何使 FedGNNs 在面对恶意隐私攻击时更加鲁棒。
- 可解释的 FedGNNs 提高可解释性:FedGNN 涉及复杂的模型结构和训练过程,实现可解释性更加困难,需要同时考虑利益相关者对可解释性的需求,以及隐私保护与高效训练之间的平衡。
- 高效的 FedGNNs 应对大规模图数据:现有 FedGNNs 通常在小规模分布式数据集上研究,若将其扩展到大规模图数据(如知识图谱),通信开销可能成为重要瓶颈。
- 公平的 FedGNNs 应对客户端有偏图:现有 FedGNNs 主要关注数据分布的 non-IID 问题,而忽略了图拓扑分布的 non-IID 问题。不同客户端可能拥有不同性质的图(如不同类别的图、节点度数高低不同),这种有偏图可能影响结果,甚至对 FedGNNs 造成危害。
- 面向新客户端的持续 FedGNNs 训练:新客户端加入时的处理方式因架构而异。集中式场景下,训练好的全局模型可以直接应用于新客户端。去中心化场景由于没有中央服务器协调全局训练,所有现有客户端都需要重新训练本地模型。为提高训练效率,需要为去中心化 FedGNNs 开发持续学习算法。
- 支持多样化 GNN 模型的全面 FedGNNs 框架:近年来各种 GNN 算法快速涌现。然而,现有 FedGNNs 仅采用有限的几种 GNN 模型(如 GCN、GAT、GraphSage)。为充分利用 GNNs 协助 FedGNNs 解决更困难的问题,需要建立更全面的 FedGNNs 框架,集成更多 GNN 算法或策略。
- 用于基准测试的真实跨孤岛图数据集:现有 FedGNNs 大多在人工划分的图数据上进行评估。该领域的长期发展仍需要真实、大规模的联邦图数据集,以支持接近实际应用场景的实验评估。