【论文阅读】FedGCN:Convergence and communication tradeoffs in federated training of graph convolutional n

一、介绍

考虑一个框架,在该框架中,每个客户端可以访问大型图的子集,并且客户端在本地迭代计算半监督模型的本地更新。

为客户端之间进行分区时,存在跨越不同客户端的边,这些边被称为“跨客户端边(cross-client edges)”。GCN的任务需要聚合关于节点的邻居信息,存在两个问题:1、简单的忽略这些信息会导致模型不准确。2、在客户端之间传递相邻节点的特征信息会引入显著的通信开销,并涉及隐私问题。

客户端中的节点都有平衡类型的类别(IID数据),那么客户端之间会有许多的边,忽略跨客户端的边会缺失更多的信息。反之,(即联邦学习中经常考虑的Non-IID)客户端之间的边数量较少,忽略跨客户端的边会缺失很少的信息。如下图所示:

IID数据会使用更多的通信成本来传递缺失的边信息,而Non-IID数据由于忽略跨客户端边会丢弃很少的信息,那么FedGCN的通信回合可能是不必要的。然而,该模型可能不会收敛。

贡献:1、提出FedGCN,一种用于联邦训练GCN的框架,用于解决通信有限和信息丢失的节点级预测任务,同时使用同态加密提供隐私保证。2、理论分析了FedGCN相比现有方法的收敛速度和通信成本。3、在合成和真实世界数据集上的实验证明了FedGCN比现有的方法具有更快的收敛速度、更高的精度、更低的通信成本。

二、联邦半监督节点分类

图的定义:图 G=(V,E),其中 V=\left \{ 1, ..., N \right \} 是N个节点的集合,E是边的集合。图可以等价的用加权邻接矩阵 A\in \mathbb{R}^{N\times N},其中A_{ij}表示从节点i到节点j的边的权重。每一个节点i\in V都与一个特征向量 x_{i}\in \mathbb{R}^d 相关联。子集 V^{train}\subset V 中的每个节点i都与训练过程中hi用的相应标签y_i相关联。

半监督节点分类旨再根据剩余集合 V\setminus V^{train} 中的节点的特征向量和其他节点的连接,为其分配标签。该方式通过训练一个GCN模型来完成。

为了解决联邦设置中的节点分类问题,我们考虑一个具有K个客户端的中央服务器。图 G=(V,E) 在K个客户端之间分离,每个客户端具有一个子图 G_{k}=(V_{k},E_{k})。在这种设置下, \forall i\neq j\in [K] 存在  \cup ^{K}_{k=1}V_{k}=V  和  V_i\bigcap V_j=\varnothing ,即节点在客户端之间不相交的划分。然后,集合 V_{k} 中的节点的特征可以表示为矩阵 X_{k} 。客户端k的跨客户端边  E_{k}^{c} 的处于不同客户端的连接节点对于客户端k是已知的。我们使用  V^{train}\subset V_{k}  来表示具有相关标签y_i的训练节点的集合。联邦半监督节点分类的任务是为每个客户端k的剩余集合  V_{k}\setminus V^{train}_{k} 中的节点分配标签。

联邦环境中应用GCN带来的挑战:GCN中,第i个节点在第l层中的嵌入,需要前一层对节点i的所有邻居的嵌入h_{j}^{(l)}。然而在联邦设置中,这些邻居中的一些可能位于其他客户端。FedGCN为这些邻居提供了一种高效的通信方法。

三、联邦图卷积神经网络(GCN)

在联邦学习设置中,设c(i)表示包含节点 i 的客户端的索引。W_{c(i)}^{(l)} 表示客户端 c(i) 的第 l 个GCN层的权重矩阵。那么节点 i 在 l+1 层的嵌入为:        

注意,由于联邦学习中的局部训练,权重 W_{c(i)}^{(l)} 可能因客户端而异。在实践中,GCN通常只需要两层或三层就可以完成节点级预测任务。两层联邦GCN的计算可以写为:

 因此,为了评估该模型,客户端k=c(i)接收以下消息就足够了:

其分别是节点 i 的一跳和二跳邻居的特征聚合。客户端自然也知道 \left \{ A_{ij} \right \}_{\forall j \in N_i} ,它包含在E_k\bigcup E^c_k。获得上述信息的一种方式是从包含 k 的至少一个两跳邻居的客户端 z 接收以下消息:

 其中,如果 z=c(m) ,则\prod_z(c(m)) 为1,否则为0。更一般地,对于 L 层的GCN,每层需要以下信息:

 然而,这种方法需要在多对客户端之间进行通信,并且在客户端中只有一个邻居节点的情况下会发生隐私泄露。为了避免这种开销,我们将每个客户端的聚合发送到中央服务器,然后服务器计算节点 i 的邻居特征总合

 然后,服务器可以将特征聚合发送回每个客户端 k 。因此,我们只需要发送每个节点(可能是多跳)邻居的积累特征就可以评估GCN模型。这种累积用于保护他们的个人隐私。对于存储在具有L层GCN的客户端k中的所有节点 V_{k} 的计算,客户端需要接收 \left \{ \sum _{j \in N_i } A_{ij}x_j \right \}_{i\in N^L_{V_k}} ,其中N^L_{V_k} 是节点V_k L跳邻居的集合。

FedGCN只需要每个客户端上每个节点的L跳邻居的累积信息,这些信息可以在训练之前进行通信。然而在实践中,这种有限的通信也是不可行的。如果L过大,那么L跳的邻居可能几乎由整个图组成,当有许多客户端时,这可能会带来巨大的存储和通信代价。因此根据给定应用程序的最合适选择,设计FedGCN以适应三种类型的通信近似:无通信(0跳)一跳通信二跳通信。

训练算法

FedGCN要求在最初的通信回合中客户端和中央服务器之间进行通信。客户端将本地节点特征的加密累积发送到服务器。服务器累积每个节点的邻居特征,每个客户端接收并解密其一跳或两跳邻居的特征聚合。在通信之后,FedGCN使用标准的联邦平均算法来训练模型。算法如下:

其中 W^{t,e}_k表示在第 t 轮全局训练中,客户端 k 的第 e 轮本地训练步骤中 L 个GCN层的权重 W^{(l)}_k的串联。并使用 f_k 表示本地损失函数。在本地步骤 \tau 后,客户端的局部模型更新被发送到中央服务器进行全局模型更新,新的全局模型被推回到所有客户端进行下一轮训练。该过程循环 T 次,直到收敛。

四、实验

实验设置

数据集:Cora,Citeseer,Pubmed和OGBN-ArXiv citation network datasets。

分布类型:1、 IID:节点在客户端之间随机均匀划分。2、Non-IID:每个客户端只包含具有相同标签的节点。3、部分IID:每种方式对一小部分数据进行采样。

实验参数:两层GCN,第一层relu激活,第二层Softmax激活。具有16个隐藏单元。dropout=0.5。使用SGD优化器进行300轮训练,学习率为0.5,L2正则化为5\times 10^{4},局部迭代次数为3。对于OGBN-Arxiv数据集,使用256个隐藏单元和500个训练回合。邻接矩阵通过行度\widetilde{A}=D^{-1}A进行归一化,以提供相同的梯度更新。客户端的数量与类的数量相同。

跨客户端通信效果

Cora数据集上的性能,IID=1.0为IID数据集,IID=0.5为部分IID,IID=0.0为Non-IID数据。

收敛时间

通信成本与准确性

理论分析的验证

总结

提出了一种用于半监督节点分类的图卷积网络的联邦训练框架。考虑了分布式GCN中受忽略的、可能存在有用信息的跨客户端边。在训练开始前客户端与服务器进行一轮通信,传递边信息,以少量的通信代价,提高的训练精度和收敛速度。客户端之间不需要传递信息,增加了隐私安全性。

参考文献:Yao Y, Jin W, Ravi S, et al. Fedgcn: Convergence and communication tradeoffs in federated training of graph convolutional networks[J]. arXiv preprint arXiv:2201.12433, 2022.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值