联邦学习之跨客户端信息重建
主要基于
-
Subgraph federated learning with missing neighbor generation. NIPS’21
-
Fedni: Federated graph learning with network inpainting for population-based disease prediction. IEEE Transactions on Medical Imaging’22
FedSage+
FedSage = FedAVG+GraphSage
FedAVG:
本地训练 (Local Training / Multiple Local Epochs):
- 每个被选中的客户端 k 使用其本地数据集对接收到的模型 $W_{global}$ 进行训练。
- 这意味着客户端 k 会在其本地数据上运行多轮(epochs)的随机梯度下降(或其他优化算法),以最小化其本地损失函数 ,从而得到一个本地更新后的模型$W_{local,k}$。
模型上传 (Model Upload): 客户端将本地训练完成后的模型参数发送回服务器。
模型聚合 (Model Aggregation):
- 服务器收集来自各个客户端的本地模型参数。
- 服务器通过对这些本地模型参数进行加权平均来更新全局模型: $W_{global}^{t+1}=\sum_{k=1}{n_k}W_{local,k}$
GraphSAGE:
伪代码
1 |
|
FedSage+
FedSage+ 在 FedSage 的基础上引入了一个关键组件:缺失邻居生成器 (Missing Neighbor Generator, 通常称为 NeighGen)。通过显式地处理跨客户端连接的缺失问题,尝试恢复更完整的图结构信息。
dgen用了预测缺失邻居数量,fGen用了预测特征向量。
Fedni
随机从某个节点出发,使用BFS获取子图作为训练集,以学会从子图生成完整图的能力。
想法
(1)FedSage+的思想有点类似BERT,而另一篇论文Fedni利用了GAN的思想引入了鉴别器,和FedSage+的随机删除不同,他是使用广度优先搜索算法来实现节点删除。像FedSage+和Fedni都有一些NLP和CV中的比较先进的思想相类似的想法。那么它的未来方向是不是还可以参考比如CV中的diffusion model、NLP中的GPT系列等思想?
(2)FedGraph是由服务端来分配采样邻居策略,是不是意味着服务端知道所有子图间的连接数据,这样的话是不是隐私性/安全性没有FedSage+那么好,有没有可能存在攻击服务端来获取各子图之间连接的关系情况?
(3)联邦学习怎么和鲁棒性产生联系?