ICML2023《Personalized Subgraph Federated Learning》Reading Notes

本文旨在解决不同子图作为不同的client,由于client是locally accessible,所以client间存在的missing edges无法被server捕获的情况。与FedSage仅仅基于自身连接来expand missing neighbors(并且最小化生成neighbor和其他所有子图的距离) 的missing neighbors生成方式不同,本文提出的FedPub考虑了子图的社区结构,即不同社区的子图相互之间的边连接关系应该较弱,处于同一个社区的子图应存在更强的边连接关系。 Personalized Subgraph FL (Overall) 对于每个子图 $G_i \in \mathcal{G}$,传统的方法优化方式是学习global optimal parameters $\bar{\theta}$,使得该参数在所有clients上的总loss最小: $\min_{\overline{\theta}} \sum_{G_i \subset \mathcal{G}} \mathcal{L}\left(G_i ; \overline{\theta}\right)$。但是由于处在不同社区中的子图异质性很严重,并且不同社区的子图间的edges也很稀疏,这种强异质性很难学习到一个对所有子图都最优的 $\bar{\theta}$。因此本文提出,在同一个community的子图间共享参数,不同community的子图不共享参数,而不是使用全局通用参数 $\bar{\theta}$。因此,Personalized Subgraph FL的形式如下: $$ \begin{aligned} & \min_{\left\{\boldsymbol{\theta}_i, \boldsymbol{\mu}_i\right\}_{i=1}^K} \sum_{G_i \subseteq \mathcal{G}} \mathcal{L}\left(G_i ; \boldsymbol{\theta}_i, \boldsymbol{\mu}_i\right), \quad \boldsymbol{\theta}_i \leftarrow \boldsymbol{\mu}_i \odot\left(\sum_{j=1}^K \alpha_{i j} \boldsymbol{\theta}_j\right) \\ & \text { with } \alpha_{i k} \gg \alpha_{i l} \text { for } G_k \subseteq C \text { and } G_l \nsubseteq C \end{aligned} $$ 其中 $K$是client数量, $\theta_i$是属于community $C$ 的client $G_i$的可训练权重, $\alpha_{ij}$是client $i$ 和 $j$的权重聚合coefficient。如果client $k$和 $i$属于同一个community,而client $l$和 $i$不属于同一个community,那么它们关于 $i$的参数聚合系数 $\alpha_{i k} \gg \alpha_{i l}$。通过这种方式模型可以隐式地考虑不同subgraph之间的关系。 ...

May 19, 2025 · 2 min · JhuoW

NeurIPS2021《Subgraph Federated Learning with Missing Neighbor Generation》Reading Notes

Introduction Subgraph Federated Learning旨在多个分布式的子图上训练一个图模型,并且子图之间没有数据共享。面临2个挑战: Q1: 如何将各个子图上的模型融合成一个全局可用的模型,使其可以处理来自全局图的任何请求? A1: 针对该挑战,本文提出FedSage将GraphSage和FedAvg结合。 Q2: 如何处理local subgraph之间缺失的边? A2: 在FedSage的基础上添加一个邻居生成器。具体来说,为了得到missing neighbor generator,每个client首先通过随机移除一些节点和他们的边来损坏subgraph,然后基于损坏的图来和移除的节点来训练邻居生成器。邻居生成器不仅为子图中的每个节点生成missing neighbor number,也为每个节点生产missing neighbor features。然后用生成的节点邻居去修补subgraph,所谓模拟的跨子图交互。最后在修补好的子图上使用FedSage。 Collaborative Learning on Isolated Subgraphs:FedSage 对于一个被查询节点 $v\in V$,一个全局 $K$层GraphSage分类器 $F$通过融合 $v$和它的 $K$跳邻居来得到节点的预测值,其中每层的可学习参数为 $\phi = \{\phi^k\}^K_{k = 1}$,其中 $\phi^k$表示第 $k$层的权重矩阵。考虑一个子图 $G_i = \{V_i, E_i, X_i\}$, GraphSage通过一下式子计算节点 $v \in V_i$的第 $k \in [K]$层表示: $$ h_v^k=\sigma\left(\phi^k \cdot\left(h_v^{k-1} || \operatorname{Agg}\left(\left\{h_u^{k-1}, \forall u \in \mathcal{N}_{G_i}(v)\right\}\right)\right)\right) $$ 其中 $\mathcal{N}_{G_i}(v)$表示节点 $v$在子图 $G_i$中的邻居,上式表示邻居节点聚合后和中心节点拼接,然后再用参数 $\phi^k$做变换后得到中心节点的表示。 在FedSage中,全局模型 $F$的参数 $\phi$通过 $e_c$次训练迭代得到。在每次训练迭代 $t$中,每个client $D_i$首先拷贝全局参数 $\phi$到本地,作为本地模型的初始参数,再基于自身的数据更新参数 $\phi_i$: ...

May 18, 2025 · 2 min · JhuoW