文章目录
0 摘要
我们首先讨论了创建一个易于使用的FGL包的挑战,并相应提出了我们实现的包FederatedScope-GNN (FS-G),它提供了(1)模块化和表达FGL算法的统一视图;(2)全面的DataZoo和ModelZoo提供开箱即用的FGL能力;(3)高效的模型自调优组件;以及(4)现成的隐私攻击和防御能力。
2 Related Work
3 Infrastructure
3.1 Requirements of Federated Graph Learning
3.2 development based on FederatedScope
FGL方法的实施过程包括两部:
- 定义需要交换的message种类
- 描述 server/client 交换这些message的行为
根据以上对比信息,看到异构信息的交换过程: - 根据模型提取异构交换信息,包括模型参数、梯度和节点嵌入信息。
- 将训练步骤中定义的操作框架化为子例程的回调函数,以处理接收到的不同类型的消息。例如,当客户端接收到请求时,使用相应的回调函数向服务器发送节点嵌入和“邻居生成模型”(NeighGen)。
4 GraphDataZoo
允许用户通过配置dataset、Splitter、Transform和Dataloader的选项来组成FL数据集。
- Transform类负责将每个图映射到另一个图中,例如,将节点度作为一个节点属性。
- Dataloader类设计用于遍历图的集合或从图中采样子图。
基于图的数据的task通常分为以下三类:
- Node-level:每个实例都是一个与其标签关联节点。为了作出一个节点的预测,k跳邻居通常被作为GNN的input
- Link-level:目标是预测 给定的节点对 是否连接 或 是否为给定link的标签(例如,用户分配给一个项目的评级)
- Graph-level:每个实例都是与其标签相关联的单个图。
对于链接/节点级任务,转换设置非常普遍,其中标记的链接/节点和未标记的链接/节点都出现在同一个图中。
对于图级任务,一个独立的数据集通常由一组图组成。
4.1 Splitting Standalone Datasets
为了通过现有的 standalone图数据集来模拟联邦图数据集,我们的GraphDataZoo集成了丰富的 splitter 集合。splitter 负责将给定的standalone图数据分散到多个clients
5 GNNMODELZOO AND MODEL-TUNING COMPONENT
因此,在FS-G的神经网络模块中,我们将一般的神经网络模型模块化为四类:
- Encoder:嵌入原始节点属性或边缘属性,例如原子编码器和键合编码器。
- GNN:学习节点的原始表示(原始的或编码的)和图结构的discriminative represention。
- Decoder:将这些隐藏的表示恢复为原始节点属性或邻接关系。
- Readout:将节点表示集合成一个图表示,例如,平均池。
FS-G集成了GNNTrainer类,FS-G集成了一个模型调优组件,该组件提供了以下功能:(1)在FL设置下实现高效HPO;(2)监控FL流程,个性化处理,更好地处理非i.i.d。数据。
7 Experiments
3种设定:
- local:每个client用自己的数据训练一个GNN模型
- FGL:分别采用FedAvg[28]、FedOpt[1]和FedProx[23]在分散的数据上协同训练GNN模型。
- global:在完成的数据集上训练一个GNN模型